1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

11269 Commits

Author SHA1 Message Date
mguetschow
a9108a40dd
Merge pull request #20958 from maribu/sys/shell/xfa-reduce-overhead
sys/shell: reduce overhead of XFA shell commands
2024-11-22 14:03:57 +00:00
Marian Buschsieweke
a7e251509d
sys/shell: reduce overhead of XFA shell commands
We do not need to add an array of pointers to the shell commands, just
an array of shell commands is sufficient. This reduced the overhead of
XFA by `sizeof(void *)` per command.
2024-11-22 11:14:34 +01:00
Marian Buschsieweke
2be92b5e55
rust: bump rust-riot-wrappers 2024-11-22 11:14:34 +01:00
Benjamin Valentin
8cd85472c5 usbus/cdc_ecm: port to netdev_new_api 2024-11-21 19:14:16 +01:00
benpicco
2bce94a7c7
Merge pull request #21012 from benpicco/netdev_new_api-relax
netdev_new_api: allow `.send()` to return > 0 to signal synchronos send
2024-11-20 22:28:26 +00:00
Benjamin Valentin
a86411b81e drivers/netdev: allow .send() to return > 0 to signal synchronos send 2024-11-20 16:40:36 +01:00
Benjamin Valentin
83f5b261a8 sys/net/gnrc_pktbuf: detect use after free if canary is in metadata 2024-11-19 15:23:03 +01:00
Benjamin Valentin
ea1670ab0f sys/net/gnrc_pktbuf: move CANARY to header file 2024-11-19 15:23:03 +01:00
Benjamin Valentin
278e8f53b7 sys/net/gnrc_pktbuf: fail assertion if illegal memory was freed 2024-11-19 15:23:03 +01:00
benpicco
aee4c1ef9c
Merge pull request #20984 from benpicco/gnrc_pktsnip_t-shrink
sys/net/gnrc/pkt: use `uint8_t` for user count
2024-11-17 17:29:16 +00:00
Marian Buschsieweke
51f969d655
Merge pull request #20993 from benpicco/netdev_new_api-enhance
gnrc_netif: netdev_new_api implies TX end irq, no need to check it
2024-11-17 08:45:19 +00:00
Marian Buschsieweke
2adb4042b3
Merge pull request #20974 from benpicco/gnrc_pktbuf_static-double-free
sys/net/gnrc_pktbuf_static: add double free detection
2024-11-16 09:03:42 +00:00
Marian Buschsieweke
fbf5c66f78
Merge pull request #20983 from benpicco/gnrc_netif_netdev_new_api-leak
gnrc_netif: fix packet leak with gnrc_netif_pktq & netdev_new_api
2024-11-15 22:46:54 +00:00
Benjamin Valentin
300a936e42 gnrc: add comment about gnrc_pktbuf_hold() use 2024-11-15 16:59:08 +01:00
Benjamin Valentin
e8b3b4d3e4 gnrc_pktbuf: assert that user count does not exceed 255 2024-11-15 16:41:42 +01:00
Benjamin Valentin
8e915babc1 sys/test_utils: hide legacy events behind netdev_legacy_api 2024-11-15 14:09:18 +01:00
Benjamin Valentin
db2f3bd3dd sys/net/gnrc/pkt: use uint8_t for user count
It's very unlikely that a pkt snip will have more than 255 users.
Use a uint8_t here to save 4 bytes per snip as this now fits into
the ununsed struct padding.
2024-11-14 18:48:55 +01:00
Benjamin Valentin
f82c41e96f gnrc_netif: netdev_new_api implies TX end irq, no need to check it 2024-11-14 17:11:58 +01:00
Benjamin Valentin
8eef1c1170 sys/net/gnrc/netif: don't release snip with netdev_new_api 2024-11-14 11:57:58 +01:00
benpicco
70aa1ec81f
Merge pull request #20986 from mguetschow/stdio-cdc-acm-miss
sys/usb_cdc_acm_stdio: only submit and flush for non-empty buffer
2024-11-14 06:13:32 +00:00
Mikolai Gütschow
67edd6c417
sys/usb_cdc_acm_stdio: only submit and flush for non-empty buffer 2024-11-13 20:08:34 +01:00
Benjamin Valentin
3e8c7d0861 sys/endian: fix build with picolibc 2024-11-13 16:01:34 +01:00
Benjamin Valentin
b9b8c4a68f gnrc_netif: fix packet leak with gnrc_netif_pktq & netdev_new_api 2024-11-13 13:40:13 +01:00
Marian Buschsieweke
2623762c16
Merge pull request #20977 from maribu/net/grnc/tcp/select-netif
sys/net/gnrc/tcp: fix gnrc_tcp_open() netif handling
2024-11-13 05:31:00 +00:00
Marian Buschsieweke
b9ba3ee0b2
Merge pull request #20964 from maribu/tests/rust_libs/improve-test-robustness
sys/shell: cmds_json builtin command
2024-11-13 05:30:13 +00:00
Marian Buschsieweke
e714707b14
sys/net/gnrc/tcp: fix gnrc_tcp_open() netif handling
gnrc_tcp_open() previously would eventually fail with a timeout without
sending any data when no netif was specified and a link-local target
address was used. This fixes the behavior:

