zephyr/subsys/net/ip
Florian Vaussard 96c3fd12c4 net: if: ipv6_prefix_find() correctly tests if the prefix is used
ipv6_prefix_find() wrongly tests if the unicast address is in use
instead of the prefix. This has two implications:

- The function can return an expired prefix to net_if_ipv6_prefix_add(),
  which will do nothing more to enable it (since it assumes that it is
  already enabled). As a result, the prefix will not be used by the
  rest of the stack due to prefix->is_used being false.

- ipv6_prefix_find() loops using a bound of NET_IF_MAX_IPV6_PREFIX, but
  the size of the unicast[] array is defined by NET_IF_MAX_IPV6_ADDR.
  This could lead to an out-of-bound access if NET_IF_MAX_IPV6_ADDR is
  smaller than NET_IF_MAX_IPV6_PREFIX.

Signed-off-by: Florian Vaussard <florian.vaussard@gmail.com>
2021-10-25 13:19:37 +03:00
..
6lo_private.h
6lo.c net/6lo: First buffer fragment should hold the full compressed header 2021-02-04 07:36:16 -05:00
6lo.h
canbus_socket.c
canbus_socket.h
CMakeLists.txt net: ipv4: Add IGMPv2 support 2021-04-29 14:49:55 +03:00
connection.c net: icmp: add option to suppress destination unreachable errors. 2021-08-11 11:46:44 +02:00
connection.h net: socket: Implement SO_BINDTODEVICE socket option 2021-04-02 07:23:17 -04:00
dhcpv4.c net: dhcpv4: Prevent DHCP client from clearing the gateway 2021-06-16 10:40:54 +02:00
dhcpv4.h
icmpv4.c net: icmpv4: fix broadcast ping reply bug 2021-04-15 10:43:51 +03:00
icmpv4.h
icmpv6.c net: icmpv6: fix net_icmpv6_send_error() dropping packets 2021-09-23 13:21:09 -04:00
icmpv6.h
igmp.c net: if: Add IPv4 support to multicast monitor 2021-09-28 20:04:49 -04:00
ipv4_autoconf_internal.h
ipv4_autoconf.c net: Conversion of k_work API 2021-04-14 07:07:40 -04:00
ipv4.c net: ipv4: Add IGMPv2 support 2021-04-29 14:49:55 +03:00
ipv4.h net: ipv4: Add IGMPv2 support 2021-04-29 14:49:55 +03:00
ipv6_fragment.c net: ipv6_fragment: send ICMPv6 Time Exceeded upon reassembly timeout 2021-09-23 13:21:09 -04:00
ipv6_mld.c net: if: Add IPv4 support to multicast monitor 2021-09-28 20:04:49 -04:00
ipv6_nbr.c net: ipv6: fix NBR lock initialization 2021-09-14 09:56:37 +02:00
ipv6.c net: ipv6: fix the logics of prev_hdr_offset 2021-09-23 13:21:09 -04:00
ipv6.h net: ip: replace hardcoded NET_IPV6_FRAGMENTS_MAX_PKT with a Kconfig 2021-09-23 13:21:09 -04:00
Kconfig kconfig: net: experimental settings now uses select EXPERIMENTAL 2021-10-25 10:46:48 +02:00
Kconfig.debug
Kconfig.ipv4 kconfig: net: experimental settings now uses select EXPERIMENTAL 2021-10-25 10:46:48 +02:00
Kconfig.ipv6 drivers: net: loopback: Register loopback IP address to the interface 2021-10-13 11:17:51 +02:00
Kconfig.mgmt net: mgmt: Use proper coop thread priority value 2021-02-17 16:42:15 +02:00
Kconfig.stack
Kconfig.stats net: stats: Add IGMP statistics support 2021-04-29 14:49:55 +03:00
nbr.c
nbr.h
net_context.c net: context: Do not overflow net_pkt when using msghdr 2021-09-29 11:08:40 +02:00
net_core.c net: Use k_fifo instead of k_work in RX and TX processing 2021-05-07 09:46:44 -05:00
net_if.c net: if: ipv6_prefix_find() correctly tests if the prefix is used 2021-10-25 13:19:37 +03:00
net_mgmt.c net: mgmt: Initialize the event callbacks statically 2021-05-28 07:00:23 -05:00
net_pkt.c net: ethernet: bridging support 2021-07-21 18:20:01 -04:00
net_private.h net: Use k_fifo instead of k_work in RX and TX processing 2021-05-07 09:46:44 -05:00
net_shell.c shell: Add __printf_like to shell_fprintf 2021-10-14 16:32:19 -04:00
net_shell.h
net_stats.c
net_stats.h net: stats: Add IGMP statistics support 2021-04-29 14:49:55 +03:00
net_tc_mapping.h net: Enable running without TX or RX threads 2021-04-27 12:02:19 +03:00
net_tc.c net: Use k_fifo instead of k_work in RX and TX processing 2021-05-07 09:46:44 -05:00
net_timeout.c net: timeout: refactor to fix multiple problems 2021-01-07 11:14:38 +02:00
packet_socket.c net: ip: packet_socket: fixing raw sckt IPPROTO_RAW usage 2021-09-14 08:37:36 -04:00
packet_socket.h net: socket: packet: using pckt sckt for passing the PPP dialup data 2021-04-01 09:43:56 +03:00
promiscuous.c
route.c
route.h
tcp2_priv.h net: tcp: Remove redundant TCP option definitions 2021-10-14 16:34:23 -04:00
tcp2.c net: tcp: Remove unneeded declaration 2021-10-14 16:34:23 -04:00
tcp2.h
tcp_internal.h net: Remove legacy TCP stack 2021-03-22 13:06:54 -04:00
tp_priv.h
tp.c
tp.h
trickle.c net: trickle: Do not initialize a work item from its handler 2021-04-27 19:48:16 +03:00
udp_internal.h net: socket: Implement SO_BINDTODEVICE socket option 2021-04-02 07:23:17 -04:00
udp.c net: socket: Implement SO_BINDTODEVICE socket option 2021-04-02 07:23:17 -04:00
utils.c net: ipv4: Add IGMPv2 support 2021-04-29 14:49:55 +03:00