7433 Commits

Author SHA1 Message Date
Benjamin Valentin
795cd165fd ieee802154: add definitions for 802.15.4 PHY modes
This adds PHY modes for IEEE 802.15.4-2003 and IEEE 802.15.4g-2012.
2020-04-15 21:41:19 +02:00
Francisco Molina
2331448644
Makefile: remove usage of SUBMODULES_NOFORCE
With #10970 only existing *.c files will be added to SRC when using
the SUBMODULES mechanism, so SUBMODULES_NOFORCE (used to filter out
non existing source files) is now redundant so remove the usage.
2020-04-15 12:11:44 +02:00
benpicco
e499290f19
Merge pull request #13863 from yogo1212/rtc_iff
tm.h: fix typo
2020-04-14 23:02:25 +02:00
Hendrik van Essen
a0a3e6c3a1 sys/shell: refactor readline function
This makes the code of `readline()` clearer and shorter. It also fixes a
minor artifact of the long line handling.

Previously it was not possible to recover from a long line. That is, if too
many characters were sent, the line would be invalidated and pressing backspace
would not fix it- the only option was to discard the line. It is now possible
to bring the line back to size. Note that visual effects when deleting characters
will still depend on the host's terminal.

The new code is written in a way that all writes to memory are guarded by
bounds check, so an assertion was removed.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2020-04-14 15:38:56 +02:00
Hendrik van Essen
45f898563a sys/shell: remove ifdefs in the middle of code
ifdefs in the middle of code reduce the readability
and debugability and should be avoided.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2020-04-14 15:38:54 +02:00
Hendrik van Essen
268d1b2305 sys/shell: remove useless "inline prevention"
There was some code added to "prevent putchar from being inlined", which
supposedly enlarged the code size.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2020-04-14 14:34:58 +02:00
Leandro Lanzieri
b4655f6c91
Merge pull request #13848 from fjmolinas/pr_ccm_no_plaintext
sys/crypto/modes/ccm: handle input_len = 0
2020-04-14 10:49:54 +02:00
Martine S. Lenders
085c62ecdc
xtimer_core: piggy-back style fixes 2020-04-10 12:42:32 +02:00
Francisco Molina
8372286591
sys/crypto/modes/ccm: accept input_len=0
CCM may be used on messages with no plaintext data.
2020-04-10 10:41:01 +02:00
Martine S. Lenders
212fe15786
xtimer: set now pointer correctly in _update_short_timers() loop
This fixes `xtimer` to use `xtimer_now64()` instead of `xtimer_now()`
for updating the `*now` variable during the iteration in
`_update_short_timers()` function. The same function is used to
initialize `*now` in `_timer_callback()` below.

While using `xtimer_now()` in this iteration step does not hinder the
proper execution of all timers in the short term timers (for those the
`xtimer` module only looks at the `start_time` member, not the
`long_start_time` member) at least for the current long term time window
(I did not test higher cases), it sets the `long_start_time` member to 0
for all timers following in the list of timers after this iteration
step. However, external modules that rely on this to be correct,
e.g. evtimer [1], fail their calculations when trying to compare to
the current value to `xtimer_now64()`.

[1] https://github.com/RIOT-OS/RIOT/blob/11f3d68/sys/evtimer/evtimer.c#L118-L121