- If there is only one netif, we just pick that
- If there are multiple netifs, fail directly with `-EINVAL` rather than
  sending out nothing and waiting for a timeout.

Co-authored-by: benpicco <benpicco@googlemail.com>
2024-11-12 15:44:41 +01:00
Marian Buschsieweke
f0a88dcf56
sys/shell: add help_json builtin command
This command does the same as `help`, but provides a machine readable
JSON rather than a human readable table. It is only provided when the
(pseudo-)module `shell_builtin_cmd_help_json` is used.
2024-11-11 22:05:04 +01:00
Benjamin Valentin
0bed0c6bfe gnrc_netif: fix double free with netdev_new_api & gnrc_netif_pktq 2024-11-11 20:30:30 +01:00
Benjamin Valentin
982af61c82 sys/net/gnrc_pktbuf_static: make hexdump optional 2024-11-11 15:17:40 +01:00
Benjamin Valentin
4bd273f009 sys/net/gnrc_pktbuf_static: add double free detection 2024-11-11 15:17:40 +01:00
Marian Buschsieweke
cec85cfc88
Merge pull request #20945 from maribu/sys/net/gcoap/replace-super-insane-hack-with-less-insane-hack
sys/net/gcoap: reduce insanity of hack
2024-11-08 20:03:37 +00:00
Marian Buschsieweke
2b6f65a08a
build_system/xfa: change API to fix alignment
This changes the API of xfa from

    XFA(array_name, prio) type element_name = INITIALIZER;

to

    XFA(type, array_name, prio) element_name = INITIALIZER;

this allows forcing natural alignment of the type, fixing failing tests
on `native64`.
2024-11-07 16:30:01 +01:00
Marian Buschsieweke
d10ab413a0
Merge pull request #20952 from benpicco/nanocoap-block_robust
nanocoap/sock: re-try if wrong block was received
2024-11-05 17:24:17 +00:00
Benjamin Valentin
9b25c033de nanocoap/sock: re-try if wrong block was received 2024-11-05 18:06:31 +01:00
Marian Buschsieweke
c70075b073
Merge pull request #20950 from maribu/sys/net/nanocoap/coap_get_response_hdr_len
sys/net/nanocoap: add and use coap_get_response_hdr_len()
2024-11-05 13:09:51 +00:00
Marian Buschsieweke
68beb52f14
sys/net/nanocoap: add and use coap_get_response_hdr_len()
Before, handlers writing blockwise transfer assumed that the response
header length will match the request header length. This is true for
UDP, but not for TCP: The CoAP over TCP header contains a Len field,
that gets extended for larger messages. Since the reply often is indeed
larger than the request, this is indeed often the case for CoAP over
TCP.

Note: Right now, no CoAP over TCP implementation is upstream. However,
      getting rid of incorrect assumptions now will make life easier
      later on.
