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

28192 Commits

Author SHA1 Message Date
Sören Tempel
0a189c2d73 fuzzing/gnrc_tcp: Initialize 2020-04-17 17:11:15 +02:00
Sören Tempel
ac9c1f4a69 gnrc_tcp: disable checksum checks during fuzzing 2020-04-17 17:11:15 +02:00
Sören Tempel
24468bead6 fuzzing: Initialize
This adds a new subdirectory called `fuzzing/` which will contain
applications for fuzzing various RIOT network modules in the future.
This subdirectory is heavily inspired by the `examples/` subdirectory.

The fuzzing applications use AFL as a fuzzer. Each application contains
Makefiles, source code, and an input corpus used by AFL to generate
input for fuzzing.
2020-04-17 17:11:15 +02:00
Sören Tempel
65c7bbf76d gnrc_sock: Implement termination condition for fuzzing
The termination condition implemented in gnrc_pktbuf_malloc does not
work when using the sock interface as sock copies packet data to a local
buffer and frees the packet afterwards. As such, the fuzzing application
would exit before performing any input processing.

For this reason, the termination condition in gnrc_pktbuf_malloc is
disabled when using sock. Instead, the application terminates if
gnrc_sock_recv previously returned the fuzzing packet. The underlying
assumption of this implementation is that gnrc_sock_recv is called in a
loop.
2020-04-07 17:48:39 +02:00
Sören Tempel
e0570181e4 gnrc_pktbuf_malloc: Terminate when fuzzing packet is freed
Since RIOT is an operating system the native binary will never terminate
[0]. The termination condition for fuzzing GNRC is that the packet was
handled by the network stack and therefore freed. If it is never freed
we will deadlock meaning a memory leak was found, afl should be able to
detect this through timeouts.

This is currently only supported for gnrc_pktbuf_malloc since this is
the pktbuf implementation I used for fuzzing. Implementing this in
pktbuf.h is not possible.

[0]: Except NATIVE_AUTO_EXIT is defined, however, even with that define
set RIOT will only terminate when all threads terminated. Unfortunately,
gnrc_udp and other network threads will never terminate.
2020-04-07 17:48:39 +02:00
Sören Tempel
9e72f717e0 sys/fuzzing: Initialize
This adds a utility module which is used to write applications for
fuzzing RIOT network modules. The module provides a dummy network
interface which is configured with a static IPv6 addresses for modules
which perform operations on the underlying network interface. Besides,
it contains a utility function for transforming data received on
standard input into a `gnrc_pktsnip_t`.
2020-04-07 17:48:39 +02:00
Sören Tempel
d7104e4992 makefiles/toolchain: add support for afl 2020-04-07 14:24:10 +02:00
067b324645
Merge pull request #11945 from benpicco/EEPROM-m95m01
drivers: add driver for AT25xxx family of EEPROMs
2020-04-07 13:19:21 +02:00
Leandro Lanzieri
d60295db3c
Merge pull request #13720 from aabadie/pr/native_no_export
native: only export NATIVEINCLUDES in vars.inc.mk
2020-04-07 12:55:45 +02:00
Ken Bannister
b32fcd28d1
Merge pull request #13815 from kb2ma/nanocoap/add_canonical_uri_query
net/gcoap: add canonical uri query function names
2020-04-07 06:32:13 -04:00
Benjamin Valentin
5ef52c7dc2 tests: add test for at25xxx EEPROM driver 2020-04-07 12:31:46 +02:00
Benjamin Valentin
97fc2f2af1 drivers: add AT25xxx series EEPROM
This adds a driver for the ST M95xxx series SPI EEPROMs.
The driver has been tested with the M95M01 EEPROM, but should
work with other chips from that family.

