linux/net
Patrick McHardy e281e3ac2b [NETFILTER]: Fix NAT sequence number adjustment
The NAT changes in 2.6.11 changed the position where helpers
are called and perform packet mangling. Before 2.6.11, a NAT
helper was called before the packet was NATed and had its
sequence number adjusted. Since 2.6.11, the helpers get packets
with already adjusted sequence numbers.

This breaks sequence number adjustment, adjust_tcp_sequence()
needs the original sequence number to determine whether
a packet was a retransmission and to store it for further
corrections. It can't be reconstructed without more information
than available, so this patch restores the old order by
calling helpers from a new conntrack hook two priorities
below ip_conntrack_confirm() and adjusting the sequence number
from a new NAT hook one priority below ip_conntrack_confirm().

Tracked down by Phil Oester <kernel@linuxace.com>

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 18:41:38 -07:00
..
802 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
8021q Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
appletalk [ATALK]: Add missing dev_hold() to atrtr_create(). 2005-04-19 22:44:17 -07:00
atm [ATM]: net/atm/resources.c: remove __free_atm_dev 2005-04-21 16:48:26 -07:00
ax25 [AX25]: make ax25_queue_xmit a net_device parameter 2005-04-21 16:46:56 -07:00
bluetooth Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bridge [PATCH] kobject/hotplug split - net bridge 2005-04-18 21:57:37 -07:00
core [NET]: Add missing newline for skb_*_panic 2005-04-21 16:43:02 -07:00
decnet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
econet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethernet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv4 [NETFILTER]: Fix NAT sequence number adjustment 2005-04-24 18:41:38 -07:00
ipv6 [IPV6]: Replace bogus instances of inet->recverr 2005-04-19 22:32:22 -07:00
ipx Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irda [PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA 2005-04-16 15:24:56 -07:00
key Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lapb Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netlink Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netrom Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
packet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rose Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sctp Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unix Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wanrouter Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
x25 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm [XFRM]: Fix existence lookup in xfrm_state_find 2005-04-21 20:12:32 -07:00
compat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nonet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysctl_net.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00