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