summaryrefslogtreecommitdiff
path: root/src/class/cdc/cdc_host.c
AgeCommit message (Collapse)Author
2026-07-19Merge pull request #3750 from dxbjavid/cdc-acm-open-desc-boundsZixun LI
bound cdc-data endpoints against descriptor length in acm_open
2026-07-19add interface desc length checkHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-07-19improve validation structureHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-07-19improve pointer arithmetic, check funmctional descriptor bLengthHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-07-07gate acm_open descriptor bounds behind CFG_TUH_VALIDATION_LEVELJavid Khan
add a three-level TUSB_VALIDATION_NONE/BASIC/STRICT knob and default CFG_TUH_VALIDATION_LEVEL to BASIC, then make acm_open the first user so the enumeration bounds checks compile out at NONE for trusted-device setups and stay on by default.
2026-07-05bound acm_open functional descriptor walk against desc_endJavid Khan
2026-07-04advance acm_open descriptor walk by fixed struct sizesJavid Khan
2026-07-03guard acm_open endpoint reads against short bLength descriptorsJavid Khan
2026-07-03Merge pull request #3660 from andrewleech/cdch-on-enum-idx-guardZixun LI
cdc_host: fix undeclared 'idx' when only LINE_CONTROL_ON_ENUM is defined
2026-07-02bound cdc-data endpoints against descriptor length in acm_openJavid Khan
2026-07-02license: use SPDX identifiers for src/ headers (#3749)Ha Thach
* license: use SPDX identifiers for src/ headers Replace the full ~20-line MIT license boilerplate on every src/ file with a two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500 lines of duplicated boilerplate.
2026-06-06host/cdc: use local control bufferHiFiPhile
2026-05-31cdc_host: fix undeclared 'idx' when only LINE_CONTROL_ON_ENUM definedAndrew Leech
idx is used in the ENUM_SET_LINE_CONTROL path guarded by CFG_TUH_CDC_LINE_CONTROL_ON_ENUM, but was declared only under CFG_TUH_CDC_LINE_CODING_ON_ENUM. Defining LINE_CONTROL_ON_ENUM without LINE_CODING_ON_ENUM therefore failed to compile with an undeclared identifier. Guard the declaration under either macro. Signed-off-by: Andrew Leech <[email protected]>
2026-03-11Merge branch 'master' into zlp-hs-on-fshathach
2026-02-25fix CDC host FTDI multiple channel loophathach
fix typos for ftdi_process_set_config() add J-Link GDB + RTT logging instructions
2026-02-11fix ep size and midi bufferHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-02-11fix rx transfer length when high speed capable device/host working at full speedHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-12-26Prevent unused-variable warning in dcd_host.cCédric Berger
'idx' is not used if CFG_TUH_CDC_LINE_CODING_ON_ENUM is not defined.
2025-12-12usbh/cdc: fix typo in cdch_openHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-12-11move host hacked bulk mps out of tu_edpt_validate()hathach
2025-12-11refactor usbh_class_driver_t's open() to return number of driver len instead ↵hathach
of bool. help to simplify parsing configuration
2025-12-10move hwid into edpt stream for consistent APIhathach
2025-12-10change tu_fifo_clear()/tu_edpt_stream_clear() from return bool to voidhathach
2025-11-13clear endpoint stream when open for cdc_host and midi_hosthathach
2025-11-08fix more alertshathach
2025-10-16fix some warnings detected by pvs-studiohathach
2025-10-16add tu_div_round_nearest() (only handle positive) to replace ↵hathach
DIV_ROUND_CLOSEST() to remove the need of typeof
2025-09-17Update weak callbacks to new syntaxHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-07-15Fix compilation when CH34X support is disabledEli Lipsitz
2025-06-27clean uphathach
2025-06-27use enum buf for process_set_config for ch34x and pl2303hathach
2025-06-27update acm and pl2303 to match the rest of drivershathach
2025-06-27major refactor to generalize cdch serial driverhathach
- add common 2 stage set line coding for driver without direct set_line_coding support e.g ftdi, cp210x, ch34x - add common cdch_process_line_state_on_enum() to handle cfg line state on enum e.g CFG_TUH_CDC_LINE_CONTROL/CODING_ON_ENUM - refactor cdch_internal_control_complete and user_complete_cb to be managed by tuh_cdc_ API instead of serial driver
2025-06-20refactor, add cdch_internal_control_complete()hathach
2025-06-20refactor change signature of serial driver's process_set_confighathach
adding serial driver's request_complete()
2025-06-20cdch clean up and refactor, add explicit sync() APIhathach
2025-06-19union ftdi/pl2303/acm data to save memory.hathach
2025-06-19rename tuh_cdc_get_local_line_coding to tuh_cdc_get_line_coding_localhathach
add tuh_cdc_get_control_line_state_local() implement tuh_cdc_get/set_dtr/rts() as inline
2025-06-19revert CFG_TUH_CDC_DTR/RTS_CONTROL_ON_ENUMhathach
2025-06-19clean up pl2303 type datahathach
2025-06-19house keepinghathach
2025-06-18usbh: add new API tuh_descriptor_get_device_local()hathach
cdc host: remove the local desc_dev and the get_device descriptor call for ftdi and pl2303
2025-06-18add get_itf_by_xfer() to better determine cdc interface from xfer complete ↵hathach
callback
2025-06-17add common cdch_process_set_config() to safely complete set_config() when it ↵hathach
failed. driver_process_set_config() also pass drv index with user_data
2025-06-16Merge branch 'master' into fork/IngHK/cdch_upgradehathach
# Conflicts: # README.rst # docs/reference/index.rst # src/class/cdc/cdc_device.c # src/class/cdc/cdc_host.c
2025-05-13fix warnings, minor clean uphathach
2025-02-13update midi host to use endpoint stream APIhathach
2024-11-27minor clean uphathach
2024-11-26add TUH_EPBUF_DEF for cdc hosthathach
2024-09-10change edpt stream api to take hwid from API to reduce memory footprinthathach