Commit Graph

132 Commits

Author SHA1 Message Date
Pol Henarejos
8f14db677e Fix strange bug when usb cannot write.
In this case, the buffer is kept until the next success call.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-29 23:11:49 +02:00
Pol Henarejos
d0fe447416 Fix PING with no data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-29 16:59:30 +02:00
Pol Henarejos
27d897be6c Adding delete_file().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-29 09:05:39 +02:00
Pol Henarejos
c5095dfec6 Only send response apdu if sw != 0.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:10:47 +02:00
Pol Henarejos
2aff75a3ec Fix keepalive msg.
Only sent when CBOR is initiatied.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:09:16 +02:00
Pol Henarejos
286858c907 Compact debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:07:15 +02:00
Pol Henarejos
815e865ced Moving some defines.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 12:23:43 +02:00
Pol Henarejos
3912775ccb Fix writting large packets.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 12:23:16 +02:00
Pol Henarejos
b70a7474f2 Possibly not necessary, as it returns 0 if there is no available.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 23:35:35 +02:00
Pol Henarejos
96641e79e5 Moving to MbedTLS 3.2.1
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 23:33:12 +02:00
Pol Henarejos
fa371643a1 Fix writing large usb buffers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 23:23:07 +02:00
Pol Henarejos
52a2ff8b34 Adding chacha sources, as it is enabled in config.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 20:34:51 +02:00
Pol Henarejos
55d4839e21 Adding missing function to ccid driver.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 20:34:18 +02:00
Pol Henarejos
657913d29a Upgrading version
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
v3.4
2022-09-25 18:14:18 +02:00
Pol Henarejos
18fa1d7f37 Reseting previous command if new arrives.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 18:09:37 +02:00
Pol Henarejos
f123108c3e Added variable to cancel button press.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:07:38 +02:00
Pol Henarejos
f8590ba8c7 Added CTAPHID_CANCEL support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:07:27 +02:00
Pol Henarejos
4d7101b802 Fix send_keepalive with auxiliary buffer.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 23:53:55 +02:00
Pol Henarejos
7fded7234b Adding extra buffer to tx.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 22:52:56 +02:00
Pol Henarejos
988d4e23c2 Fix combining APDU MSG and keepalive.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 22:52:41 +02:00
Pol Henarejos
c23f17107a Random functions shall be called for each core, otherwise it will hung.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 20:18:05 +02:00
Pol Henarejos
91e2b7f643 Fix reading corrupted memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:17 +02:00
Pol Henarejos
3092da23ed card_init_core1() shall be called from every thread launched on core1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:07 +02:00
Pol Henarejos
e29521fcf6 Multiple bug fixes to pass HID tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:23:39 +02:00
Pol Henarejos
d2e54b04db Adding variable button timeout.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:22:44 +02:00
Pol Henarejos
4ab68cc822 HID fixes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 14:05:39 +02:00
Pol Henarejos
e1914556ec Fix debug_data
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 09:59:02 +02:00
Pol Henarejos
287be74921 Adding macro for easy debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 09:29:43 +02:00
Pol Henarejos
5a4aff7008 Adding KEEP_ALIVE response.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 15:31:34 +02:00
Pol Henarejos
8b97791d8f Reorganizing core0/core1 split.
Now CBOR and APDU (i.e., intensive processing) areas are executed on core1, while core0 is dedicated for hardware tasks (usb, button, led, etc.).
2022-09-20 14:39:59 +02:00
Pol Henarejos
847005d94f Adding support for clientPIN.
It does not pass the tests yet.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:52 +02:00
Pol Henarejos
68f43f3cb2 Adding functions for calling random in core0.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:49:10 +02:00
Pol Henarejos
4c49e59edc Major CTAP refactoring.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-15 14:16:40 +02:00
Pol Henarejos
633593aae3 Adding chacha sources.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-15 14:16:30 +02:00
Pol Henarejos
42f3c67c61 Adding Credentials structure.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-14 17:27:00 +02:00
Pol Henarejos
493a88538a Adding support for ChaCha20 with Poly1305.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-14 17:26:45 +02:00
Pol Henarejos
607f7c50d4 Adding some macros for CBOR parsing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-14 00:08:05 +02:00
Pol Henarejos
2cb59d57d2 Adding first attempt of adding make_credential.
It requires lot of efforts to parse CBOR incoming data.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-13 20:37:15 +02:00
Pol Henarejos
a8e1fe5842 Adding CBOR parser routines.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-13 20:36:27 +02:00
Pol Henarejos
d1530733a2 Lots of fixes with CBOR encoding cbor_get_info().
- Numeric fields shall be encoded with uint and NOT with simple, despite are < 24.
- maxCredentialCountInList and maxCredentialIdLength only accept uint values.
- up shall not be present (assumed True always).
- Also added cbor_reset(). It does nothing but ok.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-12 00:50:38 +02:00
Pol Henarejos
4538d6ef14 Add TinyCBOR library compile.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-09 20:43:18 +02:00
Pol Henarejos
4a1bddb3d5 Adding cbor_get_info().
This is the first funciont that uses TinyCBOR to encode the cbor message.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-09 20:35:11 +02:00
Pol Henarejos
c6a129b6ad Add TinyCBOR for CBOR encoding/decoding.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-09 20:33:42 +02:00
Pol Henarejos
abd52c34ba Added CBOR processing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 20:37:21 +02:00
Pol Henarejos
7aeac46eef Adding CTAP2 commands.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 17:49:56 +02:00
Pol Henarejos
867d4637ee Moving from U2F to CTAP1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 17:35:40 +02:00
Pol Henarejos
7491021102 Fix initializing variables.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
v3.2
2022-09-08 16:38:13 +02:00
Pol Henarejos
9b137f6f08 Moved to FIDO.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 13:50:28 +02:00
Pol Henarejos
3f492b9272 Upgrade version to v3.2.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 13:45:30 +02:00
Pol Henarejos
799733203b Added SYNC command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 13:24:03 +02:00