Carson McManus
9c6d10dc1f
import: improve error messages ( #287 )
2023-07-10 13:43:02 +00:00
Carson McManus
8f4ec79144
parallelize account loading and saving ( #273 )
...
- parallelize account loading
- parallelize account saving
2023-07-03 16:25:43 +00:00
Carson McManus
d5218d770e
add a new, faster encryption scheme (Argon2idAes256
) and make it the default ( #270 )
...
- move legacy scheme to new module
- add argon2 crate
- mvoe test
- add argon2id aes encryption scheme
- refactor encryption to be less shit
- fix all the errors
- fix lints
2023-07-03 10:23:56 -04:00
Carson McManus
7e94f76653
Add support for storing encryption passkey in system keyring ( #265 )
...
- add keyring package
- add keyring id field to manifest
- automatically attempt to load encryption passkey from keyring
- have decrypt delete the passkey on decrypt
- have encrypt command ask if it should store the passkey in the keyring
- fix lints
closes #117
2023-07-02 14:44:18 +00:00
Carson McManus
f8ae7d4e0e
fix SDA encryption compatibility ( #236 )
...
fixes #233
2023-06-26 23:02:48 +00:00
Carson McManus
da44f49c56
add some unit tests ( #234 )
...
- add unit test for migrating single accounts
- add manifest v1 loading tests
- disable a test
- update comment
- update vscode runners
- add a unit test to make sure migrated maFiles can still be read
2023-06-26 16:44:14 +00:00
Carson McManus
a062e718d7
fix passkey cli argument being printed in plaintext with debug logging ( #229 )
...
fixes #228
2023-06-26 00:23:26 +00:00
Carson McManus
2dc6376533
print better errors when deserializing json ( #218 )
...
- print stripped json whenever there is a type mismatch when
deserializing
- Revert "print stripped json whenever there is a type mismatch when
deserializing"
- print better errors when deserializing json
2023-06-24 16:06:12 +00:00
Carson McManus
cbc46ad8eb
Dead code cleanup, subcommand refactor ( #206 )
...
- clean up dead code
- fix lints
- move Session type to legacy module
- refactor service names into constants
- refactor build_url to be less restrictive for service names
- refactor most commands into their own modules
2023-06-23 17:36:23 +00:00
Carson McManus
bfd0667f3a
Use IAuthenticationService for login, account migrations, other major refactors ( #194 )
...
fixes #193
fixes #192
fixes #107
- [x] Implement the new login process
- [x] Tested
- [x] Update the authenticator setup process
- [x] Tested
- [x] Update the authenticator remove process
- [x] Tested
- [x] Manifest format migrator
- [x] Tested
- [x] Make it possible to import SDA accounts
- [x] Make sure confirmations still work
- [x] Fetching
- [x] Responding
- [x] Make it so that the login process doesn't prompt for which method
to use
- [x] Make it so that device confirmation and email confirmation auth
session guards work
2023-06-22 20:20:15 +00:00
Carson McManus
3457f9cb43
disallow blank encryption passkeys ( #186 )
...
fixes #185
2023-03-18 10:08:57 -04:00
Carson McManus
8366173eb1
fix a couple of lints
2022-12-06 10:07:25 -05:00
Carson McManus
cae60f6ed6
fix using uppercase letters in username during setup causing panic
...
fixes #171
2022-12-05 10:55:45 -05:00
Carson McManus
1a6ad62a2e
cargo fmt
2022-06-19 14:52:17 -04:00
Carson McManus
eeded86641
protect Session
memory, values are zeroized when dropped
2022-06-19 14:52:17 -04:00
Carson McManus
deabfc299d
protect top level secrets in SteamGuardAccount
...
except for session
2022-06-19 14:52:17 -04:00
Carson McManus
73281ef069
move import subcommand impl
2022-06-19 11:52:26 -04:00
Carson McManus
ae2049abe8
make auto-upgrades more explicit
2022-02-22 09:19:56 -05:00
Carson McManus
10d97efe16
refactor: make loading single account not borrow manifest mutably
2022-02-22 09:08:39 -05:00
Carson McManus
0bdaa60bbf
add test for manifest with 2 accounts
2022-02-21 13:23:59 -05:00
Carson McManus
00ea8dca71
refactor: account manager no longer needs to have all accounts loaded in order to function
2022-02-21 12:50:50 -05:00
Carson McManus
d21ceef797
add sda compat unit test for no web cookie
2022-01-15 09:36:10 -05:00
Carson McManus
1ffe464ed8
cargo fmt
2021-09-06 16:57:36 -04:00
Carson McManus
e4cf29e852
don't allow setup or import for account_names already in the manifest, fixes #109
2021-09-06 16:51:44 -04:00
Carson McManus
376b7b8870
add a little bit of logging
2021-09-01 08:52:23 -04:00
Carson McManus
4e09b98d07
add TwoFactorSecret type, which zeros out memory when deallocated
2021-08-24 22:56:25 -04:00
Carson McManus
49a264ba3f
move incorrect passkey error
2021-08-20 10:49:43 -04:00
Carson McManus
8722e9f294
move around fixtures
2021-08-19 17:45:20 -04:00
Carson McManus
e611e31ad3
move encryption stuff into new module
2021-08-19 16:55:57 -04:00
Carson McManus
58a13d8bab
update comment
2021-08-19 14:29:59 -04:00
Carson McManus
aa1fa6a318
fix not being able to encrypt file contents if it was longer than a certain amount of bytes
2021-08-19 14:15:38 -04:00
Carson McManus
49aea80080
decryption makes slightly more sense now
2021-08-19 09:55:52 -04:00
Carson McManus
531e69ea88
prompt for passkey if not provided
2021-08-17 18:24:26 -04:00
Carson McManus
1b1f12f423
implement saving encrypted maFiles
2021-08-17 18:24:26 -04:00
Carson McManus
02d8cade2a
correctly implement SDA compatible decryption
2021-08-17 18:24:26 -04:00
Carson McManus
8f6a1d8345
add encryption key tests to verify compatibility
2021-08-17 18:24:26 -04:00
Carson McManus
7d7dd6701e
add broken encrypted maFiles test
2021-08-17 18:24:26 -04:00
Carson McManus
c98ff1c914
allow load_accounts to take encryption passkey
2021-08-17 18:24:26 -04:00
Carson McManus
cee428b708
move fixtures to the right spot
2021-08-14 22:51:03 -04:00
Carson McManus
1b213841e9
fixes SDA manifest parsing compatibility
2021-08-14 20:54:25 -04:00
Carson McManus
5da5d32976
add some unit tests for saving and loading the manifest
2021-08-14 13:46:09 -04:00
Carson McManus
5689431f8c
add import subcommand
2021-08-13 19:04:03 -04:00
Carson McManus
a5f9f7671b
better logic for determining where the user's maFiles are located
2021-08-12 18:06:18 -04:00
Carson McManus
357d04f34b
add account removal, closes #10
2021-08-11 19:39:29 -04:00
Carson McManus
b57bc38341
add rustfmt.toml and run cargo fmt
2021-08-08 12:54:46 -04:00
Carson McManus
b5ed878659
change accounts
to type Vec<Arc<Mutex<SteamGuardAccount>>>
to make sure state stays in one place in memory
2021-08-01 12:34:13 -04:00
Carson McManus
afc09a35ac
implement saving manifest and accounts
2021-08-01 11:20:57 -04:00
Carson McManus
d6cdbd5541
simplify manifest and account loading
2021-08-01 09:47:50 -04:00
Tilo Spannagel
f3910790bb
Run "cargo fmt"
2021-08-01 12:43:18 +00:00
Carson McManus
c6d9fd0d75
seperate cli stuff from library stuff, and put it in another crate
2021-07-31 12:24:49 -04:00