Carson McManus
a5be7b26bb
Add qr-login command to be able to approve qr code logins on other devices ( #214 )
...
- add QrApprover
- implement qr-login subcommand
closes #197
2023-06-24 13:45:03 -04:00
Carson McManus
bff16bd341
automatically refresh access token to avoid prompting to log in ( #221 )
2023-06-24 17:18:22 +00:00
Carson McManus
64697b6808
trade: fix not saving new tokens if there are no available confirmations ( #220 )
2023-06-24 13:02:54 -04: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
2934dd3927
add a debug command to help triage deserialization issues ( #213 )
...
- add a debug command to help triage deserialization issues
- adjust the parsing for legacy accounts
2023-06-24 08:17:56 -04: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
8defefb11e
fix manifest migrations not working for encrypted maFiles ( #201 )
...
fixes #200
2023-06-23 12:40: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
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