Commit graph

215 commits

Author SHA1 Message Date
Carson McManus
5a262650a0 converted remaining tui module to crossterm 2022-06-25 10:57:37 -04:00
Carson McManus
ebe31b6df7 convert prompt_confirmation_menu to crossterm 2022-06-25 10:14:34 -04:00
Carson McManus
afb1d79aea adjust visibility of some functions/modules 2022-06-25 09:06:29 -04:00
Carson McManus
cac5f57cc7 add STEAMGUARD_CLI_PASSKEY environment variable 2022-06-23 23:39:41 -04:00
Carson McManus
a52af3675b add code subcommand back in, because it makes the arg parsing better 2022-06-21 19:31:39 -04:00
Carson McManus
fdc61e63d1 add --offline flag for generating codes, closes #155 2022-06-20 20:57:04 -04:00
Carson McManus
610cda120e get_server_time now returns Result, fixes #152 2022-06-20 20:56:36 -04:00
Carson McManus
2678961a4c fix not prompting for password for decrypt 2022-06-19 15:23:55 -04: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
8839a18543 cargo fmt 2022-06-19 14:44:47 -04:00
Carson McManus
c86e31648a fix some warnings 2022-06-19 13:01:25 -04:00
Carson McManus
0b84a103e5 remove old arg parsing completely 2022-06-19 13:00:36 -04:00
Carson McManus
d13ca2079e add conflicts_with arg metadata 2022-06-19 12:59:20 -04:00
Carson McManus
2fc13d40e2 switch get_selected_accounts to new args 2022-06-19 12:57:54 -04:00
Carson McManus
174456226b improve help test for verbosity 2022-06-19 12:48:07 -04:00
Carson McManus
5e3b2507ab add arg_enum marker for verbosity arg 2022-06-19 12:47:07 -04:00
Carson McManus
ed9cf91cfb return better error for unimplemented subcommand 2022-06-19 12:45:33 -04:00
Carson McManus
e653ac684f set name and bin_name metadata 2022-06-19 12:42:36 -04:00
Carson McManus
1b7c089fa1 fix arg parsing for shell arg 2022-06-19 12:39:33 -04:00
Carson McManus
221e64ab8c change debug line 2022-06-19 12:38:47 -04:00
Carson McManus
4a8f7a74d2 reimplement completion subcommand 2022-06-19 12:37:40 -04:00
Carson McManus
8dd10c9b29 move debug subcommand impl 2022-06-19 12:16:20 -04:00
Carson McManus
aaded51d38 move generate code subcommand impl 2022-06-19 11:54:42 -04:00
Carson McManus
31c08ac206 move trade and remove subcommand impls 2022-06-19 11:54:16 -04:00
Carson McManus
73281ef069 move import subcommand impl 2022-06-19 11:52:26 -04:00
Carson McManus
37539f7679 move encrypt and decrypt subcommand impls to functions 2022-06-19 11:40:20 -04:00
Carson McManus
138f36f562 move help text 2022-06-19 11:32:04 -04:00
Carson McManus
9f7c8fef68 remove old verbosity arg 2022-06-19 11:31:56 -04:00
Carson McManus
b040088038 swtich mafiles path to new args 2022-06-19 11:26:18 -04:00
Carson McManus
07b9439c27 switch to a better setup for subcommands 2022-06-19 11:14:35 -04:00
Carson McManus
2f4d1e3cfa make it compile again 2022-06-19 10:56:52 -04:00
Carson McManus
14d49d33b1 move args definitions to new file 2022-06-19 10:48:18 -04:00
Carson McManus
b55df7ea26 add subcommand arg types 2022-06-19 10:38:59 -04:00
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