Carson McManus
4ba0459bb6
fix prompts sometimes not showing up (again) ( #187 )
...
- fix tui::pause only accept enter to continue so it's less confusing
- replace unwrap with flush
- replace some prints with eprints
- make tui::prompt flush stdout and stderr
fixes #178
2023-03-18 14:20:37 +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
daa930fbee
Merge pull request #174 from dyc3/qr
...
add the ability to generate a QR code for 2fa secrets
2022-12-05 11:24:17 -05:00
Carson McManus
27adb3d019
Merge pull request #175 from dyc3/setup-update
...
fix using uppercase letters in username during setup causing panic
2022-12-05 11:24:08 -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
b5f4364733
update some comments and some printed messages
2022-12-05 10:36:38 -05:00
Carson McManus
85c4662a61
remove username argument from ArgsSetup because it was causing problems
2022-12-05 09:18:38 -05:00
Carson McManus
5599e28c9f
add the ability to generate a QR code for 2fa secrets
2022-12-05 08:47:33 -05:00
Carson McManus
7f0d5ca8ab
write input prompts to stderr instead of stdout
...
closes #166
2022-09-08 16:24:23 -04:00
Carson McManus
0d90792c47
add check in prompt_confirmation_menu to make sure confirmations is not empty
2022-08-04 23:07:43 -04:00
Carson McManus
6e31f66dde
cargo fmt
2022-06-25 11:08:03 -04:00
Carson McManus
a9e5d4b1c5
fix up unit tests
2022-06-25 11:07:57 -04:00
Carson McManus
0b340a3cf1
replace tty check with crossterm
2022-06-25 11:01:40 -04:00
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