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

9102 Commits

Author SHA1 Message Date
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
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
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
Kevin "Tristate Tom" Weiss
da60ba5fff
Merge pull request #17165 from leandrolanzieri/pr/sys/ztimer_kconfig_entry
sys/ztimer: rework Kconfig

To eliminate circular dependencies based in periph_rtc and xtimer_ztimer_compatibility the following changes are applied:
- Change entrypoint of ztimer as a specific backend is always required
- Add a non-module symbol for ztimer_usec that bring in the ztimer and ztimer_usec module which allows the xtimer ztimer compatibility layer to only select the ztimer_usec module preventing circular dependency issues
2021-11-11 09:21:33 +01:00
dba51edc69 net/uhcp[cd]: use modules to select client/server code 2021-11-09 21:42:45 +01:00
Leandro Lanzieri
703e66b4c1
sys/ztimer/kconfig: change entry point 2021-11-09 15:32:34 +01:00
Leandro Lanzieri
3837286750
sys/{x,z}timer/Kconfig: fix compatibility modules 2021-11-09 15:32:33 +01:00
Martine Lenders
4b2ca7a702
Merge pull request #16986 from benpicco/uhcp-debug
sys/net/uhcp: use LOG_DEBUG instead of LOG_INFO
2021-11-09 12:58:16 +01:00
Marian Buschsieweke
f7bed004ff
Merge pull request #17153 from maribu/sys/net/dns
sys/net/dns: mark dns_hdr_t as packed
2021-11-07 07:52:16 +01:00
Marian Buschsieweke
2e6eca1918
sys/net/dns: mark dns_hdr_t as packed
This structure is used to parse data from unaligned buffers, so make
sure the compiler issues instructions suitable for unaligned memory
access.
2021-11-06 20:16:56 +01:00
benpicco
1f11780c02
Merge pull request #17119 from spectraphilic/sdi12-remote
pkg/arduino_sdi_12: support the remote-revb board
2021-11-06 11:32:54 +01:00
J. David Ibáñez
77df3eedbd sys/arduino: millis() expected to have C linkage
This fixes building tests/pkg_arduino_sdi_12 for the hifive1b board.

The problem is, in build/pkg/arduino_api/api/Common.h millis is defined
within an extern "C" block. While in sys/arduino/include/arduino.hpp it
was not.
2021-11-05 10:21:26 +01:00
eaa007d412
Merge pull request #17135 from bergzand/pr/usbdev/fix_cppcheck_vera
usb(dev|bus): Fix static-check issues
2021-11-05 08:36:53 +01:00
9f510fb1ab
usbus/cdc_acm: resolve vera++ issues 2021-11-04 13:49:35 +01:00
df39337ebf
usbopt: resolve vera++ issues 2021-11-04 13:49:34 +01:00
86aa665cbc
usbus_hid: Fix possible null pointer dereference 2021-11-04 13:45:19 +01:00
b0d5e9a027
Merge pull request #17128 from dylad/pr/usbus/dfu/fix_underflow_condition
usbus/dfu: fix underflow condition while updating firmware
2021-11-04 09:50:18 +01:00
Dylan Laduranty
64a82c9a78 usbus/dfu: fix underflow condition while updating firmware
Reports dfuERROR if underflow is detected or if flash write failed
Implement DFU control CLRSTATUS while at it to clear dfuERROR by the host
2021-11-03 17:06:27 +01:00
1fa8bcc9d2
Merge pull request #17123 from bergzand/pr/stdio_semihosting/ztimer
stdio_semihosting: Convert to ztimer
2021-11-03 16:22:45 +01:00
benpicco
47029055a6
Merge pull request #8954 from zhuoshuguo/gnrc_gomach/adapt_duty_recode_para_name
gnrc_gomach: adapt duty recording parameters' namings.
2021-11-03 12:56:39 +01:00
4cfb155397
stdio_semihosting: Add unit clarification to poll define 2021-11-03 11:39:26 +01:00
2b696fd770
stdio_semihosting: Convert to ztimer 2021-11-03 11:39:26 +01:00
Martine Lenders
67f67bfe62
Merge pull request #17076 from jenswet/feature/add-fff-package
pkg/fff: Add fake functions framework package
2021-11-03 11:00:56 +01:00
Francisco
8e0d5efaa2
Merge pull request #17113 from fjmolinas/pr_ztimer_sec_no_rtc
sys/ztimer: don't default to rtc for ztimer_sec
2021-11-02 22:08:37 +01:00
Jens Wetterich
14f90f3c5e pkg/fff: Add fake functions framework package 2021-11-02 18:01:21 +01:00
Francisco
0bbcf4863f
Merge pull request #17006 from yarrick/ifconfig_help
sys/shell/gnrc_netif: Allow 'ifconfig help'
2021-11-02 16:32:59 +01:00
Francisco Molina
2e4dfa0aac sys/ztimer: don't default to rtc for ztimer_sec 2021-11-02 15:31:04 +01:00
Francisco
1ef44844e0
Merge pull request #17085 from bergzand/pr/cdcacm/stall_on_no_line_coding
usbus/cdc_acm: Return stall on line coding not supported
2021-11-02 13:04:26 +01:00
Leandro Lanzieri
f64b166319
Merge pull request #16845 from MrKevinWeiss/pr/kconfig/supportstms
.murdock: Add nucleo boards to kconfig test
2021-11-01 09:55:22 +01:00
Leandro Lanzieri
4011bd9edf
Merge pull request #16780 from fjmolinas/pr_kconfig_uwb
pkg/uwb*: add Kconfig dependency modelling
2021-11-01 09:35:29 +01:00
6a509308fe
usbus/cdc_acm: Return stall on line coding not supported
The SetLineCoding request is optional to support (CDC PSTN subclass). No
need to claim to support it to the host and actually discard the data if
it is not supported by the implementation.
2021-10-30 11:56:42 +02:00
Benjamin Valentin
358aa11d48 ztimer/xtimer_compat: implement trivial functions
xtimer_ticks64_t / xtimer_ticks32_t is no longer a struct, so these are
even more trivial than on xtimer.
2021-10-29 00:45:01 +02:00
J. David Ibáñez
a651315fbe sys/arduino: add interrupts/noInterrupts
This fixes the error:

$ BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/
[...]
[...]/RIOT/build/pkg/arduino_sdi_12/src/SDI12.cpp:379:7: error: ‘interrupts’ was not declared in this scope
2021-10-28 15:59:48 +02:00
chrysn
a92cdb535e
Merge pull request #16378 from chrysn-pull-requests/gcoap-handle-truncation
sys/net/gcoap: Use socket _buf API to recognize truncated requests
2021-10-27 08:55:52 +02:00
Dylan Laduranty
aa4383104f
Merge pull request #17051 from bergzand/pr/riotboot_dfu/ztimer
riotboot_dfu: use ztimer instead of xtimer
2021-10-26 20:49:26 +02:00
5dfc4725c8
usbus_dfu: Use ztimer for reboot timeout 2021-10-26 14:14:46 +02:00
5c01e14b7a
riotboot_dfu: Add ztimer_msec dependency 2021-10-26 14:14:45 +02:00
261a615439
ztimer: Use auto_init for manual init in bootloaders 2021-10-25 22:24:07 +02:00
4bec2f0723
Merge pull request #17034 from fjmolinas/pr_turo_optional_space_after_symbol
sys/test_utils/result_output/json: optional space after symbol
2021-10-25 22:31:16 +03:00
benpicco
2aab2b83bc
Merge pull request #17046 from bergzand/pr/usb/deprecate_fail_report
usbdev/USBUS: deprecate transfer failure reporting report
2021-10-25 16:27:01 +02:00
0ce6bfc1a2
usbus: Deprecate USBUS_HANDLER_FLAG_TR_FAIL event 2021-10-24 19:33:29 +02:00
Erik Ekman
ccfe80c844 sys/shell/gnrc_netif: Allow 'ifconfig help'
Currently a valid netif name must be passed to show the usage
instructions:

```
> ifconfig help
error: invalid interface given
> ifconfig 6 help
usage: ifconfig
usage: ifconfig <if_id> [up|down]
[...]
```

`ifconfig --help` is also accepted.
2021-10-22 14:14:58 +02:00
4bee52a693 sys/test_utils/result_output: fix turo_float() precision value
`print_float()` only allows values from 0-7.
2021-10-22 12:49:16 +02:00
Francisco Molina
720338b304 sys/test_utils/result_output/json: optional space after symbol 2021-10-22 12:31:03 +02:00
Francisco
abbf798e8e
Merge pull request #17027 from kaspar030/turo_json_fixes
turo: some json fixes
2021-10-22 10:48:29 +02:00
99dbed9ce7 turo: fix json toru_float() precision value 2021-10-21 13:02:48 +02:00
1c8a8bf6c4 turo: add space after JSON comma 2021-10-21 13:02:21 +02:00
Karl Fessel
c9f4d11c52
Merge pull request #16966 from yarrick/net_v6
sys/net: Add ipv4/ipv6 pseudomodules

to ease code unification
2021-10-20 11:58:26 +02:00
0486c0dba7
Merge pull request #17001 from kaspar030/support_picolibc_stdio_globals
sys/picolibc_syscalls_default: support new picolibc stdio globals
2021-10-20 12:17:14 +03:00
Martine Lenders
44927b493f
Merge pull request #16967 from miri64/dsm/enh/peer-sync
dsm: rename DTLS_PEER_MAX and make it dependent on CONFIG_DTLS_PEER_MAX
2021-10-18 16:27:26 +02:00
27b9c6da06 sys/picolibc_syscalls_default: support new picolibc stdio globals 2021-10-18 12:02:33 +02:00
benpicco
525fe24576
Merge pull request #16992 from miri64/dhcpv6_client/bug/fix-retrans-calc
dhcpv6_client: keep integers in retransmission calculations signed
2021-10-16 17:47:34 +02:00
Martine Lenders
b1b0a9b4f5
dhcpv6_client: add comment on why the division is needed 2021-10-15 17:36:13 +02:00
Martine Lenders
d844de2263
dhcpv6_client: keep integers in retransmission calculations signed 2021-10-15 17:35:46 +02:00
Benjamin Valentin
9d5808d756 gnrc/ipv6_auto_subnets: set RIO priority to ZERO
This is required for Linux to accept the RIO

