Commit graph

35 commits

Author SHA1 Message Date
Carson McManus
d1ff150cbf
replace crates hmac-sha1 and hmac-sha256 with equivalent crates from RustCrypto (#288) 2023-07-10 14:53:31 +00:00
Carson McManus
fe663cf43f
add HTTP proxy support (#264)
- allow extracting the http client from web api transport
- refactor most commands so that they can accept an external transport
- update confirmer to use transport's http client
- update remove command
- update TwoFactorClient so it doesn't need to be mutable
- update get_server_time so it requires a transport
- update remove_authenticator
- update login proceedure to use given transport
- update usages of do_login
- update setup
- update trade
- update code command
- update qr-login command
- make borrowcheck happy
- make WebApiTransport Clone and remove Default impl
- remove dead code
- fix lints

closes #177
2023-07-02 12:57:13 +00:00
Carson McManus
3146d4824c
refactor to make adding proxy support easier later (#263) 2023-07-02 11:17:09 +00:00
Carson McManus
b3c6639146
remove: refactor to make it more reliable (#257)
fixes #256
2023-06-30 14:53:05 +00:00
Carson McManus
0d24d12c55
trade: refactor how confirmations work so it's more reliable (#245) 2023-06-27 10:20:27 -04:00
Carson McManus
4fed9486de
trade: adjust logging for deserializing confirmations (#237) 2023-06-26 23:11:15 +00:00
Carson McManus
1632e2f10e
add PhoneLinker, and the ability to add a phone number to the account during setup (#223)
- add proto for IPhoneService
- add PhoneClient
- add PhoneLinker
- fix lints and such
- add comments
- update phone linker
- use phonenumber crate for phone linker
- adjust errors for account linker
- update setup command to be able to add phone numbers
- adjust logging in the setup command
- update account linker
2023-06-25 17:11:24 +00:00
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
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
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
Jonas Süskind
75fcf3c456
Remove debug print to stdout in trade sub command (#191)
Every time when the `trade` sub command is executed, the webpage gets
printed to stdout which is a bit irritating and unnecessary.

This PR fixes this, in that it changes the `println!` macro to a
`trace!` macro.
2023-04-19 18:07:10 -04:00
Carson McManus
99f977d7df reorganize steam api responses 2022-12-06 10:02:07 -05:00
Carson McManus
9f1d692d6d steamguard: add SteamGuardAccount::from_reader 2022-08-13 09:29:40 -04:00
Carson McManus
2409fac47e add some more debug logging around sending confirmations 2022-07-23 07:48:08 -04:00
Carson McManus
610cda120e get_server_time now returns Result, fixes #152 2022-06-20 20:56:36 -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
4e09b98d07 add TwoFactorSecret type, which zeros out memory when deallocated 2021-08-24 22:56: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
1825acdbb3 add test for account recovery confirmation 2021-08-14 12:29:39 -04:00
Carson McManus
2fa4be52d9 parse descriptions for confirmations 2021-08-14 12:16:40 -04:00
Carson McManus
357d04f34b add account removal, closes #10 2021-08-11 19:39:29 -04:00
Carson McManus
298d29dc07 improve error handling in accountlinker 2021-08-09 18:44:42 -04:00
Carson McManus
58897b6695 implement the first step for account linking process 2021-08-08 18:32:50 -04:00
Carson McManus
2e4058cfca add add_authenticator to steamapi module 2021-08-08 15:25:27 -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
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
Renamed from src/lib.rs (Browse further)