Commit Graph

230 Commits

Author SHA1 Message Date
Pol Henarejos
e6c0227996 Fix VIDPID PHY Read.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-11-15 21:11:57 +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
9b294b9685 Fix build
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-30 17:25:55 +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
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
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
5984d1f72d NK compatibility improvements.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-08-25 01:33:46 +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
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
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
Pol Henarejos
f1b1382300 USB descriptors are now created dynamically.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-21 15:30:50 +01:00
Pol Henarejos
f06cb3a96d Fix multiple interfaces in older PCSC versions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-02-12 13:25:23 +01:00
Pol Henarejos
350f0da763 Fix USB keyboard descriptor.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-29 13:21:17 +01:00
Pol Henarejos
a081a2bde6 LibCCID allows propietary class for CCID (ALLOW_PROPIETARY_CLASS in LibCCID). Then both interfaces are loaded but since both belong to same device, only the last is opened.
We change maxSlot value even it breaks the ICCD spec to cause a timeout in LibCCID and deactivate WebCCID interface.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-17 20:56:03 +01:00
Pol Henarejos
9e2b6ac4b6 Remove comment
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-24 02:05:50 +01:00
Pol Henarejos
046bac42e3 Update CCID descriptor to reflect max USB transport size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-24 02:05:07 +01:00
Pol Henarejos
c59fb91540 Set stack size depending on the number of enabled interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-24 01:42:33 +01:00
Pol Henarejos
8e68e6cae9 Use BE/LE functions for packing uint16.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 21:00:38 +01:00
Pol Henarejos
585a6d77e3 Use USB product field in the descriptor.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-17 16:27:11 +01:00
Pol Henarejos
86999d8cdd Do not debug after write the buffer.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-16 18:42:42 +01:00
Pol Henarejos
1431f91281 In pure U2F mode, no keepalive is sent by authenticator. Instead, client sends commands to know the status.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-11 22:36:24 +01:00
Pol Henarejos
f58bcaecf1 In pure U2F mode, no keepalive is sent by authenticator. Instead, client sends commands to know the status.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-11 22:36:09 +01:00
Pol Henarejos
cb4e2ba0eb Fixes for ESP32-S3:
- It only supports 4 IN endpoints, so 1 EP must be removed (INT of CCID).
- It only supports 8 strings max.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-11 12:14:31 +01:00
Pol Henarejos
e9875b358c Fix cancel command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-03 08:35:20 +01:00
Pol Henarejos
fcae98eecc Add support for tinyusb 0.17 in ESP32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-01 01:23:56 +01:00
Pol Henarejos
49758c6ac7 Fix ESP32 build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 22:59:01 +01:00
Pol Henarejos
9f79693025 Fix for Pico SDK 2.1.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 22:44:00 +01:00
Pol Henarejos
6a18e3aa83 Add CCID SET_DATA_RATE_AND_CLOCK command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 12:54:57 +01:00
Pol Henarejos
5f27c0d75d Fix esp32 build with wcid.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-06 17:11:39 +01:00
Pol Henarejos
3dbf969e12 WCID interface is always enabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-06 17:02:38 +01:00
Pol Henarejos
6625678c30 Rename CCID_ codes to PICOKEY_
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 18:21:24 +01:00
Pol Henarejos
0edb1f370f Fix HID report descriptors.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 15:23:34 +01:00
Pol Henarejos
0638409ff8 Refactor PHY to support more flexible and scalable architecture.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 00:29:13 +01:00
Pol Henarejos
a816b6f747 Added PHY options to control the brigthness of the LED and its dimming.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-27 20:55:49 +02:00
Benoît Allard
7a0b67f3cb led: Rename 'blink' to 'mode' 2024-09-25 21:46:33 +02:00
Pol Henarejos
f8a05f4832 Fix maxPower and dwProtocols (recover T=0).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-12 19:42:49 +02:00
Pol Henarejos
2011cfd35e In Windows, report ID shall start from 1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-12 19:17:59 +02:00
Pol Henarejos
4711ae768a Move some functions to emulation header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 18:07:50 +02:00
Pol Henarejos
bc34efed5c Fix LED blink when ON/OFF.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 18:20:52 +02:00
Pol Henarejos
294c1fdf41 Fix USB descriptor in case only HID is enabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:51 +02:00