with this patch:

2001:db8:8000::/33 via fe80::d0e7:ffff:fe46:6b52 dev tap0 proto ra metric 1024 expires 86338sec pref medium
2001:db8::/32 dev tap0 proto kernel metric 256 pref medium

before:

2001:db8::/32 dev tap0 proto kernel metric 256 pref medium
2021-10-15 15:57:59 +02:00
Benjamin Valentin
0e7b8d09d5 gnrc_ipv6_nib: fix setting RIO flags
We have to use NDP_OPT_RI_FLAGS_MASK, not NDP_OPT_PI_FLAGS_MASK.
This fixes flags always being 0.
2021-10-15 15:49:13 +02:00
Benjamin Valentin
35b727c7be sys/net/uhcp: cleanup 2021-10-14 14:20:46 +02:00
Benjamin Valentin
f74c795033 sys/net/uhcp: use LOG_DEBUG instead of LOG_INFO
uhcp is pretty noisy compared to DHCPv6 as INFO log level is enabled
by default.

Tone it down to LOG_DEBUG to keep the output clean.
2021-10-14 14:09:17 +02:00
MrKevinWeiss
9b6a63a951
drivers/kconfig: simplify shared rtt/rtc hardware in kconfig 2021-10-14 11:28:46 +02:00
MrKevinWeiss
c7820cf7e5
*/rtt|rtc: Fix Kconfig modeling 2021-10-14 11:28:44 +02:00
MrKevinWeiss
8140037e04
sys/arduino: Fix arduino_pwm Kconfig 2021-10-14 11:28:39 +02:00
benpicco
f8c8abf75d
Merge branch 'master' into gnrc_gomach/adapt_duty_recode_para_name 2021-10-13 17:36:21 +02:00
benpicco
94c852cfa7
Merge pull request #16963 from miri64/gcoap_dtls/fix/session-destroy-only-on-conn-errors
gcoap_dtls: destroy session in _tl_send only on connection errors
2021-10-12 13:35:16 +02:00
Erik Ekman
ff7bf09313 sys/net/sock: Set SOCK_HAS_IPV6 in one place
Based on ipv6 pseudomodule
2021-10-11 21:37:39 +02:00
Martine Lenders
e74b54d3ae
gcoap_dtls: destroy session in _tl_send only on connection errors 2021-10-08 12:24:57 +02:00
Martine Lenders
65ff161b3a
dsm: make CONFIG_DSM_PEER_MAX depend on CONFIG_DTLS_PEER_MAX 2021-10-08 12:15:53 +02:00
Martine Lenders
945b05886b
dsm: rename DTLS_PEER_MAX to CONFIG_DSM_PEER_MAX
To make avoid confusion with tinydtls's `DTLS_PEER_MAX` and
`CONFIG_DTLS_PEER_MAX`
2021-10-08 12:15:16 +02:00
Martine Lenders
a2cd5ed903
dtls: set CONFIG_DTLS_PEER_MAX in dtls.h header 2021-10-08 12:10:28 +02:00
Erik Ekman
3df56d576f sys/net: Add ipv6 pseudomodule
Enabled when GNRC, lwIP or OpenWSN uses IPv6
2021-10-08 10:27:22 +02:00
Jose Alamos
d7f4d5b0bd
ieee802154/submac: avoid race condition between RX_DONE and ACK_TIMEOUT 2021-10-07 14:34:34 +02:00
Francisco Molina
9cb27b910a sys/sema/Kconfig: fix inclusion of xtimer
sema currently does not depend on xtimer, but on xtimer or ztimer
2021-10-06 17:59:49 +02:00
Hauke Petersen
b985ad2330 sys/shell/sc_nimble_netif: add ping subcommand 2021-10-06 16:47:34 +02:00
Karl Fessel
fa1456ac99
Merge pull request #16951 from kfessel/p-fix-autoinit-indent
sys/auto_init: fix indention
2021-10-05 17:05:27 +02:00
Francisco
93bff48538
Merge pull request #16909 from leandrolanzieri/pr/cpu/riscv/model_kconfig
cpu/riscv: model Kconfig
2021-10-05 16:51:17 +02:00
Karl Fessel
47e83917c3 sys/auto_init: fix indention 2021-10-05 14:15:57 +02:00
Martine Lenders
e804a738de
Merge pull request #16947 from miri64/gnrc_ipv6_nib/fix/queue-pkts-on-6lbr
gnrc_ipv6_nib: queue packets that trigger probing on border router
2021-10-05 14:01:17 +02:00