Commit graph

281 commits

Author SHA1 Message Date
Nils Tonnaett
c9ba3ced91 module-avb: format strings.c 2026-05-25 07:55:01 +00:00
Nils Tonnaett
ef77d995cd module-avb: SET_NAME: check that string is valid utf8 and zero padded 2026-05-25 07:55:01 +00:00
Nils Tonnaett
14b1c4d3dd module-avb: add zero padding check function 2026-05-25 07:55:01 +00:00
Nils Tonnaett
b47c07b9cd module-avb: add UTF-8 validation function 2026-05-25 07:55:01 +00:00
Wim Taymans
250260e18e modules: avoid double close when loop_add_io fails 2026-05-15 13:38:32 +02:00
Wim Taymans
894e97aaa5 modules: avoid double fd close
Now that loop_add_io, avoid double free on failures. Try to use
spa_autoclose and spa_steal_fd to make the error paths easier.
2026-05-15 13:34:48 +02:00
Wim Taymans
4f975d0071 treewide: add error checking to spa_json_builder_close
There could have been a write error or allocation error while building
the json file that we can detect in spa_json_builder_close().

Error out instead of silently using a truncated JSON.

Use spa_autofree for the memory to make cleanup easier.
2026-05-13 18:14:44 +02:00
Wim Taymans
08d4e319cf avb: fix stack overflow in MRP parsing
AVB_MRP_VECTOR_GET_NUM_VALUES can be 13 bits and is stored in a
unit16_t. event_len and param_len are however calculated from this and
then truncated to 8 bits (uint8_t) which causes the bounds check to
silently pass and cause an OOB read.

Change the type to uint16_t to avoid overflows.
2026-05-08 18:13:12 +02:00
Wim Taymans
8907d0860b modules: loop_add_io with close=true owns the fd
We should not close the fd when loop_add_io with close=true fails
because the fd is already closed.
2026-05-06 11:57:51 +02:00
Barnabás Pőcze
ccfb61efa4 treewide: make more file descriptors cloexec
Avoid file descriptor leakage into child processes by marking them `O_CLOEXEC`.
2026-05-04 19:48:41 +02:00
Wim Taymans
7dacdc8cc8 avb: bounds check the attribute encoding
Add a maxsize to the attribute encode functions and add checks that
they don't overwrite the provided buffer.
2026-05-04 10:47:52 +02:00
Wim Taymans
17723bc00d avb: fix MAAP packet send
Actually send the ehaternet header data as well. The send was skipping
the ehternet header and reading past the packet end.
2026-05-04 10:21:41 +02:00
Wim Taymans
be6bfba8eb avb: check some allocation errors 2026-05-04 09:56:18 +02:00
Wim Taymans
32bb568225 avb: make sure to no blindly use the type as a command index 2026-05-04 09:55:35 +02:00
Wim Taymans
172f969650 avb: check packet sizes
Clamp packet len to the buffer size.

