1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-17 18:43:50 +01:00

10937 Commits

Author SHA1 Message Date
Joshua DeWeese
c3a4beb200 treewide: make use of new IPv4 static init macro
This commit makes use of the newly added static initializer for IPv4
addresses.
2024-02-08 10:14:24 -05:00
Michel Rottleuthner
12982a0f14 gcoap: update documentation on supported features 2024-02-08 15:48:32 +01:00
Michel Rottleuthner
45a84af346 gcoap: clear observe state on RST response to notification
In order to properly handle an observe cancellation of a client, the server has to keep track of the notification MIDs (to be able to match an RST to a notification), see [RFC7641, 3.6 Cancellation](https://www.rfc-editor.org/rfc/rfc7641.html#section-3.6) for mor details. An alternative to this would be to make either the client send an explicit observe deregister request, or make the server send the next notification via CON (which hten allows matching of the RST due to the CON state).
2024-02-08 15:48:32 +01:00
Michel Rottleuthner
94e8786715 gcoap: issue RST on unknown observe notifications 2024-02-08 15:48:32 +01:00
Michel Rottleuthner
ab821a1dda gcoap: add api to forget a client-side observe request 2024-02-08 15:48:32 +01:00
Michel Rottleuthner
5956e93d58 gcoap: split find-memo utility functions
This splits the _find_req_memo util function into multiple variants that match on different things. This is done in preparation of a feature that has to find a request based on a token value, without creating an artificial pdu for that. A nice side effect is that it also makes the calls to the find functions a bit more readable by not relying on an anonymous bool input.
2024-02-08 15:40:45 +01:00
Michel Rottleuthner
c003e5ed9c gcoap: keep request on observe notification 2024-02-08 15:40:45 +01:00
benpicco
82d9e79f21
Merge pull request #20354 from Enoch247/add-ipv4-init-macro
sys/net/ipv4: add IPV4_ADDR_INIT() macro
2024-02-07 19:01:54 +00:00
Joshua DeWeese
bcc0d01c08 sys/net/ipv4: add IPV4_ADDR_INIT() macro
This patch adds a macro to statically initialize an IPv4 address.
2024-02-07 10:08:16 -05:00
Benjamin Valentin
bfdda46055 sys/shell/ping: print error when DNS resolve fails 2024-02-07 16:02:04 +01:00
Benjamin Valentin
453a8be4f3 sys/cpp_new_delete: always enable the module when C++ is used 2024-02-07 11:40:23 +01:00
benpicco
83f3c4a396
Merge pull request #20342 from fabian18/pr/fix_router_lifetime_and_ft_add_api
ipv6/nib: fix router lifetime handling in RIO and fix gnrc_ipv6_nib_ft_add() api
2024-02-06 19:38:12 +00:00
Fabian Hüßler
fef5c8c5d8 ipv6/nib: fix lifetime handling in RIO handling 2024-02-06 18:35:05 +01:00
Fabian Hüßler
c4ae9063e9 ipv6/nib: fix gnrc_ipv6_nib_ft_add API and catch overflovs 2024-02-06 18:35:05 +01:00
Martine Lenders
a16199f846
Merge pull request #20343 from fabian18/pr/fix_ipv6_nib_cancel_timers
ipv6/nib: cancel timers when NIB entry gets deleted
2024-02-06 16:24:11 +00:00
Fabian Hüßler
2b8b828a53 ipv6/nib: move internal event timer API up 2024-02-06 10:30:59 +01:00
Fabian Hüßler
eb1a827e21 ipv6/nib: delete router timeout when router is deleted 2024-02-06 10:29:48 +01:00
Fabian Hüßler
f8a64e74c4 ipv6/nib: delete route timeout when forward table entry is deleted 2024-02-06 10:29:40 +01:00
Fabian Hüßler
de4142de37 ipv6/nib: delete prefix timeout when prefix list entry is deleted 2024-02-06 10:29:30 +01:00
benpicco
4d9e8a8dde
Merge pull request #20335 from fzi-haxel/pr/native64-board
native64: Separate board for 64-bit native
2024-02-05 22:58:02 +00:00
Frederik Haxel
d1f1f8a2c3 sys/psa_crypto: Use PRIuSIZE in debug messages 2024-02-05 22:02:27 +01:00
Frederik Haxel
0c2cfe99e6 native64: Add Linux/x86_64 board
Adds a separate board for native64 instead of the `NATIVE_64BIT` workaround.
The files in `boards/native64` are more or less dummy files and just include
the `boards/native` logic (similar to `openlabs-kw41z-mini-256kib`).
The main logic for native is in `makefiles/arch/native.inc.mk`, `cpu/native`
and `boards/native`.

The remaining changes concern the build system, and change native board checks
to native CPU checks to cover both boards.
2024-02-05 22:01:40 +01:00
Benjamin Valentin
b729fe3237 sys/shell: add RIOT_VERSION_EXTRA output
This allows to define an extra string that will be output as part
of the version command.

e.g. an application may define

RIOT_VERSION_EXTRA += v1.33.7
RIOT_VERSION_EXTRA += flashed by $(shell whoami
2024-02-05 14:18:14 +01:00
benpicco
85dcc1bd3b
Merge pull request #19742 from benpicco/shell_cmd_udptty
shell/cmds: add udptty command
2024-02-02 16:28:26 +00:00
Benjamin Valentin
13deed1a83 shell/cmds: add udptty command 2024-02-02 12:55:25 +01:00
benpicco
22dbbf4a07
Merge pull request #20319 from chrysn-pull-requests/rust-simplifications
makefiles/cargo: Remove CARGO_CHANNEL and other simplifications
2024-02-02 08:07:02 +00:00
Marian Buschsieweke
3b3da09ec6
Merge pull request #20313 from maribu/sys/byteorder/cleanup-implementation
sys/byteorder: clean up implementation
2024-02-02 05:38:33 +00:00
Marian Buschsieweke
e14b309c42
sys/byteorder: clean up implementation
This changes the implementation to be solely build upon `endian.h`
and `unaligned.h`.

This turns `byteorder.h` basically in syntactic sugar on top of the
`<endian.h>` API, reducing the complexity of the implementation and,
hence, the maintenance effort.

Note that yields a small ROM reduction as well *yeah!*

```
make BOARD=nrf52840dk RIOT_CI_BUILD=1 BUILD_IN_DOCKER=1 -C tests/unittests
```

Yields before this commit:

```
   text	  data	   bss	   dec	   hex	filename
 417788	  2200	 28640	448628	 6d874	/data/riotbuild/riotbase/tests/unittests/bin/nrf52840dk/tests_unittests.elf
```

And with this commit:

```
   text	  data	   bss	   dec	   hex	filename
 417756	  2200	 28640	448596	 6d854	/data/riotbuild/riotbase/tests/unittests/bin/nrf52840dk/tests_unittests.elf
```
2024-02-01 18:24:40 +01:00
Benjamin Valentin
7cbf516e3b event_periodic_callback: add getter for interval & count 2024-02-01 17:11:37 +01:00
chrysn
16153d73cc rust: Selectively update riot-wrappers and -sys
This pulls in embedded-nal 0.7 implementations, and (on both crates)
alterations that decouple riot-wrappers from riot-sys and simplify build
system integration, and do away with the need for passing
RIOT_USEMODULE.
2024-02-01 13:53:42 +01:00
benpicco
d00fdcb301
Merge pull request #20030 from benpicco/nanocoap_fileserver
gcoap_fileserver: rename to nanocoap_fileserver
2024-02-01 09:08:49 +00:00
benpicco
4934504c93
Merge pull request #20314 from benpicco/nanocoap_sock-debug
nanocoap_sock: improve debug output
2024-01-31 21:20:09 +00:00
Marian Buschsieweke
9723a8d5f4
sys/endian: move form sys/libc
Move the <endian.h> header from `sys/libc/include` to `sys/include`.
2024-01-31 20:14:46 +01:00
Marian Buschsieweke
10e896390d
sys/libc/endian.h: fix compilation with older newlib
Older versions of newlib already provide the magic endian numbers
via `machine/endian.h`, which may be indirectly included. This changes
the header to only provide the macros if the are not provided otherwise.
For sanity, it checks if the values are indeed the expected magic
numbers, even if provided from other sources.
2024-01-31 14:50:36 +01:00
Marian Buschsieweke
0d01356c9c
sys/libc/endian: fix compilation on AVR
There is no need to use `__uint16_t` instead of `uint16_t` etc., so
let's just go with `uint16_t` and have AVR GCC happy.
2024-01-31 14:46:24 +01:00
Marian Buschsieweke
e5f69206ad
sys/libc/endian.h: fix magic constants
The constants BIG_ENDIAN etc. were not consistently defined. This
bug was not caught by the unit tests, as the preprocessor would
treat undefined macros as being `0` in numeric comparisons, hence
the following test did select the correct implementation:

```C
#if BYTE_ORDER == LITTLE_ENDIAN
/* correct implementation for all currently supported boards */
#endif
```

This adds now an explicit test to the unit tests to ensure that the
magic numbers are consistently the correct values. Hence, this bug
should no longer be able to sneak in.

Co-authored-by: Teufelchen <9516484+Teufelchen1@users.noreply.github.com>
2024-01-31 14:46:24 +01:00
Han Xinrong
bf3c038fa9 sys/random/fortuna/fortuna.c:add error check of aes_encrypt() 2024-01-30 19:04:01 +01:00
Benjamin Valentin
be399d59d0 gcoap_fileserver: rename to nanocoap_fileserver 2024-01-30 16:59:00 +01:00
Benjamin Valentin
a76feeb70e nanocoap_sock: improve debug output 2024-01-30 16:33:55 +01:00
benpicco
7c8c522a73
Merge pull request #20309 from jia200x/pr/fix_tnt_loopback
gnrc_ipv6: fix double-free when pinging TNT loopback address
2024-01-30 11:54:48 +00:00
Marian Buschsieweke
e085ad02af
Merge pull request #20310 from maribu/libc/endian
sys/libc: add endian.h
2024-01-30 11:48:45 +00:00
Marian Buschsieweke
68018fe182
sys/libc: add endian.h
This provides glibc, NetBSD, FreeBSD compatible endian.h header with a
lean and simple API to convert between host byte order to little endian
and big endian and the other way around.
2024-01-30 10:59:28 +01:00
chrysn
55cbb7bdfa
Merge pull request #20303 from chrysn-pull-requests/rust-updates
treewide: Rust updates
2024-01-29 19:54:32 +00:00
Jose Alamos
8dc5e9109e
gnrc_ipv6: fix double free when pinging TNT loopback address 2024-01-29 14:34:41 +01:00
Fabian Hüßler
278dec22b1 vfs: fix FATFS_VFS_FILE_BUFFER_SIZE for increased VFS_NAME_MAX 2024-01-29 11:54:21 +01:00
chrysn
002cd42e26 treewide: cargo update 2024-01-27 09:41:26 +01:00
benpicco
2d459157f1
Merge pull request #20284 from benpicco/coap_build_reply_header
nanocoap: add coap_build_reply_header()
2024-01-24 22:00:57 +00:00
chrysn
52b0c8087b
Merge pull request #20294 from Teufelchen1/chore/rpl_format
routing/rpl: Fixing styling & format
2024-01-24 12:08:05 +00:00
Teufelchen1
1407d4b638 net/rpl: Major style fixes using uncrustify 2024-01-24 11:47:28 +01:00
Teufelchen1
8f6d5b2cb4 net/rpl: Minor style fixes 2024-01-24 11:45:32 +01:00