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
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
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
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
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
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
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
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
Martine S. Lenders
ada7c0b7db
gnrc_netif: avoid deprecated addresses, don't prefer them!
2019-10-09 15:18:14 +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
c6781af281
gnrc_sixlowpan_frag_vrb: rename addr_str variable
2019-10-07 17:52:09 +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
Simon Brummer
4fbc0252e1
gnrc_tcp: do not reopen recv window on closed connection
2019-10-06 12:13:37 +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
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
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
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
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 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
8a86ea4a4b
use ndp_opt_rdnss_impl_t to access addresses
2019-09-26 22:08:49 +02:00
Simon Brummer
fdda22c200
gnrc_tcp: allow unknown options
2019-09-24 20:01:40 +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
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
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
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
Sören Tempel
463c1212c2
gnrc_tcp: Always ensure that option->length doesn't exceed opt_left
2019-09-16 17:52:25 +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
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
b77e08652e
gnrc_ipv6_nib: provide ABR iteration and print function
2019-09-11 23:51:20 +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
Martine Lenders
dca3408167
gnrc_sixlowpan_frag_stats: initial import of frag statistics
2019-09-11 10:30:29 +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
Martine S. Lenders
cee1b7296d
gnrc_icmpv6_echo: use gnrc_netif_hdr_set_netif() also for loopback
2019-09-10 12:37:32 +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
Simon Brummer
351220e884
gnrc_tcp - Release pakets on failed gnrc_netapi_send()
2019-08-31 11:16:55 +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
Hauke Petersen
504acc5097
net/l2util: add nimble opt for addr resolution
2019-08-28 16:48:03 +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
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
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
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
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
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
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
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
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
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
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
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 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
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
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