Reject packets with invalid data_len.
2026-05-04 09:53:33 +02:00
hackerman-kl
7a826b1580 milan-avb: gptp: track request timing on CLOCK_MONOTONIC 2026-05-03 10:26:16 +02:00
hackerman-kl
4da6e39281 milan-avb: gptp: handle MANAGEMENT_ERROR_STATUS TLV as stale-data signal 2026-05-03 10:26:16 +02:00
hackerman-kl
09b3f0dc34 milan-avb: gptp: invalidate cached state when ptp4l stops responding 2026-05-03 10:26:16 +02:00
hackerman-kl
97436efe1e milan-avb: cmd-get-as-path: build [gm,...,local] and emit unsolicited GET_AS_PATH 2026-05-03 10:26:16 +02:00
hackerman-kl
ff3367dc05 milan-avb: aecp-aem: emit unsolicited GET_AVB_INFO when gPTP changes 2026-05-03 10:26:16 +02:00
hackerman-kl
e02a4854de milan-avb: gptp: query PATH_TRACE_LIST and store Announce path trace 2026-05-03 10:26:16 +02:00
hackerman-kl
55bb0b6a6a milan-avb: gptp: query CURRENT_DATA_SET for canonical is_grandmaster check 2026-05-03 10:26:16 +02:00
hackerman-kl
c877ea4243 milan-avb: gptp: rate-limit management requests to 375 ms 2026-05-03 10:26:16 +02:00
hackerman-kl
fc08d2444a milan-avb: gptp: send PTP management with majorSdoId=1 for gPTP profile 2026-05-03 10:26:16 +02:00
hackerman-kl
1b81dbab85 milan-avb: adding the ptp4l command line information 2026-05-03 10:26:16 +02:00
hackerman-kl
4b44c15768 milan-avb; introducing gptp/as_path interface specific dirty flags 2026-05-03 10:26:16 +02:00
hackerman-kl
21dd14618c milan-avb: update banner 2026-05-03 10:26:16 +02:00
hackerman-kl
46f9c5130e milan-avb: cmd-get-as-path: build path from gptp data 2026-05-03 10:26:16 +02:00
hackerman-kl
9f019a061d milan-avb: aecp-aem: source GET_AVB_INFO grandmaster from gptp 2026-05-03 10:26:16 +02:00
hackerman-kl
e9a1e50996 milan-avb: adp: refresh grandmaster_id from gptp on each advertise 2026-05-03 10:26:16 +02:00
hackerman-kl
231b0950c5 milan-avb: descriptors: derive AVB_INTERFACE clock_identity from entity_id 2026-05-03 10:26:16 +02:00
hackerman-kl
3f63b51fcc milan-avb: gptp: rework management I/O as non-blocking with sequence-id matching 2026-05-03 10:26:16 +02:00
hackerman-kl
0da747fd44 milan-avb: gptp: do not fail server creation on missing PTP socket 2026-05-03 10:26:16 +02:00
hackerman-kl
0b09fb2b1e milan-avb: gptp: initialise ret in the drain loop 2026-05-03 10:26:16 +02:00
hackerman-kl
21c4c59587 milan-avb: gptp: use entity_id for management source port id 2026-05-03 10:26:16 +02:00
hackerman-kl
1e9f89b638 milan-avb: gptp: emit gm_changed only when the GM actually changes 2026-05-03 10:26:16 +02:00
hackerman-kl
f5389a4225 milan-avb: gptp: drop unused avb_gptp_destroy wrapper 2026-05-03 10:26:16 +02:00
hackerman-kl
8c9e5f1974 milan-avb: gptp: use PTP_DEFAULT_LOG_MESSAGE_INTERVAL macro 2026-05-03 10:26:16 +02:00
hackerman-kl
e83bbfacf1 milan-avb: gptp: drop %m from incomplete request/response warnings 2026-05-03 10:26:16 +02:00
hackerman-kl
d5e4f11be7 milan-avb: gptp: fix log message for SO_PASSCRED setsockopt failure 2026-05-03 10:26:16 +02:00
hackerman-kl
51a997294e milan-avb: gptp: drop unused struct fields 2026-05-03 10:26:16 +02:00
hackerman-kl
7f687cae77 milan-avb: gptp: drop unused includes 2026-05-03 10:26:16 +02:00
hackerman-kl
b197ae79c5 milan-avb: gptp: align code style with the rest of module-avb 2026-05-03 10:26:16 +02:00
Nils Tonnaett
0345623e97 module-avb: remove redundant init_descriptors() call 2026-05-03 10:26:16 +02:00
Nils Tonnaett
37efd5c5f9 module-avb: emit gm_changed event 2026-05-03 10:26:16 +02:00
Nils Tonnaett
5fd9c1eaff module-avb: fail if ptp management socket can't be created 2026-05-03 10:26:16 +02:00
Nils Tonnaett
bf6fae7df9 module-avb: fail if ptp.management-socket not set 2026-05-03 10:26:16 +02:00
Nils Tonnaett
f4c26cd3ed module-avb: check that ptp management request is complete 2026-05-03 10:26:16 +02:00
Nils Tonnaett
f360af0889 module-avb: check return value of read when clearing ptp_fd input buffer 2026-05-03 09:49:22 +02:00
Nils Tonnaett
c8f2edd94e module-avb: check ioctl for success 2026-05-03 09:49:22 +02:00