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

7832 Commits

Author SHA1 Message Date
Simon Brummer
10872d9a85 gnrc_tcp: Add Endpoints for connection specification 2020-02-26 21:24:06 +01:00
ef8daaf7be
suit: remove moran-v4 version of the parser
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-02-26 14:54:16 +01:00
ad7c19d584
Merge pull request #8576 from miri64/gnrc_uhcpc/enh/update-context
gnrc_uhcpc: update compression context with new prefix
2020-02-26 14:20:44 +01:00
benpicco
6a0b399b7f
Merge pull request #13474 from gschorcht/sys/expect_reduce_avr_ram
sys/test_utils: reduce the RAM usage by `expect` on AVR
2020-02-26 14:20:08 +01:00
Martine S. Lenders
d99d0a0df0
gnrc_uhcpc: use LOG_INFO() for configuration information 2020-02-26 13:22:56 +01:00
Martine Lenders
8cc9c5ebe7
gnrc_uhcpc: update compression context with new prefix
This updates (or adds) a compression context whenever a new prefix
arrives at the border router. This allows 6LoWPAN to compress said
prefix in the network.

Sadly, there is now way to just remove the context when the prefix is
overwritten, so I do not do it. If an administrator chooses to reset the
prefix they can use `6ctx del` which timeouts the prefix appropriately,
but IMHO it doesn't hurt to keep the old contexts.
2020-02-26 13:22:56 +01:00
Martine Lenders
ec6c07d35d
Merge pull request #13424 from miri64/examples/enh/dhcpv6-br
examples/gnrc_border_router: add optional DHCPv6 support
2020-02-25 20:08:31 +01:00
Gunar Schorcht
f688f84a15
Merge pull request #12928 from benpicco/newlib-multiheap
sys/newlib: enable multiple heaps in _sbrk_r()
2020-02-25 19:16:42 +01:00
Gunar Schorcht
9c726e7eb5 sys: reduce RAM usage by expect on AVR 2020-02-25 16:43:04 +01:00
0e7e1b76cd
sys: remove exports of UNDEF vars 2020-02-25 09:40:34 +01:00
benpicco
d044800300
Merge pull request #13450 from benpicco/dns-fixes
fix DNS resolution in ping6
2020-02-24 21:58:34 +01:00
benpicco
ad56ba8453
Merge pull request #13455 from miri64/sock_async/fix/include-sock_async_ctx.h
sock_async: include `sock_async_ctx.h` before sock-types
2020-02-24 19:09:33 +01:00
Ken Bannister
a2c5ec789b
Merge pull request #13454 from kb2ma/gcoap/fix_vera_warnings
net/gcoap: fix vera++ warnings
2020-02-24 12:53:11 -05:00
Benjamin Valentin
fa4447241f sock_dns: make sock_dns_query() return the length of the address
The implementation already did that, now also reflect this in the
documentation.
2020-02-24 14:29:17 +01:00
Benjamin Valentin
1de14931b8 sock_dns: use the same buffer for request & reply
Saving RAM is more important than saving a few cycles
used by re-creating the request buffer in the error case.

Also reduce the size of the buffer to 128 bytes.
If we are just requesting the AAAA record it is unlikely
for the reply to take up the maximum size of 512 bytes.

We were already placing restrictions on the domain name length,
those are now actually a bit more relaxed (112 bytes instead of 64)
2020-02-24 14:29:17 +01:00
Benjamin Valentin
367f19d390 shell/gnrc_icmpv6_echo: don't do DNS lookup for plain IP
When using ping6 with an IP address, don't do a DNS lookup.
Hostnames can't contain ':', so use that to tell them apart
from plain IP addressees.
2020-02-24 14:21:54 +01:00
Benjamin Valentin
a65daf7a31 shell/gnrc_icmpv6_echo: set success state if DNS query succeeded
We need to set `res` to 0 to signal success, otherwise we end up
in the print usage case.
2020-02-24 14:21:54 +01:00
Benjamin Valentin
e9a40933f7 sock_dns: fix off-by-one error in _parse_dns_reply() 2020-02-24 14:19:50 +01:00
63f805c5b7
Merge pull request #13268 from kaspar030/add_expect_header
sys/test_utils: add expect() header
2020-02-24 13:34:16 +01:00
Martine S. Lenders
9b4dac7f3e
sock_async: include sock_async_ctx.h before sock-types
This way, the sock-types can use the sock_async_ctx_t type in their
definition without including `sock_async_ctx.h` (potentially creating
further cyclic includes).
2020-02-24 12:33:38 +01:00
Ken Bannister
e98a6e5932 net/gcoap: update copyright date 2020-02-24 06:22:04 -05:00
Ken Bannister
c8cd3f0229 net/gcoap: fix vera++ code style warnings 2020-02-24 06:20:43 -05:00
36bb7741ac sys/test_utils: add "expect()" 2020-02-24 11:45:33 +01:00
1e74280308
Merge pull request #13270 from wosym/conn_cann_native
tests/conn_can: fix build error on native
2020-02-24 10:39:29 +01:00
Martine Lenders
cba056d560
Merge pull request #13386 from kb2ma/gcoap/sock_async
net/gcoap: use sock_async and events
2020-02-23 16:17:53 +01:00
Ken Bannister
9b63abb718 net/gcoap: cast required for pic32 platform
Fixes bug found during rework for sock_async implementation.
2020-02-22 05:46:07 -05:00
Ken Bannister
0dc1e4c4e7 net/gcoap: fix when no timeout event
Fixes bug found during rework for sock_async implementation.
2020-02-22 05:46:07 -05:00
Benjamin Valentin
f5a5c5dd2c shell/gnrc_icmpv6_echo: fix build with USEMODULE += sock_dns
To be able to call sock_dns_query() in _configure(), we also
need to include the header file.
2020-02-21 23:56:33 +01:00
f257765ce9
Merge pull request #13433 from haukepetersen/fix_trickle_misc
sys/trickle: remove redundant pid assignment
2020-02-21 20:06:08 +01:00
Martine S. Lenders
0f391a554e sock_async_event: fix typo in tcp_queue function
This was never checked at compile time before so a naming error sneaked
in.
2020-02-21 19:07:47 +01:00
Gunar Schorcht
8dc53cfd7a
Merge pull request #13438 from miri64/sock_async_event/fix/race-condition
sock_async_event: fix race-condition
2020-02-21 19:04:30 +01:00
benpicco
aa00191384
Merge pull request #13256 from MichelRottleuthner/pr_sps30
Add driver for SPS30 particulate matter sensor
2020-02-21 18:58:56 +01:00
Martine Lenders
d26355fbb4 sock_async_event: fix race-condition
If a new event is fired during the execution of the event callback,
`event->type` might change. However as `event->type` is set to 0 after
the execution of the callback, that leads to it being 0 on the next
round of the event handler's execution, leading in the event getting
lost.
2020-02-21 15:52:12 +01:00
benpicco
32e7e840fc
Merge pull request #13428 from benpicco/ping6_ifname
shell/gnrc_icmpv6_echo: print interface id in reply
2020-02-21 15:39:55 +01:00
Benjamin Valentin
d572db83e1 shell/gnrc_icmpv6_echo: print interface id in reply
If there is more than one interface, print the id of the receiving
interface for convenience.

```
ping6 ff02::1
2020-02-20 18:19:38,644 # 12 bytes from fe80::d0ae:c1b:2054:58e%7: icmp_seq=0 ttl=64 rssi=-45 dBm time=4.801 ms
2020-02-20 18:19:38,652 # 12 bytes from fe80::d0ae:c1b:2054:58c%8: icmp_seq=0 ttl=64 rssi=-63 dBm time=13.422 ms (DUP!)
2020-02-20 18:19:38,661 # 12 bytes from fe80::c78:16d9:8aca:ba9a%8: icmp_seq=0 ttl=64 rssi=-44 dBm time=21.819 ms (DUP!)
2020-02-20 18:19:39,648 # 12 bytes from fe80::d0ae:c1b:2054:58e%7: icmp_seq=1 ttl=64 rssi=-44 dBm time=4.797 ms
2020-02-20 18:19:39,657 # 12 bytes from fe80::d0ae:c1b:2054:58c%8: icmp_seq=1 ttl=64 rssi=-61 dBm time=12.917 ms (DUP!)
2020-02-20 18:19:39,666 # 12 bytes from fe80::c78:16d9:8aca:ba9a%8: icmp_seq=1 ttl=64 rssi=-43 dBm time=21.679 ms (DUP!)
2020-02-20 18:19:40,657 # 12 bytes from fe80::d0ae:c1b:2054:58e%7: icmp_seq=2 ttl=64 rssi=-41 dBm time=4.795 ms
```
2020-02-21 13:59:52 +01:00
Hauke Petersen
8cb56fba2d sys/trickle: remove redundant pid assignment 2020-02-21 13:26:24 +01:00
Benjamin Valentin
2ed0dd7405 sys/newlib: enable multiple heaps in _sbrk_r
Some MCUs have non-continuous memory regions.
To support those, iterate over all available memory regions
and allocate the first region that fits.
2020-02-20 17:11:25 +01:00
Martine S. Lenders
b929d013d8
dhcpv6_client: re-send SOLICITs after failed ADVERTISE 2020-02-20 16:41:48 +01:00
benpicco
336bfe54a9
Merge pull request #13366 from bergzand/pr/littlefs2/add_pkg
pkg/littlefs2: Add package for LittleFS v2.x.y
2020-02-20 16:23:59 +01:00
Leandro Lanzieri
ec0e18b821
Merge pull request #12906 from nmeum/pr/remove_gnrc_tftp
gnrc_tftp: remove module
2020-02-20 15:19:23 +01:00
9b02c7b4ee
pkg/littlefs2: Add package for LittleFS v2.x.y 2020-02-20 14:51:45 +01:00
Michel Rottleuthner
7e089bce7b drivers/sps30: add saul integration 2020-02-20 14:26:55 +01:00
Michel Rottleuthner
36fca364f8 sys/phydat: add unit for count per cubic meter 2020-02-20 14:26:55 +01:00
benpicco
410542df90
Merge pull request #13420 from Einhornhool/fix-issue13353
sys/ecc: fix assertion in golay2412
2020-02-20 14:18:55 +01:00
Lena Boeckmann
463178a892 sys/ecc: fix assertion in golay2412 2020-02-20 13:24:14 +01:00
640cbfe77e
Merge pull request #13405 from kaspar030/introduce_riotboot_slot_offset
sys/riotboot: provide riotboot_slot_offset()
2020-02-20 13:03:29 +01:00
Sören Tempel
0e2a620788 gnrc_tftp: remove module
Has been deprecated for awhile (01fc3d8f0b).
2020-02-20 12:04:01 +01:00
benpicco
030e7ebc06
Merge pull request #13307 from miri64/dhcpv6-client-6lbr/feat/init
gnrc_dhcpv6_client_6lbr: initial import of a 6LBR DHCPv6 client
2020-02-20 11:00:35 +01:00
Martine Lenders
c6331bfc77
Merge pull request #13379 from cgundogan/pr/gnrc_rpl_p2p
gnrc_rpl_p2p: several compilation fixes
2020-02-20 10:25:55 +01:00
Martine S. Lenders
db463a3373
gnrc_dhcpv6_client_6lbr: initial import of a 6LBR DHCPv6 client 2020-02-19 17:37:47 +01:00
Martine Lenders
056127bc00
Merge pull request #13396 from leandrolanzieri/pr/net/remove_nhdp
net: Remove NHDP module
2020-02-19 14:34:58 +01:00
9ede06fbbb sys/suit: make use of riotboot_slot_offset() 2020-02-19 10:08:47 +01:00
87fcd061a8 sys/riotboot: provide riotboot_slot_offset() 2020-02-19 10:04:52 +01:00
Leandro Lanzieri
9026823bb9 net: Remove NHDP module
NHDP has been flagged as deprecated in
056bd35e6c, due to lack of maintenance.
2020-02-18 13:20:05 +01:00
8c7ebbdc4f
suit: cleanup of TinyCBOR to NanoCBOR refactor 2020-02-18 11:26:40 +01:00
9866cdd411
Merge pull request #13380 from kaspar030/pm_blocker_one_value
sys/pm_layered: change PM_BLOCKER_INITIAL to single value
2020-02-17 13:07:02 +01:00
Sören Tempel
5cf433806e gnrc_sock_udp: fix null check in port generation function
Still check if the port is unused if no socket has been given.
2020-02-17 10:20:22 +01:00
Ken Bannister
d6fa3c7c2f net/gcoap: add timeout event/handler for server response 2020-02-16 09:17:48 -05:00
Ken Bannister
ea62734baf net/gcoap: add sock_async event handling
Rework from earlier custom event/msg handling.
2020-02-16 09:17:48 -05:00
e1e43118da
suit: Remove non-standard hello handler 2020-02-14 21:38:52 +01:00
f66fd7b1ca sys/pm_layered: change PM_BLOCKER_INITIAL to single value 2020-02-14 12:05:59 +01:00
Cenk Gündoğan
08c3dedf38 gnrc_rpl_p2p: use correct netif functions 2020-02-14 11:42:33 +01:00
Cenk Gündoğan
50423d60cf gnrc_rpl_p2p: use correct parameters for trickle_start() 2020-02-14 11:41:56 +01:00
Cenk Gündoğan
4b58e5d41b gnrc_rpl_p2p: fix cleanup timer usage 2020-02-14 11:41:30 +01:00
benpicco
da78d03e95
Merge pull request #13338 from chrysn-pull-requests/coap-no-deduplication
nanocoap: State handler idempotentcy requirement
2020-02-13 17:36:28 +01:00
Hauke Petersen
e06cbce940 sys/event: add event_wait_timeout64() 2020-02-13 16:18:32 +01:00
fc40b54cae
Merge pull request #13371 from haukepetersen/add_xtimer_settimeoutflag64
xtimer: add xtimer_set_timeout_flag64()
2020-02-13 16:16:45 +01:00
Hauke Petersen
58e381979f xtimer: add xtimer_set_timeout_flag64() 2020-02-13 15:37:14 +01:00
Hauke Petersen
b92f5ccd15 xtimer: properly expose xtimer_usleep64() 2020-02-13 15:13:47 +01:00
8c16e3fef0 sys/auto_init: cleanup / unify debug messages 2020-02-13 11:50:16 +01:00
dfeb4116c8 sys/auto_init: DEBUG -> LOG_DEBUG 2020-02-13 11:50:16 +01:00
87a50c2d6f sys/auto_init: add more DEBUG messages 2020-02-13 11:49:10 +01:00
aa9388b238
Merge pull request #13089 from fjmolinas/pr_auto_init_default_modules
Makefile.dep: auto_init_% as DEFAULT_MODULES
2020-02-12 17:22:34 +01:00
Francisco Molina
e446920cd2
Makefile.dep: add auto_init_gnrc_% MODULEs 2020-02-12 16:51:29 +01:00
Francisco Molina
afc43bf314
Makefile.dep: add auto_init_lwip MODULE 2020-02-12 16:51:29 +01:00
Francisco Molina
802216ce53
Makefile.dep: add auto_init_at86rf2xx MODULE 2020-02-12 16:51:27 +01:00
Francisco Molina
73bf2293bc
Makefile.dep: add auto_init_random MODULE 2020-02-12 16:51:25 +01:00
Francisco Molina
a5a036be43
Makefile.dep: add auto_init_xtimer pseudomodule 2020-02-12 16:51:22 +01:00
ca5ed3e34e
Merge pull request #13352 from fjmolinas/pr_suit_progress_unused_vars
sys/suit/coap: fix unused vars
2020-02-12 16:12:42 +01:00
Francisco Molina
1a9deef303
sys/suit/coap: fix unused vars 2020-02-12 14:58:56 +01:00
benpicco
5b608ef712
Merge pull request #12766 from miri64/gnrc_netapi/enh/report-error
gnrc_netapi: report errors on dispatch
2020-02-11 23:41:39 +01:00
Martine S. Lenders
a0740ee535 gnrc_netapi: report errors on dispatch 2020-02-11 18:16:02 +01:00
c30df3cac9
Merge pull request #7572 from kaspar030/zptr
core: add pointer compression header
2020-02-11 15:25:24 +01:00
5dc32b14cc sys: zptr: initial commit
Provides functionality to compress pointers from 32bit to 16bit if
possible.
2020-02-11 13:59:59 +01:00
chrysn
83c889320d nanocoap: State handler idempotentcy requirement
Closes: https://github.com/RIOT-OS/RIOT/issues/12938
2020-02-11 11:12:08 +01:00
Martine S. Lenders
e94aa40bf5
gnrc_pktbuf: deprecate gnrc_pktbuf_replace_snip()
The function is unused and unneeded since 69d9ecc0d9 and
https://github.com/RIOT-OS/RIOT/issues/5089 calls to provide unittests.
2020-02-11 09:49:57 +01:00
Martine Lenders
ebb20f2d44
Merge pull request #13305 from miri64/gnrc_ipv6_ext_frag_stats/feat/initial
gnrc_ipv6_ext_frag: initial import of statistics module
2020-02-10 20:23:13 +01:00
benpicco
f997f42ade
Merge pull request #13304 from miri64/gnrc_sixlowpan_frag_stats/enh/count-avg-fragments
gnrc_sixlowpan_frag_stats: add average fragments per datagram statistic
2020-02-10 15:23:52 +01:00
Wouter Symons
ae947d5c81 sys/can/conn: Fixup unused code 2020-02-07 13:35:25 +01:00
Gunar Schorcht
3514eecf9d
Merge pull request #12474 from kaspar030/add_event_threads
sys: add shared event threads
2020-02-07 13:29:29 +01:00
e01ad86eb3 sys/event: add shared event threads 2020-02-07 12:17:56 +01:00
Martine S. Lenders
cf69e61289
gnrc_ipv6_ext_frag: initial import of statistics module 2020-02-06 13:48:42 +01:00
Martine S. Lenders
ed9f43ab3a
gnrc_sixlowpan_frag_stats: add average fragments per datagram statistic 2020-02-06 13:40:23 +01:00
benpicco
9607977e15
Merge pull request #13294 from miri64/shell_commands/cleanup/throw-out-non-existant
shell_commands: remove old and redundant lines
2020-02-05 14:46:14 +01:00
Martine S. Lenders
27b86f91c0
shell_commands: remove old and redundant lines 2020-02-05 13:35:48 +01:00
Karl Fessel
4445faaa3a core/shed: remove not needed bitarithm include add missing
bitarithm.h is not needed for the interface of shed but may cause conflicts
due to different definitions of SETBIT and CLRBIT

common implementations are: (value, offset) xor (value, mask) bitarithm
implements the later

frac.c and nrf52/usbdev.c use bitarithm.h but where missing the include

sam0/rtt.c defined a bit using mask from bitarithm,
changed that to the soulution used in sam0/rtc.c
2020-02-05 12:45:29 +01:00
Sören Tempel
b37bed8a1d gnrc_sock_udp: choose random ephemeral port
Implements a random ephemeral port selection as per the second algorithm
from RFC 6056, see https://tools.ietf.org/html/rfc6056#section-3.3.2.
2020-02-03 16:55:00 +01:00
Leandro Lanzieri
5e1ef498a7
Merge pull request #13245 from miri64/gnrc_sixlowpan_frag_rb/enh/doc-fix-kconfig
gnrc_sixlowpan_frag_rb: fix doc on DO_NOT_OVERRIDE
2020-02-03 13:54:37 +01:00
Martine Lenders
02c16479cf
Merge pull request #13244 from miri64/gnrc_ipv6_ext/enh/rbuf-do-not-override
gnrc_ipv6_ext_frag: add configuration option to keep oldest entry
2020-02-03 13:23:20 +01:00
Martine S. Lenders
90ed5bf4af
gnrc_sixlowpan_frag_rb: fix doc on DO_NOT_OVERRIDE 2020-02-03 12:48:19 +01:00
Martine S. Lenders
d99012561a
gnrc_ipv6_ext_frag: add configuration option to keep oldest entry 2020-02-03 12:44:15 +01:00
Gunar Schorcht
34555748dd sys/arduino: fix of compilation error with NDEBUG
When NDEBUG macro is defined during compilation, the assert macro produces empty code. Parameters or variables checked with assert are then unused.
2020-02-03 00:22:37 +01:00
Martine S. Lenders
7e4078a6d1
net/ipv6/ext/rh.h: remove unneeded header includes
Only `<stdint.h>` is used by that header so all the other ones can go.
2020-01-31 18:01:34 +01:00
benpicco
c7b0483549
Merge pull request #12879 from miri64/gnrc_sixlowpan_iphc/feat/nhc-ext
gnrc_sixlowpan_iphc: add support for IPv6 extension header compression
2020-01-31 12:02:47 +01:00
Peter Kietzmann
92c7a7a452
Merge pull request #13014 from Einhornhool/cryptoauthlib_implementation
pkg: add library for Microchip CryptoAuth devices as package
2020-01-31 00:28:30 +01:00
Einhornhool
3dae0ddde5 sys/auto_init: add security module and cryptoauth init 2020-01-30 23:51:48 +01:00
Cenk Gündoğan
0cf8bf1665
Merge pull request #12958 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_ext_hdr
Kconfig: Expose gnrc/ipv6/ext/frag configurations
2020-01-30 19:15:08 +01:00
Martine S. Lenders
0b3f785dfe
gnrc_sixlowpan_iphc: add extension header decoding 2020-01-30 17:59:59 +01:00
Leandro Lanzieri
fe820d8d9d Kconfig: Expose gnrc/ipv6/ext/frag configurations 2020-01-30 17:42:42 +01:00
Leandro Lanzieri
5602bd55ed gnrc/ipv6/ext/frag: Move configurations to 'CONFIG_' namespace
Macros that changed:
GNRC_IPV6_EXT_FRAG_SEND_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_SEND_SIZE
GNRC_IPV6_EXT_FRAG_RBUF_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_RBUF_SIZE
GNRC_IPV6_EXT_FRAG_LIMITS_POOL_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_LIMITS_POOL_SIZE
GNRC_IPV6_EXT_FRAG_RBUF_TIMEOUT_US -> CONFIG_GNRC_IPV6_EXT_FRAG_RBUF_TIMEOUT_US
2020-01-30 17:42:41 +01:00
Martine Lenders
8d749dc024
Merge pull request #13148 from chrysn-pull-requests/usb-default-vidpid
USB: Use default VID/PID for RIOT-included peripherals
2020-01-30 17:37:52 +01:00
chrysn
cca756da27 USB VID/PID: Add text to outline what may use the 7D00 PID 2020-01-30 15:04:26 +01:00
chrysn
763ce7a9bf USB VID/PID: Move check inside usb.h include guards
As the whitelist define can be set per compilation unit in all
legitimate cases, the checks do not need to be run on every single usb.h
inclusion. This is done for two reaons:

* It is sufficient -- if any user C file includes usb.h, there's already
  a good chance that the user is doing something USB related manualy.
  (And conversely, the existing examples with boards that happen to pull
  in CDC-ACM or CDC-ECM do not include usb.h from an example C file).

* Defining the USB_H_USER_IS_RIOT around legitimate uses of the header
  by other headers would allow accidental sidestepping: If a user
  includes a legitimate usb.h using header (say, board.h) and just
  forgets to include usb.h on their own, their application that'd mess
  with USB would still work as usb.h is transitively included, and the
  check for custom includes does not trigger.
2020-01-30 15:04:26 +01:00
chrysn
e65f3f372b USB VID/PID: Set whitelist define for internals that use usb.h
This list is probably incomplete as it was created experimentally.
2020-01-30 15:04:10 +01:00
chrysn
f35ce9cd8e USB VID/PID: Allow default VID/PID from inside RIOT code
A new define, USB_H_USER_IS_RIOT_INTERNAL, is defined that may only be
set from within RIOT's own compilation units that deem themselves
standard RIOT peripherals. If all usb.h users in a program match that
requirement, a default VID/PID pair is set.

