Kamran Khan
f74d1b9ffd
Return error when Le calculation overflows
2020-12-10 21:27:52 -08:00
Kamran Khan
a7eb38aac8
Use checked sub
2020-12-10 21:26:44 -08:00
Kamran Khan
9c9f9efcce
Merge remote-tracking branch 'upstream/master' into ctap1-new-apdu-parser
2020-12-10 21:18:53 -08:00
Kamran Khan
29dbff7a40
The great ApduStatusCode encroachment
2020-12-10 20:15:05 -08:00
Kamran Khan
21bdbd8114
Use integers instead of ByteArray for the ApduStatusCode enum
2020-12-10 20:01:06 -08:00
Kamran Khan
162c00a0d1
Simplify Le length calculation
2020-12-10 19:54:25 -08:00
Julien Cretin
edcc206e9d
Make store operations constant wrt flash operations
2020-12-10 18:41:32 +01:00
Julien Cretin
371b8af224
Move choice between prod and test storage to embedded_flash module
...
This way all users of storage can share the logic to choose between flash or RAM
storage depending on the "std" feature. This is needed because the store_latency
example assumes flash storage but is built when running `cargo test
--features=std`.
2020-12-10 18:04:25 +01:00
Julien Cretin
4253854cf1
Remove ram_storage feature
...
We don't need to build a production key without persistent storage. Tests and
fuzzing continue to use the std feature to use the RAM implementation (that does
sanity checks).
2020-12-10 13:06:05 +01:00
Julien Cretin
f5ef235c69
Merge branch 'master' into v2_lib
2020-12-10 09:38:26 +01:00
Kamran Khan
6f1c63e9b8
Add test cases to cover different length scenarios
2020-12-09 21:06:49 -08:00
Kamran Khan
0da13cd61f
De-deuplicate le length calculation
2020-12-09 20:43:06 -08:00
Fabian Kaczmarczyck
d942f0173f
reverts block_len to a fixed number
2020-12-09 20:11:35 +01:00
kaczmarczyck
e8f6ed9a43
Merge branch 'master' into implicit-hmac-secret
2020-12-09 19:25:44 +01:00
Fabian Kaczmarczyck
863bf521de
removes extra sha256
2020-12-09 19:05:03 +01:00
Jean-Michel Picod
62dd088cd0
Add missing license header.
2020-12-09 18:55:08 +01:00
Julien Cretin
776093a68b
Find the next free key in a linear way
2020-12-09 10:52:51 +01:00
Julien Cretin
8965c6c8fb
Rename and use HARDWARE_FAILURE error
2020-12-08 20:45:27 +01:00
Fabian Kaczmarczyck
fcbaf1e973
fixes comments
2020-12-08 19:31:56 +01:00
Fabian Kaczmarczyck
90def7dfd3
implicitly generate HMAC-secret
2020-12-08 18:12:48 +01:00
Kamran Khan
56bc86c5d0
No need to cast again
2020-12-07 23:40:06 -08:00
Kamran Khan
2d17bb2afa
Readability improvements
2020-12-07 23:38:21 -08:00
Kamran Khan
373464b72d
Remove redundant type declaration
2020-12-07 23:35:47 -08:00
Kamran Khan
e4d160aaee
Use TryFrom to convert between APDU and CTAP status codes
2020-12-07 23:32:04 -08:00
Kamran Khan
4c84e94039
Use new APDU parser in CTAP1 code
2020-12-07 21:23:55 -08:00
kaczmarczyck
c5007e384e
Merge branch 'master' into v2_lib
2020-12-04 15:26:03 +01:00
Fabian Kaczmarczyck
0b55ff3c3a
fixes formatting
2020-12-04 14:57:11 +01:00
Julien Cretin
16c0196b1d
Check global counter length
2020-12-04 14:42:16 +01:00
Fabian Kaczmarczyck
21b8ad18ce
fix clippy warning in apdu
2020-12-04 13:41:56 +01:00
Fabian Kaczmarczyck
b032a15654
makes the global signature counter more privacy friendly
2020-12-04 13:41:41 +01:00
Kamran Khan
1eaff57c88
Le should be interpreted as 0x10000 even in the 2-byte case
2020-12-03 08:25:34 -08:00
Kamran Khan
4bfce88e9b
Remove indention level made redundant by early-return
2020-12-03 08:14:07 -08:00
Kamran Khan
bec94f02be
Tweak Le appropriately depending on its swize
2020-12-03 08:10:44 -08:00
Kamran Khan
cc8bdb982d
Remove unknown apdu type
2020-12-03 07:55:34 -08:00
Kamran Khan
69cdd4a0dc
Use (relatively more) appropriate error code)
2020-12-03 07:53:22 -08:00
Kamran Khan
71ec2cf937
Return an error when the case isn't determined
2020-12-03 07:50:05 -08:00
Kamran Khan
943d7af503
Payload does not need to be an array
2020-12-02 23:43:35 -08:00
Kamran Khan
9fc1ac114d
Reuse frame bytes for payload
2020-12-02 23:39:48 -08:00
Kamran Khan
524ebe3fce
Prevent int overflow by casting before addition
2020-12-02 23:32:25 -08:00
Kamran Khan
1d8c103d9b
Construct and return immutable instances of APDU instead of mutating one
2020-12-02 23:29:11 -08:00
Kamran Khan
0420ad8de6
Use constant for consistency
2020-12-02 23:06:24 -08:00
Kamran Khan
2c49718fee
Lc3DataLe3 is not a valid case
2020-12-02 23:03:35 -08:00
Kamran Khan
b9ffe7e4ce
Use constant instead of hardcoded integer
2020-12-02 23:02:07 -08:00
Kamran Khan
dc95310fc0
Clarify comments
2020-12-01 10:13:25 -08:00
Julien Cretin
042108e3d9
Reserve 700 additional keys for credential-related stuff
2020-12-01 17:46:28 +01:00
Julien Cretin
b55d432043
Apply review comments
2020-12-01 15:39:51 +01:00
Julien Cretin
1db73c699b
Apply review comments
2020-12-01 11:29:52 +01:00
Kamran Khan
ce46af0b6b
Make cargo fmt happy
2020-11-30 14:43:44 -08:00
Kamran Khan
94f548d5c5
Add extended APDU parser
2020-11-30 14:35:01 -08:00
Kamran Khan
5f5f72b6d1
Use arrayref for converting into ApduHeader
2020-11-30 02:04:52 -08:00