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

9908 Commits

Author SHA1 Message Date
Benjamin Valentin
2daad4f5ff nanocoap: document coap_handler_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
0898e499fc nanocoap: define coap_request_ctx_t for request handlers 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
benpicco
54544c0a36
Merge pull request #18131 from firas-hamdi/feat/apply_filters_to_target_mailbox
drivers/mcp2515: apply filters to target mailbox
2022-07-13 09:40:06 +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
MrKevinWeiss
3095afafd2
sys/test_utils: add netdev ieee802154 minimal processing 2022-07-11 09:25:01 +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
chrysn
d9879c96ca
Merge pull request #16833 from chrysn-pull-requests/rust-lib
Add some Rust library building infrastructure
2022-07-10 21:39:35 +02:00
chrysn
5e75f4bd13 rust_riotmodules_standalone: This needs its Cargo.lock checked in
Of all the library crates, this is the only root crate, and responsible
for pinning good versions.
2022-07-10 21:27:13 +02:00
chrysn
68985aa6be rust_riotmodules: pub use instead of extern crate
See-Also: https://github.com/RIOT-OS/RIOT/pull/16833#issuecomment-1071243210
2022-07-10 21:27:13 +02:00
chrysn
ebfa6f61d6 shell/democommands: Add example Rust module 2022-07-10 21:27:12 +02:00
chrysn
841e4deee5 lsm303agr: New sensor driver using external Rust crate
It is enabled by saul_default on microbit-v2.

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-07-10 21:27:12 +02:00
chrysn
ba76c6ee65 Rust: Add crates-to-module adapter 2022-07-09 21:15:29 +02:00
Martine Lenders
107a2a0753
gcoap_dns: initial import of a DNS over CoAP client 2022-07-01 18:44:02 +02:00
Sören Tempel
4dcb8edcc8 asymcute: Fix deadlocks in REGACK, SUBACK and UNSUBACK handler
The handlers for these MQTT message lock the connection mutex on
function entry. During automated testing of asymcute, I discovered
return paths for these function which do not unlock the connection
mutex. This results in a deadlock which prevents asymcute from
sending any further messages.
2022-07-01 00:55:07 +02:00
Martine Lenders
fda230eb7c
Merge pull request #18275 from maribu/sys/net/rpl/netstats
sys/net/gnrc/rpl: sync access to netstats
2022-07-01 12:24:24 +02:00
Firas Hamdi
bc0d3f9de3 drivers/mcp2515: apply the filter to a target mailbox
sys/include/can: add the mailbox target as a member to the filter structure

drivers/mcp2515: cleanup defines
2022-06-30 10:07:24 +02:00
Marian Buschsieweke
5a47d6a9b8
sys/net/gnrc/rpl: sync access to netstats
Synchronize the RPL thread updating the RPL netstats with the RPL
shell command reading it by disabling IRQs. This will prevent printing
corrupted data on non-32bit platforms as well as printing inconsistent
data (e.g. TX count of old state in conjunction with TX bytes of new
state) for all platforms.

Co-authored-by: Martine Lenders <mail@martine-lenders.eu>
2022-06-30 09:48:46 +02:00
Marian Buschsieweke
93d8bade8e
sys/net/gnrc/rpl: refactor netstats_rpl_t
There is a repeating pattern in the struct that is split out into a
subtype in this commit. This makes handling the data easier, as now
done in the print routine.
2022-06-30 09:48:45 +02:00
Jose Alamos
2c76dbf351
gnrc_netif: move option_tested to default init function 2022-06-29 17:48:27 +02:00
Martine Lenders
d9846e414f
Merge pull request #18269 from maribu/sys/net/netstats
sys/net/netopt: change NETOPT_STATS semantics
2022-06-29 15:52:03 +02:00
Marian Buschsieweke
973b6f69bf
sys/net/netopt: change NETOPT_STATS semantics
Instead of retrieving a pointer with NETOPT_STATS, retrieve the current
data. This avoids data corruptions when reading from one thread (e.g.
the thread running the shell (ifconfig command)) while another thread
is updating it (e.g. the netif thread).

