Commit Graph

1210 Commits

Author SHA1 Message Date
Julien Cretin
7d414439fd Also restore index for check 2022-06-22 11:26:02 +02:00
Julien Cretin
195ac4a28c Merge pull request #504 from ia0/patches
Add check command to patches script
2022-06-22 10:45:23 +02:00
Julien Cretin
d7b24424e5 Disable patches check on github 2022-06-21 19:58:43 +02:00
Julien Cretin
90322cf5ed Fix pylint 2022-06-21 19:52:10 +02:00
Julien Cretin
b14ed0e742 Add check command to patches script 2022-06-21 19:42:37 +02:00
Liam Murphy
2544afbfee Connect Vendor HID interface between USB driver and CTAP app (#490)
* Connect Vendor HID endpoint to Ctap app

* tweaks from review

* formatting nit

* revert tock submodule revision

* fix formatting of deploy.py for yapf error

* Changes based on review

* Track state for each USB endpoint separately

* Rename patch file to ensure correct patching order

* Adjust patch from changes #494 and #500

* rustfmt

* rustfmt

* Deprecate patch 11 in favor of this full working code
2022-06-20 07:31:31 +02:00
kaczmarczyck
1d53f3c921 Adapts libtock drivers for vendor HID (#500)
* adapts libtock drivers for vendor HID

* status with timeout
2022-06-16 17:56:44 +02:00
Liam Murphy
7e0c0938bb Avoid app re-entry by passing App argument to relevant calls (#494)
* Avoid app re-entry by passing App argument to relevant calls

* Remove underscoring leading name

* fixups

* allows passing in capabilities to CtapHid (#496)

* Fix libfido in configure (#499)

* fix capitalization of Ctap2 in configure

* changes setup to match new libfido2 version

Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
2022-06-16 15:44:33 +02:00
kaczmarczyck
92e1d51442 Fix libfido in configure (#499)
* fix capitalization of Ctap2 in configure

* changes setup to match new libfido2 version
2022-06-13 13:46:15 +02:00
kaczmarczyck
95aa02f932 allows passing in capabilities to CtapHid (#496) 2022-06-10 14:31:33 +02:00
Liam Murphy
dc3e34b824 Use VENDOR_HID when creating USB config when Vendor HID enabled (#495)
* Use VENDOR_HID when creating USB config when Vendor HID enabled

* reduce noise
2022-06-10 12:56:29 +02:00
Julien Cretin
4763c3a3f1 Merge pull request #489 from egor-duda/hostenv-file-storage
Hostenv file storage
2022-06-08 17:06:13 +02:00
Julien Cretin
aea4c56884 Merge branch 'develop' into hostenv-file-storage 2022-06-08 15:55:28 +02:00
Jean-Michel Picod
15233dba3e Fix pylint configuration, script and matcher (#491)
* Fix pylint configuration, script and matcher

* Makes yapf happy

* Fix one-liner docstring

* Fix one-liner docstring
2022-06-07 20:39:22 +02:00
Egor Duda
cc1fb2543e Accommodate Store requirements for max_word_writes and max_page_erases 2022-06-07 17:04:18 +03:00
Egor Duda
0158cc846d Use 0xff for consistency 2022-06-07 15:58:08 +03:00
Egor Duda
2708074949 Improve variable names and comments readability 2022-06-06 15:08:42 +03:00
Egor Duda
660b6b76b2 Make FileOptions available to library's users 2022-06-06 15:06:29 +03:00
Egor Duda
4e47968233 Separate options type for FileStorage, remove hardcoded constants 2022-06-05 22:40:59 +03:00
Egor Duda
c0299c3225 No need for specific feature, use std instead 2022-06-05 22:40:32 +03:00
Egor Duda
f2cb2f72e7 Use StorageError::CustomError for implementations-specific (I/O) errors 2022-06-05 22:39:13 +03:00
Egor Duda
1cf7373bfe With new Storage API there's no need to double-buffer file data
read_slice(...) can return Cow::Owned buffer to the caller
2022-06-05 15:16:49 +03:00
Egor Duda
db26f6125b Implement file-backed persistent storage
This allows running ctap2 authenticator application on non-embedded host OS
to implement virtual FIDO2 authenticator for QEMU
2022-06-05 15:08:52 +03:00
Julien Cretin
12f6ed6e0b Merge pull request #487 from ia0/read_cow
Allow read_slice to return a Vec
2022-06-03 18:31:45 +02:00
Julien Cretin
0f368f0b48 Add justification for Cow usage 2022-06-03 17:03:06 +02:00
Julien Cretin
f57126634b Allow read_slice to return a Vec 2022-06-03 11:16:43 +02:00
hcyang
85fe9cd29d Add sturctured get assertion and client pin fuzzers (#482) 2022-05-27 10:34:38 +08:00
Julien Cretin
4cfc5f57d4 Merge pull request #481 from ia0/ed25519
Add local and github tests for ed25519
2022-05-20 11:03:07 +02:00
Julien Cretin
67ef705eb4 Add ed25519 to local and github tests 2022-05-20 10:31:52 +02:00
Julien Cretin
926410509a Merge pull request #478 from egor-duda/ed25519
Support ed25519 crypto algorithm
2022-05-20 10:31:11 +02:00
egor-duda
9a9d68ec41 Merge branch 'develop' into ed25519 2022-05-19 22:58:02 +03:00
Julien Cretin
7b872df01e Merge pull request #480 from ia0/remove_dep
Remove useless dependency after rng256 was split out
2022-05-19 17:24:14 +02:00
Julien Cretin
5685e95b79 Remove useless dependency after rng256 was split out 2022-05-19 15:20:39 +02:00
Egor Duda
9d36da16c7 More detailed description for "ed25519" option 2022-05-19 12:00:28 +03:00
Egor Duda
5aac730f93 Delete spurious file 2022-05-19 08:50:47 +03:00
Egor Duda
1277b97018 Remove obsolete comment 2022-05-18 20:51:28 +03:00
Egor Duda
e4d3262623 Reserve version IDs to avoid accidental reuse with other options 2022-05-18 20:50:56 +03:00
Julien Cretin
6f40c9ad48 Merge pull request #479 from ia0/no_eq
Only derive PartialEq and Eq for PrivateKey for tests
2022-05-17 23:48:24 +02:00
Julien Cretin
07424c3123 Only derive PartialEq and Eq for PrivateKey for tests
We shouldn't compare private keys in prod for side-channel resilience. Ideally
we shouldn't clone too. We currently do for storage. Fixing this would probably
require to serialize the private key in the credential struct.
2022-05-17 22:59:18 +02:00
Egor Duda
25d538cde6 fix formatting 2022-05-17 23:03:22 +03:00
Egor Duda
42bfd7860d whitespace cleanup 2022-05-17 19:53:45 +03:00
Egor Duda
b9c48b480a Common setting for unsupported CredentialId version 2022-05-17 19:49:25 +03:00
Egor Duda
dc7311a3bd Shorter idiomatic expression for finding preferred crypto algorithm 2022-05-17 17:33:21 +03:00
Egor Duda
c7116b1c21 Return strict warning checking
llvm_asm! don't cause warnings in older edition of Rust
2022-05-17 17:16:01 +03:00
Egor Duda
06230d15e1 Fix compile warning 2022-05-17 17:15:47 +03:00
Egor Duda
245436f135 ed25519-compact crate does not require newer edition of Rust 2022-05-17 17:15:03 +03:00
Egor Duda
55056b721c Use ed25519-compact crate instead of ed25519-dalek
ed25519-dalek does not implement Clone and Eq for secret keys, and
relevant PR in its repository wait for merge from long time ago, leading
to potential problems with maintainability
2022-05-16 21:48:43 +03:00
Egor Duda
0ef0bb23f4 Remove unneeded code (covered by default branch) 2022-05-16 18:15:03 +03:00
Egor Duda
7f6ff31dd1 Static allocation for list of supported algorithms 2022-05-16 18:12:15 +03:00
Egor Duda
9713332eff third-party code is modified via patching 2022-05-16 18:08:11 +03:00