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

9177 Commits

Author SHA1 Message Date
Hendrik van Essen
de4b32ef54 sys/tsrb: add tsrb_clear 2021-12-06 11:53:59 +01:00
Hauke Petersen
c7e11d5904 shell/sc_nimble_statconn: adapt to new return vals 2021-12-06 11:28:04 +01:00
Leandro Lanzieri
4f51174eb4
Merge pull request #17331 from MrKevinWeiss/pr/kconfig/samd5x
boards/adafruit-itsybitsy-m4: Model kconfig
2021-12-06 10:22:37 +01:00
MrKevinWeiss
05dd46936b
sys/usb_board_reset: Model kconfig 2021-12-06 09:05:37 +01:00
563e3efe8e
sys/trace: model in Kconfig 2021-12-04 12:03:14 +01:00
13a7aaf1d7
sys/trace: migrate to ztimer 2021-12-04 11:55:47 +01:00
benpicco
f9f95534f6
Merge pull request #17333 from benpicco/gnrc/rpl-auto_init
gnrc/rpl: auto-init RPL if there is only a single interface
2021-12-04 11:07:01 +01:00
529cc2d9ad
Merge pull request #17329 from miri64/ieee802154/fix/resv-src
ieee802154 / tests/unittests: fix all-asan reported errors
2021-12-04 02:27:27 +01:00
benpicco
8be9fe73f6
Merge pull request #17297 from nmeum/pr/sock_dns_string.h
sock_dns: include string.h for strlen(3) function prototype
2021-12-03 19:45:36 +01:00
Francisco
3afa47d8f2
Merge pull request #14955 from maribu/cflags-cast-align
makefiles/cflags.inc.mk: Add -Wcast-align
2021-12-03 17:47:24 +01:00
Benjamin Valentin
11672ac5e4 gnrc/rpl: auto-init RPL if there is only a single interface 2021-12-03 15:34:17 +01:00
MrKevinWeiss
f0790ebca1
sys/kconfig: Update todo 2021-12-03 12:16:32 +01:00
Francisco
5ba215f9c5
Merge pull request #16843 from haukepetersen/add_nimble_scannerext
nimble_scanner: rework to enable scanning BLE5 PHYs and extended advertisements
2021-12-03 12:00:10 +01:00
Martine Lenders
1eda5b80b9
ieee802154: fix reserved source address handling
This fixes the handling when the source address is neither short nor
long. For the reserved address mode no PAN behavior is defined, so
rather check, if the source address is in reserved mode before trying to
read the destination PAN.
2021-12-03 11:31:06 +01:00
Marian Buschsieweke
d571f150ec
sys/usb/usbus/dfu: use container_of() 2021-12-03 10:12:39 +01:00
Marian Buschsieweke
be42be9d15
sys/shell: use container_of in sc_gnrc_netif 2021-12-03 10:12:36 +01:00
Marian Buschsieweke
b7269c39e8
sys/net/gnrc_pktbuf_static: fix compilation with -Wcast-align
Comparing the pointers as `uintptr_t` won't hurt but makes the compiler
happy.
2021-12-03 10:12:34 +01:00
Marian Buschsieweke
b1114b0674
sys/net/gnrc/netif: use container_of()
Using `container_of()` to translate from `netif_t *` to the containing
`gnrc_netif_t *` adds a bit of plausibility: It will fail when `gnrc_netif_t`
stops to contain `netif_t` as member. Additionally, this silences false
positives of -Wcast-align
2021-12-03 10:12:33 +01:00
Marian Buschsieweke
581aa6b70b
sys/net/netif: allow const in netif_iter()
For consistency with `gnrc_netif_iter()`, add the `const` qualifier to the
parameter of `netif_iter()`. This allows calling it on `const` pointers without
having to cast `netif_t *`, which (apart of dropping the `const` qualifier)
disables a lot of type safety checks offered by the compiler.
2021-12-03 10:12:33 +01:00
Francisco
1ec9bfdec4
Merge pull request #17287 from leandrolanzieri/pr/sys/vfs/model_kconfig
sys/vfs: model Kconfig
2021-12-03 09:11:57 +01:00
Hauke Petersen
47d1f72a6c shell/sc_nimble_netif: remove ping sub-command 2021-12-02 23:31:33 +01:00
Hauke Petersen
97780b3610 shell/sc_nimble_netif: adapt to scanner changes 2021-12-02 23:31:33 +01:00
Francisco
fea525f019
Merge pull request #17286 from leandrolanzieri/pr/sys/log/model_kconfig
sys/log: model Kconfig
2021-12-02 15:42:30 +01:00
Francisco
662aba4680
Merge pull request #17307 from leandrolanzieri/pr/sys/ztimer/kconfig/fix_compat_deps
sys/ztimer/kconfig: enable xtimer compat only with timer backend
2021-12-02 14:52:30 +01:00
9cf22c699e
Merge pull request #17318 from fjmolinas/pr_event_periodic_dep
sys/Makefile.dep: fix event periodic dependency
2021-12-02 11:51:18 +01:00
b6cc07009f
Merge pull request #17284 from fjmolinas/pr_ztimer_no_periph_rtt
sys/ztimer: add 'ztimer_no_periph_rtt'
2021-12-02 11:02:24 +01:00
Leandro Lanzieri
2b811ba1b9
sys/log: model in Kconfig 2021-12-02 09:41:46 +01:00
Leandro Lanzieri
004da59672
sys/ztimer/kconfig: enable xtimer compat only with timer backend
This also moves the selection of MODULE_ZTIMER_PERIPH_TIMER from
MODULE_ZTIMER_USEC to the visible symbol ZTIMER_USEC.
2021-12-02 09:38:06 +01:00
Francisco Molina
6c029bced6 sys/Makefile.dep: fix event periodic dependency 2021-12-02 07:59:14 +01:00
Francisco Molina
638373eec5 sys/ztimer: add ztimer_periph_rtt module conflict warning 2021-12-02 07:54:38 +01:00
Francisco Molina
7c3360e4d6 sys/ztimer: add 'ztimer_no_periph_rtt'
This is a temporary fix for Issue #17060. It allows to disable
auto inclusion of `ztimer_periph_rtt` in cases where another
module or application requires direct access.

