6508 Commits

Author SHA1 Message Date
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
Alexandre Abadie
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
Alexandre Abadie
7b8612b38d
sys/net: add netopt options for lorawan 2019-06-25 13:53:25 +02:00
Alexandre Abadie
f52d5ebde7
drivers: sys: replace USE_ETHOS_FOR_STDIO macro by MODULE_STDIO_ETHOS 2019-06-23 22:16:03 +02:00
Koen Zandberg
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
12bcc46f158945fb9684cbf309c80ed1655b0f3b
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
Alexandre Abadie
c10905623d
sys/stdio_uart: document stdin module requirement 2019-06-20 16:01:45 +02:00
Kees Bakker
4a06b9109b usbus: simplify adding entry to list 2019-06-19 22:22:10 +02:00
Martine S. Lenders
9ba22083ee sock_ip: fix documenation referring to UDP sock 2019-06-19 14:18:45 +02:00
francisco
75efed16cb sys/riotboot: RIOTBOOT_HDR_LEN generic definition 2019-06-18 15:12:54 +02:00
Martine Sophie Lenders
a09072c93d gnrc_ipv6_nib: add address from netif to address validation timer
The `addr` parameter of the NIB's `_handle_dad()` function can come
from anywhere (e.g. in the fallback to classic SLAAC the destination
address of the IP header is used), so putting that pointer in a timer
is not a good idea. Instead we use the version of the address that is
stored within the interface.
2019-06-18 12:05:07 +02:00
Martine Sophie Lenders
f5f8261b1c gnrc_ipv6_nib: add debug messages for DAD + 6Lo 2019-06-18 11:48:04 +02:00
Martine Sophie Lenders
484526533d gnrc_ipv6_nib/SLAAC: add debug message for address validation 2019-06-18 11:47:47 +02:00
Leandro Lanzieri
f32ab700cb
Merge pull request #11703 from fhessel/fix-ubjson-i64
sys/ubjson: Write missing marker for i64
2019-06-18 11:14:11 +02:00
Frank Hessel
1b554d5701
sys/ubjson: Write missing marker for i64 2019-06-14 19:31:48 +02:00
Frank Hessel
71b3e02a3f
sys/ubjson: Do not invert bool when writing it 2019-06-14 19:08:14 +02:00
Dylan Laduranty
ea36d68703
Merge pull request #11077 from bergzand/pr/usb/cdcecm
usbus: Add CDC-ECM (Ethernet Control Model) function
2019-06-14 18:44:27 +02:00
Koen Zandberg
3726bf62d3
usbus_cdc_ecm: provide auto init integration 2019-06-14 16:00:06 +02:00
Koen Zandberg
9b68dec385
usbus_cdc_ecm: Provide netdev integration 2019-06-14 16:00:05 +02:00
Koen Zandberg
748cacd54b
usbus_cdc_ecm: initial CDC ECM functionality 2019-06-14 16:00:05 +02:00
Koen Zandberg
06d541a117
usb_cdc: Add common defines and message structs 2019-06-14 15:53:44 +02:00
Sebastian Meiling
d5bdb5d9ea
Merge pull request #11677 from leandrolanzieri/pr/net/sock_util_split_null
net/sock_util: Accept NULL pointers in urlsplit
2019-06-12 12:04:34 +02:00
Leandro Lanzieri
b9c1146e90 sys/net/sock_util: Accept null pointers in urlsplit 2019-06-12 10:03:11 +02:00
Koen Zandberg
4b4c63f797
usbus: Allow setting USB thread flags outside IRQ 2019-06-11 14:14:36 +02:00
Koen Zandberg
a3f9f03301
eui48: Add address flag helper functions 2019-06-10 21:07:02 +02:00
Martine Lenders
82278e808e
Merge pull request #11637 from miri64/isrpipe/fix/change-api-types
isrpipe: change API to be in line with `tsrb`
2019-06-06 12:49:24 +02:00
Martine Lenders
7e7e17c33f
Merge pull request #11640 from haukepetersen/add_bluetil_addrfromstr
sys/bluetil: add bluetil_addr_from_str()
2019-06-06 12:09:12 +02:00
Hauke Petersen
665b1d6528 sys/bluetil: add bluetil_addr_from_str() 2019-06-06 11:42:55 +02:00
Martine Lenders
937d99b5c8 tsrb: remove implicit cast in TEST_INIT() macro 2019-06-05 18:16:32 +02:00