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

636 Commits

Author SHA1 Message Date
Benjamin Valentin
0a453ae679 sys/net/dhcpv6: let dhcpv6_client_req_ia_pd() return error 2023-02-01 23:25:22 +01:00
Benjamin Valentin
54fe031705 sys/net/dhcpv6: add IA Prefix Option in SOLICIT
Add the IA Prefix Option when soliciting a prefix so we can tell the
server what prefix length we want.
2023-02-01 23:25:22 +01:00
Benjamin Valentin
d041a5fb1a nanocoap_sock: store message ID in nanocoap_sock_t 2023-01-20 01:50:10 +01:00
bors[bot]
d6f44f6206
Merge #18414
18414: gcoap/fileserver: add event callbacks r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-01-16 22:23:46 +00:00
Benjamin Valentin
47295cc929 gcoap/fileserver: add event callbacks 2023-01-16 10:25:00 +01:00
bors[bot]
fb603f2660
Merge #18459 #18724 #19081 #19082 #19136
18459: makefiles/suit: make it possible to accept multiple SUIT keys r=miri64 a=benpicco



18724: nanocoap_sock: implement DTLS socket r=miri64 a=benpicco



19081: sys/stdio_udp: add stdio over UDP r=benpicco a=benpicco



19082: core/init: add early_init() r=benpicco a=benpicco



19136: CI: re-add "synchronize" event to check-labels r=miri64 a=kaspar030



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2023-01-13 13:50:55 +00:00
Benjamin Valentin
81625fd5f2 doc: sort all stdio implementations into sys_stdio group 2023-01-13 11:08:22 +01:00
Benjamin Valentin
d660e3ebbd nanocoap_sock: implement DTLS socket 2023-01-13 00:17:32 +01:00
Benjamin Valentin
ad5b27df8e nanocoap_sock: make nanocoap_sock_t a proper struct 2023-01-13 00:08:55 +01:00
bors[bot]
53176f7b9e
Merge #18134 #18738 #18939 #19118
18134: nanocoap_link_format: add helper function to parse Link Format r=kaspar030 a=benpicco



18738: nanocoap_sock: implement nanocoap_sock_delete() r=maribu a=benpicco



18939: gnrc_ipv6_nib: clean up _resolve_addr() r=maribu a=benpicco



19118: sys/ztimer: ztimer_mock: guard ztimer_ondemand static functions r=kaspar030 a=kaspar030



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2023-01-10 11:25:32 +00:00
Benjamin Valentin
59f067171f core/init: call vfs_bind_stdio() in early_init() 2023-01-08 22:26:13 +01:00
bors[bot]
6cf2116ae8
Merge #18773
18773: nanocoap_sock: fix handling empty ACKs with separate response r=maribu a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-01-06 01:07:57 +00:00
Benjamin Valentin
7b7c63b638 nanocoap_link_format: add helper function to parse link format 2022-12-11 23:39:47 +01:00
benpicco
e6284ec244
Merge pull request #18816 from benpicco/nanocoap_handle_req-ctx
nanocoap: add request context to coap_handle_req()
2022-11-23 20:36:50 +01:00
Benjamin Valentin
8a11ca2f87 nanocoap: don't hide coap_request_ctx_t content 2022-11-22 10:41:32 +01:00
benpicco
f8964c0149
Merge pull request #18827 from benpicco/nanocoap_block-fix
nanocoap_sock: don't store entire sock in coap_block_request_t
2022-11-08 10:49:39 +01:00
Benjamin Valentin
bd8b6e454d nanocoap_sock: send ACK with empty code instead of 2.03 2022-11-03 23:33:57 +01:00
Benjamin Valentin
084f0287a3 nanocoap_sock: support handling empty ACKs with separate response 2022-11-03 23:26:51 +01:00
Benjamin Valentin
63c9dde3a4 nanocoap_sock: don't store entire sock in coap_block_request_t 2022-11-01 00:17:11 +01:00
Benjamin Valentin
3877a92ca4 nanocoap_vfs: don't close socket in nanocoap_vfs_put() 2022-10-31 23:51:08 +01:00
Benjamin Valentin
782910ade4 nanocoap_sock: only re-transmit CON messages
If a NON confirmable message is sent with a callback function,
not receiving a response in time would lead to a retransmission.

