1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

2626 Commits

Author SHA1 Message Date
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
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
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
Vjorald
d4fb64cfbc cord/doc: Update references to RFC 9176 2024-10-18 23:52:35 +02:00
benpicco
bada659375
Merge pull request #20918 from maribu/sys/net/nanocoap/coap_pkt_set_code
sys/nanocoap: add coap_pkt_set_code()
2024-10-17 16:02:19 +00:00
Marian Buschsieweke
f16875b6ec
sys/nanocoap: add coap_pkt_set_code()
This adds a small convenience function to set the CoAP code of a packet
and converts users of coap_hdr_set_code() where applicable.
2024-10-17 14:56:54 +02:00
Marian Buschsieweke
835571c0a7
sys/net/nanocoap: fix UB when building hdr
Some calls to `coap_build_hdr()` were done with the target buffer for
the header and the source buffer for the token overlapping:
They reuse the buffer that held the request to assemble the response in.
We cannot use `memcpy()` in this case to copy the token into the target
buffer, as source and destination would (fully) overlap.

This commit makes reusing the request buffer for the response a special
case: `memcpy()` is only used to copy the token if source and
destination address of the token differ.

An alternative fix would have been to use `memmove()` unconditionally.
But `memmove()` does not make any assumption about the layout of target
and source buffer, while we know that the token either will already be
at the right position (when reusing the request buffer for the response)
or be in a non-overlapping buffer (when generating a fresh token). This
approach is more efficient than `memmove()`.
2024-10-17 14:02:06 +02:00
benpicco
3706589959
Merge pull request #20834 from derMihai/mir/nib/drop_for_unreachable_rebase
gnrc/ipv6/nib: don't queue packets on 6lo neighbors and drop/flush if…
2024-10-16 09:16:40 +00:00
Mihai Renea
3a5612ee57 gnrc/ipv6/nib: don't queue packets on 6lo neighbors and drop/flush if UNREACHABLE 2024-10-16 09:01:36 +02:00
benpicco
5c06502c4d
Merge pull request #20835 from xnumad/nib-route-hide-on-link-prefixes
gnrc/ipv6: `nib route`: hide off-link PLEs
2024-09-24 15:42:48 +00:00
Fabian Hüßler
02e513e04b sys/include/net: better documentation of nanocoap_sock_request_cb 2024-09-10 16:44:19 +02:00
Fabian Hüßler
95b46ee2a5 sys/net/application_layer/nanocoap: add nanocoap_sock_get_non 2024-09-10 16:43:44 +02:00
xnumad
48a2417892 gnrc/ipv6: nib route: hide off-link PLEs 2024-08-26 16:30:58 +02:00
benpicco
1626919da7
Merge pull request #20684 from fabian18/pr/fix_gcoap_observe_response_correlation
sys/net/application_layer/gcoap: fix Observe notifications correlation
2024-08-26 14:11:59 +00:00
Daniel Lockau
7240d37fc2 nib.c: allow selection of interfaces for static link local addresses 2024-08-26 08:31:21 +02:00
Fabian Hüßler
a181c7b543 sys/gcoap: add public function to find a resource by path 2024-08-21 17:49:48 +02:00
Fabian Hüßler
c1535d25ba nanocoap: constify coap_match_path() API 2024-08-21 17:49:48 +02:00
Fabian Hüßler
08f6ec49c4 gcoap: lock CoAP state mutex in observe API 2024-08-21 17:49:48 +02:00
Fabian Hüßler
a2a7f41a59 gcoap: send Observe notifications from request address 2024-08-21 17:34:18 +02:00
Benjamin Valentin
2aaaf6df9e net/gcoap: fix guards around defines 2024-07-29 19:04:15 +02:00
Martine Lenders
53d853342f
doc: fix links to GNRC master thesis 2024-07-15 11:25:30 +02:00
benpicco
4ba7c46e4d
Merge pull request #20711 from fabian18/pr/gcoap_aux_local_in_req_send
gcoap: propagate local tx aux to gcoap_req_send() and in _handler_req()
2024-07-05 12:07:38 +00:00
Fabian Hüßler
c12375eec4 gcoap/forward_proxy: reply from request destination address 2024-05-31 12:04:48 +02:00
Fabian Hüßler
f4b1306460 gcoap: pass aux local to _handle_req() 2024-05-31 12:04:48 +02:00
Fabian Hüßler
40fb250ae4 treewide: adapt to gcoap_req_send aux local API change 2024-05-31 12:04:48 +02:00
benpicco
251ea7f75a
Merge pull request #20687 from benpicco/nanocoap_fs
nanocoap_fs: add nanoCoAP as VFS backend (remote CoAP fs)
2024-05-29 15:00:24 +00:00
Fabian Hüßler
3973e4bb9d gcoap: add aux local to gcoap_req_send 2024-05-29 16:37:13 +02:00
Benjamin Valentin
a87687c14e nanocoap_fs: add nanoCoAP as VFS backend 2024-05-29 11:32:22 +02:00
Benjamin Valentin
994211d955 nanocoap_sock: add nanocoap_sock_get_block() 2024-05-28 11:42:32 +02:00
benpicco
e62c25a015
Merge pull request #20690 from benpicco/nanocoap_get_blockwise_to_buf
nanocoap_sock: add nanocoap_get_blockwise_to_buf()
2024-05-27 16:53:44 +00:00
Benjamin Valentin
c5cfecb311 nanocoap_sock: add nanocoap_get_blockwise_to_buf() 2024-05-23 16:11:52 +02:00
Benjamin Valentin
75641fb4b1 sys/include/net/sock: move config to separate header 2024-05-22 18:53:37 +02:00
benpicco
3f41494e59
Merge pull request #20266 from benpicco/nanocoap_reply_separate
nanocoap_sock: implement separate response
2024-05-21 17:45:22 +00:00
Benjamin Valentin
7e69c13630 nanocoap_sock: implement nanocoap_sock_send_separate() 2024-05-21 19:27:57 +02:00
Benjamin Valentin
330a6cfb91 nanocoap_sock: add local information to coap_request_ctx_t 2024-05-21 19:27:57 +02:00
Benjamin Valentin
c280076594 nanocoap: add coap_build_empty_ack() 2024-05-21 19:27:57 +02:00
Benjamin Valentin
879d312960 nanocoap: make token const in coap_build_hdr() 2024-05-21 19:25:55 +02:00
Martine Lenders
9b11ecab25
netopt: mark l2filter options as experimental 2024-04-29 11:49:33 +02:00
Martine Lenders
ead2785463
l2filter: mark module as experimental 2024-04-29 11:49:33 +02:00
benpicco
9761456363
Merge pull request #20564 from benpicco/go-coap_workaround
gnrc, nanocoap: add optional work-arounds for buggy CoAP servers
2024-04-24 13:46:41 +00:00
Emmanuel Ferdman
4394c36cee
gcoap: update the example reference 2024-04-11 12:28:07 +03:00
Benjamin Valentin
13fd806f4f nanocoap_sock: add option to include token for block-wise 2024-04-10 12:36:53 +02:00
Martine Lenders
819a4a175c
Merge pull request #20518 from miri64/gcoap/bug/quality-defects
gcoap: fix code quality defects
2024-03-28 09:14:14 +00:00
Martine S. Lenders
c05474cdea
gcoap: fix function indentation after change of static inline 2024-03-28 09:25:27 +01:00
Martine S. Lenders
a6d5500a88
gcoap: fix reference for gcoap_socket_type_t 2024-03-28 09:24:57 +01:00
Martine Lenders
549f215701
gnrc_nettype: deprecate GNRC_NETTYPE_LORAWAN 2024-03-28 09:19:35 +01:00
Martine Lenders
5c75f84d6e
gnrc_netif: remove deprecated CONFIG_GNRC_NETIF_LORAWAN_NETIF_HDR 2024-03-28 09:19:33 +01:00
Martine Lenders
a2e3ca07cb
Merge pull request #20514 from miri64/gcoap/cleanup/gcoap_req_send_aliasing
gcoap: make gcoap_req_send_tl() an alias of gcoap_req_send()
2024-03-27 17:00:50 +00:00
Martine Lenders
27308585c3
gcoap: make gcoap_req_send_tl() an alias of gcoap_req_send()
As per the deprecation notice from July 2021 ;-).
2024-03-27 12:21:57 +01:00
Martine Lenders
653417d895
gnrc_gomach: deprecate module 2024-03-27 11:07:31 +01:00