Commit graph

180 commits

Author SHA1 Message Date
Carson McManus
e6847975ff converted some subcommands 2022-06-14 06:37:30 -04:00
Carson McManus
6ef038efc9 convert most of the remaining arg definitions 2022-06-14 06:37:30 -04:00
Carson McManus
abe808b7bf upgrade to clap v3, convert global level arguments 2022-06-14 06:37:30 -04:00
Carson McManus
2c68f3389d fix not getting prompted interactively for encryption passkey 2022-06-12 22:01:35 -04:00
Carson McManus
be80904f96 cargo fmt 2022-02-22 09:38:41 -05:00
Carson McManus
a56659e44f force load all accounts when encrypting and decrypting 2022-02-22 09:29:34 -05:00
Carson McManus
ae2049abe8 make auto-upgrades more explicit 2022-02-22 09:19:56 -05:00
Carson McManus
7dcfbc112f refactor: move selected account logic into function 2022-02-22 09:17:04 -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
69159b9360 cargo fmt 2022-02-21 12:22:03 -05:00
Carson McManus
c11593e7e4 add --fail-fast argument for responding to confirmations 2022-02-21 12:14:15 -05:00
Carson McManus
b1d559ea00 add non-zero exit codes when unrecoverable errors occur. 2022-02-21 11:59:14 -05:00
Carson McManus
d21ceef797 add sda compat unit test for no web cookie 2022-01-15 09:36:10 -05:00
Carson McManus
070be5b629 re-add no webcookie test fixture as a seperate fixture 2022-01-15 09:24:12 -05:00
Carson McManus
669d8e4dad Revert "Add test case for maFile with null WebCookie"
This reverts commit a48ada2252.
2022-01-15 09:23:21 -05:00
Yoav Shai
a48ada2252 Add test case for maFile with null WebCookie 2022-01-15 14:22:50 +02:00
Carson McManus
1ffe464ed8 cargo fmt 2021-09-06 16:57:36 -04:00
Carson McManus
4ac3c09338 fix small logic bug in prompt_char 2021-09-06 16:56:22 -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
a92cd5b1aa allow accounts to be removed from manifest without successfully removing authenticator from account 2021-09-06 16:14:57 -04:00
Carson McManus
274dd373c2 cargo fmt 2021-09-06 16:05:26 -04:00
Carson McManus
e6d8de4dc2 add some logging for generating codes 2021-09-06 15:49:23 -04:00
Carson McManus
a311df931b indicate that the username arg is case sensitive 2021-09-01 08:56:24 -04:00
Carson McManus
376b7b8870 add a little bit of logging 2021-09-01 08:52:23 -04:00
Carson McManus
6d2b10022e flush output before waiting for input in prompt_char_impl, fixes #103 2021-08-29 20:36:51 -04:00
Carson McManus
bb6c733999 save empty manifest directly after prompting to create one 2021-08-29 20:17:17 -04:00
Carson McManus
ece0f19ec0 cargo fmt 2021-08-25 09:09:02 -04:00
Carson McManus
69169708ef fix finalization code flow 2021-08-25 09:07:58 -04:00
Carson McManus
001e507d30 print revocation code during setup process 2021-08-25 09:06:42 -04:00
Carson McManus
ce2285d617 when encrypting, use 128 byte buffers instead of 256 byte buffers because Pkcs7 padding 2021-08-24 23:24:17 -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
fdc606fb0e add a unit test for encryption 2021-08-20 09:37:55 -04:00
Carson McManus
8722e9f294 move around fixtures 2021-08-19 17:45:20 -04:00
Carson McManus
71edb794c1 move encryption key maker into LegacySdaCompatible impl 2021-08-19 17:15:27 -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
d3cdc309ed prompt user for encryption passkey if not provided 2021-08-17 19:20:57 -04:00
Carson McManus
e1f86d3750 fix passkey arg 2021-08-17 19:04:02 -04:00
Carson McManus
f1158f9a3d implement decrypt 2021-08-17 18:54:16 -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
edb2663baf add test fixtures for encrypted maFiles 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
4788b330ed add shell completion generation 2021-08-17 18:13:05 -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
2fa4be52d9 parse descriptions for confirmations 2021-08-14 12:16:40 -04:00
Carson McManus
1258ef6e97 handle unused results 2021-08-14 11:25:53 -04:00
Carson McManus
0bc5ca7016 combine do_login and do_login_raw 2021-08-14 11:24:15 -04:00
Carson McManus
ca86b44640 add prompt_char helper function 2021-08-14 11:10:21 -04:00
Carson McManus
f38f9b6e52 move input prompting code into tui module 2021-08-14 10:01:25 -04:00
Carson McManus
5689431f8c add import subcommand 2021-08-13 19:04:03 -04:00
Carson McManus
f5ac96f722 cargo fmt 2021-08-12 18:54:38 -04:00
Carson McManus
0af027b27e fix default maFiles path from args handling 2021-08-12 18:36: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
d460fa8b12 make --all and --username conflict with each other 2021-08-11 19:58:18 -04:00
Carson McManus
357d04f34b add account removal, closes #10 2021-08-11 19:39:29 -04:00
Carson McManus
d67a93a982 cargo fmt 2021-08-10 22:45:17 -04:00
Carson McManus
847deafe86 save manifest after finalization 2021-08-10 21:10:04 -04:00
Carson McManus
91e2a1b2c6 fix username arg not accepting values 2021-08-09 22:25:39 -04:00
Carson McManus
691d927050 adding phone numbers does not work 2021-08-09 21:43:46 -04:00
Carson McManus
bb762b2f47 add some more logging in phoneajax 2021-08-09 20:11:15 -04:00
Carson McManus
071d9d7d2d enable logging for steamguard module 2021-08-09 19:48:18 -04:00
Carson McManus
467e669fb8 actually handle account link errors 2021-08-09 19:09:48 -04:00
Carson McManus
298d29dc07 improve error handling in accountlinker 2021-08-09 18:44:42 -04:00
Carson McManus
db2ec59c07 add account link finalization 2021-08-09 00:09:34 -04:00
Carson McManus
58897b6695 implement the first step for account linking process 2021-08-08 18:32:50 -04:00
Carson McManus
e4d7ea4475 move phoneajax methods to steamapi module 2021-08-08 13:39:18 -04:00
Carson McManus
31a888c0e4 add NetworkFailure to AccountLinkError 2021-08-08 13:06:29 -04:00
Carson McManus
b57bc38341 add rustfmt.toml and run cargo fmt 2021-08-08 12:54:46 -04:00
Carson McManus
52d247f102 cargo fmt 2021-08-08 12:34:06 -04:00
Carson McManus
a808fa1fe6 move userlogin to another module 2021-08-08 12:23:17 -04:00
Carson McManus
79f8341aad move most http requests to the steam API into SteamApiClient 2021-08-08 01:26:25 -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
6c34a8f2df refactor confirmations parsing, fixes #66 2021-07-31 16:57:51 -04:00
Carson McManus
c6d9fd0d75 seperate cli stuff from library stuff, and put it in another crate 2021-07-31 12:24:49 -04:00
Carson McManus
d6aedb771c add comment 2021-07-31 12:01:23 -04:00
Carson McManus
67a7b9b0ee use to_be_bytes for build_time_bytes 2021-07-31 11:47:37 -04:00
Carson McManus
fcc56d6d73 change parse_shared_secret to not panic, add test for build_time_bytes 2021-07-31 11:44:56 -04:00
Carson McManus
7c58e28d56 clean up imports 2021-07-31 11:08:41 -04:00
Carson McManus
66731164d6 remove commented code 2021-07-31 11:00:22 -04:00
Carson McManus
9aea25ea32 change import 2021-07-31 10:57:02 -04:00
Carson McManus
e0a668fa1e change LoginResult to Result<Session, LoginError> 2021-07-31 10:55:55 -04:00
Carson McManus
cc48bc9537 clean up and improve encrypt_password unit test 2021-07-31 10:39:48 -04:00
Carson McManus
4be38f8854 update to rsa 0.5 2021-07-29 22:52:48 -04:00
Carson McManus
3dcccd1e63 add interactive confirmation menu 2021-07-29 19:42:45 -04:00
Carson McManus
bbc2f77b30 adjust trade subcommand loop 2021-07-29 09:08:06 -04:00
Carson McManus
e3f7d10394 add get_confirmation_details 2021-07-28 16:09:21 -04:00