SPI-EEPROMs from other vendors from the families AT25xxx, 25AAxxx,
25LCxxx, CAT25xxx & BR25Sxxx should also in the same way.
2020-04-07 12:31:46 +02:00
010aca2638
Merge pull request #13719 from aabadie/pr/boards/flash_export_remove
boards*: remove remaining uses of export with some openocd related variables
2020-04-07 11:58:28 +02:00
1aab4daf8f
boards*: fix position of openocd variable definitions 2020-04-07 11:38:53 +02:00
75e828fdeb
makefiles/openocd: define flash targets in a variable 2020-04-07 11:38:10 +02:00
benpicco
5fe7831152
Merge pull request #13821 from pokgak/pr/fix_dups_sock_dtls
tinydtls_sock_dtls: remove duplicate dtls_handle_message
2020-04-06 21:38:42 +02:00
Ken Bannister
7369fac944 tests/nanocoap: use canonical function name to add Uri-Query option 2020-04-06 06:19:44 -04:00
Ken Bannister
5d95436334 net/cord: use canonical function name to add Uri-Query option 2020-04-06 06:19:44 -04:00
Ken Bannister
04d14ae104 net/gcoap: reference canonical function name to add Uri-Query option 2020-04-06 06:19:44 -04:00
Ken Bannister
d57340c964 net/nanocoap: use new Uri-Query functions as primary implementation 2020-04-06 06:19:44 -04:00
Francisco
2165327bbf
Merge pull request #13794 from aabadie/pr/boards/samd21_bootloader_cleanup
boards/samd21-bootloader*: small cleanup
2020-04-06 09:35:04 +02:00
Marian Buschsieweke
34e3861498
Merge pull request #13817 from benpicco/cpu/lpc2387-timer_num
cpu/lpc2387: fix check for max number of timers
2020-04-05 21:16:47 +02:00
Aiman Ismail
bd0228342d tinydtls_sock_dtls: remove duplicate handle message 2020-04-05 16:11:18 +02:00
Cenk Gündoğan
abd399b934
Merge pull request #13804 from chrysn-pull-requests/uri-test-isabsolute
uri_parser: Fix and test non-relative recognition
2020-04-05 13:42:11 +02:00
Benjamin Valentin
4451765952 cpu/lpc2387: fix check for max number of timers
The CPU has 4 hardware timers.
Configuration for all 4 timers exists, but the compile-time range
check has an off-by-one error, causing the last timer to remain
inaccessible.
2020-04-05 01:56:55 +02:00
Martine Lenders
6e27a8e4a7
Merge pull request #13734 from miri64/tests/enh/rdnss-option
tests: add test to test RDNSS option handling
2020-04-05 01:43:52 +02:00
Martine Lenders
f91f44109c
Merge pull request #13810 from benpicco/examples/gnrc_border_router-multi_zep
examples/gnrc_border_router: allow to configure more than one ZEP device
2020-04-05 01:29:31 +02:00
Martine Lenders
94edc5a4e6
tests: add test to test RDNSS option handling 2020-04-05 01:16:40 +02:00
Martine Lenders
5c95df3151
Merge pull request #13806 from benpicco/sys/net/dhcpv6-multiple_prefixes
sys/net/dhcpv6: fix requesting multiple prefixes
2020-04-05 01:14:27 +02:00
Benjamin Valentin
e83409b8c0 examples/gnrc_border_router: allow to configure more than one ZEP device
Native supports multiple ZEP devices, so add a config option for it to
gnrc_border_router.