Due to the new composite check, the individual checks for VID/PID being
set become moot and are removed.
2020-01-30 15:01:41 +01:00
Sebastian Meiling
a4c4c25b3b
Merge pull request #12866 from jia200x/pr/gnrc_lorawan_remove_netdev
net/gnrc_lorawan: remove netdev layer from MAC
2020-01-30 14:02:59 +01:00
Ken Bannister
7f3e953893 net/cord: update for deprecated gcoap function 2020-01-30 06:00:53 -05:00
Ken Bannister
6ab7fab40a net/gcoap: deprecate gcoap_add_qstring()
Use Packet API function coap_opt_add_uquery() instead.
2020-01-30 05:41:39 -05:00
MichelRottleuthner
2f418bf684
Merge pull request #13212 from Hyungsin/forupstream_xtimer_bug
sys/xtimer: compare two offsets rather than absolute times
2020-01-30 10:15:41 +01:00
Hyungsin
eadd4c9f72 sys/xtimer: compare two offsets rather than absolute times 2020-01-29 10:52:43 -08:00
Ken Bannister
0ed4fe2da6 net/coap: move/rename function to add query option 2020-01-29 09:23:47 -05:00
Cenk Gündoğan
2fcd9e0456
Merge pull request #13225 from leandrolanzieri/pr/net/gcoap/fix_ref_to_variance
gcoap: Remove reference to COAP_ACK_VARIANCE in docs
2020-01-28 21:28:32 +01:00
Leandro Lanzieri
8250f4d198 net/gcoap: Remove reference to COAP_ACK_VARIANCE in docs 2020-01-28 20:14:46 +01:00
Cenk Gündoğan
c84d7d2623
Merge pull request #12887 from leandrolanzieri/pr/kconfig_migrate/gcoap
Kconfig: Expose Gcoap configurations
2020-01-28 18:58:29 +01:00
Leandro Lanzieri
926d32ff30 Kconfig: Expose Gcoap configurations 2020-01-28 11:59:52 +01:00
Leandro Lanzieri
bab6f4737c net/gcoap: Move config macros to 'CONFIG_' namespace
Macros that changed:
GCOAP_MSG_QUEUE_SIZE -> CONFIG_GCOAP_MSG_QUEUE_SIZE
GCOAP_NO_AUTO_INIT -> CONFIG_GCOAP_NO_AUTO_INIT
GCOAP_NO_RETRANS_BACKOFF -> CONFIG_GCOAP_NO_RETRANS_BACKOFF
GCOAP_NON_TIMEOUT -> CONFIG_GCOAP_NON_TIMEOUT
GCOAP_OBS_CLIENTS_MAX -> CONFIG_GCOAP_OBS_CLIENTS_MAX
GCOAP_OBS_OPTIONS_BUF -> CONFIG_GCOAP_OBS_OPTIONS_BUF
GCOAP_OBS_REGISTRATIONS_MAX -> CONFIG_GCOAP_OBS_REGISTRATIONS_MAX
GCOAP_OBS_VALUE_WIDTH -> CONFIG_GCOAP_OBS_VALUE_WIDTH
GCOAP_PDU_BUF_SIZE -> CONFIG_GCOAP_PDU_BUF_SIZE
GCOAP_PORT -> CONFIG_GCOAP_PORT
GCOAP_RECV_TIMEOUT -> CONFIG_GCOAP_RECV_TIMEOUT
GCOAP_REQ_OPTIONS_BUF -> CONFIG_GCOAP_REQ_OPTIONS_BUF
GCOAP_REQ_WAITING_MAX -> CONFIG_GCOAP_REQ_WAITING_MAX
GCOAP_RESEND_BUFS_MAX -> CONFIG_GCOAP_RESEND_BUFS_MAX
GCOAP_RESP_OPTIONS_BUF -> CONFIG_GCOAP_RESP_OPTIONS_BUF
GCOAP_TOKENLEN -> CONFIG_GCOAP_TOKENLEN
2020-01-28 11:59:52 +01:00
Leandro Lanzieri
4e85241270 net/coap: Remove unused COAP_ACK_VARIANCE macro 2020-01-27 19:47:20 +01:00
Leandro Lanzieri
3f382dc323 net/gcoap: Use COAP_RANDOM_FACTOR_1000 to calculate timeout range
With this the range for the random timeout is calculated using
COAP_RANDOM_FACTOR_1000 (ACK_RANDOM_FACTOR in RFC 7252).
2020-01-27 19:47:20 +01:00
Leandro Lanzieri
8c25d12ae5 net/coap: Represent ACK_RANDOM_FACTOR multiplied by 1000 2020-01-27 19:47:20 +01:00
Jose Alamos
cc2fd97194 net/gnrc_lorawan: remove netdev abstraction from MAC layer 2020-01-27 10:10:24 +01:00
JulianHolzwarth
70923d0c1b xtimer/xtimer.c:_mutex_timeout() improved
no longer into the "if" when the mutex is free
2020-01-22 18:40:29 +01:00
885bb84ce5 sys/xtimer: _xtimer_now64(): fix irq_disable() return value type 2020-01-22 12:46:17 +01:00
Marian Buschsieweke
dbb9fd0db9
Merge pull request #13137 from PeterKietzmann/pr_puf_opt_softreset
sys/puf_sram: counter based seed after soft reset
2020-01-21 13:20:11 +01:00
8509e1e213
Merge pull request #13119 from nmeum/pr/ssp_random_canary
sys/spp: randomize canary value on each build
2020-01-20 20:56:16 +01:00
Leandro Lanzieri
881f17a816
Merge pull request #13123 from PeterKietzmann/pr_kconf_6lo
Kconfig: Expose gnrc/sixlowpan configurations
2020-01-20 17:41:52 +01:00
Sören Tempel
dbd5b4a402 sys/ssp: use a random value as the canary
This implements the randomization of canary values on each build as
mentioned in the comment above the STACK_CHK_GUARD macro. The canary
value is generated by the buildsystem and passed to the ssp module using
a `-D` compiler flag. The ssp object file, using this canary value, is
marked as PHONY to make sure it is rebuild on each make invocation,
thereby ensuring that each build uses a new random canary value.

Implementing this properly would require generating a cryptographically
secure random value on each boot of the RIOT operating system. This is
not deemed possible on some constrained devices, e.g. due to lack of
hardware random number generators. Besides, RIOT only seems to support a
PRNG (random module) currently. While this may be implemented in the
future for some devices the changes implemented in this commit may still
be used as a fallback then.

A hardcoded canary value is used when building software on the CI to not
break the CI test cache [1].

[1]: https://github.com/RIOT-OS/RIOT/pull/13119#issuecomment-574132932
2020-01-20 14:51:26 +01:00
PeterKietzmann
9dd3219c3f sys/puf_sram: counter based reseed after soft reset 2020-01-20 14:14:09 +01:00
Martine S. Lenders
744f078b3a
gnrc_nettype: deprecate iovec type
It is unused since 9fb2f541ba and not
expected to be re-used in the future.
2020-01-20 13:39:24 +01:00
Martine S. Lenders
28ef3b6b0b
gnrc_ipv6_ext_frag: remove fragment header when n-th fragment is first
The reassembly buffer only needs (and stores) the headers *before* the
fragment header (called per-fragment headers in RFC 8200, section 4.5).
Currently, when a subsequent IPv6 fragment is received before the first
fragment the fragment header is however not removed. With this fix it
does.
2020-01-17 18:54:37 +01:00
PeterKietzmann
df7a5d6df8 net/gnrc/sixlowpan/frag/rb:Move not override to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
55282a1b1d net/gnrc/sixlowpan/frag/vrb:Move timeout macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
cc6bee4986 net/gnrc/sixlowpan/frag/vrb:Move size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
a3f349c991 net/gnrc/sixlowpan/nd: remove duplicate definition 2020-01-17 18:09:19 +01:00
PeterKietzmann
7d2c9ef418 net/gnrc/sixlowpan/nd:Move ND time macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
582779a7a0 net/gnrc/sixlowpan/frag/rb:Move del. timer macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
811facfa15 net/gnrc/sixlowpan/frag/rb:Move timeout macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
9389d5b90f net/gnrc/sixlowpan/frag/rb:Move size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
89af238eec net/gnrc/sixlowpan/frag/fb:Move size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
b5ea3122e7 net/gnrc/sixlowpan:Move queue size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
de99b99b35 Kconfig: Expose gnrc/sixlowpan configurations 2020-01-17 18:09:14 +01:00
Martine S. Lenders
5fd88ab44a
shell_commands: provide command to print version 2020-01-17 10:28:51 +01:00
Martine Lenders
97a71bc8a6
Merge pull request #13129 from PeterKietzmann/pr_sixlowpan_aggr_override
gnrc/sixlowpan: add deprecation note for GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
2020-01-16 15:57:03 +01:00
PeterKietzmann
c7b6dc587c gnrc/sixlowpan: deprecate GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE 2020-01-16 13:59:16 +01:00
Sebastian Meiling
48fbd446fe
Merge pull request #8796 from miri64/dhcpv6c-pd/feat/initial
dhcpv6: Initial implementation of a client (with IA_PD support)
2020-01-16 13:32:51 +01:00
Martine Lenders
15c828cf92
gnrc_dhcpv6_client: provide GNRC-specific DHCPv6 parts 2020-01-16 12:36:10 +01:00
Martine Lenders
1048d67c76
dhcpv6: provide initial client implementation
This implements a client for DHCPv6 IA_PD (Identity Association for
Prefix Delegation). Goal was to have a IETF-compliant alternative to
UHCP. The implementation was based on RFC 8415.
2020-01-16 12:36:03 +01:00
Martine Lenders
89903fa096
dhcpv6: initial import of protocol defintions
Imports all relevant constants into a generic header.
2020-01-16 12:34:16 +01:00
fc45c2cc83
Merge pull request #12848 from miri64/gnrc_sixlowpan_frag_rb/fix/interval-fixes
gnrc_sixlowpan_frag_vrb: fix issues with interval marker inherited from base
2020-01-15 20:57:49 +01:00
5fd981b2e2
Merge pull request #12402 from ant9000/pr/usbus_cdc_acm_stdio_fix
Fix to avoid lost characters on USBUS CDC ACM STDIO
2020-01-15 19:52:13 +01:00
Martine S. Lenders
d9ecc0b9bb
gnrc_sixlowpan_frag_vrb: append intervals of given base if entry exists
Otherwise the list in `base->ints` will get lost.
2020-01-15 15:00:03 +01:00
Martine Lenders
5bb404a1c7
Merge pull request #12837 from kb2ma/gcoap/remove_gcoap_req_send2
net/gcoap: remove gcoap_req_send2()
2020-01-15 14:45:29 +01:00
Francisco
43d2ca4771
Merge pull request #12602 from miri64/sock_async_event/feat/initial
sock_async: initial import of event-based implementation
2020-01-15 14:32:05 +01:00
Antonio Galea
6c04cb1a45 USBUS CDC ACM: disable interrupts when using tsrb 2020-01-15 11:37:38 +01:00
Martine Lenders
e46ad92cd3
sock_async_event: initial import of event-based implementation 2020-01-15 09:56:11 +01:00
Martine S. Lenders
3082710f65
gnrc_ipv6_nib: allow for configuration of static link-local addresses
This feature was removed without replacment in 71a7dbf918, but it can
still be useful.

Co-Authored-By: smlng <s@mlng.net>
2020-01-14 15:46:18 +01:00
Martine Lenders
350b33b023
Merge pull request #12936 from leandrolanzieri/pr/kconfig_migrate/usb
Kconfig: Expose USB configurations
2020-01-14 12:39:30 +01:00
Francisco
1d206bca24
Merge pull request #12409 from miri64/gnrc_netif/fix/highest-source-scope-wins
gnrc_netif: highest source address scope wins selection
2020-01-14 10:43:24 +01:00
Leandro Lanzieri
a1836d36a4 Kconfig: Expose USB peripheral configurations 2020-01-14 10:34:53 +01:00
Leandro Lanzieri
15bd4897c1 usb: Move configuration macros to 'CONFIG_' namespace
Macros that changed:
USB_CONFIG_VID -> CONFIG_USB_VID
USB_CONFIG_PID -> CONFIG_USB_PID
USB_CONFIG_MANUF_STR -> CONFIG_USB_MANUF_STR
USB_CONFIG_PRODUCT_STR -> CONFIG_USB_PRODUCT_STR
USB_CONFIG_CONFIGURATION_STR -> CONFIG_USB_CONFIGURATION_STR
USB_CONFIG_PRODUCT_BCDVERSION -> CONFIG_USB_PRODUCT_BCDVERSION
USB_CONFIG_SPEC_BCDVERSION -> CONFIG_USB_SPEC_BCDVERSION
USB_CONFIG_SELF_POWERED -> CONFIG_USB_SELF_POWERED
USB_CONFIG_MAX_POWER -> CONFIG_USB_MAX_POWER
USB_CONFIG_DEFAULT_LANGID -> CONFIG_USB_DEFAULT_LANGID
2020-01-14 10:34:53 +01:00
Martine Lenders
48221bb018
Merge pull request #12838 from kb2ma/gcoap/deprecate_gcoap_finish
net/gcoap: deprecate gcoap_finish()
2020-01-14 10:20:44 +01:00
Martine S. Lenders
018e3dd437
gnrc_netif: use scope directly from address for multicast 2020-01-14 09:54:18 +01:00
Martine S. Lenders
85737a0436
gnrc_netif: remove misleading comment
The comment exists since the introduction of the [original
implementation], but its meaning is unclear and misleading, as the code
doesn't do anything with link-local.

[original implementation]: https://github.com/RIOT-OS/RIOT/pull/3561
2020-01-14 09:54:18 +01:00
Martine S. Lenders
46fd632e91
gnrc_netif: highest source address scope wins selection
Rule 2 of the source address algorithm outlined in [RFC6724] states the
possible source addresses must also be compared among each other:

>     Rule 2: Prefer appropriate scope.
>     If Scope(SA) < Scope(SB): If Scope(SA) < Scope(D), then prefer SB and
>     otherwise prefer SA.  Similarly, if Scope(SB) < Scope(SA): If
>     Scope(SB) < Scope(D), then prefer SA and otherwise prefer SB.

Our current implementation doesn't do that. It just checks if the scope
of a possible source is lesser than the scope of the destination
(which involves the second "If" in the rule).

This fix grants points according to the scope of an address. If the
scope matches, they get the highest points, ensuring that the selected
source will always be reachable from the destination.

[RFC6724]: https://tools.ietf.org/html/rfc6724
2020-01-14 09:54:17 +01:00
Ken Bannister
57cd900970 net/gcoap: deprecate macros used only by gcoap_finish() 2020-01-13 10:14:02 -05:00
Ken Bannister
6c2495bedb net/gcoap: deprecate gcoap_finish() 2020-01-13 10:14:02 -05:00
Martine Lenders
cd3f1b89da
Merge pull request #13107 from leandrolanzieri/pr/sock/async_fix_types
sock/async: Fix forward declaration of sock_tcp_queue_t
2020-01-13 14:46:50 +01:00
Leandro Lanzieri
b5c3e32af6
Merge pull request #13108 from MrKevinWeiss/pr/fix/gnrcctcdoc
doc/gnrc/ipv6: Update documentation group for gnrc
2020-01-13 14:02:16 +01:00
Leandro Lanzieri
8e6f6ee460
Merge pull request #13065 from PeterKietzmann/pr_kconf_netif
Kconfig: Expose gnrc/netif configurations
2020-01-13 13:25:17 +01:00
MrKevinWeiss
1e1bf6ed98 doc/gnrc/ipv6: Update documentation group for gnrc
Since the GNRC_IPV6 is part of GNRC it should be a part of the gnrc compile time configuration group.
This adds information on the group to specify it is gnrc and changes the group from config to net_gnrc_conf
2020-01-13 12:34:26 +01:00
PeterKietzmann
fb71ccc098 net/gnrc/netif:GNRC_NETIF_MIN_WAIT_AFTER_SEND_US to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
9e83d12bc0 net/gnrc/netif: Move GNRC_NETIF_IPV6_ADDRS_NUMOF to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
724d58b074 net/gnrc/netif: Move GNRC_NETIF_MSG_QUEUE_SIZE to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
b28a586702 net/gnrc/netif: Move GNRC_NETIF_DEFAULT_HL to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
c654d1fc8b Kconfig: Expose gnrc/netif configurations 2020-01-13 12:28:31 +01:00
Leandro Lanzieri
e7ce6914c5 sock/async: Fix forward declaration of sock_tcp_queue_t 2020-01-13 12:19:00 +01:00
MichelRottleuthner
53cb3b087c
Merge pull request #9530 from Hyungsin/forupstream_xtimer
sys: xtimer concurrency/robustness improvement
2020-01-13 08:24:15 +01:00
76cfe2b84c
Merge pull request #13095 from fjmolinas/pr_ccm_doc
sys/include/crypto/modes/ccm: specify implem limits
2020-01-12 18:53:50 +01:00
Francisco Molina
0e4640276c sys/include/crypto/modes/ccm: specify implem limits 2020-01-12 17:57:27 +01:00
benpicco
1c148ba2f2
Merge pull request #10092 from gschorcht/drivers_itg320x
drivers: add driver for InvenSense ITG-320X 3-axis gyroscope
2020-01-11 17:37:48 +01:00
Schorcht
79884687b2 sys/auto_init: add driver for ITG320X 3-axis gyroscope 2020-01-11 08:02:34 +01:00
Martine Lenders
3d1c7d8e19
Merge pull request #13087 from haukepetersen/opt_nimble_netifmoreevents
pkg/nimble_netif: add additional events
2020-01-11 00:22:53 +01:00
benpicco
5f1b09bd2f
Merge pull request #12727 from benpicco/color_util
sys/color: add color_rgb_set_brightness() and color_rgb_shift()
2020-01-10 23:27:45 +01:00
Hyungsin
6f5154b98e sys/evtimer: reflecting xtimer's member change 2020-01-10 13:20:54 -08:00
Hyungsin
a18f9318c7 sys/shell/commands: reflecting xtimer's member change 2020-01-10 13:19:36 -08:00
Hyungsin
387344775b sys: xtimer concurrency/robustness improvement 2020-01-10 10:06:16 -08:00
Hauke Petersen
4f9d15d3b1 sys/shell/sc_nimble_netif: adapt event handling 2020-01-10 16:36:12 +01:00
Leandro Lanzieri
7463543e34
Merge pull request #13066 from PeterKietzmann/pr_kconf_ipv6
Kconfig: Expose gnrc/ipv6 configurations
2020-01-10 14:51:23 +01:00
PeterKietzmann
b2f0642825 Kconfig: Expose gnrc/ipv6/configurations 2020-01-10 12:23:35 +01:00
Hauke Petersen
5746795735 shell/sc_nimble_netif: add timing info to ble info 2020-01-10 12:17:07 +01:00
b0d6f5743b
suit/v4: display a progress bar while fetching the image 2020-01-09 11:31:24 +01:00
c596aa5184
riotboot/flashwrite: use LOG_DEBUG when printing bytes processed 2020-01-09 11:31:12 +01:00
Gaëtan Harter
480a8bf076 crypto/ccm: fix plaintext_len write
plaintext_len should be written in MSB first order into bytes
[16-L..15] both included and not ]16-L..15].

[RFC3610: 2.2 Authentication]
2020-01-08 19:49:15 +01:00
Mathias Tausig
116240d721 crypto: Fix CCM mode when message size > 256
Fixes part of issue #8107
2020-01-07 23:31:35 +01:00
Francisco
4c4cb8a14f
Merge pull request #12362 from mtausig/ccm_aadlen
Fix CCM mode when length of AAD is > 24
2020-01-07 22:26:24 +01:00
Mathias Tausig
6fe6f8f6ca sys/crypto: Allow CCM encryption with AAD of length > 24
Fixes parts of issue #8107
2020-01-07 21:25:48 +01:00
Mathias Tausig
f266275afb sys/crypto: Make internal functions static 2020-01-07 21:23:13 +01:00
Mathias Tausig
3382a089a8 sys/crypto: Check block size for CCM operations 2020-01-07 21:22:09 +01:00
PeterKietzmann
3f0a19a9bc net/gnrc/ipv6: Move config macros to 'CONFIG_' namespace 2020-01-07 15:36:04 +01:00
Martine S. Lenders
3896145c31
sock: ignore -Wtypedef-redefinition for LLVM where needed
net/sock/async/types.h included by net/sock.h needs to re-typedef the
the sock types to prevent cyclic includes.
2020-01-07 10:13:02 +01:00
Martine S. Lenders
37d99c11b0
gnrc_sock: use …/async/types.h instead of …/async.h 2020-01-07 10:13:01 +01:00
Martine S. Lenders
43b1c5c74c
sock_async: fix cyclic dependency with sock_types.h
Typically a stack needs to add the callback for a sock as a member of
its respective `sock` type so `sock_types.h` needs to include
`net/sock/async.h` at the moment. As those however include
`net/sock/<prot>.h`, which in turn include `sock_types.h`, we create a
cyclic dependency.

