Commit Graph

112 Commits

Author SHA1 Message Date
h7x4
f75e1a05bc usbip_protocol: fix parser bug on cmd_submit and ret_submit 2023-12-26 16:56:58 +01:00
h7x4
e14e34eae7 usbip_protocol: add more trace logs 2023-12-26 16:22:50 +01:00
Chen
f9246c0f5e Merge pull request #35 from h7x4/fixup-serde-impls
Fixup serde impls
2023-10-30 10:45:17 +08:00
h7x4
d890684f7d Make setup.rs use statement conditional 2023-10-29 17:21:54 +01:00
h7x4
8872fea207 Add serde impls for usbip_protocol types 2023-10-29 17:21:19 +01:00
Chen
4316e61c21 Merge pull request #19 from h7x4/add-serde-impls
Add serde support
2023-10-30 00:11:46 +08:00
h7x4
e0542938e6 Add serde support
Add serde serialization/deserialization for most public types
2023-10-29 16:32:06 +01:00
h7x4
a1ecd1d65b Cargo.toml: rusb 0.9.1 -> 0.9.3 2023-10-29 16:32:05 +01:00
Chen
a2701a76ee Merge pull request #32 from h7x4/handle-rusb-device-descriptor-errors
Handle rusb device descriptor errors without panic
2023-10-29 22:29:26 +08:00
Chen
f567e8d80d Merge pull request #29 from h7x4/update-pipeline-structure
Update main workflow with several changes
2023-10-29 21:50:22 +08:00
Chen
5fe58fbb89 Merge pull request #31 from h7x4/split-usbip-protocol-from-server-loop
Split usbip protocol de/serialization from server handler
2023-10-26 20:28:27 +08:00
h7x4
f5ee550b2c Handle rusb device descriptor errors without panic 2023-09-06 10:37:22 +02:00
h7x4
db56238ace workflows/main.yml: enable all package features 2023-09-06 10:11:39 +02:00
h7x4
ecc2154444 Split usbip protocol de/serialization from server handler
This also fixes the following:

- Use consistent `path`/`busid` format for both default device and server
- `debug_assert` that `path`/`busid` lengths don't overflow
- Throw proper error message on old USB/IP version
- Send proper USB/IP error on `USBIP_CMD_SUBMIT` with invalid `ep`
- Flip wrongly placed traces for in/out transfer on `USBIP_CMD_SUBMIT`
- Send proper USB/IP error on `USBIP_CMD_UNLINK` with no attached device
- Handle `iso_packet_descriptor`s properly
- Multiple `debug_assert`s during de/serialization to ensure sane
  behaviour
2023-09-06 09:50:14 +02:00
h7x4
8d4b0a1eac tests: setup env_logger for all tests 2023-09-05 20:26:56 +02:00
h7x4
ff0d34af42 workflows/main.yml: add dependency cache 2023-09-01 13:54:50 +02:00
h7x4
0323a1ce0a workflows/main.yml: only run coveralls push on PRs 2023-09-01 13:54:33 +02:00
h7x4
511fd2926e workflows/main.yml: remove benchmark step
We don't have any benchmarks at the moment,
so this step is pointless
2023-09-01 13:54:24 +02:00
h7x4
0df4ae9296 workflows/main.yml: update external actions
- `actions/checkout@v2` -> `actions/checkout@v3`
- `actions-rs/toolchain@v1` -> `dtolnay/rust-toolchain@nightly`
2023-09-01 13:53:43 +02:00
h7x4
4b7a246add workflows/main.yml: parallellize workflow 2023-09-01 13:53:21 +02:00
Jiajie Chen
87ffdcec6f Add enum reference 2023-08-27 11:50:04 +08:00
Jiajie Chen
5653003a4d Handle SET_IDLE in hid, fix #28 2023-08-27 11:45:55 +08:00
Chen
4148f91b42 Merge pull request #27 from jiegec/fix-clippy-warnings
Fix clippy warnings and add clippy to pipeline
2023-08-25 09:53:28 +08:00
h7x4
b840376fe4 Add clippy to pipeline 2023-08-24 16:20:46 +02:00
h7x4
5d270f228c Fix clippy warnings 2023-08-24 16:20:46 +02:00
Chen
7f178551a1 Merge pull request #26 from h7x4/add-transfer-buffer-length-to-handle-urb
Add `transfer_buffer_length` to `handle_urb`
2023-08-23 22:12:19 +08:00
Chen
0f844e11a7 Merge pull request #18 from h7x4/modify-devicelist-during-execution
Add support for modifying devicelist during execution
2023-08-23 22:11:45 +08:00
h7x4
22331407b9 Add transfer_buffer_length to handle_urb 2023-08-23 16:04:43 +02:00
Chen
7f63809778 Merge pull request #21 from h7x4/allow-editing-device-strings
Add support for editing device strings
2023-08-23 22:02:03 +08:00
h7x4
6ed02934e3 Add support for modifying devicelist during execution 2023-08-23 15:51:48 +02:00
Oystein Tveit
613c8fec1a Add support for editing device strings 2023-08-23 11:30:42 +02:00
Chen
5ff5ef1632 Merge pull request #22 from 313ctric/master
Correct Standard Request Codes
2023-08-14 11:21:23 +08:00
Electric
71ee3a6c64 Correct Standard Request Codes 2023-06-25 22:11:55 +01:00
James Devine
8506ede125 bump version v0.6.0 2023-02-22 15:33:34 +00:00
Chen
25ece9e953 Merge pull request #14 from jamesadevine/fix-write-response
Write byte length on OUT request
2023-02-22 22:34:09 +08:00
James Devine
f2f3bb1e58 Write byte length on OUT request 2023-02-22 13:22:19 +00:00
Chen
9ca4c9c1c7 Merge pull request #12 from jamesadevine/device_with_filter
new_from_host_with_filter
2023-02-20 21:21:50 +08:00
James Devine
2d7dfc7552 undo unecessary change 2023-02-20 12:03:03 +00:00
James Devine
fb9b71be46 devices_with_filter 2023-02-20 11:58:15 +00:00
Chen
44d061473e Merge pull request #9 from jamesadevine/restrict-max-buffer
Constrain endpoint writes to maximum buffer size of endpoint.
2023-02-07 23:14:04 +08:00
Chen
3051a9564d Merge pull request #11 from jamesadevine/correct-descriptors
Mirror device version and usb version in descriptors
2023-02-07 23:13:05 +08:00
Chen
a1e6f1cc4a Merge pull request #10 from jamesadevine/unlink-padding
Write padding in unlink response
2023-02-07 21:54:55 +08:00
James Devine
0607e3bef3 write_i32 -> write_u32 2023-02-07 13:52:44 +00:00
James Devine
056a9e4895 use into, not from 2023-02-07 13:51:01 +00:00
James Devine
d3bf3228d0 snap ep writes to maximum buffer size of endpoint 2023-02-07 13:33:05 +00:00
James Devine
2b6b87292f mirror device version and usb version 2023-02-07 13:32:13 +00:00
James Devine
df3fe18aa0 write padding in unlink response 2023-02-07 13:29:45 +00:00
Jiajie Chen
f112f76563 Add UsbHostDeviceHandler for #7 2023-02-01 13:02:36 +08:00
Jiajie Chen
84b8d9da1c Add UsbDeviceHandler for #7 2023-02-01 12:53:22 +08:00
Jiajie Chen
11df5fba96 Bump tokio to 1.22.0 2022-12-05 17:44:07 +08:00