sing-box/common/vboxusb
世界 c3946c00a3
usbip: fix correctness findings from protocol audit
Windows export now reports the real USB link speed, probed from the
parent hub (IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX and _V2 for
SuperSpeedPlus), so SuperSpeed devices route to the correct root-hub
speed domain instead of advertising speed=0.

- protocol: pin DeviceInfoTruncated/DeviceInterface wire sizes with
  two-sided compile-time assertions so a struct change fails the build
  instead of silently mis-bounding the reader
- server: bound inbound connections with a handshake read deadline and a
  per-iteration idle deadline on the control loop, plus write deadlines
  on control writes; clear the deadline before the conn becomes a data
  session
- server: serialize import reservation under reconcileAccess so a reserve
  cannot interleave a reconcile pass that would release a busy device
- data: validate CMD_SUBMIT iso descriptor offset/length against the
  transfer buffer before forwarding to a platform engine
- darwin: make darwinUSBHostDevice.Close idempotent via sync.Once to
  avoid a double close/free under concurrent shutdown
- windows: guard windowsExport.device with a mutex and hand the claimed
  handle to a single closer
2026-06-09 14:38:23 +08:00
..
assets vboxusb: include upstream SPDX license stubs for embedded driver assets 2026-06-09 10:42:35 +08:00
assets_windows_amd64.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
assets_windows_arm64.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
assets_windows_unsupported.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
device_windows.go usbip: remove dead code, ceremonial guards, and WHAT comments 2026-06-09 10:42:36 +08:00
driver_windows.go usbip: remove dead code, ceremonial guards, and WHAT comments 2026-06-09 10:42:36 +08:00
monitor_windows.go usbip: remove dead code, ceremonial guards, and WHAT comments 2026-06-09 10:42:36 +08:00
pnp_windows.go usbip: fix correctness findings from protocol audit 2026-06-09 14:38:23 +08:00
privilege_windows.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
speed_windows.go usbip: fix correctness findings from protocol audit 2026-06-09 14:38:23 +08:00
vboxusb.go usbip: remove dead code, ceremonial guards, and WHAT comments 2026-06-09 10:42:36 +08:00