Possible fix for transparent proxy breakage in 2.0.30

David S. Miller (davem@jenolan.rutgers.edu)
Mon, 5 May 1997 01:57:44 -0400


Can people who reported the problems wrt. transparent proxies not
working please try this patch against 2.0.30 and report back to Eric
and myself the results? Thanks.

--- linux/net/ipv4/icmp.c.~1~ Tue Apr 8 11:47:47 1997
+++ linux/net/ipv4/icmp.c Sun May 4 21:59:48 1997
@@ -1009,7 +1009,7 @@
{
struct tcphdr *th = (struct tcphdr *)(((unsigned char *)iph)+(iph->ihl<<2));

- sk = tcp_v4_lookup(iph->saddr, th->source, iph->daddr, th->dest);
+ sk = tcp_v4_lookup(iph->daddr, th->dest, iph->saddr, th->source);
if (!sk) return 0;
if (sk->saddr != iph->saddr) return 0;
if (sk->daddr != iph->daddr) return 0;
@@ -1023,7 +1023,7 @@
{
struct udphdr *uh = (struct udphdr *)(((unsigned char *)iph)+(iph->ihl<<2));

- sk = udp_v4_lookup(iph->saddr, uh->source, iph->daddr, uh->dest);
+ sk = udp_v4_lookup(iph->daddr, uh->dest, iph->saddr, uh->source);
if (!sk) return 0;
if (sk->saddr != iph->saddr && ip_chk_addr(iph->saddr) != IS_MYADDR)
return 0;