The issue affects all boards, as users typically expect the count of
TX packets and the number of TX bytes to refer to the same state. For
16 bit and 8 bit platforms even a single netstat entry can read back
corrupted.

This fixes the issue by just copying the whole netstat_t struct over
without requiring explicit locking on the user side. A multi-threaded
network stack still needs to synchronize the thread responding to
netopt_get with the thread writing to the netstat_t structure, but that
is an implementation detail no relevant to the user of the API.
2022-06-28 16:57:43 +02:00
benpicco
5bb12f3e57
Merge pull request #18264 from jia200x/pr/submac_use_ieee802154_retrans_config
ieee802154: add default max frame retransmissions config
2022-06-28 16:00:51 +02:00
Jose Alamos
88e14f01a1
ieee802154/submac: use default config for max frame retransmissions 2022-06-27 14:51:16 +02:00
Jose Alamos
0a76a88dc8
ieee802154: add default max frame retransmissions config 2022-06-27 14:50:54 +02:00
Benjamin Valentin
5b7d9be254 net/eui_provider: provide netif index to EUI provder function
An EUI provider can provide EUIs for multiple interfaces based on
their index.

For this is should get the index of the interface, not the index of
the EUI provider.
2022-06-23 22:30:24 +02:00
Benjamin Valentin
0b3f66f0db sys/net/gnrc_pktbuf_static: fix documentation of use-after-free detection 2022-06-23 00:31:32 +02:00
chrysn
5852167772
Merge pull request #18227 from benpicco/gnrc_pktbuf_static-use-after-free
sys/net/gnrc_pktbuf_static: add use-after-free detection
2022-06-22 21:28:28 +02:00
Benjamin Valentin
a165093b10 sys/net/gnrc_pktbuf_static: add use-after-free detection 2022-06-22 15:41:15 +02:00
benpicco
45aa420c42
Merge pull request #18241 from benpicco/fatfs_vfs_name_max
sys/vfs: FATFS_VFS_FILE_BUFFER_SIZE depends on VFS_NAME_MAX
2022-06-22 13:54:31 +02:00
Marian Buschsieweke
b2ff5b02bd
Merge pull request #18242 from benpicco/nanocoap-debug
nanocoap_sock: fix debug output
2022-06-22 13:54:24 +02:00
Martine Lenders
4ed3b1a43c
Merge pull request #17078 from yarrick/ifconfig_order
sys/shell/gnrc_netif: List netifs in registration order
2022-06-22 09:33:58 +02:00
Benjamin Valentin
8c4e5629d1 nanocoap_sock: fix debug output 2022-06-21 23:06:33 +02:00
Benjamin Valentin
de91fc4b3a sys/vfs: FATFS_VFS_FILE_BUFFER_SIZE depends on VFS_NAME_MAX
e.g. try CFLAGS += -DVFS_NAME_MAX=39
2022-06-21 18:02:54 +02:00
Martine Lenders
03dfad899b
Merge pull request #17834 from haukepetersen/opt_skald_advitvlconfig
net/ble/skald: make advertising interval configurable per context
2022-06-21 13:31:57 +02:00
Erik Ekman
aaa73b79ed sys/shell/gnrc_netif: List netifs in registration order
The netif list is used like a stack, so it needs to be
iterated in reverse to keep the registration order.

Time complexity in O(n^2), but the the list is normally very short
(1-2 items).

Before:
```
> ifconfig
Iface  10  HWaddr: 24:0A:C4:E6:0E:9C  Channel: 0  Link: down
[..]

Iface  7  HWaddr: 24:0A:C4:E6:0E:9F  Link: down
[..]
```

Now they are in the increasing order:
```
> ifconfig
Iface  7  HWaddr: 24:0A:C4:E6:0E:9F  Link: down
[..]

Iface  10  HWaddr: 24:0A:C4:E6:0E:9C  Channel: 0  Link: down
[..]
```