Limitations:
- as ifeq are involved order of inclusion matters, therefore
  these modules should be included early in the build at application
  level and not in modules `Makefile.dep`
- this does not disallow direct inclusions of `ztimer_periph_rtt`,
  since this only disables auto inclusion of these modules

This is a temporary solution since this is already possible with
Kconfig, but not in make.
2021-12-02 07:54:38 +01:00
Gunar Schorcht
83e9fdce7c sys/benchmark/kconfig: cleanup ztimer dependency 2021-12-02 07:00:01 +01:00
benpicco
7155fb82d0
Merge pull request #17194 from maribu/sys/net/fib
sys/net/fib: fix compilation with -Wcast-align
2021-12-01 16:29:00 +01:00
Martine Lenders
2cf0fca4e2
Merge pull request #17157 from maribu/sys/net/gnrc
sys/net/gnrc: fix compilation with -Wcast-align
2021-12-01 09:49:21 +01:00
8136a265d8
Merge pull request #17296 from fjmolinas/pr_nanosleep_deprecate
sys/include/xtimer.h: deprecate nanosleep
2021-12-01 07:34:02 +01:00
Martine Lenders
76bda73235
Merge pull request #17261 from benpicco/shell/gnrc_icmpv6_echo-hang
shell/gnrc_icmpv6_echo: Fix hang with no msg queue
2021-12-01 00:16:30 +01:00
benpicco
207964265a
Merge pull request #17188 from benpicco/sys/random-musl_lcg-default
sys/random: default to musl LCG instead of TinyMT
2021-11-30 23:28:48 +01:00
Marian Buschsieweke
6907bdf140
sys/net/gnrc: make cppcheck happy 2021-11-30 11:20:20 +01:00
Marian Buschsieweke
50be359a96
sys/net/gnrc: fix compilation with -Wcast-align
Also ensure that the alignment requirement is indeed matched.
2021-11-30 11:20:17 +01:00
Francisco Molina
92a003fcdc sys/include/xtimer.h: deprecate nanosleep 2021-11-30 10:31:22 +01:00
Marian Buschsieweke
050b024b79
sys/net/fib: make CI happy 2021-11-30 10:27:46 +01:00
Marian Buschsieweke
9356a7d561
sys/net/fib: fix compilation with -Wcast-align 2021-11-30 10:16:39 +01:00
Sören Tempel
dc1b6d0436 sock_dns: include string.h for strlen(3) function prototype
Needed by the following code in `dns.c`:

e8cbc6da85/sys/net/application_layer/sock_dns/dns.c (L39-L41)

