Jose Alamos
91a299cb7d
drivers/mrf24j40: add support for IEEE 802.15.4 Radio HAL
2023-01-19 15:31:06 +01:00
Benjamin Valentin
f6c1ab35a3
gnrc_icmpv6_echo: implement gnrc_icmpv6_echo_{send, req_handle}()
2023-01-18 14:47:24 +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
bors[bot]
211db05401
Merge #18477 #19101 #19155
...
18477: gnrc_static: add static network configuration r=miri64 a=benpicco
19101: CI: update check-labels-action r=miri64 a=kaspar030
19155: Revert "sys/pm_layered: pm_(un)block add attribute optimize(3)" r=maribu a=Teufelchen1
Revert "sys/pm_layered: pm_(un)block add attribute optimize(3) -shortens hotpath"
This reverts commit 5447203921
.
### Contribution description
Compiling `examples/gnrc_networking_mac` using `TOOLCHAIN=llvm` yields the following error:
```
RIOT/sys/pm_layered/pm.c:77:16: error: unknown attribute 'optimize' ignored [-Werror,-Wunknown-attributes]
__attribute__((optimize(3)))
```
As indicated, this is because the attribute `optimize` is GCC only and not present in LLVM.
Compare the manpages of [GCC](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html ) and [LLVM](https://clang.llvm.org/docs/AttributeReference.html ).
### Testing procedure
Since this should only affect performance and not behavior, no special testing is needed. I am not aware of any tests in RIOT which could verify that assumption.
### Issues/PRs references
Introduced in #18846
There is another instance of this attribute being used in[ shell_lock.c](6fb340d654/sys/shell_lock/shell_lock.c (L80)
). Since the usage is security related, I omit it from this PR.
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
Co-authored-by: Teufelchen1 <bennet.blischke@haw-hamburg.de>
2023-01-16 14:03:15 +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]
385569c7bf
Merge #17810 #18348 #19120
...
17810: drivers/slipdev: implement sleep states r=benpicco a=benpicco
18348: sys/net/gnrc/pktbuf_static: make use of alignas() r=maribu a=maribu
### Contribution description
Since we are now using C11, we can make use of `alignas()` provided by `<stdalign.h>` to make the alignment code easier to read.
### Testing procedure
I didn't expect this to change binaries, but is safes 4 bytes. `elf_diff` shows that the compiler (at least GCC 11.3.0) was not able to detect that `gnrc_pktbuf_static_buf` was just an alias for `_pktbuf_buf`. That makes sense since it would be hard without LTO to rule out external writes to `gnrc_pktbuf_static_buf`, unless one would have added a `const` (to the pointer, not to the data the pointer points to).
The [output of `elf_diff`](https://mari-bu.de/pr_18348_gnrc_pktbuf_static_elf_diff.html ) looks otherwise quite unscary.
Also:
```
$ make BOARD=nucleo-f767zi -C tests/unittests/ tests-pktbuf flash test
make: Entering directory '/home/maribu/Repos/software/RIOT/tests/unittests'
Building application "tests_unittests" for "nucleo-f767zi" with MCU "stm32".
[...]
Welcome to pyterm!
Type '/exit' to exit.
READY
s
START
.............................................
OK (45 tests)
make: Leaving directory '/home/maribu/Repos/software/RIOT/tests/unittests'
```
### Issues/PRs references
None
19120: CI: seperate check-labels and check-commits workflows r=maribu a=kaspar030
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2023-01-10 15:44:57 +00: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
64a2fbcebd
gnrc_ipv6_nib: clean up _resolve_addr()
2023-01-09 14:04:47 +01:00
Benjamin Valentin
59f067171f
core/init: call vfs_bind_stdio() in early_init()
2023-01-08 22:26:13 +01:00
Marian Buschsieweke
86fdbd7054
core/lib: Add macros/utils.h header
...
The macros CONCAT(), MIN(), and MAX() are defined over and over again in
RIOT's code base. This de-duplicates the code by moving the macros to a
common place.
2023-01-07 09:47:44 +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
bors[bot]
2ea6a2af1e
Merge #19053
...
19053: net/ieee802154: make default ack request configurable r=jia200x a=jue89
Co-authored-by: Jue <me@jue.yt>
2022-12-15 10:15:31 +00:00
Jue
8f174bbef2
ieee802154_submac: migrate to ztimer
2022-12-14 16:41:27 +01:00
Jue
6ff38347b3
net/ieee802154: add option for default ack request
2022-12-14 16:29:01 +01:00
Benjamin Valentin
7b7c63b638
nanocoap_link_format: add helper function to parse link format
2022-12-11 23:39:47 +01:00
Benjamin Valentin
249901bc96
gnrc_static: add static network configuration
2022-12-11 23:34:09 +01:00
Benjamin Valentin
15c8ad2e8e
sys/net/ipv6: add ipv6_prefix_from_str()
2022-12-11 23:34:09 +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
Marian Buschsieweke
747ee9d56f
sys/net/grnc/netreg: avoid freeing wild pointers
...
When freeing any stale pktsnips from stale messages in the mbox, make
sure that the messages actually contains a pktsnip before freeing.
2022-11-22 17:57:44 +01:00
Benjamin Valentin
8a11ca2f87
nanocoap: don't hide coap_request_ctx_t content
2022-11-22 10:41:32 +01:00
Benjamin Valentin
2e2414cef6
gnrc_ipv6_nib: factor out enqueue on resolve
2022-11-20 21:00:40 +01:00
Benjamin Valentin
0886ad4840
gnrc_ipv6_nib: factor out resolve from nc
2022-11-20 20:46:31 +01:00
Benjamin Valentin
7e91d91cea
gnrc_tcp: replace RIOT_FILE_RELATIVE with __FILE__
2022-11-19 01:48:42 +01:00
Benjamin Valentin
442644ba93
gnrc_sock_udp: style fix in sock_udp_recv_buf_aux()
2022-11-15 20:35:20 +01:00
benpicco
e710b6f07c
Merge pull request #18854 from benpicco/gnrc_sock_udp-_remote_mismatch
...
gnrc_sock_udp: accept response from any address if remote is multicast
2022-11-15 20:33:58 +01:00
Benjamin Valentin
2b92e9ec59
gnrc_sock_udp: accept response from any address if remote is multicast
2022-11-15 11:26:31 +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
5a3045117e
gnrc_sock_udp: make 'remote match' condition more readable
2022-11-07 16:35:57 +01:00
Teufelchen1
64b4d433b9
gnrc: Fix unused function error when using LLVM
2022-11-06 15:39:39 +00: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
benpicco
0284aa5146
Merge pull request #18819 from benpicco/nanocoap_sock-non-retrans
...
nanocoap_sock: only re-transmit CON messages
2022-11-03 23:10:25 +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
Marian Buschsieweke
d704a1a805
Merge pull request #18822 from jue89/feature/at86rf2xx_ztimer
...
drivers/at86rf2xx: migrate to ztimer
2022-10-31 15:44:53 +01:00
Jue
0dc054cbda
sys/net/gnrc_lwmac: add missing xtimer dependency
2022-10-29 21:04:28 +02:00
Martine Lenders
36a099e1ec
gnrc_sixlowpan_iphc.c: dereference ipv6_hdr in DEBUG() after assignment
2022-10-29 00:58:35 +02:00
Felix
aa27ed71fa
gnrc_sixlowpan_frag_vrb: Assert no usage of a vrb with src_len == 0
2022-10-29 00:58:35 +02:00
Felix
17c70f7ee0
gnrc_netif_ieee802154: Ignore packets without source address
2022-10-29 00:58:35 +02:00
Felix
0bec3e245e
ieee802154: Adjust parsing of IEEE 802.15.4 frame header
2022-10-29 00:58:35 +02:00
Martine Lenders
4a081f8661
gnrc_sixlowpan_iphc: fix packet type confusion in _iphc_encode()
2022-10-29 00:58:34 +02:00
Felix
639c04325d
gnrc_sixlowpan_iphc: fix null pointer dereference in _iphc_encode()
2022-10-29 00:58:34 +02:00
Martine Lenders
9728f727e7
gnrc_sixlowpan_frag_rb: fix integer underflow in _6lo_frag_size()
2022-10-29 00:58:34 +02:00
Martine Lenders
2709fbd827
gnrc_sixlowpan_iphc: fix integer underflow in gnrc_sixlowpan_iphc_recv()
2022-10-29 00:58:33 +02:00
Martine Lenders
73615161c0
gnrc_sixlowpan_iphc: fix buffer overflow in gnrc_sixlowpan_iphc_recv()
2022-10-29 00:58:14 +02: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
9ae66beedf
Merge pull request #16156 from miri64/gnrc_sixlowpan_frag_sfr/feat/congure
...
gnrc_sixlowpan_frag_sfr: provide CongURE support
2022-10-27 15:01:07 +02:00
benpicco
4ebece5d34
Merge pull request #18801 from benpicco/gnrc_nib_full-debug
...
gnrc_ipv6_nib: add debug output when nib is full on address resolution
2022-10-27 12:49:29 +02:00
Martine Lenders
ff884dd45f
Merge pull request #17429 from benpicco/gnrc/ipv6_auto_subnets-static
...
gnrc/ipv6_auto_subnets: add CONFIG_GNRC_IPV6_AUTO_SUBNETS_STATIC option
2022-10-26 14:57:40 +02:00
Benjamin Valentin
b068bd31c2
gnrc/ipv6_auto_subnets: add CONFIG_GNRC_IPV6_AUTO_SUBNETS_STATIC option
...
In situations with high packet loss, if all sync packets are lost, conflicting
subnets will be configured.
If the network is static, this can be prevented by always using the highest number
of subnets that has been observed.
This assumes no nodes are physically added / removed from the network.
2022-10-25 19:46:42 +02:00
Martine Lenders
b92e90f7b5
gnrc_sixlowpan_frag_sfr: make ARQ timer mockable
2022-10-25 18:38:37 +02:00
Martine Lenders
30f990f789
gnrc_sixlowpan_frag_sfr: provide CongURE support
2022-10-25 18:38:36 +02:00
Benjamin Valentin
fa4fb8e3bf
gnrc_ipv6_nib: add debug output when nib is full on address resolution
2022-10-25 18:21:57 +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
Martine Lenders
53ed211fc9
Merge pull request #16175 from miri64/gnrc_sixlowpan_frag_sfr/enh/mark-ecn
...
gnrc_sixlowpan_frag_sfr: add support for queue-based ECN
2022-10-15 14:01:44 +02:00
Martine Lenders
c94c32dce4
Merge pull request #18727 from miri64/gnrc/enh/explicit-pseudomodules
...
gnrc: make pseudo-modules explicit + documentation improvements
2022-10-14 17:39:39 +02:00
Marian Buschsieweke
5d5e8d6163
Merge pull request #18740 from maribu/chrysn-pull-requests/gnrc-netreg-lock
...
gnrc_netreg: Use locks around netreg
2022-10-14 15:10:35 +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
chrysn
982ec4dcda
gnrc_netreg: Use locks around netreg
...
This eliminates race conditions around unregistering netdevs.
gnrc_netreg_lookup-style functions perform a DEVELHELP check on whether
that lock is held.
2022-10-14 03:35:15 +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
Marian Buschsieweke
b539d7ad6d
Merge pull request #17905 from benpicco/GNRC_NETIF_STACKSIZE_DEFAULT
...
gnrc_netif: don't allocate message queue on the stack
2022-10-13 17:10:43 +02:00
Martine Lenders
8dcc5d07ba
gnrc_sixlowpan_config: resolve ECN at the earliest convenience
2022-10-12 18:02:18 +02:00
Martine Lenders
653d08281b
gnrc_sixlowpan_frag_sfr: add support for queue-based ECN
2022-10-12 18:02:18 +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
benpicco
913bf3748c
Merge pull request #18699 from miri64/gnrc_netif_lorawan/enh/up-down-support
...
gnrc_netif_lorawan: add support for LINK_UP/_DOWN events
2022-10-12 17:11:51 +02:00
Martine Lenders
774ca13563
gnrc_nettype: reorder gnrc_nettype_t to fit the grouping again
2022-10-12 11:23:16 +02:00
Benjamin Valentin
be1c46ef27
gcoap_fileserver: don't abort on duplicate packet
2022-10-12 00:45:28 +02:00
Martine Lenders
5f504ad70d
gnrc_netif_lorawan: add debug message for failed send
2022-10-11 22:57:00 +02:00
Martine Lenders
ab32ad5030
gnrc_ipv6_nib: auto-configure link-local address on UP event
2022-10-11 22:57:00 +02:00
Martine Lenders
f34f296242
gnrc_netif_lorawan: add support for LINK_UP/_DOWN events
2022-10-11 12:29:11 +02:00
Marian Buschsieweke
2476a3b3a7
Merge pull request #18723 from benpicco/sock_util-find_hoststart
...
sys/net/sock_util: fix _find_hoststart()
2022-10-11 03:53:45 +02:00
Benjamin Valentin
c47407892a
sys/net/sock_util: style fixes
2022-10-10 20:31:15 +02:00
benpicco
988039b351
Merge pull request #18708 from miri64/gnrc_ipv6_nib/enh/handle-up-down-in-gnrc_ipv6
...
gnrc_ipv6_nib: handle iface_up/iface_down in IPv6 thread
2022-10-10 20:26:42 +02:00
Benjamin Valentin
6f2bbdd3b1
sys/net/sock_util: fix _find_hoststart()
2022-10-10 19:02:18 +02:00
Martine Lenders
47aaa94157
gnrc_ipv6_nib: handle iface_up/iface_down in IPv6 thread
2022-10-07 14:12:00 +02:00
Marian Buschsieweke
213c35bb71
Merge pull request #18649 from maribu/sys/shell/cmds
...
sys/shell/cmds: fix shell_cmd_netif LoRaWAN integration
2022-10-07 12:19:57 +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
Hendrik van Essen
6c98a5b3b7
sys/net/network_layer/ipv4/addr: add ipv4_addr_print function
2022-10-05 15:16:37 +02:00
Marian Buschsieweke
fd80c53a35
sys/shell/cmds: fix shell_cmd_netif LoRaWAN integration
...
Model the LoRaWAN integration to GNRC's netif command (ifconfig) as
submodule of it, namely `shell_cmd_gnrc_netif_lorawan`.
This should fix a regression introduced by
https://github.com/RIOT-OS/RIOT/pull/18355
2022-10-04 23:06:03 +02:00
José Alamos
f022ac3e23
Merge pull request #17884 from Ollrogge/gnrc_lorawan1.1
...
gnrc/lorawan: add basic LoRaWAN 1.1 features
2022-09-30 11:29:55 +02:00
3ee3d1b9ac
Merge pull request #18562 from MrKevinWeiss/pr/removemips
...
cpu/mips: Remove all mips
2022-09-30 10:47:09 +02:00
benpicco
0e181e9ec3
Merge pull request #18668 from miri64/coap/enh/coap_v1
...
coap: provide definition for version field value
2022-09-29 20:41:53 +02:00
benpicco
6257e328c0
Merge pull request #18661 from fabian18/nib-6ln_correct_abr_timeout
...
nib/_nib-6ln: correct ABR timeout in ABRO
2022-09-29 17:25:06 +02:00
Ollrogge
32cef708a7
gnrc/lorawan: uncrustify files
2022-09-29 11:26:04 +02:00
Martine Lenders
b9d7028a8f
coap: provide definition for version field value
2022-09-29 11:26:03 +02:00
Ollrogge
12a4e1c1ec
gnrc/lorawan: add support for GNRC LoRaWAN 1.1
2022-09-29 11:25:56 +02:00
Fabian Hüßler
23fa33774f
nib/_nib-6ln: correct ABR timeout in ABRO
2022-09-29 10:48:49 +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
Marian Buschsieweke
77731c5f7b
treewide: s/gnrc_pktbuf_cmd/shell_cmd_gnrc_pktbuf/
...
Replace the deprecated module gnrc_pktbuf_cmd with the new
shell_cmd_gnrc_pktbuf module.
2022-09-24 14:50:43 +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
Marian Buschsieweke
a00fb233dc
sys/net/credman: fix insecure memory wiping
2022-09-20 17:44:24 +02:00
benpicco
f03f5384c1
Merge pull request #18355 from maribu/sys/shell/cmds
...
sys/shell: make cmds submodules and add KConfig modeling
2022-09-19 21:07:23 +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
Benjamin Valentin
b1ea963df4
gnrc_netif: introduce GNRC_NETIF_STACKSIZE_DEFAULT
2022-09-18 18:35:21 +02:00
Marian Buschsieweke
8457f09dde
Merge pull request #18139 from maribu/sys/net/gnrc/netif/confirm_send
...
sys/net/gnrc_netif: Make use of confirm send
2022-09-17 19:40:24 +02:00
Benjamin Valentin
4b0bfae4ca
gnrc_netif: handle NETDEV_EVENT_LINK_UP/DOWN events
2022-09-16 22:57:06 +02:00
Benjamin Valentin
7211aa11af
ipv6/nib: add gnrc_ipv6_nib_iface_{up, down}()
2022-09-16 22:57:06 +02:00
Benjamin Valentin
6e7d5ae2d3
codespell: fix remaining issues
2022-09-16 14:00:35 +02:00
Marian Buschsieweke
c06335b71b
sys/shell: make cmds submodules
...
Previously `shell_commands` was a "catch-all" module that included
shell commands for each and every used module that has a shell
companion. Instead, the new `shell_cmds` module is now used to provide
shell commands as individually selectable submodules, e.g.
`cmd_gnrc_icmpv6_echo` now provides the ICMPv6 echo command (a.k.a.
ping).
To still have a "catch all" module to pull in shell commands of modules
already used, `shell_cmds_default` was introduced. `shell_commands`
depends now on `shell_cmds_default` for backward compatibility, but
has been deprecated. New apps should use `shell_cmds_default`
instead.
For a handful of shell commands individual selection was already
possible. Those modules now depend on the corresponding `cmd_%` module
and they have been deprecated.
2022-09-16 13:15:45 +02:00
Marian Buschsieweke
581f35e577
sys/net/gnrc/netif: adapt to new API
...
For Ethernet, raw netifs, and IEEE 802.15.4 netifs only release outgoing
frame with legacy drivers, as gnrc_netif does so with new non-blocking
API.
2022-09-15 13:23:26 +02:00
Marian Buschsieweke
1cb6f9e11a
sys/net/gnrc/netif: provide support for confirm_send()
...
This adds support for netdevs implementing the new API that provides
`netdev_driver_t::confirm_send()`. This allows implementing netdevs
in an event based non-blocking fashion, making live of driver
developers a bit easier. In addition, `gnrc_tx_sync` will now throttle
users of `sock_udp_send()` so that they can only send datagrams as
fast as the network stack and hardware is able to send out.
Finally, this lays the groundwork to fetch TX statistics (such as
TX timestamps, reception of layer 2 ACKs/NACKs, etc.) from the network
devices.
2022-09-15 13:23:25 +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
Martine Lenders
84e3ace6e3
gnrc_lorawan_crypto: fix Vera++ errors
2022-08-31 10:43:25 +02:00
Martine Lenders
aead6d2010
gnrc_lorawan: use aes128_cmac_.* instead of cmac_.*
2022-08-31 10:43:25 +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
Jose Alamos
5fd601ae97
gnrc/init_devs/kw2xrf: use high priority queue for drivers
2022-08-22 18:00:15 +02:00
Jose Alamos
2c9f3072fb
net/gnrc_netif: add support for priority queues
2022-08-22 18:00:14 +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
benpicco
d1ce899188
Merge pull request #18398 from benpicco/gnrc_ipv6_auto_subnets-doc
...
gnrc/ipv6_auto_subnets: improve documentation about subnet generation and RIO
2022-08-16 17:00:52 +02:00
benpicco
0aff42c682
Merge pull request #18383 from jia200x/pr/kw2xrf_radio_hal
...
drivers/kw2xrf: add support for IEEE 802.15.4 Radio HAL
2022-08-16 11:42:03 +02:00
Benjamin Valentin
28ff28aee0
gnrc/ipv6_auto_subnets: document the role of the RIO
2022-08-16 11:31:23 +02:00
Benjamin Valentin
18e74ae8c0
gnrc/ipv6_auto_subnets: document subnet generation better
2022-08-16 11:31:23 +02:00
Jose Alamos
4ebcd7c055
drivers/kw2xrf: add IEEE 802.15.4 Radio HAL support
...
Co-authored-by: Michel Rottleuthner <michel.rottleuthner@haw-hamburg.de>
2022-08-15 12:11:03 +02:00
Jose Alamos
4ace2ed778
net/gnrc: add support for event based Bottom Half Processor
2022-08-12 11:12:13 +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
f6cef270c2
gnrc_ipv6_nib: use correct DHCPv6 client module name
...
`MODULE_GNRC_DHCPV6_CLIENT_IA_PD` does not exist, the correct module name
is `MODULE_DHCPV6_CLIENT_IA_PD`.
2022-08-05 12:52:22 +02:00
f8cb17ad8b
Merge pull request #18401 from blueted2/master
...
sys/net: fix typo in docs
2022-08-05 09:49:05 +02:00
benpicco
c125e3d98a
Merge pull request #18133 from fabian18/gcoap_fileserver_file_and_directory_creation
...
gcoap/fileserver: add file and directory creation and deletion
2022-08-04 16:14:29 +02:00
Gregory Holder
ba1b12f3e6
net/iee802154: fix typo in docs
2022-08-04 15:09:20 +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
Benjamin Valentin
e128736014
net/util: make use of dns_query()
2022-07-29 17:48:26 +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 printf
s with DEBUG
2022-07-25 19:51:47 +02:00
Kevin "Tristate Tom" Weiss
aa268f0a0a
Merge pull request #17739 from leandrolanzieri/drivers/model_kconfig_eth
...
drivers: model kconfig for Ethernet drivers
2022-07-25 14:21:42 +02:00
Leandro Lanzieri
ec32e41f02
sys/net/netopt: model in Kconfig
2022-07-25 11:08:31 +02:00
Marian Buschsieweke
726a8bd5fe
Merge pull request #18360 from miri64/gnrc_nib/fix/config-deps
...
gnrc_ipv6_nib: make configurable via Kconfig again
2022-07-22 20:40:38 +02:00
Martine Lenders
fe3d620a63
gnrc_ipv6_nib: make configurable via Kconfig again
2022-07-22 17:51:57 +02:00
Marian Buschsieweke
3a80878848
sys/net/gnrc_pktbuf: make static buffer internal
2022-07-21 16:25:14 +02:00
Marian Buschsieweke
32bb9743e4
sys/net/gnrc/pktbuf_static: make use of alignas()
...
Since we are now using C11, we can make use of `alignas()` provided by
`<stdalign.h>` to make the alignment code easier to read.
2022-07-20 17:52:15 +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
Benjamin Valentin
56fc7c375f
gnrc_netif: move message queue to gnrc_netif_t
2022-07-18 23:28:38 +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
Marian Buschsieweke
576f82732f
Merge pull request #18311 from benpicco/gnrc/ipv6_auto_subnets-wording
...
gnrc/ipv6_auto_subnets: improve wording in documentation, add to Doxygen
2022-07-16 13:49:20 +02:00
Benjamin Valentin
d4a3521501
doc/doxygen: add gnrc_ipv6_auto_subnets.c to INPUT
2022-07-15 11:47:01 +02:00
Benjamin Valentin
c7ac22c892
gnrc/ipv6_auto_subnets: improve wording in documentation
2022-07-15 01:50:15 +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
Martine Lenders
11dc836d61
Merge pull request #18307 from nmeum/pr/gnrc_dhcpv6_client_parse_reply
...
gnrc_dhcpv6_client: Fix out-of-bounds access during option parsing
2022-07-12 19:30:50 +02:00
benpicco
2198eb84c0
Merge pull request #18284 from jia200x/pr/gnrc_netif_move_tested_options
...
gnrc_netif: move `option_tested` to default init function
2022-07-11 22:57:57 +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
Leandro Lanzieri
4a3231f763
drivers/kw2xrf: add setup function with global index
...
This index is used to register the network device.
2022-07-11 09:24:59 +02:00