When lwIP is hacked to use the same shell command, it also
lists it interfaces in the expected order (was ET1,ET0 before):
```
> ifconfig
Iface  ET0  HWaddr: 24:0A:C4:E6:0E:9F  Link: down
[..]

Iface  ET1  HWaddr: 24:0A:C4:E6:0E:9C  Channel: 0  Link: down
[..]
```
2022-06-21 11:54:08 +02:00
Benjamin Valentin
14afafa2d2 gnrc_pktbuf: fix gnrc_pktbuf_contains() 2022-06-17 19:58:01 +02:00
Gunar Schorcht
934c65fb2e
Merge pull request #18212 from benpicco/kernel_defines-CONST
core/kernel_defines: drop CONST definition
2022-06-17 17:45:46 +02:00
Benjamin Valentin
11e40a9d61 nanocoap_sock: fix wrong assertion
The assertion is a bit overeager.
In case of receiving a wrong message ID, we re-try receive without
entering the STATE_REQUEST_SEND state again, so it is expected that
we get a non-NULL ctx/response from sock_udp_recv_buf().

What this assert should actually check is that we don't get a non-NULL
ctx after calling sock_udp_recv_buf() with a non-NULL ctx.

So make this explicit to not falsely fail the assertion.
2022-06-16 18:54:16 +02:00
Benjamin Valentin
7bc1fea55a sys/tm: drop CONST 2022-06-16 15:26:27 +02:00
Marian Buschsieweke
dd6243f27f
Merge pull request #18213 from maribu/sys/shell/commands/sc_lwip_netif.c
sys/shell/commands/sc_lwip_netif.c: add address state
2022-06-16 13:38:55 +02:00
benpicco
0a16f8266a
Merge pull request #17962 from benpicco/nanocoap_vfs-put
nanocoap_vfs: add nanocoap_vfs_put()
2022-06-16 11:53:36 +02:00
Marian Buschsieweke
3954217fdf
sys/shell/commands/sc_lwip_netif.c: add address state
Add information about the address state (e.g. if it is valid, preferred,
tentative, how many probes have been sent)
2022-06-16 08:40:42 +02:00
benpicco
6a15ad4df2
Merge pull request #18179 from maribu/sys/shell_commands
sys/shell/commands: add static qualifier where appropriate
2022-06-14 10:06:07 +02:00
Benjamin Valentin
148651a94d sys/fs/constfs: allow to host arbitrary data
Don't require data to be a uint8_t array to to be casted into one.
2022-06-12 19:39:27 +02:00
benpicco
d797b74b0b
Merge pull request #18196 from gschorcht/sys/rtc_utils_doc_fix
sys/rtc_utils: small doc fix of rtc_mktime
2022-06-12 17:14:21 +02:00
Gunar Schorcht
8a5e632b2f sys/rtc_utils: small doc fix of rtc_mktime 2022-06-12 15:49:01 +02:00
Marian Buschsieweke
4f769c2f55
sys/shell/commands: add static qualifier where appropriate
Due to the conversion to XFA based SHELL_COMMAND() much fewer function
need to expose a symbol. Hence, spray `static` all over the place.
2022-06-11 14:38:58 +02:00
benpicco
593b5d376d
Merge pull request #18186 from maribu/sys/fmt
sys/fmt: fix output on native
2022-06-11 08:07:22 +02:00
Marian Buschsieweke
85cf4aef03
sys/net/ipv6: fix ipv6_addrs_print()
Fix incorrect printing of the separator after the last item.
2022-06-10 11:02:42 +02:00
Marian Buschsieweke
4f9e35254a
sys/fmt: fix print() for native 2022-06-10 11:02:40 +02:00
Benjamin Valentin
d102bf90ea gnrc/ipv6_auto_subnets: always send RIO to upstream network
In a881af8b08 we would return early if the subnet did not change,
but we must still send the router advertisement with the route information
option to the upstream network, otherwise hosts in that network will not
consider the downstream subnet off-link.
2022-06-09 17:25:20 +02:00
Benjamin Valentin
d8da1b631c sys/shell: add 'ncput' shell command 2022-06-08 17:21:19 +02:00
Benjamin Valentin
bb42f6a2f4 nanocoap_vfs: add nanocoap_vfs_put() 2022-06-08 17:19:03 +02:00
Benjamin Valentin
3adda46cec nanocoap: add coap_size2szx() 2022-06-08 17:19:03 +02:00
Benjamin Valentin
d5d08e19fd sys/shell_lock: add telnet support 2022-06-08 13:01:23 +02:00
Benjamin Valentin
7029572ca7 sys/net/telnet: add telnet_server_disconnect() 2022-06-08 13:01:23 +02:00
Hendrik van Essen
ccc795133f sys/shell: add pseudomodule shell_lock_auto_locking
Module to lock the shell after a given timeout of time x. When the
shell did not receive any input within time x, then the shell is
locked automatically.
2022-06-08 12:53:48 +02:00
Hendrik van Essen
2284f87fdb sys/shell: add module shell_lock
Module to lock the running shell with a password. Shell is proceeded only
when the valid password was entered by the user. After 3 failed attempts,
the input is blocked for a few seconds to slow down brute force attacks.
Does not make use of any cryptographic features yet.
2022-06-08 12:53:48 +02:00
Marian Buschsieweke
20d3304077
Merge pull request #18152 from maribu/sys/shell_commands
sys/shell_commands: convert to SHELL_COMMAND()
2022-06-08 06:40:46 +02:00
benpicco
4b694958a3
Merge pull request #18176 from fjmolinas/pr_ztimer_init_stdio_rtt_semihosting_log
sys/ztimer: no log for stdio_rtt/semihosting
2022-06-07 15:43:50 +02:00
benpicco
6019925c75
Merge pull request #17943 from fjmolinas/pr_suit_vfs_storage
sys/suit/storage/vfs: initial import
2022-06-07 09:33:37 +02:00
Marian Buschsieweke
5ea582b3dd
sys/shell_commands: convert to SHELL_COMMAND()
Make use of XFA for shell commands
2022-06-07 09:25:04 +02:00
Marian Buschsieweke
66a04926ca
sys/shell_commands: fix signature of _openwsn_ifconfig 2022-06-07 09:24:49 +02:00
Marian Buschsieweke
86e0ba3cdb
sys/shell/commands: remove stale reference to id cmds
The shell command `id` was dropped in
b3a061e0ab but somehow the command entry
was left it. This cleans it up.
2022-06-07 09:24:49 +02:00
Francisco Molina
c9fc236576 sys/ztimer: no log for stdio_rtt/semihosting
Both modules use ztimer for stdio, so can't call stdio based functions
before the module is initialized
2022-06-07 08:51:10 +02:00
Francisco
f6d5a54c3e
Merge pull request #18045 from benpicco/suit/transport-vfs
suit/transport/vfs: add VFS as source for firmware updates
2022-06-07 08:32:15 +02:00
Marian Buschsieweke
bfb8a55764
sys/net/netif: add helpers for IPv6 addresses
- add `netif_get_ipv6()` to query IPv6 (as a slim convenience wrapper
  for `netif_get_opt()`)
