Commit graph

206 commits

Author SHA1 Message Date
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
Carson McManus
d4c1758f1b implement --accept-all 2021-07-28 15:48:06 -04:00
Carson McManus
489842cc78 add send_confirmation_ajax 2021-07-28 15:07:15 -04:00
Carson McManus
8b5d0ef0ff move confirmation description to function
probably temporary
2021-07-28 14:10:14 -04:00
Carson McManus
c23db2a5e9 add Confirmation struct, and improve confirmation parsing 2021-07-27 23:49:53 -04:00
Carson McManus
d2bf5478ba require login only when session is invalid 2021-07-27 19:50:39 -04:00
Carson McManus
d8ffc179e0 add incomplete account linker 2021-07-27 16:24:56 -04:00
Carson McManus
b313b857c8 fixed generate_confirmation_hash_for_time 2021-04-04 23:18:27 -04:00
Carson McManus
d64bf5cade can request trade confirmations, don't know if parsing works 2021-04-04 17:48:44 -04:00
Carson McManus
36c4b7c819 started get_trade_confirmations 2021-04-04 14:07:06 -04:00
Carson McManus
71bb8e8adc add a little bit of validation to user input 2021-04-04 10:40:16 -04:00
Carson McManus
747c09c91a add test for encrypt_password 2021-04-04 09:38:34 -04:00
Carson McManus
fe6a51030f add working login process 2021-03-30 15:51:26 -04:00
Carson McManus
23257ee615 add account selection from arguments 2021-03-27 12:14:34 -04:00
Carson McManus
8ded30e09e add logging 2021-03-27 10:35:52 -04:00
Carson McManus
bde8a37d3f add argument parsing 2021-03-27 09:31:38 -04:00
Carson McManus
52b40ab582 load manifest and generate code 2021-03-27 08:39:26 -04:00
Carson McManus
e9d9b61024 add session serialization 2021-03-27 08:17:56 -04:00
Carson McManus
347322ce26 add the rest of the fields to SteamGuardAccount 2021-03-26 14:31:48 -04:00
Carson McManus
d7b952b40f add load_accounts 2021-03-26 14:05:54 -04:00
Carson McManus
4e583530cd update SteamGuardAccount struct to make it easier to serialize 2021-03-26 13:32:37 -04:00
Carson McManus
a355cb6644 update Manifest struct 2021-03-26 13:14:59 -04:00
Carson McManus
05b944c40b add working manifest loading 2021-03-25 19:47:44 -04:00
Carson McManus
196e4ffdb8 add manifest and manifest entry types 2021-03-25 17:45:41 -04:00
Carson McManus
e058586680 set steam id when email auth needed 2021-03-25 15:31:50 -04:00
Carson McManus
3376da2da2 add data to login results 2021-03-25 15:26:45 -04:00
Carson McManus
8680d8d4c0 add oauth data parsing 2021-03-25 13:52:55 -04:00
Carson McManus
748c9b01d0 add other login results 2021-03-25 13:22:42 -04:00
Carson McManus
4a90c146e5 add login request 2021-03-25 12:43:41 -04:00
Carson McManus
142f394d98 add working RSA encryption for password during login 2021-03-24 17:49:09 -04:00
Carson McManus
5b8d581a48 add working 2fa code generation 2021-03-21 23:00:16 -04:00