This fix resolves this cyclic dependency, by putting the callback
definitions in its own header that then in turn can be also included
by `sock_types.h`.
2020-01-07 10:13:01 +01:00
Francisco
dcc5299682
Merge pull request #10667 from miri64/gnrc_sixloenc/enh/6lo-config
gnrc_netif: make 6LoENC dynamically configurable
2020-01-06 13:19:24 +01:00
Leandro Lanzieri
ffbd764111
Merge pull request #12997 from miri64/shell_commands/enh/6lo-ctx-on-non-6LBR
shell_commands: make 6Lo compression contexts configurable on non-6LBR
2020-01-06 11:46:05 +01:00
Francisco
d4c3476669
Merge pull request #12944 from leandrolanzieri/pr/kconfig_migrate/net/sock_util
Kconfig: Expose net/sock/util configurations
2020-01-03 11:41:20 +01:00
Marian Buschsieweke
e8770da912
Merge pull request #13020 from PeterKietzmann/pr_ext_doc_sram_seed
sys/puf_sram: extend documentation
2020-01-02 16:39:11 +01:00
PeterKietzmann
091d55a0be sys/puf_sram: extend documentation 2020-01-02 13:22:35 +01:00
Martine Lenders
d03d2b409e net: add ARP hardware type defintions
These are required for DHCPv6 to identify the type of a link-layer
address (for DUID creation).
2020-01-02 11:56:25 +01:00
Martine Lenders
441ca528da timex: add US_PER_CS converter
DHCPv6 operates on centiseconds (hundredth of a second) for some time
values, so for interaction with `xtimer` I require this converter.
2020-01-02 11:56:25 +01:00
521d9d23ee
sys/printf_float: remove use of export for LINKFLAGS 2020-01-02 09:52:04 +01:00
Martine S. Lenders
5cf26f1adf
shell_commands: make 6Lo compression contexts configurable on non-6LBR 2019-12-20 14:55:55 +01:00
Leandro Lanzieri
b58b5792e9 Kconfig: Expose gnrc/lorawan configurations 2019-12-20 14:14:32 +01:00
Leandro Lanzieri
449da7602d gnrc/lorawan: Express timer drift in per mille instead of percentage 2019-12-20 14:12:43 +01:00
José Alamos
7d4082a6a3
Merge pull request #12922 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_blacklisting
Kconfig: Expose gnrc/ipv6/blacklist configurations
2019-12-20 11:32:46 +01:00
Hauke Petersen
210b1b2f75 sys/shell/sc_nimble_netif: adapt event callback 2019-12-18 17:06:57 +01:00
Martine S. Lenders
e1ae44b536
gnrc_sixlowpan_frag_stats: actualize pseudo-module
Having the definitions sit in the `net/gnrc/sixlowpan/frag.h` header
does not make much sense, when using Selective Fragment Forwarding
(and the fragmentation buffer already includes a
`net/gnrc/sixlowpan/frag/stats.h` header), so they are moved to their
own header. Since with this change it makes more sense to have the
statistics stored in their own sub-module, the pseudo-module is also
actualized.
2019-12-18 15:45:03 +01:00
benpicco
c55cae885a
Merge pull request #12968 from aabadie/pr/sys/sc_loramac_fix_include
sys/shell: add missing stdio include in sc_loramac.c
2019-12-16 20:01:42 +01:00
benpicco
87f86c4c08
Merge pull request #12924 from daexel/shtc1_bugfix
drivers/shtc1: Initial support for the SHTC1 temperature and humidity sensor
2019-12-16 18:21:48 +01:00
8d040e5b4d
sys/shell: add missing stdio include in sc_loramac.c 2019-12-16 16:26:18 +01:00
steffen
fa05cf0c5d Driver/shtc1: add saul integration
- add saul integration
- uncrustified
- SAUL/DRIVER tests
2019-12-16 15:29:04 +01:00
benpicco
244a6de2f2
Merge pull request #10710 from jue89/feature/driver-net-ethocan
drivers: add Differentially Operated Serial Ethernet (DOSE) driver
2019-12-16 13:15:45 +01:00
Jue
bc46c7478f drivers: add Differentially Operated Serial Ethernet driver 2019-12-16 10:43:13 +01:00
Francisco Molina
1241bee080 sys/shell/commands/sc_interactive_sync: AVR puts to pgmspace 2019-12-15 20:27:56 +01:00
7dbf5c6015
Merge pull request #12941 from fjmolinas/pr_interactive_sync_puts_pgmspace
sys/test_utils/interactive_sync: AVR puts to pgmspace
2019-12-13 18:34:35 +01:00
Benjamin Valentin
e4a33ca413 sys/checksum: add crc8 implementation
This moves the crc8 implementation of the sht3x driver to common code.
2019-12-13 14:50:32 +01:00
Leandro Lanzieri
047c87d67f Kconfig: Expose net/sock/util configurations 2019-12-13 12:22:36 +01:00
Leandro Lanzieri
c74fa5367c net/sock/util: Move configuration macros to 'CONFIG_' namespace
Macros that changed:
SOCK_SCHEME_MAXLEN -> CONFIG_SOCK_SCHEME_MAXLEN
SOCK_HOSTPORT_MAXLEN -> CONFIG_SOCK_HOSTPORT_MAXLEN
SOCK_URLPATH_MAXLEN -> CONFIG_SOCK_URLPATH_MAXLEN
2019-12-13 12:04:54 +01:00
Francisco Molina
089c9ae71a sys/test_utils/interactive_sync: AVR puts to pgmspace 2019-12-13 10:12:01 +01:00
JulianHolzwarth
c581d2c055 sys/ps/ps.c: ps can now handle zombie state threads 2019-12-11 16:48:31 +01:00
Leandro Lanzieri
3383bae8fe Kconfig: Expose gnrc/ipv6/blacklist configurations 2019-12-11 10:51:04 +01:00
Leandro Lanzieri
56e61dac47 net/gnrc/ipv6_blacklist: Move config macros to 'CONFIG_' namespace
Macros that changed:
GNRC_IPV6_BLACKLIST_SIZE -> CONFIG_GNRC_IPV6_BLACKLIST_SIZE
2019-12-11 10:39:16 +01:00
Martine Lenders
d926810e0b
Merge pull request #12893 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_whitelisting
Kconfig: Expose gnrc/ipv6/whitelist configurations
2019-12-10 18:32:34 +01:00
Benjamin Valentin
00ff291f2e gnrc_lwmac: use uintptr_t to get value of pointer
A pointer is not 32 bit on all platforms.
Since gnrc_lwmac only stores 16 bit in the pointer variable it is
still save to cast like this even on AVR, but cast to uintptr_t
instead of uint32_t.

fixes #12869
2019-12-10 17:18:30 +01:00
Martine S. Lenders
3bf426e6fc
gnrc_sixlowpan_iphc: factor-out IPv6 header decoding into own function 2019-12-10 15:46:51 +01:00
Martine S. Lenders
8ce3c745c8
gnrc_sixlowpan_iphc: add extension header encoding 2019-12-10 15:31:56 +01:00
Martine S. Lenders
a0a334a491
gnrc_sixlowpan_iphc: factor-out IPv6 header encoding into own function 2019-12-10 15:29:06 +01:00
Martine Lenders
f38f974d86
Merge pull request #12629 from miri64/gnrc_sixlowpan_iphc/enh/vrb-creation
gnrc_sixlowpan_iphc: add fragment forwarding stubs
2019-12-10 14:58:01 +01:00
Martine S. Lenders
3273602f24
tests: provide test application for IPHC+VRB behavior 2019-12-10 13:59:41 +01:00
Martine Lenders
a689f51e9a
gnrc_sixlowpan_iphc: add rudimentary forwarding routine 2019-12-10 13:56:33 +01:00
Martine S. Lenders
e31394536b
gnrc_sixlowpan_iphc: factor encoding out of sending function 2019-12-10 13:56:05 +01:00
Martine S. Lenders
556d71a7da
gnrc_sixlowpan_iphc: create VRB entry from uncompressed header
... when VRB is available
2019-12-10 13:56:02 +01:00
José Alamos
2027efa9f4
Merge pull request #12894 from leandrolanzieri/pr/gnrc_doc_config_group
net/gnrc: Group compile configuration Doxygen groups and add GNRC LoRaWAN
2019-12-09 18:20:35 +01:00
Martine Lenders
7b13781cd2
Merge pull request #12625 from miri64/gnrc_sock/enh/async-support
gnrc_sock: provide asynchronous event implementation
2019-12-09 12:39:58 +01:00
Hauke Petersen
3ffe08d07a shell/sc_nimble_netif: allow connect using name 2019-12-09 10:12:44 +01:00
418d00d0ea
Merge pull request #9283 from gebart/pr/frac
sys/frac: Integer fractions
2019-12-09 09:09:10 +01:00
benpicco
f71f45bd96
Merge pull request #12892 from bergzand/pr/usbus_fmt/missing_alt_len_increment
usbus_fmt: Add missing alt iface size increase
2019-12-06 16:36:53 +01:00
Leandro Lanzieri
15098a8fc2 gnrc/lorawan: Add configurations to GNRC's Doxygen configurations group 2019-12-06 15:19:18 +01:00
Leandro Lanzieri
9a0a514fdd Kconfig: Expose gnrc/ipv6/whitelist configurations 2019-12-06 15:04:14 +01:00
Leandro Lanzieri
a626fec016 Kconfig: Add net/gnrc file and menu 2019-12-06 14:31:00 +01:00
1a6209a8fe
usbus_fmt: Add missing alt iface size increase
The configuration length verification was not taking additional alt
interface descriptors into account. This breaks situations where an alt
interface is used such as is the case with CDC ECM
2019-12-06 14:28:32 +01:00
Leandro Lanzieri
37624f4eed Kconfig: Add 'Networking' file and menu 2019-12-06 14:23:39 +01:00
Leandro Lanzieri
6c22c7bfd4 Kconfig: Add 'System' file and menu 2019-12-06 14:23:18 +01:00
Leandro Lanzieri
de2fbeb112 net/gnrc/ipv6_whitelist: Move config macros to 'CONFIG_' namespace
Macros that changed:
GNRC_IPV6_WHITELIST_SIZE -> CONFIG_GNRC_IPV6_WHITELIST_SIZE
2019-12-06 13:57:52 +01:00
Leandro Lanzieri
4ebf34de23 net/gnrc: Move compile configurations to 'net_gnrc_conf' group 2019-12-06 12:23:34 +01:00
Leandro Lanzieri
47981b96c1 sys/net/gnrc: Add GNRC configuration Doxygen group 2019-12-06 12:18:03 +01:00
Joakim Nohlgård
e4e860a20a frac: Integer fraction scaling library 2019-12-06 09:36:33 +01:00
Martine Lenders
159accff37 gnrc_ipv6: fix source check for loopback address
When the destination address is the loopback address (`::1`) in GNRC
the selected network interface typically is `NULL`, as with GNRC no
loopback interface de facto exists. So the assertion when checking if
the source address is valid if `netif != NULL` fails on that check.
This change fixes that issue by checking if the destination address is
the loopback address, before checking the validity of the source
address.
2019-12-05 23:38:53 +01:00
c7a534e42a
Merge pull request #12878 from haukepetersen/add_fmt_isnumber
sys/fmt: add fmt_is_number()
2019-12-05 20:32:47 +01:00
benpicco
b77ff84d9e
Merge pull request #12676 from ant9000/pr/usbus_cdc_ecm-mac_host-fix
USBUS CDC ECM: host and MCU mac addresses should differ
2019-12-05 18:53:10 +01:00
Hauke Petersen
cea260bb4f shell/sc_gnrc_netif: use fmt_is_number() 2019-12-05 15:39:25 +01:00
Hauke Petersen
ab3669294b sys/fmt: add fmt_is_number() 2019-12-05 15:39:24 +01:00
8ae7201962
Merge pull request #12550 from aabadie/pr/sys/progress_bar
sys/progress_bar: add module for managing a progress bar in stdout
2019-12-05 15:03:26 +01:00
Hauke Petersen
d9229af9d9 sys/fmt: move _is_digit and _is_upper to public API 2019-12-05 14:10:49 +01:00
Leandro Lanzieri
0673fce3c4 usbus/cdc/acm: Add configs to compile time configuration Doxygen group 2019-12-04 20:08:02 +01:00
Leandro Lanzieri
f48bd7f9f3 usbus: Add configs to compile time configuration Doxygen group 2019-12-04 20:08:02 +01:00
Leandro Lanzieri
731f27378b usb: Add configs to compile time configuration Doxygen group 2019-12-04 20:08:02 +01:00
Leandro Lanzieri
d835c52a4b usb: Fix VID/PID macros documentation 2019-12-04 20:08:02 +01:00
MichelRottleuthner
272079c89e
Merge pull request #11992 from JulianHolzwarth/pr/xtimer_mutex_lock_timeout/first_fix
sys/xtimer/xtimer.c: _mutex_timeout() bug fix for race condition
2019-12-04 10:43:20 +01:00
Benjamin Valentin
f24a874bac sys/xtimer: fix documentation about XTIMER_BACKOFF
When XTIMER_BACKOFF is used by `_xtimer_set()`, `offset` has already
been converted to ticks.

So the documentation of the `xtimer_tsleepXX()` functions is correct,
however for `xtimer_usleep()` XTIMER_BACKOFF has to be converted to µs
to calculate the minimal sleep time.
2019-12-04 02:49:18 +01:00
bd254dfc63
Merge pull request #10741 from basilfx/feature/stdio_null
sys: stdio_null: add null driver
2019-12-03 18:08:26 +01:00
cd25e1c011 usbus_fmt: assert descr len matches claimed len
This commit adds runtime assertions to validate that the total length of
the configuration descriptor as communicated to the host device matches the
generated length of the configuration descriptor.
2019-12-03 15:07:42 +01:00
Jose Alamos
8999528390 net/gnrc_lorawan: add MIB for setting RX2 datarate 2019-12-03 14:48:29 +01:00
Jose Alamos
1e9bb7c175 net/gnrc_lorawan: add MIB for setting L2 address 2019-12-03 14:27:56 +01:00
Jose Alamos
99dbcecc3a net/gnrc_lorawan: remove netdev SAP interface 2019-12-03 14:08:35 +01:00
Martine Lenders
09c46e273d
Merge pull request #12845 from miri64/gnrc_sixlowpan_frag_rb/fix/rm-by-datagram-pkt-release
gnrc_sixlowpan_frag_rb: fix memory-leak in _rm_by_datagram()
2019-12-02 19:20:55 +01:00
7e165678fe
Merge pull request #12851 from leandrolanzieri/remove-ubjson
sys/ubjson: Remove module
2019-12-02 18:45:35 +01:00
9f1b84b51d
sys/progress_bar: add module for configurable progress bars 2019-12-02 16:48:16 +01:00
benpicco
900c6994af
Merge pull request #12855 from miri64/gnrc_gomach/fix/i12853
gnrc_gomac: don't use constant as argument for RTT callback
2019-12-02 15:10:40 +01:00
Martine Lenders
e1f81f02fd gnrc_gomac: don't use constant as argument for RTT callback
The RTT callback for a super-frame cycle uses the `arg` pointer to set
the message value that then is handed to the GoMacH thread. However,
in both instances the timer is scheduled the constant
`GNRC_GOMACH_EVENT_RTT_NEW_CYCLE` is provided. This means the argument
is not really necessary.
2019-12-02 08:14:55 +01:00
Juan Carrano
bea30c3f89 sys/ubjson: remove module.
The ubjson module has a number of quality defects and is unsafe.
Considering CBOR is popular, standarized and supported in RIOT and that
the ubjson implementation is a home-grown one whose API will likely be
unfamiliar to new users, I propose to delete it.

This removal, of course, dows not have to be NOW. We can deprecate it for
one or two releases before.

What's wrong with this module?

- Unsafe: the parsing is done recursively. This is embedded in the API, so it
  is not possible to fix it without changing the API. A document with too much
  nesting can cause a stack overflow.
- Does not validate writing: it is possible to produce invalid output. From
  the docs:
  > The library won't complain if you write multiple values that are not
  > inside an array or object. The result will just not be properly serialized.
- Poorly tested. As shown by #11702, #11703 the tests were not even detecting
  that a False was stored as True.
- In line with the previous remark, see
  68dc5b0d6e/tests/unittests/tests-ubjson/tests-ubjson.c (L66-L77)
  Why is the following code in the unit tests??
  ```c
    irq_disable();
    sched_set_status(data->main_thread, STATUS_PENDING);
  ```
- #2175 is still unfixed after 3.5 years.
- Code quality. The code has multiline macros that assign variables and
  return. See c332514875/sys/ubjson/ubjson-write.c (L34-L41)

Can we mark it as deprecated this release and sweep it in the following one?
2019-12-01 23:44:39 +01:00
Martine S. Lenders
0251d6585e
gnrc_sixlowpan_frag_rb: error when interval buffer is full 2019-11-29 18:00:54 +01:00
Martine S. Lenders
54a8599170
gnrc_sixlowpan_frag_vrb: call base_rm() with gnrc_sixlowpan_frag_rb
`gnrc_sixlowpan_frag_rb_base_rm()` cleans up the intervals which is part
of `gnrc_sixlowpan_frag_rb`, not `gnrc_sixlowpan_frag`, so when the
`gnrc_sixlowpan_frag` is not compiled in, but `gnrc_sixlowpan_frag_rb`,
the intervals allocated in the reassembly buffer and inherited by the
virtual reassembly buffer are never released.
2019-11-29 17:58:02 +01:00
Martine S. Lenders
3fe1bf59a4
gnrc_sixlowpan_frag_rb: fix memory-leak in _rm_by_datagram()
This fits with the semantics of this function which doesn't provide or
uses any state of the reassembly buffer provided by the user, but finds
the entry itself and then removes it. This gives the user no chance to
remove the packet in the reassembly buffer entry, so
`gnrc_sixlowpan_frag_rb_rm_by_datagram()` has to release the packet
(other than `gnrc_sixlowpan_frag_rb_remove()` where not releasing the
packet is desired as it might be handed up to an upper layer).
2019-11-29 15:38:13 +01:00
Francisco
b88e2ecb6d
Merge pull request #12471 from aabadie/pr/sys/suit_shell
sys/suit: sys/shell: examples/suit_update: add shell command for triggering suit updates
2019-11-29 13:32:23 +01:00
Leandro Lanzieri
8aa66e94ea net/gnrc/netif: Remove 'if' prefix from interface names 2019-11-29 10:22:00 +01:00
Leandro Lanzieri
5481124d86 shell/gnrc_netif: Use netif API 2019-11-29 10:22:00 +01:00
Leandro Lanzieri
7746ee0aa1 net/netopt: Fix NETOPT_CHANNEL_PAGE documentation. 2019-11-29 09:34:38 +01:00
2ff3d4cd8d
sys/shell: add suit shell command
This command allows for triggering an update from the device itself
2019-11-28 19:15:34 +01:00
560ee3bac9
suit: add helper function for triggering updates 2019-11-28 19:08:28 +01:00
Ken Bannister
a33c8b1130 net/gcoap: remove gcoap_req_send2() 2019-11-28 11:32:40 -05:00
Hauke Petersen
3a7b60e4d4 net/cord_epsim: adapt to gcoap API changes 2019-11-28 12:50:24 +01:00
Hauke Petersen
7b1217a529 net/cord_ep: adapt to gcoap API changes 2019-11-28 12:50:24 +01:00
Hauke Petersen
3fd8357071 net/gcoap: allow to pass user context to requests 2019-11-28 12:50:24 +01:00
Hauke Petersen
383f395af3 net/gcoap: pass memo to resp_handler directly 2019-11-28 12:48:37 +01:00
7d046b6b8d
Merge pull request #12831 from fjmolinas/pr_fix_interactive_sync_shell
autoinit: interactive sync if no shell% in USEMODULE
2019-11-28 08:47:20 +01:00
Leandro Lanzieri
2733ef45d7
Merge pull request #12798 from kb2ma/gcoap/init_delay
net/gcoap: add macro to delay initialization of gcoap
2019-11-28 05:10:43 +01:00
Ken Bannister
e873e5814a net/gcoap: add macro to delay initialization of gcoap 2019-11-27 17:56:55 -05:00
Francisco Molina
817df972b5 autoinit: interactive sync if no shell% 2019-11-27 23:19:48 +01:00
Francisco Molina
838a88f122 sys/shell/commands: add interactive_sync commands 2019-11-27 15:07:42 +01:00
JulianHolzwarth
7cd3e8b73e xtimer/xtimer.c:_mutex_timeout() improved
no longer into the "if" when the mutex is free
2019-11-27 14:49:16 +01:00
Pieter Willemsen
f3b13cf90c xtimer: check in timeout callback if thread blocked on mutex
Prevent a possible race condition when _mutex_timeout fires just after the
mutex was locked but before the xtimer was removed

The flow

int xtimer_mutex_lock_timeout(mutex_t *mutex, uint64_t timeout) {
   ...
    mutex_lock(mutex);
    /* mutex locked */
    /* _mutex_timeout fires and tries to remove thread from mutex queue */
    /* DEBUG: simulate callback call between lock and remove */
    xtimer_spin(xtimer_ticks_from_usec(timeout*2));
    xtimer_remove(&t);
    ...
}
2019-11-27 14:48:51 +01:00
MichelRottleuthner
bf676d4728
Merge pull request #11022 from jia200x/pr/gnrc_lorawan
gnrc_lorawan: add support for GNRC based LoRaWAN stack
2019-11-27 09:25:20 +01:00
Jose Alamos
43b7164796 gnrc_pktdump: add NETTYPE_LORAWAN 2019-11-26 21:52:06 +01:00
Jose Alamos
b3593e58cb sc_netif: add lorawan config commands to shell 2019-11-26 21:52:06 +01:00
Jose Alamos
d3777d8ed8 auto_init/netif: add gnrc_lorawan startup routine 2019-11-26 21:52:06 +01:00
Jose Alamos
2edaead13e gnrc_netif: add gnrc_lorawan adaption layer 2019-11-26 21:52:06 +01:00
Jose Alamos
39951b8f70 gnrc_lorawan: add initial support for LoRaWAN stack 2019-11-26 21:52:06 +01:00
Jose Alamos
e03f7278bc gnrc_netif.h: add lorawan component 2019-11-26 21:52:05 +01:00
Jose Alamos
a70b1858c4 netopt: add NETOPTs required for gnrc_lorawan 2019-11-26 21:52:05 +01:00
Jose Alamos
e8bf26f7f3 gnrc_nettype: add GNRC_NETTYPE_LORAWAN type 2019-11-26 21:52:05 +01:00
Jose Alamos
845944e092 gnrc_netif_lorawan: add headers 2019-11-26 21:52:05 +01:00
Jose Alamos
4192cd5578 gnrc_lorawan: add public headers 2019-11-26 21:52:05 +01:00
Bas Stottelaar
810a06903a sys: stdio_null: add null driver 2019-11-26 21:12:41 +01:00
Hauke Petersen
17b1b19fda net/gcoap: do not allocate RX buf on stack 2019-11-26 15:00:03 +01:00
Benjamin Valentin
6d5704307f sys/color: add color_rgb_set_brightness()
Add a function to set the brightness level of a RGB value from 0-255.
2019-11-24 23:27:05 +01:00
Benjamin Valentin
19e8d02715 sys/color: add color_rgb_shift()
Add a function to quickly shift a RGB color up or down.
2019-11-24 23:27:05 +01:00
46c3964ee8 sys/clif: use ARRAY_SIZE 2019-11-23 22:39:40 +01:00
2ea1b24eae sys/xtimer: fix typos 2019-11-23 22:39:38 +01:00
149a98a9aa sys/universal_address: fix typos 2019-11-23 22:39:38 +01:00
82a937a994 sys/ubjson: fix typos 2019-11-23 22:39:38 +01:00
42aad0d1ad sys/shell: fix typos 2019-11-23 22:39:38 +01:00
84f73274c0 sys/schedstatistics: fix typos 2019-11-23 22:39:38 +01:00
4763235ddb sys/puf_sram: fix typos 2019-11-23 22:39:38 +01:00
09748efc11 sys/posix: fix typos 2019-11-23 22:39:38 +01:00
a49acc9b3e sys/oneway-malloc: fix typos 2019-11-23 22:39:38 +01:00
d4f3747705 sys/net: fix typos 2019-11-23 22:39:38 +01:00
769f2b8363 sys/irq_handler: fix typos 2019-11-23 22:39:38 +01:00
61db4d9724 sys/include: fix typos 2019-11-23 22:39:37 +01:00
ec8a4ba3c2 sys/hashes: fix typos 2019-11-23 22:39:37 +01:00
caa3f9cf0d sys/evtimer: fix typos 2019-11-23 22:39:37 +01:00
b53a5d86da sys/embunit: fix typos 2019-11-23 22:39:37 +01:00
5afc15a701 sys/ecc: fix typos 2019-11-23 22:39:37 +01:00
3475542650 sys/crypto: fix typos 2019-11-23 22:39:37 +01:00
2127b94a7b sys/cpp11-compat: fix typos 2019-11-23 22:39:37 +01:00
2a27ef5d8f sys/clif: fix typos 2019-11-23 22:39:37 +01:00
c8b43b8ca4 sys/arduino: fix typos 2019-11-23 22:39:37 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
1f55cffcee
Merge pull request #12645 from aabadie/pr/tests/sys_crypto_remove_board_blacklist
tests/sys_crypto: remove use of BOARD_BLACKLIST variable
2019-11-23 06:48:29 +01:00
Marian Buschsieweke
16ee7aed32
Merge pull request #11350 from maribu/ina2xx
drivers/ina220: Changed to comply with RIOT's driver design goals & SAUL adaption
2019-11-22 23:36:50 +01:00
benpicco
d86ca37ed9
Merge pull request #12759 from miri64/bitfield/fix/bitorder
bitfield: unify order
2019-11-22 22:37:39 +01:00
Marian Buschsieweke
0a0c1697d7
drivers/ina2xx: Added SAUL integration 2019-11-22 20:29:53 +01:00
607aa6fbcd
sys/crypto/ocb: fix max data condition 2019-11-22 19:21:06 +01:00
Marian Buschsieweke
16ef0a7f30
Merge pull request #8383 from haukepetersen/opt_driver_bmx280spi
drivers/bmx280: reworked driver and added SPI mode
2019-11-22 17:06:12 +01:00
Hauke Petersen
b7f33bd84f drivers/bmx280: significant driver rework
bugs fixed:
- move global variables into device descriptor
- guard bus access (use acquire and release)