- add `netifs_get_ipv6()` to query IPv6 addresses of all netifs
- add `netif_print_ipv6()` to print the IPv6 address(es) of a single
  netif
- add `netifs_print_ipv6()` to print the IPv6 address(es) of all netifs
2022-06-06 20:46:48 +02:00
Marian Buschsieweke
a4d00df586
sys/net: add ipv6_addrs_print()
Also use `IS_USED(MODULE_FMT)` rather than the preprocessor and rely
on the optimizer to eliminate the dead branch.
2022-06-06 20:46:48 +02:00
Marian Buschsieweke
ceeb28fb69
sys/fmt: uncrustify 2022-06-03 09:10:15 +02:00
Marian Buschsieweke
68dcf27eab
sys/fmt: fix interaction with stdio
Use fwrite instead of write to not bypass caching stdio. Other fmt's
print function are too much of a footgun to use.
2022-06-03 09:10:15 +02:00
Francisco Molina
f485e9b0d9 sys/storage/vfs: initial import 2022-06-03 08:49:44 +02:00
Francisco Molina
013838626e sys/suit/storage: use XFA 2022-06-03 08:49:43 +02:00
benpicco
e1e2b7c5b6
Merge pull request #17601 from gschorcht/cpu/esp32/upgrade_esp-idf_v4.4
cpu/esp32: Upgrade to ESP-IDF v4.4
2022-06-02 10:18:07 +02:00
Martine Lenders
18edd896c1
Merge pull request #18153 from benpicco/gnrc_netif_pktq-fix
gnrc_netif_pktq: protect against concurrent access
2022-06-01 22:00:29 +02:00
Benjamin Valentin
d9114f81c4 suit: replace SUIT_URL_MAX with CONFIG_SOCK_URLPATH_MAXLEN 2022-06-01 13:00:51 +02:00
Benjamin Valentin
8e5812d218 suit/transport: move common code to new file 2022-06-01 13:00:51 +02:00
Benjamin Valentin
dd4a578ef3 suit/transport/vfs: add VFS as source for firmware updates 2022-06-01 13:00:50 +02:00
Benjamin Valentin
61cc168ce1 gnrc_netif_pktq: protect against concurrent access
fixes #17924
2022-06-01 12:13:31 +02:00
Martine Lenders
c4e202ae67
Merge pull request #17709 from benpicco/cpu/native-tap_wired
netdev_tap: make 'wired' property configurable
2022-06-01 02:24:43 +02:00
benpicco
4b6da5c8e4
Merge pull request #17863 from benpicco/sam0_sdhc
cpu/samd5x: add SD Host Controller implementation
2022-05-31 15:33:24 +02:00
Benjamin Valentin
babee877ce cpu/sam0_common: add SD Host Controller implementation 2022-05-31 11:07:20 +02:00
benpicco
b94dd60978
Merge pull request #17912 from benpicco/pkg/fatfs-rtt_rtc
pkg/fatfs, shell: enable RTC support if rtt_rtc is used
2022-05-31 10:30:29 +02:00
Benjamin Valentin
01eba05ca1 sys/net/sock: add a word of warning to sock_udp_create()
If a socket is created we must also call sock_udp_recv() on it as
otherwise messages will get stuck in it's queue until the socket is
closed (which might be never).

