zephyr/subsys/net/ip
Robert Lubos de55dbcbb1 net: tcp: Fix SYN handling after connection is established
According to RFC 793, ch 3.9 Event Processing, receving SYN flag after
the connection has been established is an error codition:

    If the SYN is in the window it is an error, send a reset, any
    outstanding RECEIVEs and SEND should receive "reset" responses,
    all segment queues should be flushed, the user should also
    receive an unsolicited general "connection reset" signal, enter
    the CLOSED state, delete the TCB, and return."

Currently TCP stack ignored such event, causing interoperability test
failures. Fix this, by verifying if the SYN flag is set in a packet in
any state other than TCP_LISTEN and TCP_SYN_SENT.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-08-05 15:17:09 +02:00
..
6lo_private.h
6lo.c net: 6lo: Remove dead statement 2022-06-07 11:54:20 +02:00
6lo.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
canbus_socket.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
canbus_socket.h
CMakeLists.txt
connection.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
connection.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
dhcpv4.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
dhcpv4.h
icmpv4.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
icmpv4.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
icmpv6.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
icmpv6.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
igmp.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
ipv4_autoconf_internal.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv4_autoconf.c net: ip: only start IP configuration on IP interfaces 2022-08-04 13:44:06 +02:00
ipv4.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
ipv4.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
ipv6_fragment.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
ipv6_mld.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
ipv6_nbr.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
ipv6.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
ipv6.h net: ipv6: use static inlines where it makes sense for stubs 2022-07-27 18:44:07 +02:00
Kconfig net: tcp: Implement randomized retransmission timeouts 2022-08-01 10:33:24 +02:00
Kconfig.debug
Kconfig.ipv4
Kconfig.ipv6 net: l2: ieee802154: decouple L2/L3 concerns 2022-08-04 13:44:06 +02:00
Kconfig.mgmt
Kconfig.stack
Kconfig.stats
nbr.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
nbr.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_context.c net: context: Unregister connection for packet socket 2022-08-03 11:11:55 +02:00
net_core.c net: ip: build IEEE 802.15.4 L2 without IP support 2022-08-05 15:04:37 +02:00
net_if.c net: ip: only start IP configuration on IP interfaces 2022-08-04 13:44:06 +02:00
net_mgmt.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_pkt.c net: ip: build IEEE 802.15.4 L2 without IP support 2022-08-05 15:04:37 +02:00
net_private.h all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00
net_shell.c net: tcp: Use our MTU to determine the mss for transmission 2022-06-07 18:55:44 +02:00
net_shell.h
net_stats.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_stats.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_tc_mapping.h
net_tc.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
net_timeout.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
packet_socket.c net: sockets: packet: Remove obsolete TODO 2022-05-27 15:40:29 -07:00
packet_socket.h
promiscuous.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
route.c net: route: Fix pkt leak if net_send_data() fails 2022-07-25 15:14:58 +02:00
route.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
tcp_internal.h net: tcp: Implement Nagle's algorithm 2022-06-09 11:32:50 +02:00
tcp_private.h net: tcp: Implement randomized retransmission timeouts 2022-08-01 10:33:24 +02:00
tcp.c net: tcp: Fix SYN handling after connection is established 2022-08-05 15:17:09 +02:00
tcp.h
tp_priv.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
tp.c
tp.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
trickle.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
udp_internal.h subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
udp.c subsystems: migrate includes to <zephyr/...> 2022-05-09 12:07:35 +02:00
utils.c all: logging: Remove log_strdup function 2022-06-23 13:42:23 +02:00