The include was probably wrongfully removed by accident in
e8cbc6da85 (CC: @miri64).
2021-11-30 01:12:40 +01:00
benpicco
c84a40abc4
Merge pull request #17275 from gschorcht/drivers/periph_i2c_acquire_void
drivers/periph_i2c: let i2c_acquire return void
2021-11-29 11:44:59 +01:00
Leandro Lanzieri
368ccdf3f8
sys/vfs: model Kconfig 2021-11-29 10:30:49 +01:00
Gunar Schorcht
818c127513 sys/shell: update sc_i2c_scan to new I2C API 2021-11-29 06:35:25 +01:00
Gunar Schorcht
d00141b1d4 sys/arduino: update TwoWire class to new I2C API 2021-11-29 06:35:25 +01:00
Leandro Lanzieri
398df91a99
sys/usb/usbus: model cdc acm stdio in Kconfig 2021-11-26 11:06:47 +01:00
bab0514af7
Merge pull request #17272 from fjmolinas/pr_ztimer_auto_init
sys/ztimer: remove double ztimer indirection
2021-11-26 08:51:32 +01:00
Francisco
16b881dcff
Merge pull request #17266 from fjmolinas/pr_tsrb_peek
sys/tsrb: add peek functions
2021-11-26 08:20:34 +01:00
Francisco Molina
d0758b5a7e sys/ztimer: remove double ztimer indirection
To avoid confusions between `auto_init_ztimer` and `ztimer_auto_init`
rename `ztimer_auto_init` to `ztimer_init`.

This allows for similar handling as `saul_init_devs` and
`auto_init_devs`. Dependencies are therefore done against the USEMODULE
and not DEFAULT_MODULE or checking DISABLE_MODULE. For this, both
`ztimer_init` and `auto_init_ztimer` are added to DEFAULT_MODULE and
both need disabling if the user does not want that module in.

With this, the comment in Kconfig no longer applies.
2021-11-25 11:26:34 +01:00
Francisco Molina
dd47953178 sys/test_utils/result_output: add sort to multiple output check 2021-11-25 10:44:55 +01:00
Francisco Molina
857f3c3c51 sys/tsrb: add peek functions 2021-11-24 17:54:44 +01:00
Benjamin Valentin
be8a364bb4 shell/gnrc_icmpv6_echo: fix duplicate datalen check 2021-11-24 12:07:14 +01:00
Benjamin Valentin
7d1dd27756 shell/gnrc_icmpv6_echo: Fix hang with no msg queue
`msg_avail()` will return -1 if the thread has no message queue.
Casting this to unsigned will result in the `ping` command to try
receiving 4294967295 messages, which hangs the shell.

Drop the cast to `unsigned` and the loop behaves as intended.
But then it's still wrong: If new messages become available, they
would be ignored.