Co-Authored-By: Cenk Gündoğan <mail+dev@gundogan.net>
2020-04-10 00:02:33 +02:00
Leandro Lanzieri
a06d9bbb66
Merge pull request #13315 from jia200x/pr/kconfig/ieee802154
ieee802154: Expose configurations to Kconfig
2020-04-08 19:34:55 +02:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Jose Alamos
d33e44a85c ieee802154: Expose configurations to Kconfig 2020-04-08 18:28:23 +02:00
Leandro Lanzieri
dddeb54e7d
usbus/cdc/ecm: Expose configurations to Kconfig 2020-04-08 16:31:46 +02:00
Leandro Lanzieri
8b857844fc
usbus/cdc/ecm: Move USBUS_CDC_ECM_CONFIG_SPEED to 'CONFIG_' 2020-04-08 16:30:58 +02:00
Leandro Lanzieri
335b0ceb50
usbus/cdc/ecm: Move USBUS_CDC_ECM_CONFIG_SPEED_UPSTREAM to 'CONFIG_' 2020-04-08 16:27:04 +02:00
Leandro Lanzieri
88e50658f3
usbus/cdc/ecm: Move USBUS_CDC_ECM_CONFIG_SPEED_DOWNSTREAM to 'CONFIG_' 2020-04-08 16:24:59 +02:00
Koen Zandberg
14706d7423
Merge pull request #13243 from leandrolanzieri/pr/kconfig_migrate/net/nanocoap
net/nanocoap: Expose configurations to Kconfig
2020-04-08 10:51:54 +02:00
Martine Lenders
475048ab2f
Merge pull request #13833 from benpicco/dist/tools/sliptty-fix
gnrc_dhcpv6_client: fix for SLIP link-layer
2020-04-08 10:05:02 +02:00
Benjamin Valentin
f198d689be gnrc_dhcpv6_client: fix for SLIP link-layer
In a point-to-point serial connection, we don't have L2 addresses.
Set the link type & packet length accordingly and we will get a
prefix from KEA.
2020-04-07 22:08:57 +02:00
Ken Bannister
1ff78879ff net/nanocoap: remove obsolete functions to add Uri-Query option 2020-04-07 12:17:41 -04: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
Leandro Lanzieri
0137a06896
net/nanocoap: Expose configurations to Kconfig 2020-04-07 17:00:55 +02:00
Leandro Lanzieri
e80dcf2d8b
net/application_layer: Add Kconfig file and CoAP menu 2020-04-07 17:00:54 +02:00
Leandro Lanzieri
b6be8af81c
net/nanocoap: Move NANOCOAP_QS_MAX to 'CONFIG_' namespace 2020-04-07 17:00:53 +02:00
Leandro Lanzieri
2f72189aa2
net/nanocoap: Move NANOCOAP_BLOCK_SIZE_EXP_MAX to 'CONFIG_' namespace 2020-04-07 17:00:53 +02:00
Leandro Lanzieri
4052c01e85
net/nanocoap: Move NANOCOAP_URI_MAX to 'CONFIG_' namespace 2020-04-07 17:00:53 +02:00
Leandro Lanzieri
c84576ef6e
net/nanocoap: Move NANOCOAP_NOPTS_MAX to 'CONFIG_' namespace 2020-04-07 17:00:52 +02:00
Koen Zandberg
c81c8ed104
Merge pull request #13375 from leandrolanzieri/pr/kconfig_migrate/sys/usbus_cdc
usbus/cdc/acm: Expose configurations to Kconfig
2020-04-07 15:00:36 +02:00
Leandro Lanzieri
934bede70e
usbus/cdc/acm: Expose configurations to Kconfig 2020-04-07 14:34:57 +02:00
Leandro Lanzieri
51c4f119a5
usbus/cdc/acm: Move USBUS_CDC_ACM_BULK_EP_SIZE to 'CONFIG_' namespace 2020-04-07 14:34:56 +02:00
Leandro Lanzieri
cd3ac726d9
usbus/cdc/acm: Move USBUS_CDC_ACM_STDIO_BUF_SIZE to 'CONFIG_' namespace 2020-04-07 14:34:52 +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
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
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
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
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
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
Benjamin Valentin
0e5595cffd sys/net/dhcpv6: fix requesting multiple prefixes
There were two subtle bugs that prevented the DHCPv6 client to request
multiple prefixes for different interfaces.

 - `dhcpv6_client_req_ia_pd()` would fill up *all* leases with the same interface
 - `_parse_reply()` would return after parsing the first answer

With this patch, `gnrc_border_router` gets a prefix on both interfaces of the at86rf215.
2020-04-03 17:02:57 +02:00
chrysn
050af95666 uri_parser: Fix relative recognition
Relative refernces with colons in their names can not be told by their
first character alone.
2020-04-03 15:22:13 +02:00
Cenk Gündoğan
f1bf9693a6
Merge pull request #13803 from chrysn-pull-requests/uri-terminology-strictness
uri_parser: terminology strictness
2020-04-03 15:21:42 +02:00
Cenk Gündoğan
fca7548762
Merge pull request #13374 from leandrolanzieri/pr/kconfig_migrate/sys/usbus
sys/usbus: Expose configurations to Kconfig
2020-04-03 15:19:22 +02:00
Leandro Lanzieri
06920a1f7a
sys/usbus: Expose configurations to Kconfig 2020-04-03 14:45:27 +02:00
Leandro Lanzieri
4d47921947
sys/usbus: Move USBUS_EP0_SIZE to 'CONFIG_' namespace 2020-04-03 14:45:26 +02:00