Cockatrice/libcockatrice_settings/libcockatrice/settings
Lukas Brübach 088e932882 [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords
Challenge-response authentication: the client derives a scrypt verifier
(RFC 7914, EVP_PBE_scrypt, N=32768, r=8, p=1) and authenticates with
HMAC-SHA256(key, nonce), so neither the password nor its hash is
transmitted. The stored format becomes
"$scrypt$<n>$<r>$<p>$<salt>$<verifier>" and Response_PasswordSalt
now carries the cost parameters. Strict servers only accept scrypt
verifiers; legacy accounts are migrated after a successful login.

Fix #344 for challenge-response servers: a saved profile stores the
derived verifier under the password key instead of the plaintext password.
The connect dialog loads it without revealing it, autoconnect passes it
through, the change-password dialog no longer prefills the old password
field with it, and the client only persists the verifier when
"Save password" is checked.

Took 3 minutes


Took 1 minute

Took 10 seconds
2026-08-10 22:27:59 +02:00
..
appearance_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
appearance_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
cache_storage_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
cache_storage_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
card_database_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
card_database_settings.h [Card Database] Improve loading times through binary cache (#7051) 2026-07-27 23:12:53 +02:00
card_override_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
card_override_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
cards_display_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
cards_display_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
chat_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
chat_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
commander_bracket_settings.cpp [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
commander_bracket_settings.h [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
debug_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
debug_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
deck_editor_settings.cpp [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
deck_editor_settings.h [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
download_settings.cpp [PictureLoader] Schedule exponential backoff on 429 - Too many request handler and call failed on fail (#7053) 2026-08-08 22:55:27 +02:00
download_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
game_filters_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
game_filters_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
game_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
game_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
interface_settings.cpp [Replay] Implement option to skip empty sections (#7069) 2026-08-08 23:12:10 -07:00
interface_settings.h [Replay] Implement option to skip empty sections (#7069) 2026-08-08 23:12:10 -07:00
layouts_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
layouts_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
message_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
message_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
network_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
network_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
paths_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
paths_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
personal_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
personal_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
recents_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
recents_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
servers_settings.cpp [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords 2026-08-10 22:27:59 +02:00
servers_settings.h [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords 2026-08-10 22:27:59 +02:00
settings_manager.cpp [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
settings_manager.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
settings_migration.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
settings_migration.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
sound_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
sound_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
tabs_settings.cpp [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
tabs_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
updates_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
updates_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
visual_deck_storage_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
visual_deck_storage_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00