This is of course an error, as only CON messages are to be retransmitted.
2022-10-31 17:18:19 +01:00
Benjamin Valentin
55e13a9d61 nanocoap: add coap_request_ctx_init() 2022-10-28 15:24:23 +02:00
Benjamin Valentin
c6f9654461 nanocoap: request context to coap_handle_req() 2022-10-28 14:21:52 +02:00
Martine Lenders
d759d2d18b
Merge pull request #18772 from namib-project/accept-helper
sys/net/nanocoap: introduce Accept option helper
2022-10-20 04:13:33 +02:00
Jan Romann
d916b33bc6 sys/net/nanocoap: introduce Accept option helper 2022-10-19 16:44:13 +02:00
Hendrik van Essen
226dce01bf examples/gcoap: add IPv4 support 2022-10-18 10:59:43 +02:00
benpicco
72d16e152a
Merge pull request #17983 from kfessel/p-remove-coap_pkt-token
net/nanocoap: remove coap_pkt token ptr
2022-10-16 04:21:47 +02:00
benpicco
4d0c533260
Merge pull request #18154 from benpicco/nanocoap_no-response
nanocoap: add support for no-response option
2022-10-15 21:16:00 +02:00
Leandro Lanzieri
70acefaa55
Merge pull request #18386 from miri64/gcoap_forward_proxy/enh/empty-ack
gcoap_forward_proxy: send empty ACK when response takes too long
2022-10-14 11:23:48 +02:00
Benjamin Valentin
1cfcb307f2 nanocoap_sock: add nanocoap_sock_{put, post}_non() 2022-10-13 19:04:09 +02:00
Benjamin Valentin
56f36c09a0 nanocoap: add support for no-response option
See https://datatracker.ietf.org/doc/rfc7967/
2022-10-13 19:04:09 +02:00
Benjamin Valentin
c656df9c3a nanocoap_sock: implement nanocoap_sock_delete() 2022-10-13 18:56:28 +02:00
Martine Lenders
63c4fe5770
gcoap: fix "line is longer than 100 characters" pointed out by Vera++ 2022-10-12 17:33:55 +02:00
chrysn
798dedd4d1
gcoap_forward_proxy: send empty ACK when response takes too long
Co-Authored-By: Martine S. Lenders <m.lenders@fu-berlin.de>
Signed-off-by: Martine Lenders <m.lenders@fu-berlin.de>
2022-10-12 17:33:55 +02:00
Benjamin Valentin
be1c46ef27 gcoap_fileserver: don't abort on duplicate packet 2022-10-12 00:45:28 +02:00
benpicco
4493afb582
Merge pull request #18639 from benpicco/nanocoap_sock_put_url
sys/shell: ncput: add option to read from stdin
2022-10-06 12:05:39 +02:00
Karl Fessel
14096a935f sys/net: cleanup coap_pkt_t.token uses 2022-10-06 00:20:10 +02:00
3ee3d1b9ac
Merge pull request #18562 from MrKevinWeiss/pr/removemips
cpu/mips: Remove all mips
2022-09-30 10:47:09 +02:00
Martine Lenders
b9d7028a8f
coap: provide definition for version field value 2022-09-29 11:26:03 +02:00
benpicco
e9b5bd712c
Merge pull request #18651 from benpicco/gcoap-footgun
gcoap: accept resources in any order
2022-09-28 10:48:51 +02:00
Martine Lenders
b297b2bd14
Merge pull request #18471 from miri64/gcoap_forward_proxy/fix/copy-max_age
gcoap_forward_proxy: copy Max-Age from forwarded Valid if it exists
2022-09-28 04:36:16 +02:00
MrKevinWeiss
6cad5d2477
cpu/mips: Remove all mips 2022-09-27 13:42:37 +02:00
Benjamin Valentin
a37b283ebe nanocoap: coap_tree_handler(): accept resources in any order 2022-09-26 20:32:30 +02:00
Benjamin Valentin
da1f161c3c gcoap: accept resources in any order 2022-09-26 20:20:14 +02:00
Benjamin Valentin
42a8a587c4 nanocoap_sock: add nanocoap_sock_{put, post}_url() 2022-09-23 19:47:02 +02:00
Sören Tempel
498e531e2f dhcpv6: don't treat zero option as an end-of-payload marker
As far as I can tell, no DHCPv6 RFC specifies this option. The handling
for the zero option was added in #17736 by @benpicco to fix issues
encountered while trying to retrieve a DHCHPv6 lease. However, I
strongly suspect that the zero option was encountered in this case due
to an out-of-bounds read performed in RIOT's DHCPv6 client
implementation (i.e. the option parsing loop read beyond the packet
bounds). This issue was fixed in #18307 and I strongly suspect that it
should also fix the issue @benpicco originally encountered in #17736. As
such, I propose that we remove the if statement which treats the zero
option as an end-of-payload marker.