added functionality:
- enable SPI mode

structural improvements:
- reduce stack usage
- simplify the driver's structure
- centralize bus access code
- use assertions
- cleanup includes
- use shortcuts for bus access

style changes:
- fix line length
- cleanup and improve doxygen
- unify pointer notation (char *var over char* var)
- unify (error) return messages
- use `#ifdef MODULE_BME280` instead of `#if defined(BME..)`
- unify debug messages -> using `[bmx28] x: msg` scheme
2019-11-22 14:04:37 +01:00
Gunar Schorcht
4b92ce289b sys/arduino: compilation of Arduino libraries
To make it possible to use an Arduino library, a new pseudomodule arduino_lib is introduced. This pseudomodule enables implicitly module arduino but avoids that a sketch is required or generated and compiled. Thus, it is possible to compile and use a package or directory with some source files from an Arduino library in RIOT applications.
2019-11-21 19:13:14 +01:00
Gunar Schorcht
e942338f78 sys/arduino: add type definitions often used
boolean and byte are data types defined in Arduino.h and very often used in Arduino code.
2019-11-21 17:22:38 +01:00
4d84c4c495
Merge pull request #12764 from fjmolinas/pr_cpp_check_fix
dist/tools/cppcheck: fix all Cppcheck 1.82 errors
2019-11-21 16:25:10 +01:00
Gunar Schorcht
a05027cdba
Merge pull request #12523 from aabadie/pr/sys/arduino_pwm
sys/arduino: add implementation for analogWrite
2019-11-21 15:08:10 +01:00
Francisco Molina
fe180daa3b sys/include/net/gnrc/gomach.h: fix cpp preprocessorErrorDirective
Preprocesor fails to evaluate the if condicion on L91-92 because
RTT_FREQUENCY is not defined, and therefore a division by 0 occurs.
TO avoid this replicate the RTT_FREQUENCY undefined warning.
2019-11-21 11:58:07 +01:00
Francisco Molina
cc2c3a0163 pkg/ucglib/src/csrc/ucg_riotos.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
Francisco Molina
cf3d584678 sys/cb_mux/cb_mux.c: fix cpp.check shiftTooManyBitsSigned 2019-11-21 11:58:07 +01:00
Francisco Molina
254b54847f shell/commands/sc_gnrc_rpl.c: fix cpp.check unitialized variable 2019-11-21 11:58:07 +01:00
Francisco Molina
ab16222c8b sys/net/routing/nhdp: fix cpp.check unitialized variable 2019-11-21 11:58:07 +01:00
Francisco Molina
bf3c722abc sys/net/network_layer: fix cpp.check unitialized variable 2019-11-21 11:58:07 +01:00
Francisco Molina
2c9abf0832 sys/cb_mux/cb_mux.c: fix cpp.check unitialized variable 2019-11-21 11:58:07 +01:00
Martine S. Lenders
f2d1e661d1
gnrc_netapi: report errors on dispatch 2019-11-21 10:51:13 +01:00
Martine Lenders
a6623f834f bitfield: unify order
Currently the bitfield type mixes up the order of bits: While the byte
order is big-endian (most significant byte first), the bit order of each
single byte within the bitfield is little-endian (most significant bit
last). While this isn't a problem for most applications of the bitfield
type it becomes one when sending the bitfield over the network (as done
e.g. in the [ACKs of Selective Fragment Recovery][SFR-ACKs]).

This change unifies byte order and bit order to both be most
significant bX first.

[SFR-ACKs]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07
2019-11-20 18:53:11 +01:00
Martine S. Lenders
18ad1e7154
netif: fix outdated information
In 77a7aed6e6 the API moved from an
identifier-based approach to a pointer based approach. The documentation
does not reflect this yet.
2019-11-18 13:52:46 +01:00
61c6b071b2
Merge pull request #12699 from basilfx/feature/netdev_tap_stack
netdev_tap: don't allocate DEBUG_EXTRA_STACKSIZE twice
2019-11-16 23:16:00 +01:00
0845cac3b8
sys/arduino: provide implementation for analogWrite 2019-11-15 17:51:45 +01:00
Leandro Lanzieri
39984b1f51 shell/gnrc_netif: Use ipv6_addr_split_int for prefix 2019-11-15 14:35:30 +01:00
Leandro Lanzieri
1d0f92203b shell/sntp: Adapt to change in ipv6_addr_split_iface 2019-11-15 14:09:32 +01:00
Leandro Lanzieri
edae993f63 shell/gnrc_icmpv6_echo: Adapt to change in ipv6_addr_split_iface 2019-11-15 14:02:50 +01:00
Leandro Lanzieri
3c89597c83 net/gnrc/tcp: Adapt to change in ipv6_addr_split_iface 2019-11-15 14:02:50 +01:00
Leandro Lanzieri
4d4f6ae1d6 net/ipv6: Return string pointer when splitting IPv6 interface.
Right now 'ipv6_addr_split_iface' assumes that the interface specifier
will always be a number (based on GNRC way of identifying interfaces),
but this may not be always the case.In order to be able to use the
Network Interface API, interfaces should be referred by their name.

This changes 'ipv6_addr_split_iface' so it returns a pointer to the
string that specifies the interface.
2019-11-15 14:02:50 +01:00
Francisco
2adc5a23c2
Merge pull request #12361 from haukepetersen/add_nimble_autoconn
pkg/nimble: add simple BLE connection manager: autoconn
2019-11-14 14:02:24 +01:00
Hauke Petersen
38d2690a37 shell/sc_nimble_netif: restrict when using autoconn 2019-11-13 12:59:35 +01:00
Hauke Petersen
b75418fff4 sys/auto_init: map SAUL init for qmc5883l 2019-11-13 12:56:26 +01:00
Hauke Petersen
a7d951a0d7 net/ble.h: add custom NDN support service UUID 2019-11-13 11:28:01 +01:00
Bas Stottelaar
229a01b60b netdev: don't allocate DEBUG_EXTRA_STACKSIZE twice 2019-11-12 20:00:05 +01:00
Martine Lenders
d33548243a
Merge pull request #12698 from miri64/gnrc_sixlowpan_frag_vrb/fix/empty-with-frag
gnrc_sixlowpan_frag_vrb: set src_len to 0 on remove
2019-11-12 18:42:10 +01:00
Martine Lenders
02295ce5c7
Merge pull request #12593 from miri64/gnrc_sixlowpan_frag_rb/enh/deletion-timer
gnrc_sixlowpan_frag_rb: allow for deletion timer after completion
2019-11-12 17:54:15 +01:00
Martine S. Lenders
e4d95c568b gnrc_sixlowpan_frag_vrb: set src_len to 0 on remove
45f7966 made the `src_len` field the "emptiness signifier" for the VRB.
However, when `gnrc_sixlowpan_frag` is compiled in, the remove function
`gnrc_sixlowpan_frag_vrb_rm()` does not set the `src_len` to zero,
resulting in already deleted entry to be recognized as non-empty.
2019-11-12 17:13:45 +01:00
Martine S. Lenders
11669d9bdc gnrc_sixlowpan_frag_rb: add missing \n at end of DEBUG line 2019-11-12 17:06:52 +01:00
Martine S. Lenders
40138fdce8 gnrc_sixlowpan_frag_rb: allow for deletion timer after completion
This allows to set a timer between the completion of a datagram in the
reassembly buffer and the deletion of the corresponding reassembly
buffer entry. This allows to ignore potentially late incoming link-layer
duplicates of fragments of the datagram that then will have the
reassembly buffer entry be blocked.

This was noted in this [discussion] for classic 6LoWPAN reassembly (and
minimal fragment forwarding) and is recommended in the current
[selective fragment recovery draft][SFR draft].

[discussion]: https://mailarchive.ietf.org/arch/msg/6lo/Ez0tzZDqawVn6AFhYzAFWUOtJns
[SFR draft]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07#section-6
2019-11-12 17:06:52 +01:00
Martine Lenders
918a4ac04d
Merge pull request #12682 from miri64/gnrc_sock/fix/consider-all-snips-for-error
gnrc_sock: consider all pktsnip for gnrc_neterr reporting
2019-11-12 11:45:50 +01:00
benpicco
341d23dded
Merge pull request #12504 from bergzand/pr/usbus/descr_terminology
usbus: Unify terminology to use 'descriptor' everywhere
2019-11-12 11:41:10 +01:00
3db4678384
usbus: Unify terminology to use 'descriptor' everywhere 2019-11-12 10:29:19 +01:00
Martine Lenders
8992dce4da gnrc_sock: consider all pktsnip for gnrc_neterr reporting
As analyzed in #12678 there are cases where different reports can be
generated for the different snips of the packet send via the `sock`.

To catch all errors generated by the stack, the sock has to subscribe
for all snips of the packet sent. If any of the snips reports an error
distinct from `GNRC_NETERR_SUCCESS` or the previous one, we report that
status instead of just the first we receive. This way we are ensured to
have the first error reported by the stack for the given packet.
2019-11-11 16:40:32 +01:00
Marian Buschsieweke
8eab67e4ee
Merge pull request #12684 from fabian18/arduino_SPI_interface_little_bugfix
sys/arduino: bug: missing 0
2019-11-11 11:06:06 +01:00
fabian18
a8ff989db1 sys/arduino: Fixed frequency selection in SPI 2019-11-11 10:33:01 +01:00
Marian Buschsieweke
bd8c4b36aa
sys/net/gnrc: Flag cc110x as 6LN
In gnrc_netif_init_6ln() the flag GNRC_NETIF_FLAGS_6LN is accidentally not set
for cc110x devices. This commit fixes this.
2019-11-11 09:24:01 +01:00
Martine Lenders
f092c27356 gnrc_ipv6: add missing new-line to debug message 2019-11-10 13:50:56 +01:00
Antonio Galea
f7be559df3 USBUS CDC ECM: host and MCU mac addresses should differ 2019-11-08 15:40:55 +01:00
benpicco
9ca9f07c04
Merge pull request #12592 from benpicco/luid-fix
sys/luid: add luid_get_eui48() / luid_get_eui64()
2019-11-07 18:34:37 +01:00
Gunar Schorcht
0a852805fd
Merge pull request #12118 from maribu/arduino-spi
sys/arduino: Added SPI interface
2019-11-07 17:33:29 +01:00
benpicco
c1edee074a
Merge pull request #12661 from benpicco/xtimer_fix_doc
sys/xtimer: fix generation of documentation
2019-11-07 14:27:58 +01:00
Martine Lenders
a132b2b413
Merge pull request #12220 from miri64/gnrc_sixlowpan_frag/feat/srf-config
gnrc_sixlowpan_frag: initial import of SRF parameters
2019-11-07 14:13:15 +01:00
Benjamin Valentin
6add264f6a sys/xtimer: fix generation of documentation
cd1ce6b98d accidentally disabled generating documentation for
`xtimer_msg_*()` functions.

Always define those functions when building the documentation.
2019-11-07 13:34:27 +01:00
Marian Buschsieweke
8a53e072f9
sys/arduino/doc: Removed SPI from ToDo
The SPI interface has been added, so it should no longer be listed on the ToDo
list.
2019-11-07 13:04:47 +01:00
Marian Buschsieweke
83a955fa49
sys/arduino/doc: Removed I2C from ToDo
The I2C (Wire) interface has been added, so it should no longer be listed on the
ToDo list.
2019-11-07 13:04:47 +01:00
Marian Buschsieweke
c449467125
sys/arduino: Enable C++11 support
Arduino is always enabling C++11 support, so sketches and libs are depending on
it. Every C++ compiler has been enabling C++11 by default for some years now.
Still, Ubuntu's avr-gcc is so **horrible** out of date, that it is not enabled
there. As a simple work around, -std=c++11 is now passed to the C++ compiler if
Arduino is used.
2019-11-07 13:04:47 +01:00
Marian Buschsieweke
cc50da690b
sys/arduino: Added SPI interface
Added an Arduino compatible SPI API on top of RIOT's SPI API.
2019-11-07 13:04:46 +01:00
Martine S. Lenders
da74936020 gnrc_sixlowpan_frag: initial import of SRF parameters
This imports the protocol parameters for Selective Fragment Recovery
(SFR). For the values I took some educated guesses based on my
experience with previous experimentation with fragment forwarding.

The defines currently are based on [draft v7].

[draft v7]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07#section-7.1

fixup! gnrc_sixlowpan_frag: initial import of SRF parameters
2019-11-07 12:16:30 +01:00
José Alamos
20ea18637f
Merge pull request #10485 from miri64/gnrc_netif/enh/default-init
gnrc_netif: assume `netif->ops->init()` to be set to at least a default
2019-11-07 11:41:05 +01:00
Martine Lenders
6493a9e69f gnrc_netif: assume netif->ops->init() to be set 2019-11-07 11:00:36 +01:00
Martine Lenders
14a2f6bc18 gnrc: use gnrc_netif_default_init() for all implementations 2019-11-07 11:00:36 +01:00
Martine Lenders
a1d402e015
Merge pull request #12559 from miri64/gnrc_sixlowpan_frag/enh/factor-out-frag-buf
gnrc_sixlowpan_frag: factor-out and rename fragmentation buffer
2019-11-07 09:47:46 +01:00
Martine Lenders
09b5db28f1 gnrc_netif: expose common init function as default 2019-11-06 18:45:16 +01:00
Martine Lenders
4b82a56c89 gnrc_netif: introduce common init function 2019-11-06 18:45:15 +01:00
Marian Buschsieweke
4d279ae76e
Merge pull request #12055 from fabian18/driver-ina3221
Driver for INA3221 current and power and bus voltage monitor
2019-11-05 14:45:03 +01:00
fabian18
7e8cce875a drivers/ina3221: Added SAUL integration 2019-11-05 12:37:41 +01:00
Benjamin Valentin
38e94d09db sys/luid: provide luid_get_eui48() and luid_get_eui64()
The most common use case for luid is to generate those
addresses, so provide helper functions for it.
2019-11-04 21:08:23 +01:00
Benjamin Valentin
f6e7be9a06 sys/luid: allow to overwrite luid_base()
This allows to overwrite luid_base() with a function that reads an
ID from e.g. a EUI64MAC chip if no CPU ID is available.
2019-11-04 21:07:23 +01:00
Benjamin Valentin
9fb01b6d1c eui64: Add address flag helper functions 2019-11-04 20:58:34 +01:00
Martine Lenders
ca37cde142 gnrc_sixlowpan_frag_fb: introduce function to get entry by tag 2019-11-04 20:04:39 +01:00
Martine Lenders
8c3dc66ad8 gnrc_sixlowpan_frag: factor-out and rename fragmentation buffer
The name `fragment_msg` or `frag_msg`/`msg_frag` always to me was a bit
misplaced, as it basically implements an asynchronous fragmentation
buffer and doesn't necessarily have anything to do with messages.
This change

1. changes the name to `fb` (for fragmentation buffer)
2. factors its code out to its own sub-module so it can be re-used by
   other 6LoWPAN fragmentation schemes like [Selective Fragment
   Recovery]

[Selective Fragment Recovery]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-05
2019-11-04 20:04:37 +01:00
Martine Lenders
79c8fc5405
Merge pull request #12599 from miri64/gnrc_sixlowpan_frag/enh/remove-code-dup
gnrc_sixlowpan_frag: various optimizations and clean-ups on sending
2019-11-04 19:54:33 +01:00
Ken Bannister
b354b8bd1a net/gcoap: refine doc for 'obs' link attribute 2019-11-03 09:28:02 -05:00
Martine Lenders
2a1e002d6d
Merge pull request #12627 from miri64/gnrc_sixlowpan_iphc_nhc/enh/frag+iphc-payload_len
gnrc_sixlowpan_iphc_nhc: determine UDP hdr length from RB
2019-11-01 19:47:08 +01:00
Martine S. Lenders
f33111a9c2 gnrc_sixlowpan_iphc: remove duplicate gnrc_netif_hdr_get_netif()
The interface is already fetched in the beginning of the function and
doesn't change during its run, so getting the interface again at this
point is just redundant.
2019-11-01 18:29:44 +01:00
benpicco
865059fc66
Merge pull request #11230 from maribu/xtimer_msg_deps
sys/xtimer: Remove dependency to core_msg
2019-11-01 15:22:10 +01:00
Martine S. Lenders
806f33fce4 gnrc_sixlowpan_iphc_nhc: determine UDP hdr length from RB
When decoding IPHC in a fragmented datagram, relying on the size of the
allocated space for the decoded packet is wrong when fragments are
forwarded and decoded on an intermediate node (for which the reassembly
buffer's space is used): Using the full datagram size for allocation in
this case would be wasteful, so the allocated space is only marginally
larger than the fragment's compressed form.
This in turn results in the wrong UDP payload size being chosen and
even worse being forwarded to the subsequent nodes.

This change uses the (virtual) reassembly buffer's `datagram_size`
instead of relying on the allocated space for the encoded
datagram/fragment.
2019-11-01 13:18:00 +01:00
Martine S. Lenders
b713413c52 gnrc_sock: provide asynchronous event implementation 2019-11-01 00:21:04 +01:00
benpicco
3a87e2d2e6
Merge pull request #12624 from miri64/sock_async/fix/compile-time-errors
sock_async: fix compile-time errors
2019-10-31 21:26:05 +01:00
Marian Buschsieweke
cd1ce6b98d
sys/xtimer: Remove dependency to core_msg
When module `core_msg` is not used, `xtimer` now no longer provides the features
related to messages. This allows using `xtimer` without `core_msg`.
2019-10-31 19:55:50 +01:00
Sebastian Meiling
ca696f827b
Merge pull request #12193 from leandrolanzieri/pr/gcoap/obs
gcoap: Add 'obs' attribute in example and extend documentation
2019-10-31 18:14:23 +01:00
Martine S. Lenders
de47681d03 sock_async: fix compile-time errors 2019-10-31 16:01:49 +01:00
Juergen Fitschen
e152b3e346 sys/riotboot: Fixed flashwrite_slotsize to return size of slot 1 2019-10-31 12:05:35 +01:00
Martine Lenders
5d11cf26f0 gnrc_netif: use 6LoENC only when 6Lo flag is set 2019-10-30 17:10:34 +01:00
Martine Lenders
1c7e1c9efd shell_commands/sc_gnrc_netif: set 6Lo flag 2019-10-30 17:10:34 +01:00
Martine Lenders
e04a190511 gnrc_netif_ethernet: make 6LO configurable for 6LoEnc 2019-10-30 17:10:34 +01:00
Martine Lenders
004f7d8b16 gnrc_netif: add flag to indicate 6Lo capabilities 2019-10-30 17:10:33 +01:00
8b06560c02
sys/net/nanocoap: correctly initialize array 2019-10-30 17:03:06 +01:00
95da51bd7f
sys/net/nanocoap: fix potential use of uinitialized variable 2019-10-30 17:03:06 +01:00
5d1480a4b8
sys/net/nanocoap: fail when start data cannot be parsed 2019-10-30 17:03:06 +01:00
1aa1e2c8cc
sys/net/nanocoap: return ENOENT if parsing option failed
This fixes a potential use of uninitialized len in subsequent function calls.

This was reported by scan-build
2019-10-30 17:03:06 +01:00
Martine Lenders
5b4b12ed07
Merge pull request #11723 from miri64/sock/enh/async2
sock: initial definitions for asynchronous event handling
2019-10-30 16:59:11 +01:00
Martine Lenders
bf5b53392c
Merge pull request #12603 from jia200x/pr/link_up
netopt: redefine NETOPT_LINK_CONNECTED
2019-10-30 15:19:07 +01:00
Martine Lenders
f0b5eb04c1 sock: initial import of asynchronous event definitions 2019-10-30 13:23:31 +01:00
Jose Alamos
f38a786108 sc_gnrc_netif: implement link command 2019-10-30 13:13:06 +01:00
Jose Alamos
6beec0a4f6 netopt: update doc of NETOPT_LINK 2019-10-30 12:13:36 +01:00
Jose Alamos
43a5fdc870 netopt: rename NETOPT_LINK_CONNECTED 2019-10-30 12:13:36 +01:00
Marian Buschsieweke
1ba7e8fe22
sys/luid: Added postcondition to luid_get()
Stated the obvious in the doc: Altering the LUID returned by luid_get() breaks
the guarantee that it is locally unique, as it than could collide with other
LUIDs returned by luid_get().
2019-10-29 21:50:39 +01:00
Martine Lenders
ea4b78654f
Merge pull request #12285 from JulianHolzwarth/pr/posix/pthread/pthread_reaper_fix
sys/posix/pthread/pthread.c: fix pthread reaper
2019-10-29 18:56:36 +01:00
Martine S. Lenders
dba2f9e5ea gnrc_sixlowpan_frag: remove code duplication on fragment creation 2019-10-29 15:34:24 +01:00
Martine S. Lenders
d5e21f35c3 gnrc_sixlowpan_frag: copy netif header directly 2019-10-29 15:34:24 +01:00
benpicco
acaaee910e
Merge pull request #12536 from bergzand/pr/usbus/cdcacm_activate_on_dte_present
cdcacm: Activate data out endpoint on DTE present signal
2019-10-29 13:03:39 +01:00
Martine Lenders
526c963f43
Merge pull request #12594 from jia200x/pr/deprecate/gnrc_nettest
gnrc_nettest: add deprecation note
2019-10-29 10:59:14 +01:00
Jose Alamos
5b179b6d80 gnrc_nettest: add deprecation note
This module was intended to be a test framework for GNRC but it never
really got used. It was not maintained for 3 years. It will be removed
after 2020.07 release at the latest.
2019-10-29 10:41:45 +01:00
Martine Lenders
05d338169d
Merge pull request #12367 from brummer-simon/gnrc_tcp-fix_recv_conn_closed
gnrc_tcp: return immediatly on gnrc_tcp_recv if a connection is closing
2019-10-29 09:54:43 +01:00
1d7032a257
cdcacm: Activate data out endpoint on DTE present signal 2019-10-29 08:45:31 +01:00
727263ce73
Merge pull request #12533 from bergzand/pr/usbus/cdcecm_ready_on_iface
cdcecm: only activate OUT endpoint after interface selection
2019-10-29 07:55:35 +01:00
benpicco
456982f595
Merge pull request #12595 from aabadie/pr/net/sock_util_scan_build
sys/net/sock_util: fix dead initialization warning
2019-10-28 17:24:50 +01:00
2b0b591c85
sys/net/sock_util: fix dead initialization warning
This was reported by LLVM scan build. The value assigned at initialization is never used, so could be removed
2019-10-28 16:35:18 +01:00
a9399810d5
sys/net/uhcp: remove unused returned value in uhcp_client 2019-10-28 15:14:40 +01:00
benpicco
422d6d5f1a
Merge pull request #12582 from aabadie/pr/sys/sha_dead_assignment
sys/sha3: fix dead assignment of blockSize in Keccak_update
2019-10-27 13:05:16 +01:00
aaadaccc3f
sys/net/nanocoap: fix dead assignment in nanocoap server 2019-10-27 10:49:41 +01:00
74919d0646
sys/sha3: fix dead assignment of blockSize in Keccak_update 2019-10-27 10:44:54 +01:00
Gunar Schorcht
e38d3e24ec
Merge pull request #12548 from maribu/c11_atomcis_cpp_compat
sys: Basic C++ compatibility with C11 atomcis
2019-10-25 11:48:58 +02:00
d8d7f77b7d
Merge pull request #12567 from aabadie/pr/sys/riotboot_remove_unused_variable
sys/flashwrite: remove useless line
2019-10-25 10:26:07 +02:00
Marian Buschsieweke
cd8562e8c0
sys: Added basic C++ compat for C11 atomics
Added a header to allow defining C interfaces using the default C11 atomic
types. Those types are however fully opaque and inaccessible from C++, as C11
atomics are completely incompatible with C++.
2019-10-24 23:08:35 +02:00
benpicco
afecb9aa7a
Merge pull request #12562 from kaspar030/pr/suit_v4_nanocbor
sys/suit/v4: switch to nanocbor
2019-10-24 19:15:25 +02:00
Marian Buschsieweke
1c624e457c
Merge pull request #10592 from gschorcht/sys_arduino_ext
sys/arduino: Added Wire (I2C) interface
2019-10-24 18:28:11 +02:00
Francisco
0364c39694
Merge pull request #12408 from miri64/gnrc_netif/fix/src-addr-selection
gnrc_netif: only use prefix matching as tie-breaker in source selection
2019-10-24 17:14:17 +02:00
4ccb4e5995 sys/suit/v4: switch to nanocbor
Co-authored-by: Francisco <femolina@uc.cl>
2019-10-24 16:48:00 +02:00
Martine S. Lenders
e9d75f5655 gnrc_netif: remove filter parameter from _match_to_idx()
`_match_to_idx()` was removed from source address selection (which was
the only one setting the filter parameter to a non-NULL value), so it
is the parameter is not needed anymore.
2019-10-24 16:04:41 +02:00
Martine S. Lenders
e787f6b60d gnrc_netif: only use prefix matching as tie-breaker in source selection
When source address selection is done, both RFC and comments in the code
state, that a longest prefix match should *only* be used as a
tie-breaker between more than one viable candidate. If there is only one
address, there is

a) no need for a tie-breaker
b) in the case of either the destination address or the single remaining
   address being ULAs ([which are considered to be of global scope]
   [RFC4193]) possibly not matching, as `fd00::/7` and e.g. `2001::/8`
   do not have a common prefix.

