kernel-ark/net
Julian Anastasov 87375ab47c [IPVS]: ip_vs_ftp breaks connections using persistence
ip_vs_ftp when loaded can create NAT connections with unknown client
port for passive FTP. For such expectations we lookup with cport=0 on
incoming packet but it matches the format of the persistence templates
causing packets to other persistent virtual servers to be forwarded to
real server without creating connection. Later the reply packets are
treated as foreign and not SNAT-ed.

This patch changes the connection lookup for packets from clients:

* introduce IP_VS_CONN_F_TEMPLATE connection flag to mark the
  connection as template

* create new connection lookup function just for templates -
  ip_vs_ct_in_get

* make sure ip_vs_conn_in_get hits only connections with
  IP_VS_CONN_F_NO_CPORT flag set when s_port is 0. By this way
  we avoid returning template when looking for cport=0 (ftp)

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-14 21:08:51 -07:00
..
802 [NET]: net/802: more endian annotations 2005-08-29 16:10:54 -07:00
8021q [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
appletalk [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
atm [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
ax25 [AX.25]: Reformat ax25_proto_ops initialization 2005-09-12 14:25:25 -07:00
bluetooth [Bluetooth] Prevent RFCOMM connections through the RAW socket 2005-09-13 01:32:31 +02:00
bridge [BRIDGE-NF]: Fix iptables redirect on bridge interface 2005-09-14 20:55:16 -07:00
core [NET]: fix-up schedule_timeout() usage 2005-09-12 14:15:34 -07:00
dccp [DCCP]: Handle SYNC packets in dccp_rcv_state_process 2005-09-13 19:05:08 -03:00
decnet [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
econet [NET]: Store skb->timestamp as offset to a base timestamp 2005-08-29 15:58:24 -07:00
ethernet [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
ieee80211 Kconfig: IEEE80211 should not depend on NET_RADIO 2005-09-08 16:44:33 -04:00
ipv4 [IPVS]: ip_vs_ftp breaks connections using persistence 2005-09-14 21:08:51 -07:00
ipv6 [MCAST]: Fix MCAST_EXCLUDE line dupes 2005-09-14 20:53:42 -07:00
ipx [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
irda [NET]: fix-up schedule_timeout() usage 2005-09-12 14:15:34 -07:00
key [IPSEC]: Add XFRM_STATE_NOPMTUDISC flag 2005-06-20 13:21:43 -07:00
lapb [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
llc [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
netfilter [NETFILTER]: Fix HW checksum handling in nfnetlink_queue 2005-09-06 15:10:00 -07:00
netlink [NETLINK]: Don't prevent creating sockets when no kernel socket is registered 2005-09-06 15:43:59 -07:00
netrom [NETROM]: Introduct stuct nr_private 2005-09-12 14:28:03 -07:00
packet [NET]: Use file->private_data to get socket pointer. 2005-09-06 14:42:45 -07:00
rose [ROSE]: ROSE has no ARP 2005-09-12 14:26:52 -07:00
rxrpc [RXRPC]: Fix build failure introduced by skb->stamp changes. 2005-08-29 16:01:24 -07:00
sched [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
sctp [SCTP]: net/sctp/sysctl.c should #include <net/sctp/sctp.h> 2005-09-05 18:07:42 -07:00
sunrpc [PATCH] Code cleanups in calbacks in svcsock 2005-09-13 08:22:32 -07:00
unix [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
wanrouter [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
x25 [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
xfrm [XFRM]: Always release dst_entry on error in xfrm_lookup 2005-09-08 15:11:55 -07:00
compat.c [PATCH] Fix 32bit sendmsg() flaw 2005-09-08 08:14:11 -07:00
Kconfig /spare/repo/netdev-2.6 branch 'master' 2005-09-01 18:02:01 -04:00
Makefile /spare/repo/netdev-2.6 branch 'master' 2005-09-01 18:02:01 -04:00
nonet.c
socket.c [PATCH] Fix 32bit sendmsg() flaw 2005-09-08 08:14:11 -07:00
sysctl_net.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
TUNABLE