Fixes #18309
2022-09-22 20:08:00 +02:00
Martine Lenders
ff648985c0
Merge pull request #18443 from miri64/gcoap_dns/enh/implement-max_age-ttl-algorithm
gcoap_dns: implement Max-Age-based TTL calculation
2022-09-19 16:03:46 +02:00
Martine Lenders
d5e63a5e46
Merge pull request #18096 from Teufelchen1/feat/port_parsing
sys/uri_parser: Adding the port as uint16_t
2022-09-19 13:40:53 +02:00
benpicco
b5bf5da38d
Merge pull request #18444 from kfessel/p-fix-doc-grp
doc: fix unbalaced grouping
2022-09-14 22:19:28 +02:00
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00
Benjamin Valentin
b6fac2b2c7 nanocoap_sock: consitfy remote 2022-09-14 10:29:57 +02:00
benpicco
b117171fcf
Merge pull request #18519 from benpicco/coap_request_ctx_get_remote
gcoap: add remote sock_udp_ep_t to coap_request_ctx_t
2022-09-12 20:30:19 +02:00
Benjamin Valentin
02aeab750a gcoap_forward_proxy: const arg to gcoap_forward_proxy_request_process() 2022-09-12 17:52:54 +02:00
Benjamin Valentin
1552267d19 gcoap: drop duplicate context field from coap_request_ctx_t 2022-09-12 17:51:26 +02:00
Benjamin Valentin
f068fbccb6 gcoap_forward_proxy: make use of coap_request_ctx_get_remote_udp() 2022-09-12 17:51:26 +02:00
Benjamin Valentin
2376343547 gcoap: add remote sock_udp_ep_t to coap_request_ctx_t 2022-09-12 17:51:26 +02:00
Teufelchen1
df8fe4476d sys/uri_parser: Adding the port as uint16 2022-09-08 11:32:49 +02:00
Benjamin Valentin
37dceb6c80 nanocoap_sock: use correct error code in nanocoap_get_blockwise_url_to_buf()
It should return -ENOBUFS like the other nanocoap_…() functions, not -1
2022-09-05 07:40:59 +02:00
benpicco
0e2eb919a4
Merge pull request #18536 from fabian18/bugfix_gcoap_fileserver_recursive_delete
gcoap_fileserver: bugfix recursive delete
2022-08-31 08:35:27 +02:00
Fabian Hüßler
43caeb8cb5 gcoap_fileserver: bugfix add missing return 2022-08-30 17:47:51 +02:00
Benjamin Valentin
514f039c30 nanocoap_sock: add nanocoap_sock_{put, post}() 2022-08-25 17:52:43 +02:00
Martine Lenders
f15fbb3c15
Merge pull request #18441 from miri64/dns_cache/fix/ttl0
dns_cache: handle TTL=0 properly
2022-08-23 02:58:13 +02:00
Martine Lenders
1135cc0f7e
gcoap: fix swap-out of option length for ETag 2022-08-18 14:38:37 +02:00
Martine Lenders
9bc0454d99
gcoap_forward_proxy: copy Max-Age from forwarded Valid if it exists 2022-08-18 12:19:31 +02:00
benpicco
0713e0d9a1
Merge pull request #18313 from benpicco/coap_request_ctx_get_tl_type
gcoap: move tl_type to coap_request_ctx_t
2022-08-17 16:51:50 +02:00
Martine Lenders
6f18132e98
gcoap_dns: implement Max-Age-based TTL calculation 2022-08-11 15:00:19 +02:00
Martine Lenders
883c3fdffa
dns_cache: handle TTL=0 properly
Existing entries should be expired, new entries should not be created.
2022-08-11 14:04:16 +02:00
benpicco
a93ba1ef80
Merge pull request #18434 from nmeum/pr/asymcute-ack-typecheck
asymcute: Compare request message type when matching acknowledgement
2022-08-11 12:10:04 +02:00
Martine Lenders
60bd3ca07a
Merge pull request #18429 from miri64/gcoap/fix/empty-ack
gcoap: fixes around empty ACKs
2022-08-10 23:05:53 +02:00
Martine S. Lenders
f11c9e837d
gcoap: expire memo and stop retransmissions on RESET reception 2022-08-10 16:09:43 +02:00
Martine S. Lenders
b616c17e46
gcoap: expire memo if there is nothing to wait for 2022-08-10 16:09:43 +02:00
chrysn
9ca149f30c
Merge pull request #17978 from chrysn-pull-requests/gcoap-match-response-from-multicast
gcoap: Forego IP address comparison in memo finding of multicasts
2022-08-10 15:19:11 +02:00
Sören Tempel
06d572c2fc asymcute: fix one byte out-of-bounds access in _len_get
As per Section 5.2.1 of the MQTT-SN specification, the MQTT-SN length
header is either 1- or 3-octet long. If it is 3-octet long then the
first octet is 0x01. The asymcute implementation currently only checks
that the incoming packet is at least 2-octet long before attempting to
parse it (MIN_PKT_LEN). However, if the first octet is 0x01 the packet
must be more than 3 octet long in order to be valid. Since asymcute
does not check this it reads one octet beyond the packet data for a
2-octet packet where the first octet has the value 0x01. This commit
fixes this issue by adding an additional sanity check to _len_get.
2022-08-10 05:41:10 +02:00
Sören Tempel
fb660dbec6 asymcute: Compare request message type when matching acknowledgement
Currently, asymcute only matches an MQTT-SN request to its
acknowledgement using the MsgId header. However, I strongly believe
this to be insufficient as asymcute would thus also match a SUBACK
to a prior PUBLISH message (for example) as long as the message ID
matches. To address this issue, this commit modifies _req_preprocess
to also compare the request message type in addition to the message id.
2022-08-10 00:49:37 +02:00
chrysn
ab6bec6f0e gcoap: Forego IP address comparison in memo finding of multicasts
Co-Authored-By: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2022-08-09 19:09:39 +02:00
Martine S. Lenders
2cd785791d
gcoap: send empty RST on unknown CON response 2022-08-09 17:09:50 +02:00
Benjamin Valentin
199e31ef43 gcoap/fileserver: ignore URI HOST option 2022-08-04 12:04:59 +02:00
Fabian Hüßler
9333970b77 gcoap/fileserver: make PUT and DELETE pseudomodules 2022-08-03 22:10:30 +02:00
Fabian Hüßler
f357d99396 gcoap/fileserver: recursive directory deletion as default 2022-08-03 22:10:30 +02:00
Fabian Hüßler
688acff5bc gcoap/fileserver: implement PUT/POST/DELETE functionality 2022-08-03 22:09:21 +02:00
Martine Lenders
8ad68dbb21
Merge pull request #16861 from miri64/sock_dodtls/feat/initial
sock_dodtls: Initial import of a DNS over DTLS client
2022-07-27 13:17:23 +02:00
Martine Lenders
1b6c9a8334
sock_dodtls: provide getters for sock and session
To be able to implement the DNS message exchange outside the module.
2022-07-27 00:46:43 +02:00
Martine Lenders
96b1d9c59e
tests/gnrc_sock_dodtls: provide DNS over DTLS test application 2022-07-27 00:46:43 +02:00
Martine Lenders
f575292e20
sock_dodtls: Initial import of a DNS over DTLS client 2022-07-26 19:37:12 +02:00
Martine Lenders
875411fd3a
gcoap_dns: fix block-wise transfer 2022-07-25 20:17:00 +02:00
Martine Lenders
349a89c9fa
gcoap_dns: replace printfs with DEBUG 2022-07-25 19:51:47 +02:00
Martine Lenders
2e5a66e7d2
gcoap_dns: Add DNS cache support 2022-07-20 10:45:08 +02:00
Martine Lenders
fe4deff522
dns_cache: synchronize access with mutex 2022-07-20 06:30:14 +02:00
Martine Lenders
8bec9c1115
sock_dns_cache: move to dns_cache
Also piggy-back some fixes to the unittests and submodule handling
2022-07-18 15:27:58 +02:00
Martine Lenders
1761726024
net/dns: provide Kconfig 2022-07-18 11:43:35 +02:00
Benjamin Valentin
d7bb42296a gcoap: move tl_type to coap_request_ctx_t 2022-07-17 18:05:07 +02:00
Benjamin Valentin
3806f7d532 nanocoap: make coap_request_ctx_t members internal 2022-07-17 14:32:16 +02:00
Benjamin Valentin
e8829d5591 gcoap_fileserver: make use of coap_request_ctx_t 2022-07-17 14:32:16 +02:00
Benjamin Valentin
a6c617a221 gcoap: make use of coap_request_ctx_t 2022-07-17 14:29:39 +02:00
Benjamin Valentin
acfab72296 nanocoap: make use of coap_request_ctx_t 2022-07-17 14:29:39 +02:00
Benjamin Valentin
d09d29a581 tests/unittests: add tests sock_dns_cache 2022-07-15 00:03:49 +02:00
Benjamin Valentin
077a41a719 sock_dns: implement DNS cache 2022-07-13 23:23:52 +02:00
Martine Lenders
a8254d52b8
Merge pull request #16705 from miri64/gcoap_dns/feat/initial
gcoap_dns: initial import of a DNS over CoAP (DoC) client
2022-07-13 02:27:17 +02:00
Sören Tempel
f073dcdb3d gnrc_dhcpv6_client: Fix out-of-bounds access during option parsing
The _parse_reply function iterates over the DHCPv6 message options
twice but only performs sanity checks on the option length in the
first iteration. As such, both loop iterations need to be identical.
Unfortunately, there aren't without this commit as (1) they use
different maximum length values and (2) the first iteration stops
parsing as soon as it encounters a zero option while the second
doesn't. As such, it is possible for out-of-bounds read to be
performed by the second loop iteration. This commit fixes this.
2022-07-11 22:55:33 +02:00
Martine Lenders
107a2a0753
gcoap_dns: initial import of a DNS over CoAP client 2022-07-01 18:44:02 +02:00