Pol Henarejos
116aca7697
Fix #if/else logic.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-15 20:13:42 +01:00
Pol Henarejos
d410a4cfc2
Add support for RP2354.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-15 19:56:46 +01:00
Pol Henarejos
9b6d6f6736
Fix build
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-28 09:36:41 +01:00
Pol Henarejos
8f907b25ba
Relicense project under the GNU Affero General Public License v3 (AGPLv3)
...
and add the Enterprise / Commercial licensing option.
Main changes:
- Replace GPLv3 headers with AGPLv3 headers in source files.
- Update LICENSE file to the full AGPLv3 text.
- Add ENTERPRISE.md describing the dual-licensing model:
* Community Edition: AGPLv3 (strong copyleft, including network use).
* Enterprise / Commercial Edition: proprietary license for production /
multi-user / OEM use without the obligation to disclose derivative code.
- Update README with a new "License and Commercial Use" section pointing to
ENTERPRISE.md and clarifying how companies can obtain a commercial license.
Why this change:
- AGPLv3 ensures that modified versions offered as a service or deployed
in production environments must provide corresponding source code.
- The Enterprise / Commercial edition provides organizations with an
alternative proprietary license that allows internal, large-scale, or OEM
use (bulk provisioning, policy enforcement, inventory / revocation,
custom attestation, signed builds) without AGPL disclosure obligations.
This commit formally marks the first release that is dual-licensed:
AGPLv3 for the Community Edition and a proprietary commercial license
for Enterprise customers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-26 20:06:16 +01:00
Pol Henarejos
233e6594c6
Add casts to fix warnings.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-12 18:52:07 +02:00
Pol Henarejos
14d5a75571
Add some win compatibility.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-12 18:51:29 +02:00
Pol Henarejos
e56624948b
Expose gettimeofday.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-12 18:47:43 +02:00
Pol Henarejos
200d59f91b
ADd strlcpy when necessary.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-12 18:47:34 +02:00
Pol Henarejos
c165ae4838
Add set of secure functions to derive keys based on OTP, if available, and pico_serial as a fallback. PIN is also an input vector, which defines a separated domain.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-08 00:30:41 +02:00
Pol Henarejos
0ddfdf8134
Add sanity check.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-07 21:11:28 +02:00
Pol Henarejos
031d76737b
Add pico_serial_hash as a source of unique (almost) 32 bytes string.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-07 21:11:06 +02:00
Pol Henarejos
df94d10f8f
Fix print macro.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-07 21:10:19 +02:00
Pol Henarejos
b3b2b67034
Add const to OTP functions.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
3eff2442c6
Fix is_empty_otp_buffer when a register is invalid.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
a7e1cf028b
To prevent the PVC attack, MKEK and DEV keys are migrated to another OTP page.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
e14a12b002
Add OTP chaff to avoid passive voltage contrast (PVC) attacks.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
56c2ef0cc1
Fix alignment when programming OTP.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
9b294b9685
Fix build
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-30 17:25:55 +02:00
Pol Henarejos
5048e07f81
Add hash functions using OTP as feed when available.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-28 20:28:28 +02:00
Pol Henarejos
d63ed56e0e
Fix phy_data idVendor/idProduct when not set.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-28 20:28:28 +02:00
Pol Henarejos
afe2b28fab
Merge remote-tracking branch 'origin/main'
2025-09-24 01:12:07 +02:00
Pol Henarejos
838f342877
Fix HID processing only for CTAP_HID.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-24 01:11:45 +02:00
Pol Henarejos
1a1d03ab2f
Add compatibility for non-pico boards.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-24 01:11:19 +02:00
Pol Henarejos
809dc3d16d
Add missing files.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-23 17:03:38 +02:00
Pol Henarejos
70c0c1bf81
Fix conditional build for non-pico platforms.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-23 16:59:59 +02:00
Pol Henarejos
cff3f8f677
Fix interface conditional builds.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-23 16:56:34 +02:00
Pol Henarejos
6f6004c57b
Fix build for non-pico boards.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-23 00:02:20 +02:00
Pol Henarejos
0b49fe4e1b
Fix build for non-pico boards.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-22 23:52:47 +02:00
Pol Henarejos
4edc506759
Fix build for non-pico boards.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-22 23:35:46 +02:00
Pol Henarejos
202d32d13d
Fix descriptor description when there are disabled interfaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-02 01:20:07 +02:00
Pol Henarejos
95f02b6ea7
Add dummy led driver to avoid crashes in case a non-supported board is built.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-01 22:02:08 +02:00
Pol Henarejos
2e2b78445c
Load led driver depending on PHY.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-01 21:27:43 +02:00
Pol Henarejos
da44fd21d4
Add support for led driver in PHY.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-01 21:27:15 +02:00
Pol Henarejos
a3406572cd
Fix uint16 endianness that affected chained RAPDU.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-08-29 01:17:37 +02:00
Pol Henarejos
5984d1f72d
NK compatibility improvements.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-08-25 01:33:46 +02:00
Pol Henarejos
3863842536
Fix crash in case response buffer is not 16bit aligned.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-08-24 01:22:59 +02:00
Pol Henarejos
113e720fca
Merge remote-tracking branch 'origin/main'
2025-06-22 19:58:17 +02:00
Pol Henarejos
c45c97ee1f
Fix Pico Keys SDK build.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-06-22 19:57:15 +02:00
Pol Henarejos
d66d1c85b9
Add missing header.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-06-22 19:52:36 +02:00
Pol Henarejos
f01aca5518
Flash size is obtained dynamically rather than in build time. It will allow to reduce dramatically the number of builds.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-05-30 12:06:26 +02:00
Pol Henarejos
da3a7f25d0
Fix bool build.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-05-25 19:20:04 +02:00
Pol Henarejos
eb75ad4efa
Add app_exists() to check if an AID is loaded.
2025-05-25 19:07:20 +02:00
Pol Henarejos
11d8a5343c
Remove the tweak for packets multiple of 64 bytes. It was fixed in the USB stack handling (don't remember where).
...
Fixes #95 .
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-05-23 20:17:57 +02:00
Pol Henarejos
a324477a8a
Fix interface descriptor when HID is disabled.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-05-02 18:28:38 +02:00
Pol Henarejos
580b0acffa
Define MCU for emulation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-04-07 01:24:03 +02:00
Pol Henarejos
3990e7643a
Fix EPNUM counting for ESP32. It fixes the problem of not sending KB.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-04-06 18:31:01 +02:00
Pol Henarejos
5718c83083
Upgrade TinyUSB for ESP32
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-04-06 18:26:34 +02:00
Pol Henarejos
a75fd6b815
CTAP_RESP should be 0ed before sending.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-30 18:12:06 +02:00
Pol Henarejos
5f79a8c8ed
Fix ESP32 dynamic USB interfaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-24 09:22:25 +01:00
Pol Henarejos
a08abaed0f
Enable each USB interface independently depending on PHY parameters.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-22 23:25:31 +01:00