(b) in fact causes the match function to return -1, causing the source
address selection to return -1, causing the outer function to return the
first address it found (which most often is the link-local address),
causing e.g. a ping to an ULA to fail, even is there is a global
address.

[RFC4193]: https://tools.ietf.org/html/rfc4193
2019-10-24 16:04:41 +02:00
Cenk Gündoğan
e0ab8776f3
Merge pull request #12547 from miri64/gnrc_netif/enh/warn-no-ARSM
gnrc_netif: warn when not joining solicited-nodes from non-6LN netif
2019-10-24 13:46:38 +02:00
Martine Lenders
e990b26d5b
Merge pull request #12560 from miri64/gnrc_sixlowpan/cleanup/rb-remainders
gnrc_sixlowpan: move remaining reassembly buffer components to gnrc_sixlowpan_frag_rb
2019-10-24 13:38:55 +02:00
Vincent Dupont
3fb3b62ea2
Merge pull request #12507 from gschorcht/core/static_assert
core/assert: allow multiple static_asserts within a function
2019-10-24 13:38:00 +02:00
Martine Lenders
796d6a3167 gnrc_sixlowpan: move garbage collect msg type to reassembly buffer 2019-10-24 12:41:29 +02:00
Martine Lenders
750fd30bb4 gnrc_sixlowpan_config: fix module doc for reassembly buffer config 2019-10-24 12:41:29 +02:00
Martine Lenders
0838199c36
Merge pull request #12555 from miri64/gnrc_pktbuf_static/enh/unify-ptr-stats
gnrc_pktbuf_static: unify NULL pointer output for stats
2019-10-24 09:09:19 +02:00
Gunar Schorcht
3fc2c60f20 sys/arduino: add Wire (I2C) library implementation 2019-10-24 08:33:49 +02:00
Martine Lenders
41708d9f03 gnrc_pktbuf_static: unify NULL pointer output for stats
Different platforms evaluate `printf()` for NULL pointers differently,
resulting tests checking for a certain output to fail. This unifies that
(debug) output for the static packet buffer statistics.
2019-10-23 14:56:29 +02:00
d22ddc1e95
usbus: Fix usb, initialization and detected spelling mistakes
This commit fixes a number of difficult words in the USB stack and
related test files.
2019-10-23 10:43:52 +02:00
063ee3352c
usbus/control: fix spelling errors in control slicer 2019-10-23 10:40:02 +02:00
b32ec6b864
usbus: add find_endpoint function for interfaces 2019-10-23 10:10:54 +02:00
Dylan Laduranty
0bbb114ec6
Merge pull request #12534 from bergzand/pr/usbus/cdcecm_early_exit_on_inactive
cdcecm: early exit on inactive usb interface
2019-10-23 10:09:11 +02:00
45745579bc
cdcecm: early exit on inactive usb interface
This adds an early exit when the usb interface with the data endpoints
is not activated. This prevents the cdc_ecm_netdev code from attempting
to send the PDU when the USB device is not yet initialized or activated
by a host.
2019-10-23 09:41:27 +02:00
Martine Lenders
88090bc0f6 gnrc_netif: warn when not joining solicited-nodes from non-6LN netif
Similar as with #12513, when the NIB is compiled in 6LN mode (but not
6LR mode), the address-resolution state-machine (ARSM) functionality is
disabled in favor of the more simpler address resolution proposed in RFC
6775.

However, if a non-6LN interface is also compiled in (without making it
a router or border router) it will never join the solicited-nodes
multicast address of addresses added to it, resulting in address
resolution to that interface to fail.