If applications only want to send without receiving, they must use
sock_udp_send().
2022-05-30 20:21:13 +02:00
Martine Lenders
e22fb6ef07
gnrc_netif_pktq: create dedicated Kconfig
Reflects dependency change in e5f93f856d
2022-05-30 11:13:52 +02:00
Martine Lenders
e5f93f856d
gnrc: gnrc_netif etc. modules are not required by gnrc_netif_pktq 2022-05-30 10:39:06 +02:00
Benjamin Valentin
bf5926283b gnrc_netreg: drain mbox on unregister
If there are still messages in the mbox when gnrc_netreg_unregister()
is called, we must release the associated pktbuf snips, otherwise
they are leaked away forever.

E.g. `sock_udp_close()` was called without receiving all messages with
`sock_udp_recv()`.
2022-05-29 22:42:48 +02:00
Martine Lenders
2d67eaf7ef
Merge pull request #18105 from kfessel/p-deprecate-ztimer-now64-2
ztimer: add module removal information to doxygen and date it
2022-05-25 18:54:09 +02:00
benpicco
31b8518d20
Merge pull request #17965 from benpicco/coap_get_blockopt-uint8
nanocoap: use uint8_t for szx value
2022-05-25 14:00:04 +02:00
Benjamin Valentin
1662f0fa46 sys/suit: move suit_storage_helper() to handlers_command_seq.c 2022-05-25 12:17:48 +02:00
Martine Lenders
3e531801e6
Merge pull request #17678 from miri64/gnrc_netif/enh/optional-comp-ctx
gnrc_netif: make auto-config of compression context optional
2022-05-25 00:51:36 +02:00