So change the `for` loop to a `while` loop. The index variable is
not used at all.
2021-11-24 12:00:14 +01:00
Marian Buschsieweke
78ded2dd08
sys/atomic_utils: add atomic_{load,store}_ptr() 2021-11-23 14:23:50 +01:00
Kevin "Tristate Tom" Weiss
e0b8238e79
Merge pull request #17106 from kaspar030/fmt_s32_dfp_tenmap_independance
sys/fmt: make fmt_s32_dfp() string based
2021-11-23 12:51:17 +01:00
62772ab3f9 sys/fmt: add some documentation about out 2021-11-22 14:11:02 +01:00
61c62c2ed6 sys/fmt: make fmt_s32_dfp() string based 2021-11-22 14:11:01 +01:00
Leandro Lanzieri
43c567ab53
sys/shell/commands/sc_dfplayer: make cppcheck happy 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
27a62efb63
sys/arduino/kconfig: do not imply arduino_pwm 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
6769101c34
sys/arduino: add pseudomodule for the arduino_pwm feature 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
e525e23143
drivers/dfplayer: add no_strerror option to Kconfig 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
3854db364a
sys/stdio/kconfig: associate symbol to implementation 2021-11-22 12:25:30 +01:00
Leandro Lanzieri
45b6116c4c
sys/cxx_ctor_guards: model Kconfig 2021-11-22 12:25:30 +01:00
638b86e749
Merge pull request #17243 from benpicco/random_cmd
sys/shell: hide random commands behind random_cmd pseudo-module
2021-11-22 10:24:25 +01:00
benpicco
2d882c3521
Merge pull request #16737 from JKRhb/uncrustify
treewide: Address uncrustify suggestions
2021-11-21 15:42:05 +01:00
Ollrogge
6f9a21503b usbus/hid: fix ep_out readyness 2021-11-19 22:20:12 +01:00
Benjamin Valentin
f362a19eed sys/shell: hide random commands behind random_cmd pseudo-module
These commands cost 248 bytes of memory, we don't want to always
include them when the `random` module is selected.
2021-11-19 16:53:46 +01:00
4c03d10f7b
Merge pull request #17234 from fjmolinas/pr_cocci_ztimer_fixes
sys/ztimer/xtimer2ztimer.cocci: extend and fix api replacements
2021-11-19 15:18:07 +01:00
Jan Romann
9f4e839ceb
sys/riotboot: uncrustify 2021-11-19 09:54:17 +01:00
Francisco Molina
e6a79c8729 sys/ztimer/xtimer2ztimer.cocci: extend and fix api replacements 2021-11-18 18:27:23 +01:00
Karl Fessel
eb11e463df sys/ztimer: make internal head update static 2021-11-18 13:45:49 +01:00
Benjamin Valentin
17fdf61cbe ieee802154/submac: handle write of NULL buffer
tests/socket_zep tests for this condition, so we better handle it
gracefully instead of crashing.
2021-11-18 11:51:14 +01:00
Benjamin Valentin
fa2d9bde56 socket_zep: port to radio HAL 2021-11-18 11:51:14 +01:00
dylad
f0a8bf9239 usbus/hid: fix ep_out readyness 2021-11-17 20:46:41 +01:00
Francisco Molina
81c5d5dbcc sys/event/timeout: split xtimer, ztimer backends, don't force usec
This PR makes `event_timeout` and `event_timeout_ztimer` two distinct
pseudomodules, where the only api difference is in the init function.

If only `event_timeout_ztimer` is selected then no default ZTIMER
backend is selected and the old init function is not implemented.

If only `event_timeout` is selected then `xtimer` is used unless
`ztimer_usec` is included. In which case the `xtimer` wrapper on top
of `ztimer` is used and `xtimer` is not directly selected. This
allows for the legacy api to be supported with `ztimer_usec` as
a drop-in replacement.

If `event_timeout` and `event_timeut_ztimer` are selected then
`event_timeout` SRC file is excluded from compilation.
2021-11-17 10:15:11 +01:00
Dylan Laduranty
aa8608eff5
Merge pull request #17064 from bergzand/pr/usbdev/xmit
USB: refactor to xmit-based API
2021-11-17 09:07:00 +01:00
Francisco
74cdb11bd1
Merge pull request #17203 from bergzand/pr/usbus/check_setup_length
usbus: check received setup request data amount
2021-11-17 08:59:07 +01:00
587d25a38e
USBUS/hid: Adapt to xmit API 2021-11-16 20:17:05 +01:00
5455c40c7a
USBUS/cdc_ecm: Adapt to xmit API 2021-11-16 20:17:04 +01:00
1a0bc3d8bc
USBUS/cdc_acm: Adapt to xmit API 2021-11-16 20:17:04 +01:00
7d9a177f25
USBUS: Adapt to xmit API
Converts the control endpoint to xmit API
2021-11-16 20:17:04 +01:00
Leandro Lanzieri
b0c380a9a9
Merge pull request #17039 from MrKevinWeiss/pr/turodefault
sys/turo: Allow default selection of json
2021-11-16 18:22:55 +01:00
chrysn
69dadf61e9
Merge pull request #17152 from maribu/sys/posix/sockets
sys/posix/socket: align struct sockaddr{,_storage}
2021-11-16 13:55:27 +01:00
59e85cf921
usbdev: Refactor to xmit API
This API change refactors the usbdev API to supply buffers via the
usbdev_ep_xmit function. This changes from the usbdev_ep_ready call to allow
separate buffers per call. An usbdev_ep_buf_t pseudotype is available and must
be used when defining buffers used for endpoints to adhere to the DMA alignment
restrictions often required with usb peripherals.

