kernel_optimize_test/net/ipv4
Patrick McHardy 1b683b5512 [NETFILTER]: sip conntrack: better NAT handling
The NAT handling of the SIP helper has a few problems:

- Request headers are only mangled in the reply direction, From/To headers
  not at all, which can lead to authentication failures with DNAT in case
  the authentication domain is the IP address

- Contact headers in responses are only mangled for REGISTER responses

- Headers may be mangled even though they contain addresses not
  participating in the connection, like alternative addresses

- Packets are droppen when domain names are used where the helper expects
  IP addresses

This patch takes a different approach, instead of fixed rules what field
to mangle to what content, it adds symetric mapping of From/To/Via/Contact
headers, which allows to deal properly with echoed addresses in responses
and foreign addresses not belonging to the connection.

Signed-off-by: Patrick McHardy <kaber@trash.net>
2006-12-02 21:31:26 -08:00
..
ipvs [IPVS]: Use kmemdup where appropriate 2006-12-02 21:30:16 -08:00
netfilter [NETFILTER]: sip conntrack: better NAT handling 2006-12-02 21:31:26 -08:00
af_inet.c [IPV6]: Assorted trivial endianness annotations. 2006-12-02 21:22:50 -08:00
ah4.c [IPV4]: encapsulation annotations 2006-12-02 21:21:17 -08:00
arp.c [IPV6]: Assorted trivial endianness annotations. 2006-12-02 21:22:50 -08:00
cipso_ipv4.c [CIPSO]: Missing annotation in cipso_ipv4 update. 2006-12-02 21:27:21 -08:00
datagram.c [IPV4]: ip_route_connect() ipv4 address arguments annotated 2006-09-28 17:54:06 -07:00
devinet.c [IPV4]: Use kmemdup in net/ipv4/devinet.c 2006-12-02 21:23:56 -08:00
esp4.c [IPV4]: encapsulation annotations 2006-12-02 21:21:17 -08:00
fib_frontend.c [NETLINK]: Remove unused dst_pid field in netlink_skb_parms 2006-12-02 21:30:43 -08:00
fib_hash.c [IPV4]: trivial fib_hash.c annotations 2006-09-28 18:01:11 -07:00
fib_lookup.h [IPV4]: net/ipv4/fib annotations 2006-09-28 18:02:23 -07:00
fib_rules.c [NETLINK]: Do precise netlink message allocations where possible 2006-12-02 21:22:11 -08:00
fib_semantics.c [NETLINK]: Do precise netlink message allocations where possible 2006-12-02 21:22:11 -08:00
fib_trie.c [IPV4] fib_trie.c: trivial annotations 2006-09-28 18:01:14 -07:00
icmp.c [NET]: Annotate callers of the reset of checksum.h stuff. 2006-12-02 21:23:34 -08:00
igmp.c [NET]: Annotate callers of csum_fold() in net/* 2006-12-02 21:23:27 -08:00
inet_connection_sock.c [NET]: Size listen hash tables using backlog hint 2006-12-02 21:21:44 -08:00
inet_diag.c [IPV4]: inet_diag annotations 2006-09-28 18:02:29 -07:00
inet_hashtables.c [IPV4]: annotate inet_lookup() and friends 2006-09-28 18:02:26 -07:00
inet_timewait_sock.c
inetpeer.c [NET]: reduce sizeof(struct inet_peer), cleanup, change in peer_check_expire() 2006-10-15 23:14:17 -07:00
ip_forward.c
ip_fragment.c [IPV4]: ip_fragment.c endianness annotations 2006-09-28 18:01:09 -07:00
ip_gre.c [NET]: Annotate callers of the reset of checksum.h stuff. 2006-12-02 21:23:34 -08:00
ip_input.c
ip_options.c [NetLabel]: protect the CIPSOv4 socket option from setsockopt() 2006-10-30 15:24:49 -08:00
ip_output.c [NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() in net/* 2006-12-02 21:23:33 -08:00
ip_sockglue.c [IPV6]: Assorted trivial endianness annotations. 2006-12-02 21:22:50 -08:00
ipcomp.c [XFRM]: BEET mode 2006-10-04 00:31:09 -07:00
ipconfig.c [NET]: ipconfig and nfsroot annotations 2006-12-02 21:21:09 -08:00
ipip.c [IPV4]: encapsulation annotations 2006-12-02 21:21:17 -08:00
ipmr.c [NET]: Annotate callers of csum_fold() in net/* 2006-12-02 21:23:27 -08:00
Kconfig [TCP]: MD5 Signature Option (RFC2385) support. 2006-12-02 21:22:39 -08:00
Makefile [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
multipath_drr.c
multipath_random.c
multipath_rr.c
multipath_wrandom.c [IPV4] bug: broken open-coded inet_make_mask() (multipath_wrandom) 2006-09-28 18:01:17 -07:00
multipath.c
netfilter.c [NET]: Annotate __skb_checksum_complete() and friends. 2006-12-02 21:23:38 -08:00
proc.c [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
protocol.c
raw.c [IPV6]: Assorted trivial endianness annotations. 2006-12-02 21:22:50 -08:00
route.c [RTNETLINK]: Add rtnl_put_cacheinfo() to unify some code 2006-12-02 21:30:44 -08:00
syncookies.c [IPV6]: Assorted trivial endianness annotations. 2006-12-02 21:22:50 -08:00
sysctl_net_ipv4.c [TCP]: Restrict congestion control choices. 2006-12-02 21:21:49 -08:00
tcp_bic.c
tcp_cong.c [TCP]: Allow autoloading of congestion control via setsockopt. 2006-12-02 21:21:50 -08:00
tcp_cubic.c [TCP] cubic: scaling error 2006-10-25 23:04:12 -07:00
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c [TCP] htcp: Better packing of struct htcp. 2006-12-02 21:22:14 -08:00
tcp_hybla.c
tcp_input.c [NET]: Annotate __skb_checksum_complete() and friends. 2006-12-02 21:23:38 -08:00
tcp_ipv4.c [NET]: Split skb->csum 2006-12-02 21:27:18 -08:00
tcp_lp.c [TCP] tcp-lp: prevent chance for oops 2006-09-28 18:03:07 -07:00
tcp_minisocks.c [TCP] minisocks: Use kmemdup and LIMIT_NETDEBUG 2006-12-02 21:23:57 -08:00
tcp_output.c [TCP]: MD5 Signature Option (RFC2385) support. 2006-12-02 21:22:39 -08:00
tcp_probe.c [NET]: Fix kfifo_alloc() error check. 2006-11-25 15:16:49 -08:00
tcp_scalable.c
tcp_timer.c [IPV6]: Assorted trivial endianness annotations. 2006-12-02 21:22:50 -08:00
tcp_vegas.c [TCP] Vegas: Increase default alpha to 2 and beta to 4. 2006-12-02 21:31:03 -08:00
tcp_veno.c
tcp_westwood.c
tcp.c [TCP]: Tidy up skb_entail 2006-12-02 21:24:03 -08:00
tunnel4.c
udp_impl.h [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
udp.c [UDP(-Lite)]: consolidate v4 and v6 get|setsockopt code 2006-12-02 21:30:45 -08:00
udplite.c [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
xfrm4_input.c [XFRM]: xfrm_parse_spi() annotations 2006-09-28 18:02:39 -07:00
xfrm4_mode_beet.c [XFRM]: BEET mode 2006-10-04 00:31:09 -07:00
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
xfrm4_state.c [XFRM]: ports in struct xfrm_selector annotated 2006-09-28 18:02:33 -07:00
xfrm4_tunnel.c