If the interface is not a 6LN (which in case 6LN mode is disabled is
always false), a warning is now printed, encouraging the user to
activate the ARSM functionality if needed.
2019-10-22 22:14:03 +02:00
Simon Brummer
1eb2969986 gnrc_tcp_recv: immediatly return on closed connection 2019-10-22 20:12:38 +02:00
8827202ac7
sys/flashwrite: remove useless line
scan-build reported: Value stored to 'flashpage_pos' is never read
2019-10-22 19:48:34 +02:00
4d7af5d170 sys/event: fix typo: imlementation -> implementation 2019-10-22 16:23:08 +02:00
23edf5cc6b
cdcacm: Add the interface assoc descriptor to the length 2019-10-21 20:28:33 +02:00
fdcadb67e3
cdcecm: only activate OUT endpoint after interface selection
The OUT endpoint of the cdc ecm data endpoint is only expected to
receive data when the alternative interface is activated. Signalling
ready in the init function can cause issues as the endpoints are not yet
enabled in the low level USB peripheral driver.
2019-10-21 19:47:50 +02:00
Martine S. Lenders
2458a612b6 gnrc_netif: reduce code duplication 2019-10-21 16:09:37 +02:00
Martine S. Lenders
e96faca739 gnrc_netif: add code comments on source candidate set selection 2019-10-21 16:09:37 +02:00
f8de22a985 gnrc/netif: _match_to_idx(): don't treat link local differently
Cherry-picked from 811c1ee70e (#12404)
2019-10-21 16:09:37 +02:00
Martine Lenders
1bdfbeaaa0
Merge pull request #12425 from miri64/gnrc_ipv6_nib/enh/mutex
gnrc_ipv6_nib: use recursive mutex instead of mutex for locking
2019-10-21 16:08:07 +02:00
Benjamin Valentin
2ff7c474b7 shell_commands: gnrc_netif: print correct scope for IPv6 addr
Previously `ifconfig` would only know link-local addresses
(printed as 'local') and everything else would be 'global'.

This is wrong for site-local and unique local addresses which were
also denoted as global.

So use the already existing helper functions to determine the correct
type of IPv6 address when printing.
2019-10-21 14:47:34 +02:00
Martine Lenders
05bcdba02e
Merge pull request #10499 from miri64/gnrc_netif/enh/split-6lo-6ln
gnrc_netif: introduce distinction if an interface supports 6Lo or if it performs ND according to RFC 6775
2019-10-21 11:47:30 +02:00
Martine Lenders
8b2f697f8c
Merge pull request #12512 from miri64/gnrc_ipv6/fix/i11980
gnrc_ipv6: fix SEGFAULT when multicasting with multiple interfaces
2019-10-21 09:44:44 +02:00
Cenk Gündoğan
e66283f12a
Merge pull request #12513 from miri64/gnrc_ipv6_fix/fix/auto-config-with-no-slaac-but-6ln
gnrc_ipv6_nib: don't auto-configure IPv6 w/o SLAAC on non-6LN interface
2019-10-21 01:01:46 +02:00
Martine Lenders
7cba2fb63d gnrc_ipv6_nib: don't auto-configure IPv6 w/o SLAAC on non-6LN interface
When the NIB is compiled for 6LN mode (but not a 6LBR), the Stateless
Address Autoconfiguration (SLAAC) functionality is disabled, as it is
typically not required; see `sys/include/net/gnrc/ipv6/nib/conf.h`, ll.
46 and 55. However, if a non-6LN interface is also compiled in (still
without making the node a border router) an auto-configured address will
be assigned in accordance with [RFC 6775] to the interface, just
assuming the interface is a 6LN interface. As it then only performs
duplicate address detection RFC-6775-style then, the address then never
becomes valid, as the duplicate address detection according to [RFC
4862] (part of the SLAAC functionality) is never performed.

As auto-configuring an address without SLAAC doesn't make sense, this
fix makes the interface skip it completely, but provides a warning to
the user, so they know what to do.

[RFC 6775]: https://tools.ietf.org/html/rfc6775#section-5.2
[RFC 4862]: https://tools.ietf.org/html/rfc4862#section-5.4
2019-10-21 00:17:12 +02:00
benpicco
c9e7fffbec
Merge pull request #12511 from benpicco/pthread-malloc_check
sys/pthread: check return value of malloc()
2019-10-20 20:40:28 +02:00
Antonio Galea
01c3043f6f USBUS CDC ACM: discard oldest data if unconnected 2019-10-20 18:58:29 +02:00
80f9788324
cdc acm: add interface association descriptor 2019-10-20 15:55:23 +02:00
Dylan Laduranty
d9c240a2ff
Merge pull request #12429 from bergzand/pr/usbus/pre_descriptor
usbus: add descriptor prefix support
2019-10-20 15:52:29 +02:00
Martine Lenders
6ad62b01a4 gnrc_netif: distinct is_6lo() and is_6ln()
The functions now are semantic distinct:

- gnrc_netif_is_6lo(): the interface is a 6Lo interface
- gnrc_netif_is_6ln(): the interface is using Neighbor Discovery
  according to RFC 6775
2019-10-20 15:38:14 +02:00
Martine Lenders
363afa62ee gnrc_netif: introduce 6LN flag
This makes it dynamically configurable if an interface actually want's
to use 6Lo ND (according to RFC 6775) or not.
2019-10-20 15:38:13 +02:00
Martine Lenders
fb0e9559a1 gnrc_ipv6: use is_6lo() instead of is_6ln()
We want to check if the interface is an interface requiring the 6Lo
adaptation layer, not if it is a 6LN according to RFC 6775 [[1]].

[1]: https://tools.ietf.org/html/rfc6775#section-2
2019-10-20 15:38:13 +02:00
Martine Lenders
8bcce5615e gnrc_netif: use is_6lo() instead of is_6ln() 2019-10-20 15:38:13 +02:00
Martine Lenders
6d324bbb75 gnrc_netif: introduce is_6lo() as alias to is_6ln()
Preparation step to introduce a semantic difference between an
interface being a 6Lo interface and a 6LN according to RFC 6775 [[1]]
(i.e. performs Neighbor Discovery as defined there).

[1]: https://tools.ietf.org/html/rfc6775#section-2
2019-10-20 15:38:13 +02:00
Martine Lenders
ce14ee1f77 gnrc_ipv6: fix SEGFAULT when multicasting with multiple interfaces
When writing to the IPv6 header the implementation currently doesn't
take the packet with the (potentially) duplicated header, but the
packet with the original one, which leads to the packet sent and then
released in `gnrc_netif_ethernet.c` first and then accessed again in
further iterations of the "writing to the IPv6 header" loop, which
causes access to an invalid pointer, causing a crash.

Fixes #11980
2019-10-20 14:25:40 +02:00
Benjamin Valentin
764a9e9f63 sys/pthread: check return value of malloc()
To prevent a NULL pointer dereference on a memory constrained system,
check if malloc() was actually successful.
2019-10-20 14:17:07 +02:00
Gunar Schorcht
1657606092 sys/arduino: add Arduino.h for compatibility
Arduino libraries often include Arduino.h. For source code compatibility this header file is required. Header guards in file arduino.hpp had to be renamed.
2019-10-19 19:22:40 +02:00
Gunar Schorcht
a12e1033e9 tests/can_conn: move static_assert into function 2019-10-19 17:23:21 +02:00
Martine Lenders
f228dedcf4 gnrc_sixlowpan_frag_rb: fix comment typo 2019-10-19 16:30:45 +02:00
Martine S. Lenders
5bf9892bb3 gnrc_sixlowpan_frag_rb: add new functions for SFR 2019-10-19 16:30:45 +02:00
Martine Lenders
78f04c9fd1
Merge pull request #12441 from miri64/gnrc_icmpv6_error/fix/not-send
gnrc_icmpv6_error: consider originator's destination address correctly
2019-10-19 15:18:50 +02:00
Martine Lenders
c32f1076f6 gnrc_icmpv6_error: consider originator's destination address correctly
While 485dbd1fda (from #12175) was right
in assuming that the for most ICMPv6 error messages the originating
packet's destination address must not be a multicast, this is not the
case for _all_ ICMPv6 error messages (see [RFC 4443], section 2.4(e.3)).
Additionally, 485dbd1fda removed the
check for the source address ([RFC 4443], section 2.4(e.6)), which this
PR re-adds.

[RFC 4443]: https://tools.ietf.org/html/rfc4443#section-2.4
2019-10-19 14:39:45 +02:00
bce70bfdfa
usbus: add descriptor prefix support 2019-10-18 22:39:39 +02:00
José Alamos
2fb4a79d9a
Merge pull request #12418 from Rotzbua/doc_sha3
sys/hashes/sha3: docu rename hashes to FIPS 202 standard
2019-10-18 15:59:26 +02:00
Martine S. Lenders
ae879bc2ba gnrc_sixlowpan_frag_rb: add doc on rb_remove() NOP 2019-10-18 12:02:03 +02:00
Martine S. Lenders
184e91780a gnrc_sixlowpan_frag_rb: explain second _rbuf_add() call more detailed 2019-10-18 11:14:13 +02:00
Martine S. Lenders
f8d75d7add gnrc_sixlowpan_frag_rb: behavioral change to add()
Rather than dispatching the packet automatically once it is complete,
`gnrc_sixlowpan_frag_rb_add()` now only returns success, and leaves it
to the caller to dispatch the packet.
2019-10-18 09:02:32 +02:00
Martine S. Lenders
709baf8f1f gnrc_sixlowpan_frag_rb: make NOPs static inline functions 2019-10-18 09:02:32 +02:00
Martine S. Lenders
a229755abe gnrc_sixlowpan_frag_rb: return status on dispatch_when_complete() 2019-10-18 09:02:32 +02:00
Martine S. Lenders
b086453347 gnrc_sixlowpan_frag_rb: return pointer to entry on add() 2019-10-18 09:02:32 +02:00
Martine S. Lenders
3a4ebe98c3 gnrc_sixlowpan_frag_rb: get index instead of pointer with _rbuf_get() 2019-10-18 09:02:31 +02:00
Jannes
2df5d6048d driver/mpu9x50: Rename mpu9150 to mpu9x50
Rename all files

Rename all variables, methods and methodcalls

Rename all folders

Add to the makefiles

Add to doc
2019-10-17 12:52:18 +02:00
MichelRottleuthner
851853b2f7
Merge pull request #12463 from JulianHolzwarth/pr/thread/thread_getstatus
core/thread.c: change thread_getstatus return type
2019-10-16 14:28:28 +02:00
Ken Bannister
fe8bb49e39
Merge pull request #12231 from kb2ma/coap/refine_api_purpose
net/nanocoap: rebalance application vs. option API doc
2019-10-15 18:25:50 -04:00
JulianHolzwarth
1d65b36402 sys/cpp11-compat/thread.cpp: remove cast to int 2019-10-15 21:22:42 +02:00
benpicco
97d5040525
Merge pull request #12272 from miri64/shell/enh/run-forever
shell: make shell_run run shell forever
2019-10-15 20:16:04 +02:00
Cenk Gündoğan
eb981fe8dd
Merge pull request #12444 from miri64/gnrc_sixlowpan_frag_rb/enh/factor-frag-out
gnrc_sixlowpan_frag_rb: seperate out classic frag specific code
2019-10-15 17:41:29 +02:00
Martine Lenders
2a74d32ea9 gnrc_sixlowpan_frag_rb: seperate out classic frag specific code 2019-10-15 10:40:50 +02:00
Martine Lenders
a7d082d9b8 sixlowpan: more helper functions 2019-10-15 10:40:50 +02:00
Martine Lenders
b5b52c74e8 gnrc_ipv6: only discard invalid source when assigned to interface
While it is correct to not use an invalid address as a source address,
it is incorrect to assume that addresses not assigned to the interface
(`idx == -1` in the respective piece of code) are invalid: Other than
classic forwarding via a FIB, forwarded packets utilizing a IPv6
routing header will pass this check, like any other packet sent by this
node. The source address for these is not on the given node, so e.g.
source routing is not possible at the moment.
2019-10-14 15:43:07 +02:00
Martine Lenders
a279228663 gnrc_rpl_srh: don't send error message on multicast error
A node is not supposed to send an ICMPv6 error message when the
destination or one of the addresses in the source route is multicast
but is supposed to be silently discarded (see [RFC4443] and [RFC6554]).
If we leave the `err_ptr` unset, the [node will not send an error
message][err_ptr set].

[RFC 4443]: https://tools.ietf.org/html/rfc4443#section-2.4
[RFC 6554]: https://tools.ietf.org/html/rfc6554#section-4.2
[err_ptr set]: https://github.com/RIOT-OS/RIOT/blob/9bc600a/sys/net/gnrc/network_layer/ipv6/ext/rh/gnrc_ipv6_ext_rh.c#L100-L105
2019-10-14 11:25:53 +02:00
Antonio Galea
b0b2ba61c1 USBUS CDC ACM STDIO: flush stdio buffer upon write 2019-10-14 10:58:52 +02:00
Martine Lenders
c94de51e03
Merge pull request #12414 from miri64/gnrc_ipv6_ext_frag/fix/n-th-with-full-rbuf
gnrc_ipv6_ext_frag: fix release on rbuf creation for n-th fragment
2019-10-13 15:10:50 +02:00
benpicco
48f9ed48c9
Merge pull request #12421 from Rotzbua/doc_sha256
sys/hashes/sha256: fix typo in docu
2019-10-11 13:36:13 +02:00
Martine S. Lenders
e98f3e48f4 gnrc_ipv6_nib: use rmutex instead of mutex for locking 2019-10-11 12:24:37 +02:00
Martine S. Lenders
01351206d5 gnrc_ipv6_nib: make mutex private 2019-10-11 12:18:52 +02:00
Martine S. Lenders
a14e834ad8 gnrc_ipv6_nib: use mutex wrapper function instead of mutex functions 2019-10-11 12:17:05 +02:00
Martine S. Lenders
1ce19e26b4 gnrc_ipv6_nib: wrap mutex lock/unlock in function 2019-10-11 12:13:32 +02:00
Jose Alamos
8fd0c2b60f gnrc_netif: adapt to new netif_t abstraction 2019-10-11 10:59:14 +02:00
Jose Alamos
77a7aed6e6 netif: introduce descriptor based netif 2019-10-11 10:59:14 +02:00
Rotzbua
e296f69743 sys/hashes/sha256: fix typo in docu 2019-10-11 00:02:36 +02:00
Rotzbua
5172e6bf2e sys/hashes/sha3: docu rename hashes to FIPS 202 standard 2019-10-10 23:58:55 +02:00
Martine S. Lenders
095e966b73 gnrc_ipv6_ext_frag: fix release on rbuf creation for n-th fragment
The IPv6 (extension) headers of the first fragment received are re-used
for the reassembled packet, so when receiving a subsequent packet we
need to distinguish, if we just want to release the payload or all of
the packet after the packet data was added to the reassembly buffer.
2019-10-10 16:41:51 +02:00
5ab8d92702
Merge pull request #11818 from kaspar030/suit-pr
sys/suit: initial support for SUIT firmware updates
2019-10-10 10:38:01 +02:00
Martine S. Lenders
ada7c0b7db gnrc_netif: avoid deprecated addresses, don't prefer them! 2019-10-09 15:18:14 +02:00
b899a9f362 examples/suit_update: add SUIT draft v4 example & test
This commit adds an example application showcasing SUIT draft v4
firmware updates.

It includes a test script suitable for local or CI testing.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 13:51:29 +02:00
fb12c4aa8d sys/suit: add SUIT draft v4 firmware upgrade module
This commit adds a sys module implementing SUIT draft v4 compatible
firmware updates.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 11:05:01 +02:00
Hauke Petersen
eced473fb0
Merge pull request #12385 from miri64/gnrc_sixlowpan_frag_vrb/enh/route-to-vrb
gnrc_sixlowpan_frag_vrb: add gnrc_sixlowpan_frag_vrb_from_route()
2019-10-09 11:00:33 +02:00
7794c29650
Merge pull request #12396 from mtausig/codestyle
Fix code style of crypto code
2019-10-09 08:00:25 +02:00
Mathias Tausig
89db40b563 sys/crypto: Fix code style 2019-10-08 20:58:52 +02:00
benpicco
4489d51fb1
Merge pull request #12388 from aabadie/pr/sys/arduino_conditional_adc
sys/arduino: make ADC feature optional
2019-10-08 20:15:59 +02:00
1d8e86c570
sys/base64: fix return value when input data is empty 2019-10-08 15:38:27 +02:00
c4bb2a2e17
sys/arduino: make ADC feature optional 2019-10-08 10:26:23 +02:00
Martine Lenders
70dddfd775
Merge pull request #12354 from haukepetersen/opt_nimble_netifmaxconn
pkg/nimble/netif: set max conn explicitly
2019-10-07 19:18:40 +02:00
Martine S. Lenders
f6686e92f1 gnrc_sixlowpan_frag_vrb: add gnrc_sixlowpan_frag_vrb_from_route()
This adds a new VRB function that receives a header with forwarding
information and creates a VRB entry from it. Currently, only IPv6 is
supported.
2019-10-07 18:16:47 +02:00
Martine S. Lenders
900ca3ff9e gnrc_sixlowpan_frag_vrb: add missing header include 2019-10-07 17:54:59 +02:00
Martine S. Lenders
c6781af281 gnrc_sixlowpan_frag_vrb: rename addr_str variable 2019-10-07 17:52:09 +02:00
Martine Lenders
9d0faa9e5f
Merge pull request #11957 from miri64/emcute/fix/payload-copy-error
emcute: fix payload copy error for emcute_pub
2019-10-07 17:17:44 +02:00
Martine Lenders
999a7714b0
Merge pull request #12382 from nmeum/pr/asymcute_continue
emcute: never return from receive loop
2019-10-07 16:28:09 +02:00
Sören Tempel
74e19d451c emcute: never return from receive loop
Without this change an attacker would be able to stop the emcute server
by sending a crafted packet triggering this branch. The solution is
using `continue` instead of `return`.
2019-10-07 15:12:20 +02:00
Hauke Petersen
a595f89bbe pkg/nimble/netif: set max conn explicitly 2019-10-07 14:50:57 +02:00
Martine Lenders
9ab67a6d89
Merge pull request #12379 from brummer-simon/gnrc_tcp-no_reopen_recv_window_on_closed_conn
gnrc_tcp: do not reopen recv window on closed connection
2019-10-06 17:32:49 +02:00
Martine Lenders
3a3d707014
Merge pull request #12378 from brummer-simon/gnrc_tcp-doc_numeric_return_values
gnrc_tcp: doc use 0 instead of zero
2019-10-06 17:32:39 +02:00
Simon Brummer
4fbc0252e1 gnrc_tcp: do not reopen recv window on closed connection 2019-10-06 12:13:37 +02:00
Simon Brummer
d192b3a931 gnrc_tcp: doc use 0 instead of zero 2019-10-06 09:04:49 +02:00
Martine Lenders
b99ec92e6a
Merge pull request #12368 from miri64/gnrc_tcp/fix/check-option-length
gnrc_tcp: check if option has valid length set
2019-10-05 15:11:38 +02:00
Ken Bannister
033b60b2d0
Merge pull request #11189 from leandrolanzieri/gcoap_link_format_options
sys: Add Link Format module
2019-10-05 06:46:15 -04:00
Kevin "Tristate Tom" Weiss
4b7c5915ec
Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr
sys/shell: add heap command
2019-10-04 13:49:57 +02:00
Leandro Lanzieri
5febec820d sys: Add clif (CoRE Link Format) module
This module implements a simple encoder and decoder of CoRE Link Format
(RFC 6690).
2019-10-04 11:35:52 +02:00
Francisco
7d7596ea6c
Merge pull request #11057 from kb2ma/coap/block_optimization
net/coap: Block optimizations
2019-10-04 09:41:05 +02:00
Ken Bannister
2dc4209c0e net/nanocoap: optimize determination of exponent for block szx 2019-10-03 13:17:09 -04:00
Martine Lenders
66e5f7230f gnrc_tcp: check if option has valid length set 2019-10-03 18:30:40 +02:00
Simon Brummer
07210ee571 gnrc_tcp: fix debug message 2019-10-03 15:54:36 +02:00
Ken Bannister
e22d4729e1 net/nanocoap: initialize offset attribute 2019-10-02 05:51:59 -04:00
Ken Bannister
2abcbc0d20 net/coap: add generic get block function 2019-10-02 05:51:59 -04:00
Ken Bannister
5eaa51e426 net/nanocoap: remove unused function 2019-10-02 05:51:59 -04:00
Ken Bannister
efb75c5c4c net/coap: improve slicer to block helper 2019-10-02 05:51:59 -04:00
Ken Bannister
dae9c4ab89 net/nanocoap: use coap_opt_add_uint() and remove unused 2019-10-02 05:51:59 -04:00
Ken Bannister
233dd31e17 net/nanocoap: add generic uint block option 2019-10-02 05:51:59 -04:00
Jannes
33a98100a9 drivers/opt3001: Initial support 2019-10-02 10:06:28 +02:00
benpicco
3f0dfc14ac
Merge pull request #11085 from bergzand/pr/usb/cdcacm
usbus: Add CDC-ACM (Serial console) function
2019-10-01 11:22:54 +02:00
Martine Lenders
f4cca412de
Merge pull request #12303 from miri64/sixlowpan_sfr/feat/initial
sixlowpan_sfr: initial import Selective Fragment Recovery definitions
2019-10-01 09:46:25 +02:00
Martine Lenders
aab312e8df
Merge pull request #11958 from miri64/emcute/fix/length-calculation
emcute: fix length field calculation
2019-10-01 09:29:58 +02:00
Martine S. Lenders
60f33bbbf5 sixlowpan_sfr: initial import Selective Fragment Recovery definitions 2019-10-01 08:45:19 +02:00
59743aed13
USBUS cdc acm: Add STDIO wrapper for CDC ACM 2019-09-30 18:40:59 +02:00
852b7c8d0a
usbus: Add cdc acm function 2019-09-30 18:40:59 +02:00
802012cbda
usb cdc acm: add common defines for cdc acm 2019-09-30 18:40:59 +02:00
Martine Lenders
04f59d6609 gnrc_sixlowpan_frag_vrb: re-use now unused super::dst for out_dst 2019-09-30 12:46:15 +02:00
Martine Lenders
45f7966364 gnrc_sixlowpan_frag_vrb: fix for draft update
Due to some changes to the minimal forwarding draft and in preparation
for Selective Fragment Recovery some changes to the VRB API were
needed. Now the index of a VRB entry is only (L2 src, tag) not as
before (L2 src, L2 dst, length, tag).

I know that the current `rbuf_base` causes waste, as all the fields not
used by the new index are effectively not used by the VRB. I'd like to
fix that however in a later change, since that also requires some
modifications of the classic reassembly buffer, and thus would
complicate the review and testing of the change.

Sources for the index change:
- https://tools.ietf.org/html/draft-ietf-6lo-minimal-fragment-04#section-1
- https://mailarchive.ietf.org/arch/browse/6lo/?gbt=1&index=DLCTxC2X4bRNtYPHhtEkavMWlz4
2019-09-29 18:31:43 +02:00
Martine Lenders
698d46eabe gnrc_sixlowpan_frag_rb: make NOPs dependent on RB 2019-09-28 13:36:39 +02:00
Martine Lenders
e9ff46b2ea gnrc_sixlowpan_frag_rb: unify naming scheme 2019-09-28 12:11:54 +02:00
Martine Lenders
178f4af108 gnrc_sixlowpan_frag_rb: remove legacy defines 2019-09-28 12:07:24 +02:00
Martine Lenders
972e4938bc gnrc_sixlowpan_frag_rb: use existing name scheme for private functions 2019-09-28 11:51:18 +02:00
Martine S. Lenders
49bd8678ed gnrc_sixlowpan_frag_rb: remove public around former private functions 2019-09-28 11:51:18 +02:00
Martine S. Lenders
ec495528fe gnrc_sixlowpan_frag: move private RB functions to RB module 2019-09-28 11:51:18 +02:00
Ken Bannister
859dab585f net/coap: remove deprecated COAP_CT_... defines 2019-09-27 20:57:42 -04:00
Martine S. Lenders
b5545fe334 gnrc_sixlowpan: include reassembly buffer only where needed 2019-09-27 21:11:36 +02:00
Martine S. Lenders
1f7770da5c gnrc_sixlowpan_frag: move public rbuf functions to their own module 2019-09-27 19:09:52 +02:00
Martine S. Lenders
2d9ba56c2c gnrc_sixlowpan_frag: move reassembly buffer to its own header 2019-09-27 18:34:02 +02:00
9e65405a68
Merge pull request #12309 from haukepetersen/fix_skald_develhelpbuild
ble/skald: remove broken assert in init()
2019-09-26 22:44:55 +02:00
Martine Lenders
062bc732ea
Merge pull request #11299 from llueder/ndp_cpp_compliant
net/ndp: make addr array ptr c++ compliant
2019-09-26 22:34:45 +02:00
Lasse Lueder
1b0fdf5a6f net/ndp: remove convenience pointer in ndp_opt_rdnss_t 2019-09-26 22:09:02 +02:00
Lasse Lueder
8a86ea4a4b use ndp_opt_rdnss_impl_t to access addresses 2019-09-26 22:08:49 +02:00
Lasse Lueder
93fd8b707c net/ndp define ndp_opt_rdnss_impl_t
The auxiliary struct internalizes the handy but non ISO-C++ compliant pointer to the payload in the packet struct. See PR #11299.
2019-09-26 22:08:28 +02:00
Hauke Petersen
1871c0cb85 ble/skald: remove broken assert in init() 2019-09-26 22:07:23 +02:00
Gaëtan Harter
a889e500f0 pthread: make pthread reaper stacksize configurable
new define 'CONFIG_PTHREAD_REAPER_BASE_STACKSIZE' to change pthread reaper for boards that need more stack
default value is 'THREAD_STACKSIZE_IDLE'
2019-09-25 16:14:29 +02:00
benpicco
e942f86837
Merge pull request #11056 from kb2ma/coap/pkt_api_block_write
net/gcoap: add/use Packet API Block implementation
2019-09-24 21:43:33 +02:00
Martine Lenders
58e3384cad
Merge pull request #12298 from brummer-simon/gnrc_tcp-allow_unknown_options
gnrc_tcp: allow unknown options
2019-09-24 20:55:14 +02:00
Martine Lenders
cecdd579cb
Merge pull request #12299 from pokgak/pr/credman_change_to_const_void
credman: change credman_buffer_t::s type to 'const void *'
2019-09-24 20:38:20 +02:00
Ken Bannister
68ccf4bdc5 net/gcoap: add module documentation for block use 2019-09-24 14:03:50 -04:00
Simon Brummer
fdda22c200 gnrc_tcp: allow unknown options 2019-09-24 20:01:40 +02:00
Aiman Ismail
dac69c5332 credman: change credman_buffer_t::s type to 'const void *' 2019-09-24 19:38:26 +02:00
José Alamos
dcbd12f01e
Merge pull request #12295 from benpicco/netif-phy_cfg_lora
shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
2019-09-24 18:09:07 +02:00
Benjamin Valentin
c31e373214 shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
If no LoRA module is used, there is no use in compiling in all the config options
for LoRA PHYs.

This saves about 1k of .text
2019-09-24 17:14:03 +02:00
Sören Tempel
30e4823e94 asymcute: don't make the assumption that req->arg is non-NULL
This fixes a denial of service where an attacker would be able to cause
a NULL pointer dereference by sending a spoofed packet. This attack only
requires knowledge about pending message ids.
2019-09-24 12:00:12 +02:00
Gunar Schorcht
e0f1ab0a16 cpu/esp32: module esp_can removed
CAN controller driver for ESP32 is no longer realized as separate module.
2019-09-20 19:35:02 +02:00
JulianHolzwarth
a4d0c8a8e7 sys/posix/pthread/pthread.c: reduce pthread reaper size 2019-09-20 15:07:49 +02:00
JulianHolzwarth
d6bc8685f7 sys/posix/pthread/pthread.c: create thread sleeping
creating the pthread sleeping and waking it up instead of THREAD_CREATE_WOUT_YIELD and then yielding(sched_switch)
2019-09-20 15:07:49 +02:00
JulianHolzwarth
28719bae37 sys/posix/pthread/pthread.c: check reaper creation
Checking whether or not the pthread reaper was created
And handeling the error when it was not created
2019-09-20 15:07:49 +02:00
JulianHolzwarth
31b3aeb48c sys/posix/pthread/pthread.c: Reaper fix
before the reaper was never created
2019-09-20 15:07:48 +02:00
Martine Lenders
3a4d1f9bb1
Merge pull request #12281 from aabadie/pr/ci/coccinelle_fix_remaining
tools/ci: fix remaining errors reported by coccinelle static check
2019-09-20 14:22:09 +02:00
Martine Lenders
440b2614b5
Merge pull request #12274 from miri64/gnrc_ipv6/fix/scan-build
gnrc_ipv6: fix scan-build errors
2019-09-20 09:35:40 +02:00
caf48cfb2d
sys/net/lwmac: remove not needed pkt pointer check 2019-09-20 09:01:08 +02:00
Martine S. Lenders
66fa240e9a gnrc_ipv6: fix scan-build errors 2019-09-20 08:59:55 +02:00
Kees Bakker
d9e0c6c859 sys/arduino: use 64bit usec to compute millis()
This is quick solution to avoid wrapping around after 4294967 milliseconds.
It uses xtimer_now_usec64 instead of xtimer_now_usec.

Notice that this is more expansive than the previous solution, especially
on AVR systems.
2019-09-19 19:52:43 +02:00
Martine S. Lenders
2c1a2863ce shell: make shell_run run shell forever
This change is in preparation to [PR 10788]. PR 10788 will make the
shell exitable which may lead to unexpected behavior in comparison to
previous usage of the shell.

To prevent this, this PR introduces two "new" functions to the shell's
API: `shell_run_once()` and `shell_run_forever()`.

`shell_run_once()` basically has the same behavior as `shell_run()` in
current master: Start a shell and continue reading lines until EOF is
reached.

`shell_run_forever()` wraps around `shell_run_once()` and restarts the
shell if it exits.

`shell_run()` is re-introduced as a back-porting alias for
`shell_run_forever()`.

As a consequence all current calls to `shell_run()` won't exit even
with [PR 10788] merged (which would add EOT as additional exit
condition for `shell_run_once()`).

[PR 10788]: https://github.com/RIOT-OS/RIOT/pull/10788
2019-09-19 10:26:31 +02:00
Dylan Laduranty
f276328491
Merge pull request #12267 from bergzand/pr/usbus/auto_tests
usbus: Add automated test
2019-09-19 09:52:48 +02:00
5b477918b6
usbus: Rework handling of set control requests 2019-09-19 09:29:52 +02:00
benpicco
7a818f0433
Merge pull request #12249 from nmeum/pr/gnrc_tcp_option_length_access
gnrc_tcp: check if option length field is present before accessing it
2019-09-17 23:22:53 +02:00
smlng
0f1eda14d5 sys/pipe: always include stdlib.h instead of malloc.h
The malloc.h file is deprecated on most systems and should not be
used, instead include stdlib.h which handles needed function in a
portable manner.
2019-09-17 20:43:33 +02:00
Martine Lenders
5631b698db
Merge pull request #11623 from miri64/gnrc_ipv6_ext/feat/ipv6-frag
gnrc_ipv6_ext_frag: Initial import of IPv6 fragmentation
2019-09-17 19:27:38 +02:00
Martine Lenders
51ef1c997d gnrc_ipv6: use fragmentation if available 2019-09-17 18:55:18 +02:00
Martine Lenders
c2c3216c16 gnrc_ipv6_ext_frag: Initial import of IPv6 fragmentation 2019-09-17 18:55:18 +02:00
Ken Bannister
80c5baad0e
Merge pull request #12234 from kb2ma/coap/doc_option_order
net/coap: Document requirement to add CoAP options in order
2019-09-16 18:44:41 -04:00
Sören Tempel
e5503d62bf gnrc_tcp: check if option length field is present before accessing it
TCP options have up to three fields (kind, length, value). The
current code only checks for the presence of the first field. Before
accessing the second field (length) the code must ensure that a length
field is even present.
2019-09-16 21:13:51 +02:00
benpicco
018c15ae0c
Merge pull request #12253 from nmeum/pr/gnrc_tcp_option_length_check
gnrc_tcp: Always ensure that option->length doesn't exceed opt_left
2019-09-16 21:02:52 +02:00
Martine Lenders
4905a1ad49 gnrc_ipv6_ext: use fragment reassembly if available 2019-09-16 19:13:18 +02:00
Martine Lenders
f4b8ba32f3 gnrc_ipv6_ext_frag: Initial import of IPv6 reassembly 2019-09-16 19:13:18 +02:00
Martine Lenders
409e04267f
Merge pull request #12250 from miri64/gnrc_netif_ethernet/fix/debug-output
gnrc_netif_ethernet: fix debug output for received packet
2019-09-16 19:04:05 +02:00
Sören Tempel
463c1212c2 gnrc_tcp: Always ensure that option->length doesn't exceed opt_left 2019-09-16 17:52:25 +02:00
benpicco
92d5428d2e
Merge pull request #12248 from cladmi/pr/makefile_base/thin_archive_fix
Makefile.base: implement relative path linking without 'realpath'
2019-09-16 17:05:53 +02:00
Gaëtan Harter
a1f0651170
Revert "sys/arduino: work around llvm-ar bug."
This reverts commit 72f934f13d.

Not required anymore as 'ar' is not executed in the object directory
anymore.
2019-09-16 15:52:36 +02:00
Martine S. Lenders
1ca05f0c08 gnrc_netif_ethernet: fix debug output for received packet
A received packet is outputted in DEBUG _after_ it was already parsed,
but with a reference to the already parsed header. The result is that
there can be some garbage in the output and the packet is not dumped in
total. As without parsing we do not have access to the header yet, we
use the `gnrc_netif_addr_to_str()` helper function instead of parsing
the destination address by hand.
2019-09-16 14:01:16 +02:00
Martine Lenders
1dcf88efb2
Merge pull request #12245 from nmeum/pr/gnrc_tcp_unknown_option
gnrc_tcp: abort on unknown option
2019-09-16 13:01:01 +02:00
Martine Lenders
56e6887a95
Merge pull request #12079 from nmeum/pr/gnrc_tcp_gnrc_pktbuf_add
gnrc_tcp: Fix invocation of gnrc_pktbuf_add
2019-09-16 12:41:57 +02:00
Sören Tempel
9764697a3b gnrc_tcp: abort on unknown option 2019-09-16 12:18:24 +02:00
benpicco
6c95081e42
Merge pull request #10556 from gschorcht/drivers_pca9685
drivers: support for NXP PCA9685 I2C 16-channel, 12-bit PWM controller
2019-09-15 19:20:29 +02:00
benpicco
65b7102608
Merge pull request #10195 from jcarrano/thin-archives
Makefile.base: use thin static archives.
2019-09-15 13:04:25 +02:00
Ken Bannister
5b0aacc9cf net/nanocoap_sock: insert doc to add options in order 2019-09-15 05:38:58 -04:00
Ken Bannister
414c68a654 net/gcoap: insert doc to add options in order 2019-09-15 05:38:32 -04:00
Ken Bannister
d9d8d92429 net/nanocoap: reinsert doc to add options in order 2019-09-15 05:37:26 -04:00
Ken Bannister
1ea66c713b net/nanocoap_sock: refactor Options API doc 2019-09-14 10:56:38 -04:00
Ken Bannister
3497c67917 net/gcoap: refactor Options API doc 2019-09-14 10:56:38 -04:00
Ken Bannister
0c5706969c net/nanocoap: refactor Options API doc 2019-09-14 10:56:38 -04:00
Ken Bannister
55c18947bd net/nanocoap: doc emphasize application API 2019-09-14 08:13:50 -04:00
Juan I Carrano
9cf1da9f04
Merge pull request #11935 from fjmolinas/pr_schedstatistics_module
sys: add schedstatistics module
2019-09-13 15:09:12 +02:00
Francisco Molina
1caf6610cb sys: add schedstatistics module 2019-09-13 11:37:44 +02:00
benpicco
66ce29d94c
Merge pull request #12051 from OTAkeys/fix/isotp
can/isotp: fix closing connection and improve flow control handling
2019-09-12 23:01:58 +02:00
Schorcht
72eb93626a sys/auto_init: SAUL support for PCA9685 PWMs 2019-09-12 19:13:20 +02:00
Juan I Carrano
e9ca2114ee
Merge pull request #12204 from cladmi/pr/pthread/enable_avr
pthread_cond.h: use 'sys/types.h' value of 'clockid_t' for avr. Enables pthread on AVR.
2019-09-12 16:41:59 +02:00
benpicco
bf2aaa1a5d
Merge pull request #12049 from Sizurka/fix-asymcute-reconnect
asymcute: Reset keepalive counter on connection ACK
2019-09-12 15:55:11 +02:00
Martine Lenders
af45ebecec
Merge pull request #12208 from pokgak/wolfssl_pkg_desc
wolfssl: improve documentation
2019-09-12 15:11:40 +02:00
Ken Bannister
1621cc1d39
Merge pull request #12075 from kb2ma/coap/options_get_opaque
net/nanocoap: get option bytes
2019-09-12 09:00:27 -04:00
Aiman Ismail
083c8f79c0 net/dtls: add reference to wolfssl pkg 2019-09-12 14:58:16 +03:00
Martine Lenders
8911c514fd
Merge pull request #10951 from miri64/gnrc_ipv6_nib/enh/abr-helpers
shell/sc_gnrc_ipv6_nib: extend for ABR
2019-09-12 07:34:09 +02:00
Martine Lenders
1656162835 shell_commands: gnrc_ipv6_nib: remove unnecessary cast 2019-09-11 23:51:20 +02:00
Martine Lenders
28ac07d8e5 shell/sc_gnrc_ipv6_nib: extend for ABR
Adds functionality to list and edit authoritative border router list.
2019-09-11 23:51:20 +02:00
Martine Lenders
b77e08652e gnrc_ipv6_nib: provide ABR iteration and print function 2019-09-11 23:51:20 +02:00
dd99cea622
usbus: rename setup request to control request
This commit changes the name of the requests over the control endpoints
to control requests instead of setup requests. This is a terminology fix
to follow the USB specification more closely as technically only the
first stage of a control request is named setup which contains a setup
packet. The whole transfer is a control transfer.
2019-09-11 21:39:05 +02:00
benpicco
ca6009592f
Merge pull request #11781 from fjmolinas/pr_schedstatistics_refactor
core/schedstatistics: fix call to uninitialized xtimer
2019-09-11 20:11:55 +02:00
Gaëtan Harter
624957252e
pthread_cond.h: use 'sys/types.h' value of 'clockid_t' for avr
This enables 'pthread' support on arduino.

avr-libc C90 'time.h' does not include 'sys/types.h' as POSIX expects it.
However, the type previously defined conflicts with the one in
'cpu/atmega_common/avr_libc_extra/include/sys/types.h' when both are
included, so include 'sys/types.h'.

Maybe it should alway be included by 'time.h' but this
would need its specific review.
2019-09-11 18:25:10 +02:00
Juan I Carrano
00e0a1cf13
Merge pull request #12056 from JulianHolzwarth/pr/posix/pthread/small_insert_fix
sys/posix/pthread/pthread.c: fix thread count limiting in pthread_create()
2019-09-11 18:22:54 +02:00
Kevin "Tristate Tom" Weiss
d6af98b5b7
Merge pull request #11835 from miri64/gnrc_sixlowpan_frag/new/stats
gnrc_sixlowpan_frag_stats: initial import of frag statistics
2019-09-11 12:01:22 +02:00
Ken Bannister
39eddce078 net/nanocoap: add function to retrieve opaque option 2019-09-11 05:40:14 -04:00
Martine Lenders
0ab0a19871 shell_commands: add command to get 6lo frag statistics 2019-09-11 10:30:29 +02:00
Martine Lenders
dca3408167 gnrc_sixlowpan_frag_stats: initial import of frag statistics 2019-09-11 10:30:29 +02:00
Martine Lenders
0c24bfcd0d shell_commands: fix ping6 response check for multicast 2019-09-10 21:50:23 +02:00
benpicco
720db1ab1e
Merge pull request #11262 from OTAkeys/fix/can_crash
can: fix a race condition with tx_list
2019-09-10 19:28:14 +02:00
Juan Carrano
72f934f13d sys/arduino: work around llvm-ar bug.
llvm-ar behaves weidly when creating thin archive. This only manifests
itself when using arduino sketches as these are built from the "bin"
directory.

Specifically, given a directory "m" and an object in "m/obj.o " an
invocation with CWD==m:

```
llvm-ar rcTs ../m.a obj.o
```

Will create a maformed archive. Binutils does not have any issue with this.

The following command, executed with CWD==m/.. works:

```
llvm-ar rcTs m.a m/obj.o
```

The trick used in this commit is to put the source files in a different
directory than the object files and compile from there.
2019-09-10 17:53:07 +02:00
francisco
3d62fa05b8 core/schedstatistics: refactor
- add init_schedstatistics function to be called after
  auto_init, that way xtimer_is init is called before
  the first call to xtimer_now
- register schedstatics code as a callback to be executed
  on each sched_run()
2019-09-10 17:07:54 +02:00
Leandro Lanzieri
a3e717e58d sys/net/gcoap: Add clarification on observing in doc 2019-09-10 16:33:12 +02:00
Martine Lenders
9e33c04e3d
Merge pull request #9404 from OTAkeys/pr/can_memarray
can: use memarray for pkt and router allocation
2019-09-10 16:28:31 +02:00
Marian Buschsieweke
b87ab96d17
Merge pull request #10661 from miri64/gnrc_netif_hdr/enh/netif_setter
gnrc_netif_hdr: add setter for netif
2019-09-10 16:14:28 +02:00
Javier FILEIV
ced8094e1a can_pm: if powered up by raw interface, fix sleeping timer. 2019-09-10 13:04:52 +02:00
Vincent Dupont
6bbb908d59 can/pkt: free pkt on bus off error 2019-09-10 13:04:52 +02:00
Vincent Dupont
d3fac6f5ac can/conn: use non-blocking function from timer interupts 2019-09-10 13:04:52 +02:00
Vincent Dupont
c9211f9c06 can: fix race condition in tx_list 2019-09-10 13:04:52 +02:00
Vincent Dupont
9207e6b446 can: use memarray for pkt and router allocation 2019-09-10 13:01:28 +02:00
Martine S. Lenders
cee1b7296d gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif() also for loopback 2019-09-10 12:37:32 +02:00
04d33973f4
sys/log: add colored logging module 2019-09-09 20:27:16 +02:00
88e07c06d2
Merge pull request #11367 from maribu/arm_early_stdio
cpu: Moved stdio_init() prior to periph_init() for ARM targets
2019-09-09 16:52:30 +03:00
Sebastian Meiling
9f5951d216
Merge pull request #10214 from bergzand/pr/nanocoap/flags_uint32t
nanocoap: change method flag type to uint16_t
2019-09-09 12:33:17 +03:00
Martine Lenders
58d621611f
Merge pull request #12175 from shr70/icmpv6_error_fix
[gnrc_icmpv6_error] Fixed multicast detection
2019-09-09 11:32:31 +02:00
Leandro Lanzieri
563a053bc1
Merge pull request #10983 from skullbox305/driver_ph_oem
drivers/ph_oem: support for Atlas Scientific pH OEM sensor
2019-09-09 10:18:49 +02:00
Sebastian Meiling
c78ae0e33c
Merge pull request #12074 from kb2ma/coap/options_iterate
net/nanocoap: iterate options
2019-09-09 10:51:23 +03:00
bde253cca3
gcoap: use coap_method_flags_t 2019-09-09 09:40:14 +02:00
4d399bf444
nanocoap: change method flag type to uint32_t 2019-09-09 09:40:14 +02:00
Ken Bannister
113dd645bf
Merge pull request #10193 from bergzand/pr/coap/include_rfc8428_rfc8132
coap: Update list of defines for "PATCH and FETCH Methods" and SenML
2019-09-08 19:14:40 +03:00
Kees Bakker
35c5869a2e
Merge pull request #12117 from maribu/arduino-println
sys/arduino: Extended Serial.print() / println()
2019-09-07 21:16:43 +02:00
Marian Buschsieweke
df27dbef7a
cpu: Moved stdio_init() into cpu_init()
- Removed stdio_init() from newlib's _init(), as this is too late in the boot
  process to allow DEBUG()ing during periph_init()
- Added stdio_init() to the various cpu_init() routines of the ARM CPUs just
  before periph_init()
2019-09-06 16:54:23 +02:00
JulianHolzwarth
d76bb689d6 sys/posix/pthread/pthread.c: pthread_create fix
The function insert returns KERNEL_PID_UNDEF now because pthread_create checks for it.
In pthread_create it checks now if thread_create returns a valid pid
2019-09-06 15:54:59 +02:00
steffen
485dbd1fda [gnrc_icmpv6_error] Fixed multicast detection
before this commit the src address was checked for multicast, but the dst address should be checked. Therefore udp multicast packets would be flooded back to the src as ICMPv6 error, as not all nodes had a UDP receiver registered.
2019-09-05 19:22:43 +02:00
Francisco Molina
1357f46c47 pkg/semtech-loramac: add uplink_counter get/set functions 2019-09-05 16:01:32 +02:00
7bd9e68867
nanocoap: Add method flags for rfc8132 2019-09-05 13:00:22 +02:00
c4e48ea5e0
coap: update defines for sen(s)ml format types 2019-09-05 12:59:45 +02:00
bf51f35838
coap: update defines for rfc8132
Update the list of defines for methods and response codes with the new
codes as defined in [rfc8132](https://tools.ietf.org/html/rfc8132)
2019-09-05 12:55:17 +02:00
Igor Knippenberg
89082a3eb2 sys/auto_init: Added auto initialization for pH OEM driver 2019-09-05 12:47:10 +02:00
Igor Knippenberg
61d0970939 drivers/saul: Added pH
- added device class SAUL_SENSE_PH in saul.h
- added stringification SAUL_SENSE_PH in saul_str.c
2019-09-05 12:47:10 +02:00
Gunar Schorcht
140987fc3a sys/shell: cleanup the heap command approach
Replaces the special heap command approach of the lpc_common module with a more general heap command approach. Module lpc_common was already removed with PR #2118. PR #2118 integrated cpu/lpc_common code in cpu/lpc2387. With PR #3530 special heap handling for cpu/lpc2387 was replaced by newlib memory management which uses _sbrk_r to allocate chunks from the heap. _sbrk_r uses _sheap and _eheap symbols that are defined in lpc2387.ld and can be used together with mallinfo function for heap statistics.
2019-09-05 09:18:46 +02:00
benpicco
f421cb7d9d
Merge pull request #12116 from maribu/arduino-millis
sys/arduino: Added millis()
2019-09-05 04:12:46 +02:00
Marian Buschsieweke
d4aeca7469
sys/arduino: Extended Serial.print() / println()
- Serial.print() and Serial.println() have been extended to support:
    - unsigned int
    - long
    - unsigned long
- The SerialFormat BIN has been implemented
- Serial.println(void) has been added
2019-09-04 21:36:20 +02:00
benpicco
7f487ac807
Merge pull request #12131 from brummer-simon/gnrc_tcp-release_after_failed_send
gnrc_tcp - Release pakets on failed gnrc_netapi_send()
2019-09-03 15:59:21 +02:00
Francisco Molina
5e1558ba57 shell/commands: fix, only accept proper pong response 2019-09-03 09:07:29 +02:00
Simon Brummer
351220e884 gnrc_tcp - Release pakets on failed gnrc_netapi_send() 2019-08-31 11:16:55 +02:00
Daniele Lacamera
5cb76e521b posix_socket: set sock for returned socket on accept() 2019-08-30 21:18:25 +02:00
benpicco
837f99e757
Merge pull request #12084 from nmeum/pr/gnrc_tcp_minlen
gnrc_tcp: add minimum length check to _receive
2019-08-30 17:37:20 +02:00
benpicco
7d3f20b1a8
Merge pull request #12088 from nmeum/pr/gnrc_tcp_option_overflow
gnrc_tcp: fix integer underflow in option parser
2019-08-30 17:34:39 +02:00
Martine Lenders
3671f69a43
gnrc_rpl: use gnrc_netif_hdr_set_netif() 2019-08-29 14:51:46 +02:00
Martine Lenders
685f7f6b38
gnrc_lwmac: use gnrc_netif_hdr_set_netif() 2019-08-29 14:51:46 +02:00
Martine Lenders
3c105d8b33
gnrc_gomach: use gnrc_netif_hdr_set_netif() 2019-08-29 14:51:45 +02:00
Marian Buschsieweke
8cff47304b
sys/arduino: Make use of US_PER_MS in delay() 2019-08-29 13:57:56 +02:00
Marian Buschsieweke
27eca42f48
sys/arduino: Added millis()
Added arduino-compatilbe "unsigned long millis()"
2019-08-29 13:36:15 +02:00
Hauke Petersen
33eb83ff42 sys/shell/nimble: make default name more generic 2019-08-29 11:23:51 +02:00
Hauke Petersen
de890bd9a8 sys/shell/nimble: only print ip addr if ipv6 is used 2019-08-29 11:23:51 +02:00
Hauke Petersen
a3b8c87ab5 sys/shell: add 'ble' shell cmd for nimble_netif 2019-08-28 16:48:42 +02:00
Hauke Petersen
1cb54659c3 net/ble.h: add l2cap cid and gapp svc id constants 2019-08-28 16:48:42 +02:00
Hauke Petersen
7f7993f1d6 bluetil/addr: fix byte ordering in addr_from_str() 2019-08-28 16:48:42 +02:00
Hauke Petersen
b7b5791930 sys/bluetil/addr: fix byte ordering in print funcs 2019-08-28 16:48:42 +02:00
Hauke Petersen
bcf2f2a2de sys/bluetil/addr: add doc in byte ordering 2019-08-28 16:48:41 +02:00
Hauke Petersen
218b547b3c net/bluetil/addr: add addr swapped copy function 2019-08-28 16:48:41 +02:00
Hauke Petersen
9df583457f net/l2util: fix addr conversion for BLE 2019-08-28 16:48:41 +02:00
Hauke Petersen
504acc5097 net/l2util: add nimble opt for addr resolution 2019-08-28 16:48:03 +02:00
Rotzbua
9cf0c3bc70 sys/net: fix typos in docu 2019-08-28 15:59:16 +02:00
Juan I Carrano
a6e26597c7
Merge pull request #11987 from miri64/nhdp/doc/deprecate
nhdp: deprecate module
2019-08-28 15:45:00 +02:00
Martine S. Lenders
056bd35e6c nhdp: deprecate module 2019-08-28 06:22:14 +02:00
Aiman Ismail
ede7edd313 sys/net pkg/: document DTLS support in net_dtls 2019-08-27 16:41:39 +02:00
Aiman Ismail
fed72571ec sys/net/sock: add sock_dtls API 2019-08-27 16:41:39 +02:00
Sören Tempel
7f3415e91d gnrc_tcp: Fix invocation of gnrc_pktbuf_add
The size parameter should specify the length of the given data.
2019-08-27 10:19:40 +02:00
Sören Tempel
c9358b9217 gnrc_tcp: fix integer underflow in option parser 2019-08-27 10:18:15 +02:00
Sören Tempel
0fff1b35ec gnrc_tcp: add minimum length check to _receive 2019-08-26 16:45:46 +02:00
Rotzbua
5a8bac399c
drivers/ccs811: sys/hashes: fix typo usefull -> useful 2019-08-25 21:27:55 +02:00
Ken Bannister
4e89741b79 net/nanocoap: add function to iterate over options 2019-08-24 06:51:29 -04:00
Ken Bannister
6c8e646b83 net/nanocoap: check for payload marker when parse option 2019-08-24 06:51:29 -04:00
Kevin "Tristate Tom" Weiss
1b1c902dd3
Merge pull request #12022 from JannesVolkens/tmp00x
driver/tmp00x: make tmp006 more generic
2019-08-23 13:26:09 +02:00
Jannes
90c4ef04ef driver/tmp00x: Change tmp006 to tmp00x and add tmp007
Rename TMP006 to TMP00x
Add TMP007 sensor support to TMP00X
Change uint8_t reg to uint16_t
Add to doxygen documentation group
Expose compile time configurations
Move defines from .c to .h
Change double to float, because double is not needed
Add TMP007 register information
2019-08-23 12:11:16 +02:00
Ken Bannister
78ea07d5e7 net/nanocoap: make coap_pkt_t param const 2019-08-21 13:20:49 -04:00
Sebastian Meiling
8e08748c60
Merge pull request #7654 from cladmi/pr/arduino_sketches.cpp
arduino/sketches: build sketches as a module
2019-08-21 15:22:45 +02:00
Gaëtan Harter
be30f072e2
sys/arduino/sketches: build sketches as a module
Generate a module for arduino sketches in a subfolder of BINDIR.
This prevents issues when doing concurrent builds or out of tree build with
readonly sources.

Declare all generated files as `BUILDDEPS` to be re-created after
`clean` on parrallel `clean all`.
2019-08-21 11:57:41 +02:00
Vincent Dupont
af66fe101d can/isotp: allow changing FC options at runtime 2019-08-21 11:16:56 +02:00
Vincent Dupont
32b00706e3 can/isotp: remove timers when closing connection
Timers were not properly removed leading to hard faults if it fires
after the connection is closed.
2019-08-21 11:16:56 +02:00
Derek Hageman
18910cf4e2 asymcute: Reset keepalive counter on connection ACK
When a keepalive timeout occurs keepalive_retry_cnt remains zero,
so when the connection is re-established _on_keepalive_evt will
immediately disconnect instead of actually sending a keepalive ping.

The sequence looks like:
  1. _on_connack: start con->keepalive_timer
  2. Server does not respond to keepalive pings
  3. _on_keepalive_evt: con->keepalive_retry_cnt reaches zero
  4. Connection torn down and ASYMCUTE_DISCONNECTED sent to application
  5. Application starts reconnection
  6. _on_connack: start con->keepalive_timer again
  7. First _on_keepalive_evt: con->keepalive_retry_cnt is still zero
  8. Repeat from 4.

So this simply resets keepalive_retry_cnt in _on_connack when
the keepalive timer is restarted.  It's a new connection, so
resetting the keepalive retry counter make senses regardless.

Signed-off-by: Derek Hageman <hageman@inthat.cloud>
2019-08-20 17:23:05 -06:00
d6356bdc08
Merge pull request #11692 from maribu/fmt_table
sys/fmt: Added submodule fmt_table for printing tables
2019-08-20 22:18:54 +02:00
Peter Kietzmann
11b4bab101
Merge pull request #10340 from maribu/cc110x_rewrite
drivers/cc110x: Complete rewrite from scratch
2019-08-20 17:58:21 +02:00
Marian Buschsieweke
88cf6cb46f
sys/auto_init/netif: Increased cc110x stack size
With the increase of the message queue size from 8 to 16 in
946b06e4f0, the default stack became too small.
This changes the stack size to grow with the message queue size.
2019-08-20 16:38:49 +02:00
Marian Buschsieweke
972367432a
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.

Features of this driver include:

- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
  configuration (modulation rate, channel bandwidth, base frequency) and the
  channel map.
- Fast channel hopping by pre-calibration of the channels during device
  configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
  for the transceiver to be ready (for the power regulators and the crystal
  to stabilize). The old driver did this for every SPI transfer, which
  resulted in complex communication code. This driver will wait on start up
  for the transceiver to power up and then use RIOT's SPI API like every other
  driver. (Not only the data sheet states that this is fine, it also proved to
  be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
  about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
  (depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
  doubled compared to the old driver (preamble: 8 bytes instead of 4,
  sync word: 4 byte instead of 2). The new values are the once recommended by
  the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
  SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
  to ease the use of the API (implemented without busy waiting, so that the
  MCU can enter lower power states or other threads can be executed).
2019-08-20 16:32:11 +02:00
benpicco
20dec77e39
Merge pull request #11999 from nmeum/pr/gnrc_tcp_mark_update
net/gnrc/tcp: fix invalid read
2019-08-20 15:37:17 +02:00
Marian Buschsieweke
26d73116f6
sys/fmt: Added submodule fmt_table
print_col_u32_dec() / print_col_s32_dec() can be used to print an
uint32_t / int32_t as a column of the given width
2019-08-20 14:32:49 +02:00
benpicco
f483988ae9
Merge pull request #12001 from nmeum/pr/gnrc_tcp_memory_leak
gnrc_tcp: Fix memory leak, potential DOS
2019-08-19 14:42:13 +02:00
Marian Buschsieweke
615e25f319
drivers: Removed driver for CC110x transceivers
- Removed cc110x driver
- Updated all makefiles
- Kept both board specific configurations and support for it in RIOT's
  upper layers, so re-implementations don't need to start from zero
2019-08-19 12:56:47 +02:00
Vincent Dupont
5a953a2137
Merge pull request #11991 from gschorcht/cpu/stp32_common/can/auto-init-cleanup
sys/auto_init/can: cleanup for STM32 CAN controller driver
2019-08-19 09:40:36 +02:00
913614ef04
Merge pull request #11004 from jcarrano/shell_cancel_line_ctrl-c
sys/shell: cancel current line on CTRL-C.
2019-08-16 13:00:33 +02:00
Sebastian Meiling
226ace7bb6
Merge pull request #9852 from bergzand/pr/rpl/fix_debug_hdrs
gnrc_rpl: remove DEBUG from header files
2019-08-16 11:27:48 +02:00
b33ee93d22
gnrc_rpl: remove DEBUG from header files
This conflicts with the DEBUG setting in C files that include these
headers making it impossible to enable the DEBUG setting in these C
files.
2019-08-16 10:11:41 +02:00
Juan Carrano
fa9337d73c sys/shell: cancel current line on CTRL-C.
CTRL-C cancels the current line, similar to how getty works.

This is useful if one is using a dumb terminal to communicate with
a node, as it saves having to repeatedly type backspace to discard the
current line. It also helps when connecting to an already running node,
as one does not know what is on the line buffer, the safest thing to do
is to begin by sending a ctrl-C.

This is a suggestion of @benemorius.
2019-08-15 17:13:42 +02:00
Gaëtan Harter
027426793c
test_utils_interactive_sync: add a helper for synchronizing tests
Add an implementation that waits for 's' to print 'START' and return.
If 'r' is given is prints 'READY' to allow querying for state.

The help and answered string have to be different to not match the other.
Using puts/getchar was smaller than using `stdio_read/stdio_write` on the
example I tested with `esp32`.
2019-08-15 12:26:28 +02:00
Marian Buschsieweke
c225636966
Merge pull request #10555 from gschorcht/irq_handler
sys: single interrupt handler thread for interrupts in modules with blocking functions
2019-08-13 15:08:53 +02:00
Gunar Schorcht
82e020fb81 sys/irq_handler: single interrupt handler thread
Single thread for handling interrupts that may trigger blocking  functions and therefore may only be called in thread context.
2019-08-13 14:49:10 +02:00
Sören Tempel
c6df2064af gnrc_tcp: Fix memory leak 2019-08-12 23:14:15 +02:00
Sören Tempel
9e91d21625 net/gnrc/tcp: fix uninitialized memory access
From the gnrc_pktbuf_mark documentation:

	    It's not guaranteed that `result->data` points to the
	    same address as the original `pkt->data.

Thus it should be necessary to update the `hdr` pointer.
2019-08-12 22:04:35 +02:00
Sören Tempel
3396743bab gnrc_pktbuf: fix typo (guaranteeed → guaranteed) 2019-08-12 22:00:14 +02:00
Juan I Carrano
b48afd6375
Merge pull request #11807 from JulianHolzwarth/pr/xtimer_mutex_lock_timeout/first_fix_improvements
sys/xtimer/xtimer.c: _mutex_timeout() cleanup
2019-08-09 19:23:16 +02:00
Gunar Schorcht
ba00269dc9 sys/auto_init/can: cleanup for STM32 CAN controller
Initialization code for module `can_stm32` is obsolete since the STM32 CAN controller driver isn't a module anymore.
2019-08-09 18:23:05 +02:00
JulianHolzwarth
c1f58186cb xtimer/xtimer.c: sched_switch instead of yield
because of pr #11759: not all boards check for is_in_irq when thread_yield_higher
2019-08-09 17:29:40 +02:00
JulianHolzwarth
1bcb4fcc5f xtimer/xtimer.c: _mutex_timeout improvements
Only yields and change threads status when thread was removed from mutex list.
2019-08-09 17:29:40 +02:00
JulianHolzwarth
a321dfc51d xtimer/xtimer.c: ensure modifing mutex is done with interrupt disabled
if xtimer_set spins the callback is executed in the thread context.

comment to explain irq_disable
and when this line could be removed
(when xtimer stops executing the callback funtion from thread context)
2019-08-09 17:28:54 +02:00
Francisco
56a6e5d53e
Merge pull request #11933 from miri64/shell/fix/check-sender
shell_commands: check ICMPv6 echo reply sender
2019-08-09 16:27:39 +02:00
Martine Lenders
c12bd5edb1
Merge pull request #11938 from miri64/shell_commands/enh/now-id
shell_commands/ping6: mix-in current time into ID
2019-08-09 12:56:54 +02:00
Francisco
fde50372c3
Merge pull request #11837 from miri64/gnrc_netif/enh/inter-tx-wait
gnrc_netif: allow for wait of minimum time between sends
2019-08-09 10:53:26 +02:00
Martine Lenders
488c47cbf3 gnrc_netif: allow for wait of minimum time between sends 2019-08-09 10:21:42 +02:00
Martine Lenders
af5bf360a0
Merge pull request #11575 from miri64/posix_socket/fix/init-uninit-fields
posix_socket: initialize uninitialized fields
2019-08-08 15:56:48 +02:00
Martine Lenders
3bcb1ee2ef posix_socket: initialize uninitialized fields 2019-08-08 15:03:28 +02:00
Kevin "Bear Puncher" Weiss
10a2794c8e
Merge pull request #11970 from miri64/gnrc_ipv6/fix/check-source-for-send
gnrc_ipv6: check validity of preconfigured source on send
2019-08-08 13:39:47 +02:00
Martine S. Lenders
7f2cc4f0b3 gnrc_ipv6: check validity of preconfigured source on send
If an address was pre-configured by the upper layer its validity is
currently ignored. It is neither checked if the address is on the
interface at all nor is it checked if it is valid.

This change provides a fix for that by checking both facts.
2019-08-08 13:16:28 +02:00
Hauke Petersen
02df6ab13f
Merge pull request #11000 from miri64/gnrc_sixlowpan_frag/new/vrb
gnrc_sixlowpan_frag: initial import of the VRB
2019-08-07 17:33:01 +02:00
Martine Lenders
a06b84dbcd
Merge pull request #11965 from pokgak/credman-add-credential-type-docs
credman: add documentation for enum credman_type_t
2019-08-07 16:33:03 +02:00
Martine Lenders
1f1ff16e3c gnrc_sixlowpan_frag: include VRB in normal GC 2019-08-07 16:19:36 +02:00
Martine Lenders
26a526eaee gnrc_sixlowpan_frag: initial import of the VRB
VRB = virtual reassembly buffer
2019-08-07 16:18:19 +02:00
Aiman Ismail
0c542f6605 credman: add documentation for enum credman_type_t 2019-08-07 14:00:39 +02:00
Juan I Carrano
ff57a904e3
Merge pull request #10271 from mtausig/aes_rv
Fix return value of aes_init for keys of incorrect length
2019-08-07 13:26:25 +02:00
Mathias Tausig
66edeeb9c6 crypto: aes_init(): Fail correctly when called with bad key length
A proper error code is returned if a key with unsupported (either by the implementation or the AES algorithm) length is passed to aes_init.
This fixes Issue #10175
2019-08-07 11:02:16 +02:00
Mathias Tausig
0352c7406d crypto: Fix code style 2019-08-07 11:02:16 +02:00
Benjamin Valentin
9311e05fcf sys/arduino: reduce scope of adc_line_state
This makes cppcheck happy.
2019-08-06 19:43:54 +02:00
Benjamin Valentin
0c98b79e2f sys/shell: reduce scope of variable 'entry' 2019-08-06 19:43:54 +02:00
Benjamin Valentin
9279733ed2 sys/shell: remove superfluous explicit cast 2019-08-06 19:43:54 +02:00
Benjamin Valentin
e8dc1119b8 sys: make use of ARRAY_SIZE macro 2019-08-06 19:43:54 +02:00
e352b54a9b
net/gnrc/tcp: remove duplicate net_gnrc_tcp group definitions 2019-08-05 16:57:37 +02:00
f922df8c99
net/gnrc/sock: remove duplicate net_gnrc_sock group definition 2019-08-05 16:57:37 +02:00
998fd6bcc9
sys/pthread: deduplicate pthread group definition 2019-08-05 16:57:36 +02:00
9e9ef3293d
sys/sha1: deduplicate sys_hashes_sha1 group definition 2019-08-05 16:57:36 +02:00
Martine S. Lenders
89afc378a9 emcute: fix length field calculation
The length field in an MQTT packet carries the _total_ length of the
packet. If it is below 256 (i.e. fits in one byte) only one byte is
used for the length field. If it is larger than that 3 bytes are used,
with the first byte having the value `0x01` and the remaining bytes
representing the length in as a 2 byte unsigned integer in network byte
order. Resulting from that it can be assessed that the check in
`emcutes`'s `set_len()` function is wrong as it needs to be checked if
`len` is lesser or equal to `0xff - 1`. `len <= (0xff - 1)` can be
simplified to `len < 0xff`. For some larger packages this safes 2 bytes
of wasted packet space.
2019-08-05 13:08:20 +02:00
Martine S. Lenders
10a3f3e8ed emcute: fix payload copy error for emcute_pub
`len` is used with the `memcpy()` to copy the payload to `tbuf`. With a
payload provided that is just long enough to fill `tbuf`, `len += 6`
leads to the `memcpy()` overriding data after `tbuf` (e.g. the
`mutex` that is unlocked right after) and thus resulting in potential
segmentation faults.
Additionally `+ 6` can only be applied if the total packet length is
below 256 (see spec), so `len + pos` is what needs to be provided to the
corresponding send functions instead (`pos` adapts to the header length
of the PUBLISH message).
2019-08-05 13:07:15 +02:00
Martine Lenders
4139370a87
Merge pull request #11952 from PeterKietzmann/pr_ccnl_update_and_bump
pkg/ccn-lite: bump version and adapt shell functions accordingly
2019-08-05 10:27:43 +02:00
Ken Bannister
513ddfd79c net/nanocoap: add Packet API block write functions 2019-08-02 09:46:24 -04:00
Ken Bannister
c8e87e7854
Merge pull request #11787 from miri64/gcoap/enh/backoff-config
gcoap: allow for retransmission backoff to be turned off
2019-08-02 06:40:07 -04:00
Ken Bannister
28317019fc
Merge pull request #11784 from miri64/gcoap/fix/ack-variance-0
gcoap: don't call random_uint32_range() when COAP_ACK_VARIANCE=0
2019-08-02 05:10:45 -04:00
Cenk Gündoğan
89c3c4e20e shell/ccn-lite: type fixes 2019-08-02 10:37:47 +02:00
Hauke Petersen
2ff5720c95
Merge pull request #11576 from miri64/posix_socket/fix/fd-perms
posix_sockets: set read/write permissions for socket fd
2019-08-02 09:22:24 +02:00
Kevin "Bear Puncher" Weiss
2be1323357
Merge pull request #10929 from gschorcht/esp_now_wifi_cleanup
cpu/esp*: esp_now and esp_wifi cleanup
2019-08-01 09:56:06 +02:00
Ken Bannister
b5200e96a7
Merge pull request #11024 from kb2ma/coap/add_block_helpers
net/nanocoap: Buffer API Block helper functions
2019-07-31 12:41:25 -04:00
Gunar Schorcht
97bb33788b cpu/esp*: changes to use esp_wifi and esp_now 2019-07-31 13:53:48 +02:00
Martine Lenders
1c7d4572a7 shell_commands/ping6: mix-in current time into ID
This prevents two fast executions of `ping6` behind each other to
confuse their respective responses.
2019-07-31 09:49:17 +02:00
Marian Buschsieweke
d4d5f27b72
Merge pull request #11916 from miri64/gnrc_icmpv6_echo/enh/use-netif_hdr-setter
gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif()
2019-07-30 19:48:43 +02:00
Ken Bannister
64b4e0ad2d net/nanocoap: add block slicer init function 2019-07-30 13:10:10 -04:00
Ken Bannister
a6f919ef3e net/nanocoap: refactor block2_finish() 2019-07-30 13:10:10 -04:00
Ken Bannister
86edea81be net/nanocoap: use block init helper internally 2019-07-30 13:10:10 -04:00
Ken Bannister
69efaa1d56 net/nanocoap: add block init helper function 2019-07-30 13:10:10 -04:00
Ken Bannister
f4df9d79e9
Merge pull request #11002 from kb2ma/coap/block_finish_proto
net/nanocoap: Buffer API Block implementation
2019-07-30 12:49:12 -04:00
Martine S. Lenders
4a723fe4fd shell_commands: check ICMPv6 echo reply sender
Fixes #11519 by checking the source address when an echo reply is
received by the `ping6` command.
2019-07-30 12:47:23 +02:00
Martine Lenders
6e9612f1d1
Merge pull request #11928 from gschorcht/sys/event/detached_init
sys/event: fix of compilation problems
2019-07-29 17:02:14 +02:00
Gunar Schorcht
f604d3dec8 sys/event: fix of compilation problems
Unstructured static initializer like { 0 } lead to compilation errors on ESP8266, MSP430 and MIPS. Error messages are:

error: (near initialization for 'queue.event_list') [-Werror=missing-braces]
error: (near initialization for 'queue.waiter') [-Werror=missing-field-initializers]

This change fixes the compilation problem.
2019-07-29 13:10:08 +02:00
Leandro Lanzieri
a9ab9d37e2
Merge pull request #11765 from kb2ma/coap/encode_resources
net/gcoap: add/publish link format attributes for a resource
2019-07-27 22:36:33 +02:00
Ken Bannister
d481ca9da7 net/gcoap: add selectable function to write a link 2019-07-27 07:09:40 -04:00
Martine Lenders
d1abb29665 sc_gnrc_icmpv6_echo: check for correct ipv6_addr_split_iface() error 2019-07-26 16:48:28 +02:00
Martine Lenders
44410a4aeb
Merge pull request #11918 from miri64/gnrc_ipv6/enh/use-netif_hdr-setter
gnrc_ipv6: use gnrc_netif_hdr_get/set_netif()
2019-07-26 12:00:39 +02:00
Martine S. Lenders
e865f4e34c gnrc_icmpv6_error: use gnrc_netif_hdr_get/set_netif() 2019-07-25 15:52:14 +02:00
Martine S. Lenders
4231b7cd38 gnrc_ndp: use gnrc_netif_hdr_set_netif() 2019-07-25 15:48:14 +02:00
Martine S. Lenders
2afa6795ef gnrc_ipv6: use gnrc_netif_hdr_get_netif() 2019-07-25 15:48:14 +02:00
Martine S. Lenders
7b43a8f9d5 gnrc_ipv6: use gnrc_netif_hdr_set_netif() 2019-07-25 15:45:44 +02:00
Martine S. Lenders
36e9d232a6 shell_commands/gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif() 2019-07-25 15:32:21 +02:00
Martine S. Lenders
6ad3c8d223 shell_commands/gnrc_icmpv6_echo: use netif pointer
... instead of numeric network interface identifier
2019-07-25 15:32:02 +02:00
Martine S. Lenders
47fdebc938 gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif() 2019-07-25 15:20:26 +02:00
Martine S. Lenders
4a38dabc70 gnrc_netif_ieee802154: use gnrc_netif_hdr_set_netif() 2019-07-25 14:56:47 +02:00
Martine S. Lenders
006f10c2af gnrc_netif_ethernet: use gnrc_netif_hdr_set_netif() 2019-07-25 14:15:37 +02:00
Martine S. Lenders
c3fe882cfe gnrc_netif_hdr: add setter for netif
This eases the refactoring to a pointer-based approach for network
interfaces.
2019-07-25 14:15:37 +02:00
Francisco
7eb579bf4f
Merge pull request #11886 from basilfx/feature/riotboot_assert
sys/riotboot: add missing assert.h
2019-07-23 17:12:10 +02:00
Leandro Lanzieri
b1babe5c19
Merge pull request #11880 from fjmolinas/pr_loramac_no_ack_retcode
pkg/semtech-loramac: update documentation
2019-07-23 09:06:19 +02:00
Bas Stottelaar
7213a95b31 sys/riotboot: add missing assert.h 2019-07-23 00:25:31 +02:00
Gaëtan Harter
225b50c423
sys/Makefile.include: check for newlib_nano instead of USE_NANO_SPECS
Check for the usage of `newlib_nano` module instead of the
`USE_NANO_SPECS` variable.

This allows also benefiting from the `printf_float` and `scanf_float`
behaviour on `arm7` and `riscv` cpus.
2019-07-22 16:52:18 +02:00
Francisco Molina
41e440a0ef pkg/semtech-loramac: extended return code doc and debug msg
- Add SEMTECH_LORAMAC_ALREADY_JOINED ret code for semtech_loramac_join
- Add SEMTECH_LORAMAC_TX_CNF_FAILED ret code for semtech_loramac_send
- Update shell commands to notify when no ACK is received on cnf tx
2019-07-22 16:12:23 +02:00
Ken Bannister
9dce54b54b net/nanocoap: refactor block option control use 2019-07-22 05:42:08 -04:00
Ken Bannister
4311f17e81 net/nanocoap: refactor block option put 2019-07-22 05:42:08 -04:00
Martine Lenders
7d2cb71c51
Merge pull request #11564 from pokgak/credman
sys: add credman (D)TLS credential management module
2019-07-19 16:38:47 +02:00
Marian Buschsieweke
d15b8201b4
Merge pull request #10717 from keestux/refactor-evtimer-add-del
sys/evtimer: refactor evtimer add()/del()
2019-07-19 15:00:29 +02:00
Aiman Ismail
a1a6dcd5ae sys/net: add credman (D)TLS credential manager 2019-07-19 13:56:21 +02:00
36f533e7ae
Merge pull request #11839 from kb2ma/nanocoap/option_func_doc
net/nanocoap: document internal option functions
2019-07-18 23:06:54 +02:00
Ken Bannister
64ba8e4ea9 net/nanocoap: document internal option functions 2019-07-18 05:21:40 -04:00
Kees Bakker
d2cd666841 evtimer: in evtimer_print also print first event 2019-07-17 20:51:32 +02:00
Kees Bakker
629e96ea80 evtimer: refactor adding and deleting events 2019-07-17 20:51:32 +02:00
Martine Lenders
60c26648fe
Merge pull request #11766 from nmeum/pr/gnrc_tftp_min_len
gnrc_tftp: Add minimum packet length check
2019-07-16 14:39:48 +02:00
981a8ec1ce
Merge pull request #11805 from kaspar030/riotboot_add_sha256_verify
sys/riotboot: add initial image digest verification
2019-07-10 17:48:36 +02:00
0f5a2b4795 sys/riotboot: add initial image digest verification
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2019-07-10 13:15:02 +02:00
JulianHolzwarth
ca8169f323 sys/include/xtimer.h: xtimer_mutex_lock_timeout() change comment
removing line because core_thread_flags is not required
2019-07-05 17:28:35 +02:00
6c02521591 nanocoap: make coap_get_block2() actually fill struct 2019-07-05 15:29:58 +02:00
Martine Lenders
f3493aa2b6
Merge pull request #11796 from kaspar030/pktbuf_remove_uio.h
gnrc/pktbuf: remove obsolete sys/uio.h include
2019-07-04 21:29:36 +02:00
de244e6679 gnrc/pktbuf: remove obsolete sys/uio.h include
This was previously used by gnrc_pktbuf_get_iovec() for the definitions
of "struct iovec", which has been removed a while ago.
2019-07-04 16:12:57 +02:00
Robin
4729bea46e
stm32_eth: Multiple Improvements of the original codebase
stm32eth: Move to stm32_common periph
cpu/stm32_periph_eth: Rebase to current master branch

- Update DMA to use new vendor headers
- Update send to use iolist. It looks like the packet headers are now transfered as seperate iolist entries which results in the eth periph sending each header as own packet. To fix this a rather ugly workaround is used where the whole iolist content is first copied to a static buffer. This will be fixed soon in another commit
- If MAC is set to zero use luid to generate one
- Small code style fixes

cpu/stm312f7: Add periph config for on-board ethernet
boards/nucleo-f767zi: Add config for on board ethernet
tests/stm32_eth_lwip: Remove board restriction
boards/common/nucleo: Add luid module if stm32 ethernet is used
tests/stm32_eth_gnrc: Add Testcase for gnrc using the stm32 eth periph
stm32_eth: Rework netdev driver layour
tests/stm32_eth_*: Use netdev driver header file for prototypes
stm32_eth: Add auto init for stm32 eth netdev driver
boards/stm32: Enable ethernet conf for nucleo boards
stm32_eth_auto_init: Add dont be pendantic flag
stm32_eth: Remove dma specific stuff from periph_cpu.h

Looks like this was implemented in PR #9171 and 021697ae94 with the same interface.

stm32_eth: Remove eth feature from stm32f4discovery boards
stm32_eth: Migrate to stm32 DMA API
stm32_eth: Add iolist to module deps
stm32_eth: Rework send function to use iolist
stm32_eth: Fix ci build warnings
stm32_eth: Fix bug introduced with iolist usage
stm32_eth: Remove redundant static buffer
stm32_eth: Fix feature dependencies
stm32_eth: Fix wrong header guard name
stm32_eth: Implement correct l2 netstats interface
stm32_eth: Rename public functions to stm32_eth_*
stm32_eth: Fix doccheck
stm32_eth: Move register DEFINE to appropriate header file
stm32_eth: remove untested configuration for f446ze boards
stm32_eth: Move periph configuration struct to stm32_common
stm32_eth: Fix naming of eth_phy_read and eth_phy_write
stm32_eth: Remove obsolete test applications
2019-07-04 15:27:26 +02:00
Hauke Petersen
eb50d4704a net/emcute: make cli ID conform to standard 2019-07-04 11:04:22 +02:00
Hauke Petersen
785f59fb7f net/asymcute: make cli ID len conform to standard 2019-07-04 11:03:37 +02:00
Hauke Petersen
16fa111c76 net/mqttsn: add min&max allowed len for client ID 2019-07-04 11:02:45 +02:00
Kevin "Bear Puncher" Weiss
6176878153
Merge pull request #11786 from miri64/gnrc_tftp/fix/set-dst-port-on-server-init
gnrc_tftp: set port on server init
2019-07-04 08:49:31 +02:00
Martine Lenders
16f0751102
Merge pull request #11745 from miri64/gnrc_ipv6/fix/rm-dangerous-dup
gnrc_ipv6: remove obsolete and harmful reception code
2019-07-03 23:50:06 +02:00
Martine Lenders
0cc4c50919
Merge pull request #11780 from miri64/gnrc_pktbuf/cleanup/rm-duplicate_upto
gnrc_pktbuf: remove gnrc_pktbuf_duplicate_upto
2019-07-03 17:44:08 +02:00
Martine S. Lenders
1c946a1af4 gnrc_tftp: set port on server init 2019-07-03 16:49:43 +02:00
Martine S. Lenders
c31c9ed216 gcoap: allow for retransmission backoff to be turned off 2019-07-03 16:35:48 +02:00
Ken Bannister
3d33400b04
Merge pull request #11779 from miri64/gcoap/doc/rm-req_send2
gcoap: remove all references to `gcoap_req_send2()`
2019-07-03 10:35:27 -04:00
Kevin "Bear Puncher" Weiss
cd6544ebe0
Merge pull request #11778 from miri64/gnrc_tftp/doc/deprecate
gnrc_tftp: add deprecation note
2019-07-03 16:09:39 +02:00
Martine S. Lenders
1bde141697 gcoap: don't call random_uint32_range() when COAP_ACK_VARIANCE=0
`COAP_ACK_VARIANCE` is a configurable macro, so when it is 0, the
[precondition for `random_uint32_range()`][1] is not held.

[1]: https://doc.riot-os.org/group__sys__random.html#gab6ee09e1e56df3cc78acd1fbf97bfb24
2019-07-03 15:45:45 +02:00
Martine S. Lenders
01fc3d8f0b gnrc_tftp: add deprecation note 2019-07-03 15:11:41 +02:00
Martine S. Lenders
b83430aa62 gnrc_pktbuf: remove gnrc_pktbuf_duplicate_upto
The removal of this function was already announced for the 2019.04
release. So it is safe to remove it.
2019-07-03 15:09:18 +02:00
Martine S. Lenders
7e70bf3ac1 cord_epsim: replace gcoap_req_send2() 2019-07-03 15:02:22 +02:00
Martine S. Lenders
0579ef952e cord_ep: replace gcoap_req_send2() 2019-07-03 15:02:15 +02:00
Martine S. Lenders
c9179a26c8 gcoap: replace internal references to gcoap_req_send2()
`gcoap_req_send2()` is deprecated and was replaced with
`gcoap_req_send()`.
2019-07-03 15:00:06 +02:00
Martine Lenders
e8650f5b9a
Merge pull request #11773 from miri64/gnrc_tftp/fix/uninitialized-values
gnrc_tftp: initialize unititialized 'tftp_context_t'
2019-07-03 14:52:46 +02:00
Martine S. Lenders
ea449f3f9e gnrc_ipv6: remove obsolete and harmful reception code
When reworking the reception of IPv6 packets I reset a previously set
`ipv6` snip as follows  when the IPv6 extension handler returns a
packet (see first hunk of this commit):

```C
ipv6 = pkt->next->next
```

With `gnrc_ipv6_ext` this makes *somewhat* sense, `pkt->next` was
previously equal to `ipv6` and after the function call `pkt->next`
is the marked extension header, while `pkt->next->next` is the IPv6
header. However, since `ipv6` is already write-protected i.e.
`ipv6->users == 1` (see ll. 665-675), any additional call of
`gnrc_pktbuf_start_write()` [won't][start-write-doc] duplicate the
packet. In fact, the only `gnrc_pktbuf_start_write()` in
`gnrc_ipv6_ext` is used to send the *result* to the subscribers of that
extension header type, leaving the original packet unchanged for the
caller. As such `ipv6` remains the pointer to the IPv6 header whether
we set it in the line above or not. So we actually don't need that
line.

However, the extension header handling also returns a packet when
`gnrc_ipv6_ext` is not compiled in. In that case it is just a dummy
define that returns the packet you give provide it which means that
this still holds true: `pkt->next == ipv6`.
So setting `ipv6` in this case is actually harmful, as `ipv6` now
points to the NETIF header [following the IPv6 header][pkt-structure]
in the packet and this causes the `user` counter of that NETIF header
`hdr` to be decremented if `hdr->users > 1` in the write-protection I
removed in hunk 2 of this commit:

```C
/* pkt might not be writable yet, if header was given above */
ipv6 = gnrc_pktbuf_start_write(ipv6);
if (ipv6 == NULL) {
    DEBUG("ipv6: unable to get write access to packet: dropping it\n");
    gnrc_pktbuf_release(pkt);
    return;
}
```

But as we already established, `ipv6->users` is already 1, so we don't
actually need the write protection here either.

Since the packet stays unchanged after the `ipv6` snip, we also don't
need to re-search for `netif_hdr` after the other two lines are
removed.

[start-write-doc]: https://doc.riot-os.org/group__net__gnrc__pktbuf.html#ga640418467294ae3d408c109ab27bd617
[pkt-structure]: https://doc.riot-os.org/group__net__gnrc__pkt.html#ga278e783e56a5ee6f1bd7b81077ed82a7
2019-07-03 14:44:03 +02:00
Martine S. Lenders
7ba928faa3 gnrc_tftp: make it working again with link-local addresses 2019-07-03 14:04:26 +02:00
Martine Lenders
2fce0950bf gnrc_tftp: set dst_port when duplicated data received 2019-07-03 12:51:10 +02:00
22796b7438
riotboot/flashwrite: fix typo in doxygen documentation 2019-07-02 11:39:51 +02:00
Martine Lenders
3d9c7ee5de gnrc_tftp: set source port for server 2019-07-01 22:56:42 +02:00
Martine Lenders
5ec0b1609a gnrc_tftp: initialize unititialized 'tftp_context_t' values to 0 2019-07-01 22:55:31 +02:00
Sören Tempel
e8d0fb7685 gnrc_tftp: Add minimum packet length check
Fixes #10927
2019-07-01 13:49:25 +02:00
Sebastian Meiling
57361470dd
Merge pull request #11737 from nmeum/pr/gnrc_tftp_mode_compare
gnrc_tftp: Fix out-of-bounds memory access when comparing modes
2019-07-01 09:26:03 +02:00
Leandro Lanzieri
326ec30074
Merge pull request #11741 from jcarrano/deprecate-ubjson
sys/ubjson: deprecate module.
2019-06-28 19:41:21 +02:00
Juan Carrano
2d782bc225 sys/ubjson: add deprecation notices to the documentation.
Add @deprecated doxygen tags to the module, the header and the main
reader and writer functions.
2019-06-28 18:32:51 +02:00
Juan Carrano
3b8deac3e9 sys/ubjson: deprecate module.
Summary for Users
=================

 Deprecation is scheduled for 2020.01.
 Users which depend on this module and cannot switch libraries may copy
 the code into to their own application.

As expressed in PR #11724, the UBJSON module has issues which are not easy
or worth fixing.

Before removing the module, it should be marked as deprecated to give users
time to either migrate to another library, or copy the code to their own
private repo.

The deprecation warning has been supressed from the unit tests. This has the
ugly side-effect of supressing deprecation warning in other unit tests too,
but that should not last long, only until the module is finally deleted.
2019-06-28 18:28:16 +02:00
Jose Alamos
ca8c78116f drivers/sx127x: add NETOPT_RX_SYMBOL_TIMEOUT setter 2019-06-27 15:43:50 +02:00
Jose Alamos
268e6df950 drivers/sx127x: add NETOPT_RANDOM option handling 2019-06-27 15:43:50 +02:00
Jose Alamos
77162b8c6f drivers/sx127x: add NETOPT_SYNCWORD option handling 2019-06-27 15:43:50 +02:00
Hauke Petersen
83c679a99c net/ble.h: add some svc and char UUIDs 2019-06-27 11:56:09 +02:00
Sören Tempel
a26942632a gnrc_tftp: Fix out-of-bounds memory access when comparing modes 2019-06-27 10:21:42 +02:00
Sebastian Meiling
4f5ce88ba6
Merge pull request #7421 from OTAkeys/pr/dev_urandom
devfs: add /dev/urandom and /dev/hwrng
2019-06-26 21:33:32 +02:00
Gaëtan Harter
eab0a88642
Merge pull request #11679 from JulianHolzwarth/pr/xtimer_mutex_lock_timeout/first_tests
tests/xtimer_mutex_lock_timeout: add simple case test
2019-06-26 16:27:39 +02:00
Martine S. Lenders
299c1a2959 shell_commands: fix regression to ifconfig introduced in #10350
The indentation of `ifconfig` is currently broken, due to an attempt to
fix some `scan-build` errors.
2019-06-26 10:30:26 +02:00
7b8612b38d
sys/net: add netopt options for lorawan 2019-06-25 13:53:25 +02:00
f52d5ebde7
drivers: sys: replace USE_ETHOS_FOR_STDIO macro by MODULE_STDIO_ETHOS 2019-06-23 22:16:03 +02:00
968e53b74f
Merge pull request #11726 from keestux/usb-some-refactoring
usbus: simplify adding entry to list
2019-06-20 17:45:35 +02:00
14d9f54abb
Merge pull request #11598 from aabadie/pr/missing_stdio_uart_rx
Add stdin pseudo module and set it as dependency for applications using getchar
2019-06-20 17:11:46 +02:00
Martine Lenders
3ee75c3ca9 gnrc_sixlowpan_iphc: assure ctx != NULL for dst compression
For the source address compression it was already done the same way in
12bcc46f15
2019-06-20 16:18:23 +02:00
Martine Lenders
2cb0ccc800 shell_commands: gnrc_netif: fix _newline() handling 2019-06-20 16:18:23 +02:00
Martine Lenders
3edb52de0c gnrc_rpl_dodag: remove new_best assignment at initialization
The variable is without usage reassigned with `dodag->parent` below.
2019-06-20 16:18:23 +02:00
Martine Lenders
fa95cc8090 gnrc_ipv6_nib: assure netif != NULL in route info callback 2019-06-20 16:18:23 +02:00