Main advantage is that the usbdev peripherals no longer have to allocate
oversized buffers for the endpoint data, potentially saving multiple KiB
of unused buffer space. These allocations are now the responsibility of
the individual USB interfaces in the firmware
2021-11-16 11:21:00 +01:00
MrKevinWeiss
5a66307314
sys/turo: Allow default selection of json 2021-11-16 08:37:45 +01:00
Francisco
5f119e3b6c
Merge pull request #17200 from bergzand/pr/usbus_cdc_ecm/check_max_frame_len
cdc_ecm: Truncate frames at max ethernet size
2021-11-16 07:54:01 +01:00
4573d5f9dc
usbus_control: check received setup request data amount
This adds a check to the usbus control stack to ensure that the amount
of data received with a setup request does not exceed the amount
indicated within the setup request
2021-11-15 19:38:16 +01:00
2ba022221b
cdc_acm: Abort line coding request on incorrect size
This adds a sanity check to the line coding request of the CDC ACM code
to chcek the length parameter in the setup request with the size of the
expected payload struct
2021-11-15 19:36:03 +01:00
3871948015
Merge pull request #17126 from bergzand/pr/benchmark/ztimer
sys/benchmark: Convert to ztimer
2021-11-15 18:56:18 +01:00
cd489cebd1
cdc_ecm: Truncate frames at max ethernet size
This truncates the incomming frames to ETHERNET_FRAME_LEN and silently
discards the rest of the frame until the end of the frame. This should
be modified to an endpoint halt condition after #17090 is merged, but
for now this should be good enough.

Stalling the endpoint with the current stall implementation could cause
a ping of death scenario, so for now the data is truncated until the
above solution can be implemented.
2021-11-15 16:04:13 +01:00
556160b9a3
Merge pull request #17182 from ML-PA-Consulting-GmbH/fix/20211111__sys-suit__deps
sys/suit: adjust dependencies for CoAP transport
2021-11-15 15:27:47 +01:00
8c2f0dd2af
sys/benchmark: Convert to ztimer 2021-11-15 14:14:23 +01:00
Marian Buschsieweke
8a178f49e7
sys/fido2: fix CBOR parsing
The TinyCBOR library takes a `size_t *` length argument in many
functions which at function call contains the length of a buffer, and
at exit the actual size of the data. The FIDO-2 code however uses
`uint8_t` fields in `struct`s to store the data. Previously, a pointer
to that `uint8_t` filed was just casted to `size_t *`, resulting in
three neighboring bytes also being interpreted as being part of the
buffer size - which could result in undetected buffer overflows.
Similar, upon exit of the function not only the `uint8_t` sized length
`struct` member but also three neighboring bytes were written to.

I didn't care to investigate, but this really looks like crafted CBOR
payloads send to the FIDO2 implementation could result in arbitrary
code execution on the device.
2021-11-13 20:32:02 +01:00
Benjamin Valentin
39b8cdf760 sys/random: default to musl LCG
In [0] the paper concludes with

> The Knuth LCG is the most efficient general purpose generator that
> provides decent statistical quality.
> It is simple and lean enough to run on very constrained devices.

So let's select `prng_musl_lcg` to be the default PRNG instead of
`prng_tinymt32`.

This gives a good chunk of memory on e.g. `samr21-xpro`:

prng_tinymt32
-------------

   text	   data	    bss	    dec	    hex	filename
  26452	    136	   2824	  29412	   72e4	tests/rng/bin/samr21-xpro/tests_rng.elf

prng_musl_lcg
-------------

   text	   data	    bss	    dec	    hex	filename
  26208	    136	   2808	  29152	   71e0	tests/rng/bin/samr21-xpro/tests_rng.elf

[0] https://sci-hub.se/10.1145/3453159
2021-11-11 19:59:26 +01:00
Daniel Lockau
9e1e7be77e sys/suit: adjust dependencies for CoAP transport 2021-11-11 13:58:32 +01:00
Karl Fessel
8c3aad1c25 sys/sched_round_robin: Add a round robin scheduler module 2021-11-11 13:18:52 +01:00
Marian Buschsieweke
7b06e665ee
sys/architecture: add HAS_ALIGNMENT_OF() helper 2021-11-11 10:57:26 +01:00
Marian Buschsieweke
7703b37c6f
sys/posix/socket: align struct sockaddr{,_storage}
Align the first member of `struct sockaddr` and
`struct sockaddr_storage` as `uint32_t` to elevate the alignment of the
structure to level of `uint32_t`. This is needed as
`struct sockaddr_in` uses an `uint32_t` to store the IPv4 address,
previously resulting in `struct sockaddr_in` currently having a greater
alignment requirement that `struct sockaddr_storage`.
2021-11-11 09:55:24 +01:00