2024-11-05 10:46:02 +01:00
Marian Buschsieweke
2c93dc9c3b
sys/net/nanocoap: fix coap_build_reply_header()
In case no payload is added, `coap_build_reply_header()` would return
`sizeof(coap_hdr_t) + token_length` regardless of the actual header
length returned by `coap_build_hdr()`. These can be different if
RFC 8974 extended tokens are enabled (module `nanocoap_token_ext`
used): If an extended token length field is used, its size is not
considered.

Co-authored-by: benpicco <benpicco@googlemail.com>
2024-11-04 21:18:07 +01:00
Marian Buschsieweke
765dc3a299
sys/net/gcoap: reduce insanity of hack
gcoap contains a hack where a `coap_pkt_t` is pulled out of thin air,
parts of the members are left uninitialized and a function is called on
that mostly uninitialized data while crossing fingers hard that the
result will be correct. (With the current implementation of the used
function this hack does actually work.)

Estimated level of insanity: 😱😱😱😱😱

This adds to insane functions to get the length of a token and the
length of a header of a CoAP packet while crossing fingers hard that
the packet is valid and that the functions do not overread.

Estimated level of insanity: 😱😱😱

The newly introduced insane functions are used to replace the old
insane hack, resulting in an estimated reduction of insanity of 😱😱.

Side note: This actually does fix a bug, as the old code did not take
           into account the length of the extended TKL field in case of
           RFC 8974 being used. But that is a bug in the abused API,
           and not in the caller abusing the API.
2024-11-01 16:32:59 +01:00
Marian Buschsieweke
469edf4827
sys/net/nanocoap: fix coap_get_total_hdr_len()
Before `coap_get_total_hdr_len()` did not take the extended TKL field
(RFC 8974) into account. This fixes the issue.
2024-11-01 13:58:34 +01:00
mguetschow
00e25adfe3
Merge pull request #20720 from netd-tud/chacha20-glue-code-implementation
sys/psa_crypto: one-shot Chacha20 support
2024-10-29 16:52:30 +00:00
benpicco
1fc9d1bb82
Merge pull request #20934 from LasseRosenow/pthread-attr-setstack
sys/posix/pthread: Add pthread_attr_getstack and pthread_attr_setstack
2024-10-29 16:17:51 +00:00
Lasse Rosenow
459b8dc6aa
sys/posix/pthread: Add pthread_attr_getstack and pthread_attr_setstack 2024-10-29 13:29:54 +00:00
Marian Buschsieweke
02e059546f
Merge pull request #20944 from maribu/sys/usbus/stable-ids
sys/usb: Use luid_base for stable USB serials
2024-10-29 09:10:31 +00:00
Marian Buschsieweke
6b80a1a61e
sys/usb: Use luid_base for stable USB serials
This is useful when having multiple instances of the same board
connected via USB CDC ACM and telling the TTYs apart.
2024-10-29 09:40:22 +01:00
Marian Buschsieweke
49c151e432
sys/luid: luid_custom() use fixed width int
This changes the type of the last parameter of `luid_custom()` to a
fixed width integer for consistent behavior among different
architectures.
2024-10-28 14:51:44 +01:00
Teufelchen
b376bec667
Merge pull request #20847 from benpicco/event_assert
sys/event: add assertion that event has a handler
2024-10-25 08:11:51 +00:00
Marian Buschsieweke
ba83fefe3b
Merge pull request #20936 from maribu/drivers/periph_gpio/gpio_read/bool
drivers/periph_gpio: let gpio_read() return bool
2024-10-24 20:43:55 +00:00
benpicco
ae36fa4b37
Merge pull request #20921 from Vjorald/cord-doc
sys/net/app/cord: update doc
2024-10-24 16:59:01 +00:00
mguetschow
fbde0209d1
Merge pull request #20933 from benpicco/sys/net/application_layer/gcoap-ipv4
gcoap: fix build with IPv4
2024-10-24 09:28:23 +00:00
Marian Buschsieweke
7d1313b3bf
treewide: update rust-riot-wrappers 2024-10-24 09:57:36 +02:00