This allows for easier testing of border routers with multiple interfaces.
2020-04-05 01:14:03 +02:00
Ken Bannister
127f8ca407
Merge pull request #13805 from benpicco/nanocoap_path
nanocoap: add convenience function for adding path elements
2020-04-04 12:50:16 -04:00
benpicco
e626c520d3
Merge pull request #13814 from gschorcht/cpu/esp32/temp_newlib_fix
tests/libc_newlib: blacklist esp32 boards temporarily
2020-04-04 18:23:40 +02:00
Benjamin Valentin
c8b2483de5 net/gcoap: make use of coap_opt_add_path() 2020-04-04 17:06:04 +02:00
Benjamin Valentin
1a4a5d4a9e nanocoap: add convenience function for adding path elements
Add a convenience function to make adding additional sub-path
options easier.
2020-04-04 17:06:04 +02:00
Ken Bannister
c463c45939 net/nanocoap: add canonical function names to add Uri-Query option 2020-04-04 07:56:58 -04:00
Gunar Schorcht
c7dd22efde tests/libc_newlib: blacklist esp32 boards temporarily
ESP32 boards must be blacklisted for `tests/libc_newlib` to avoid CI compilation errors until the toolchain is updated on all nodes.
2020-04-04 13:33:00 +02:00
benpicco
82e1a62bf4
Merge pull request #13807 from francois-berder/fix-buttons-test
tests: buttons: Fix build failure if BTN0_PIN is not declared
2020-04-03 23:38:16 +02:00
benpicco
c11764786b
Merge pull request #13808 from francois-berder/pic32-update-doc
boards: pic32*: Update documentation
2020-04-03 23:38:07 +02:00
benpicco
f6eacda9f8
Merge pull request #13609 from miri64/dhcpv6-pd_ia/feat/initial
dhcpv6-pd_ia: initial import of a DHCPv6 server bootstrapper
2020-04-03 20:40:38 +02:00
Francois Berder
988763bf89 boards: pic32-wifire: Update UART implementation status in documentation
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2020-04-03 19:20:14 +01:00
Francois Berder
932ba6d9f0 boards: pic32-clicker: Update UART implementation status in documentation
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2020-04-03 19:20:14 +01:00
Francois Berder
d45196e28d tests: buttons: Fix build failure if BTN0_PIN is not declared
On some boards, button 0 does not exist so BTN0_PIN is not defined, but
these boards may define other buttons.

Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2020-04-03 18:48:13 +01:00
benpicco
b87be4bd6e
Merge pull request #13786 from benpicco/cpu/saml21/buck_converter
cpu/saml21: enable buck voltage regulator when possible
2020-04-03 18:12:05 +02:00
benpicco
c3f05e4fc1
Merge pull request #13799 from koos96/fatfs-get_fattime
pkg/fatfs: fix day_of_month value of get_fattime()
2020-04-03 17:51:03 +02:00
benpicco
750db2a910
Merge pull request #13788 from benpicco/drivers/at86rf215_shutdown_fix
drivers/at86rf215: return error when switching state while busy
2020-04-03 17:50:48 +02:00
Pekka Nikander
4534e9b773
cpu/cortexm_common: add irq sub-priorities
This commit enables Cortex-M CPU interrupt sub-priorities
and allows the PendSV interrupt to have a priority different
from the default one.  Together these two preprocessor
defines can be used to have PendSV always run as the last interrupt
before returning from the interrupt stack back to the user space.

Running PendSV as the last interrupt before returning to the
user space is recommended by ARM, as it increases efficiency.
Furthermore, that change enhances stability a lot with the
new nRF52 SoftDevice support, currently being worked in
PR #9473.

This commit merely enables sub-priorities and a separate
PendSV priority to be used without changing the default
RIOT behaviour.
2020-04-03 17:49:31 +02:00
Martine S. Lenders
58a2d13b01
CODEOWNERS: update for dhcpv6-pd_ia 2020-04-03 17:47:39 +02:00
Martine S. Lenders
74b34c2a03
examples: bootstrap host-side DHCPv6 server with gnrc_border_router 2020-04-03 17:47:39 +02:00
Martine S. Lenders
0c51285b9b
dist/tools: provide DHCPv6 server support for network setup scripts 2020-04-03 17:47:39 +02:00
Martine S. Lenders
e6510cb89e
dhcpv6-pd_ia: initial import of a DHCPv6 server bootstrapper 2020-04-03 17:32:51 +02:00