Commit Graph
7 Commits
Author SHA1 Message Date
selsta eaf139a25a tests: fix Windows unit test failures
Preserve line endings for test fixtures so file hashes remain stable
across platforms.

Temporarily release the wallet keys lock while inspecting the keys file,
then reacquire it and verify the lock state. This lets the test read the
file on Windows, where the lock prevents a concurrent read open.

Avoid passing possibly negative char values to std::isprint(), which is
undefined behavior except for EOF.
2026-06-30 18:39:11 +02:00
fuyua9 9a18697518 wallet: roll back unlocker count on decrypt failure 2026-05-10 13:23:04 +00:00
jeffro256 dbc8402da6 wallet: fix wallet_keys_unlocker
Fix four issues with wallet_keys_unlocker:
1. It won't decrypt if there are unlockers open simulataneously on multiple `wallet2` instances
2. It won't decrypt if the first unlocker was disabled (i.e. `locked=false`), even with a second non-disabled unlocker
3. If a destructor of an earlier unlocker is triggered before the destructor of a later unlocker, it will re-encrypt too early, while the second unlocker is still in scope
4. Calling the 3-parameter constructor with `locked=true` after an unlocker already exists will "double-encrypt"  the spend key after its destructor since the local variable is `locked=false` and the field member is `locked=true`

Also, replace `wallet2::decrypt_account_for_multisig` with `wallet_keys_unlocker`.
2025-09-04 15:43:38 -05:00
copyCat 341771ac3e copyright: bump to 2024 2024-05-21 16:29:33 +00:00
0xFFFC0000andselsta de9c461a98 common: support boost filesystem copy_options.
Co-authored-by: selsta <selsta@sent.at>
2024-04-30 23:20:10 +00:00
jeffro256 30cf537bcc unit tests: wallet_storage: generate in "Ascii" format test 2023-10-21 18:37:12 -05:00
jeffro256 1bea8ef42a wallet2: fix store_to() and change_password()
Resolves #8932 and:
2. Not storing cache when new path is different from old in `store_to()` and
3. Detecting same path when new path contains entire string of old path in `store_to()` and
4. Changing your password / decrypting your keys (in this method or others) and providing a bad original password and getting no error and
5. Changing your password and storing to a new file
2023-08-23 11:48:18 -05:00