Commit Graph

141 Commits

Author SHA1 Message Date
constantoine 9a202c20ec
Fix coverage for secret.rs
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-10 10:34:52 +02:00
constantoine b308f7455d
Add tests for secret.rs
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-10 10:22:52 +02:00
constantoine 3f39b3a1ba
Add coverage for rfc.rs
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-05 17:32:31 +02:00
Cléo Rebert d68f1608db
Merge pull request #38 from constantoine/better_style
Fix clippy warnings
2022-10-05 12:03:21 +02:00
constantoine 0f0e7d6032
Cargo fmt
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-05 11:55:37 +02:00
constantoine 4d9e41ee68
Fix clippy warnings
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-05 11:45:21 +02:00
Cléo Rebert fd1ee7f517
Merge pull request #34 from alexanderkjall/replace-sha-1-with-sha1
replace the sha-1 crate with sha1
2022-10-05 11:27:22 +02:00
Cléo Rebert 48fe98c0dd Merge branch 'replace-sha-1-with-sha1' of github.com:alexanderkjall/totp-rs into replace-sha-1-with-sha1 2022-10-05 11:22:21 +02:00
Alexander Kjäll 27a27d8002 replace the sha-1 crate with sha1, as RustCrypto have migrated to the new crate name, ref https://github.com/RustCrypto/hashes#crate-names 2022-10-05 11:21:56 +02:00
Cléo Rebert fd52f4a6c5
Merge pull request #37 from constantoine/raw_canvas
Fix QR unit tests
2022-10-05 11:17:25 +02:00
constantoine edf3db0263
Add raw canvas private method in order to test the canvas raw data, and not the encoded png data
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-10-04 16:41:50 +02:00
Alexander Kjäll a9ebfdc6e6
replace the sha-1 crate with sha1, as RustCrypto have migrated to the new crate name, ref https://github.com/RustCrypto/hashes#crate-names 2022-10-01 16:54:01 +02:00
Cléo Rebert d0b60892b2
Merge pull request #32 from constantoine/coverage
Changed coverage tools to better represent coverage
2022-08-26 10:49:48 +02:00
constantoine ec0e7f3625
Fix rust.yml
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-26 10:44:46 +02:00
constantoine 28d72bc368
Download grcov instead of recompiling
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-26 10:41:36 +02:00
constantoine 03188bfd5b
Changed coverage tools to better represent coverage
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-26 10:33:14 +02:00
Cléo Rebert fcd90cf76f
Merge pull request #31 from constantoine/constantoine-patch-1
Update tarpaulin version
2022-08-26 10:02:42 +02:00
Cléo Rebert 65214998e9
Update tarpaulin version
Tarpaulin is the tool used for coverage
2022-08-26 09:58:28 +02:00
Cléo Rebert 2807545153
Merge pull request #30 from Dev380/patch-1
Fixed spelling in README.md
2022-08-26 09:55:05 +02:00
Dev380 6498e55208
Fixed spelling in README.md
It should be "summary" not "summarry"
2022-08-25 23:47:41 +00:00
Cléo Rebert 26416df28b
Fix totp_url export
* base32 unexported
* Secret comparison is now constant_time
2022-08-13 11:23:03 +02:00
Cléo Rebert 5abd752db8
Merge pull request #28 from constantoine/refinement
Make otpauth fields optionnal
2022-08-09 11:22:36 +02:00
constantoine b6295ae878
Fix doc tests
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:13:55 +02:00
Cléo Rebert 7a3967f9a9
Fix Workflow 2022-08-09 11:09:46 +02:00
constantoine 537350ad8b
Prepare for release and update Workflow
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:06:25 +02:00
constantoine 994efb7214
Updated README and added a summary with updated examples
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:06:07 +02:00
constantoine cd903afbd7
Make otpauth fields only appear with otpauth feature
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:05:36 +02:00
constantoine 0103e7a6e5
Add test to secret.rs
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-09 11:04:11 +02:00
Cléo Rebert 6b9f13f6a2
Merge pull request #25 from steven89/secret
Improve secret handling
2022-08-08 20:54:16 +02:00
Steven Salaun 991a07bb8f fix doc example 2022-08-08 20:50:09 +02:00
Steven Salaun ab7bde0866
Merge branch 'master' into secret 2022-08-08 20:28:51 +02:00
Cléo Rebert 2207859e2c
Merge pull request #27 from constantoine/error_handling
Refactor error handling
2022-08-08 20:26:55 +02:00
constantoine e5f152210a
test formatter
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-08 20:23:24 +02:00
Steven Salaun 584b7aa8a7 Merge branch 'secret' of github.com:steven89/totp-rs into secret 2022-08-08 20:19:07 +02:00
Steven Salaun 3d61027d52 Change Secret: Plain to Raw & Base32 to Encoded 2022-08-08 20:19:04 +02:00
Steven Salaun ba130aaafc
Merge branch 'master' into secret 2022-08-08 20:15:31 +02:00
constantoine 8e890ac14d
Refactor error handling
Closes #23

Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-08-08 19:52:54 +02:00
Cléo Rebert 2cb5ec2b7a
Merge pull request #26 from steven89/rfc
Rfc6238 struct
2022-08-08 17:56:32 +02:00
Steven Salaun fe2363c77b TOTP::new checks digits value compliance to rfc 2022-08-08 17:30:27 +02:00
Steven Salaun eb9b04433f fix build for serde_support feature 2022-08-08 14:17:23 +02:00
Steven Salaun fcfebe1417 clippy 2022-08-08 14:10:39 +02:00
Cléo Rebert f3719db878
Merge pull request #24 from steven89/ttl
add `ttl` to TOTP
2022-08-08 11:44:21 +02:00
Steven Salaun f65a2e840a add `Secret` enum & `gen_secret` feature
- Make the distinction between encoded/non-encoded secret clear,
and allows for easy transformation betwen the two formats
- add `gen_secret` feature to allow easy generation of CSPRNG secret,
also add function to generate rfc recommended length secret
2022-08-06 23:04:50 +02:00
Steven Salaun 3bdb91fad7 clarifies doc for `secret`: should be non-encoded 2022-08-06 22:58:57 +02:00
Steven Salaun 40196c5ed9 add `ttl` to TOTP 2022-08-06 17:49:40 +02:00
Steven Salaun 6623af9d3e Rfc6238 struct 2022-08-06 17:31:11 +02:00
Cléo Rebert 181d17edcc
Merge pull request #22 from constantoine/21-bug-issuer-error
Fix url related bugs
2022-06-16 11:56:00 +02:00
constantoine 263299be14
Fix url related bugs
* Bug where your issuer would be incorrectly prefixed with a /, and comparison with the issuer parameter would fail
* Bug where the issuer and account name in path would not be correctly url decoded in path, but correctly decoded in url query

Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-06-16 11:48:34 +02:00
Cléo Rebert e8ba6fe083
Merge pull request #20 from constantoine/v2
V2
2022-05-30 21:59:27 +02:00
constantoine 4f32055d8b
Add next_step and next_step_current methods
Signed-off-by: constantoine <cleo.rebert-ext@treezor.com>
2022-05-20 17:43:39 +02:00
constantoine ff6f562ab7
The return of otpauth
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-20 15:00:12 +02:00
Cléo Rebert eba97c0ffa
Finish work on v2
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-15 13:41:19 +02:00
constantoine d6d08b1a1e
Start working on v2
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-13 14:06:25 +02:00
constantoine a3b51eea3d
Update version
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-06 15:42:55 +02:00
constantoine 1010772cfb
Update license
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-06 15:41:47 +02:00
Cléo Rebert 49f672d4a3
Merge pull request #19 from wyhaya/master
Add TOTP::from_url
2022-05-06 15:33:51 +02:00
wyhaya 905a119c10 Update README 2022-05-06 20:49:33 +08:00
wyhaya 3233669847 Add TOTP::from_url 2022-05-06 20:36:43 +08:00
Cléo Rebert 733c27970e
Merge pull request #18 from constantoine/add_tests
Add tests for generate_current and check_current
2022-05-06 12:46:00 +02:00
constantoine 6c19202404
Add tests for generate_current and check_current
Also updated docs to reflect those changes

Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-06 12:41:30 +02:00
Cléo Rebert 2c75d046ec
Merge pull request #17 from wyhaya/master
Support generating and checking token from the current system time
2022-05-06 12:10:45 +02:00
wyhaya 1e54605808 Add check_current 2022-05-06 17:55:31 +08:00
wyhaya d54f86592c Support generate token from the current time 2022-05-06 17:35:49 +08:00
constantoine 64225f5acd
Disable image default features
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-05 12:48:52 +02:00
Cléo Rebert 1f10c8c738
Merge pull request #16 from constantoine/change_qr_lib
Switch to qrcodegen, and update image dependency
2022-05-05 12:10:13 +02:00
constantoine 9b541817a3
Up version
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-05 12:03:41 +02:00
constantoine bacf1c4fb4 Switch to qrcodegen, and update image dependency
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-05-05 12:00:30 +02:00
Cléo Rebert 7ecdf7d440
Merge pull request #15 from constantoine/constant_time_eq
Add constant-time token comparison and partialEq trait
2022-04-24 16:48:30 +02:00
Cleo Rebert 1f1e1a6fe7 Add constant-time token comparison and partialEq trait
Add PartialEq for TOTP<T> and PartialEq+Eq for Algorithm
2022-04-24 16:41:56 +02:00
constantoine ba925c2442
Update to 1.0
Signed-off-by: constantoine <cleo.rebert@gmail.com>
2022-04-15 15:08:41 +02:00
Cléo Rebert 0f245d26cc
Merge pull request #12 from ironhaven/patch-1
Use last byte of HMAC output for truncating
2022-04-08 20:31:05 +02:00
ironhaven c30d02b512
Use last byte of HMAC output for truncating
This is to use the least significant byte of the HMAC regardless of size. RFC 6328 (TOTP) Section 1.2 says you can use SHA-1 SHA-256 or SHA-512 with the same algorithm of RFC 4226 (HTOP). This seems ok until you realize that all the new HMACs have different output sizes and HTOP only expects a 20 byte fixed MAC. It is not completely clear if RFC 4226 Section 5.3 means "get the bottom 4 bits from byte at offset 19" or "get the 4 least significant bits". Other implementations (6568c1a83a/src/pyotp/otp.py (L28)) and Wikipedia read the "Dynamic Truncation" algorithm to be the last 4 bits of the MAC, so I think this implementation should follow the others.
2022-03-07 23:10:31 -06:00
constantoine d1d6fc0411 Bump version 2022-02-10 11:25:41 +01:00
Cléo Rebert 4ef27bd616
Merge pull request #11 from tmpfs/doc-comment-warning
Warn about silent fallback to SHA1
2022-02-10 10:37:40 +01:00
Cléo Rebert 8db59df6c8
Update README.md 2022-02-10 10:34:28 +01:00
muji 9888507d16
Add notes to doc comments. 2022-02-10 17:00:33 +08:00
constantoine 4b486b5aa6 Removed byteorder dependency 2022-01-20 17:58:27 +01:00
constantoine 2ed419a83e Merge branch 'master' of github.com:constantoine/totp-rs 2022-01-13 22:04:34 +01:00
Cléo Rebert b68dd87ce2 Hash refactor 2022-01-13 21:52:55 +01:00
Cléo Rebert 79b714aeaa
Update README.md 2022-01-13 18:33:59 +01:00
Cléo Rebert f2fb6ae53f
Update security.yml 2022-01-13 18:33:33 +01:00
Cléo Rebert c111632726
Update security.yml 2022-01-13 18:26:45 +01:00
Cléo Rebert 052531694f
Update rust.yml 2022-01-13 18:19:34 +01:00
Cléo Rebert 4f1324411c
Update rust.yml 2022-01-13 18:15:14 +01:00
Cléo Rebert b26322cd33
Update rust.yml 2022-01-13 18:04:12 +01:00
Cléo Rebert 2f864c4585
Update rust.yml 2022-01-13 18:00:02 +01:00
Cléo Rebert 4664298966
Update rust.yml 2022-01-13 17:56:20 +01:00
Cléo Rebert 4e5e605db6 Merge branch 'master' of github.com:constantoine/totp-rs 2022-01-13 17:52:12 +01:00
Cléo Rebert b23080d4de Add crates.io badge and coverage badge 2022-01-13 17:52:06 +01:00
Cléo Rebert aa1dccb397
Create security.yml 2022-01-13 17:41:52 +01:00
Cléo Rebert 5a39aa778b
Update rust.yml 2022-01-13 16:52:27 +01:00
Cléo Rebert f78707cb05 0.7.1 2022-01-13 16:35:38 +01:00
Cléo Rebert d75ca4ddcd Changed to 7.0 for 2021 edition 2022-01-13 16:23:07 +01:00
Cléo Rebert 97695cf26d Updated dependencies, bumped to 2021 edition
- Updated sha2 from a yanked version
- Updated sha-1
- Updated hmac
- Updated byteorder
- Updated base64
2022-01-13 15:55:04 +01:00
Cléo Rebert 43107283ac
Update README.md 2021-08-20 18:59:09 +02:00
Cléo Rebert 0f59d89995 New version 2021-08-20 18:50:56 +02:00
Cléo Rebert de4a4f91c1 Update dependencies 2021-08-20 18:49:34 +02:00
Cléo Rebert 981ad64477 Fixed warning about deprecated type alias 2020-11-02 23:21:19 +01:00
Cleo Rebert 9c84840f65 Bumped Cargo.toml version 2020-09-12 08:55:35 +02:00
Cléo Rebert 8c86a94f3e
Merge pull request #8 from evenorog/master
Remove some unnecessary to_vec calls in code
2020-09-12 08:54:07 +02:00