2002-11-01 01:22:01

by Dieter Nützel

[permalink] [raw]
Subject: 2.5.45 ipt_TCPMSS.c syntax error

make -f scripts/Makefile.build obj=sound/core/seq/oss
gcc -Wp,-MD,net/ipv4/netfilter/.ipt_TCPMSS.o.d -D__KERNEL__ -Iinclude -Wall
-Wstrict-prototypes -Wno-trigraphs -O -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -mcpu=k6
-march=i686 -malign-functions=4 -fschedule-insns2 -fexpensive-optimizations
-Iarch/i386/mach-generic -nostdinc -iwithprefix include -DMODULE -include
include/linux/modversions.h -DKBUILD_BASENAME=ipt_TCPMSS -c -o
net/ipv4/netfilter/ipt_TCPMSS.o net/ipv4/netfilter/ipt_TCPMSS.c
net/ipv4/netfilter/ipt_TCPMSS.c: In function `ipt_tcpmss_target':
net/ipv4/netfilter/ipt_TCPMSS.c:88: structure has no member named `pmtu'
net/ipv4/netfilter/ipt_TCPMSS.c:91: structure has no member named `pmtu'
net/ipv4/netfilter/ipt_TCPMSS.c:95: structure has no member named `pmtu'
make[3]: *** [net/ipv4/netfilter/ipt_TCPMSS.o] Error 1
make[2]: *** [net/ipv4/netfilter] Error 2
make[1]: *** [net/ipv4] Error 2
make: *** [net] Error 2

On x86 (Athlon)

-Dieter


2002-11-01 01:53:55

by David Hollis

[permalink] [raw]
Subject: Re: 2.5.45 ipt_TCPMSS.c syntax error

--- net/ipv4/netfilter/ipt_TCPMSS.c.orig 2002-10-30 22:59:53.000000000 -0500
+++ net/ipv4/netfilter/ipt_TCPMSS.c 2002-10-30 23:08:58.000000000 -0500
@@ -48,6 +48,7 @@
u_int16_t tcplen, newtotlen, oldval, newmss;
unsigned int i;
u_int8_t *opt;
+ struct rtable *rt;

/* raw socket (tcpdump) may have clone of incoming skb: don't
disturb it --RR */
@@ -85,14 +86,16 @@
return NF_DROP; /* or IPT_CONTINUE ?? */
}

- if((*pskb)->dst->pmtu <= (sizeof(struct iphdr) + sizeof(struct tcphdr))) {
+ rt = (struct rtable *)(*pskb)->dst;
+
+ if(dst_pmtu(&rt->u.dst) <= (sizeof(struct iphdr) + sizeof(struct tcphdr))) {
if (net_ratelimit())
printk(KERN_ERR
- "ipt_tcpmss_target: unknown or invalid path-MTU (%d)\n", (*pskb)->dst->pmtu);
+ "ipt_tcpmss_target: unknown or invalid path-MTU (%d)\n", dst_pmtu(&rt->u.dst));
return NF_DROP; /* or IPT_CONTINUE ?? */
}

- newmss = (*pskb)->dst->pmtu - sizeof(struct iphdr) - sizeof(struct tcphdr);
+ newmss = dst_pmtu(&rt->u.dst) - sizeof(struct iphdr) - sizeof(struct tcphdr);
} else
newmss = tcpmssinfo->mss;


Attachments:
linux-2.4.45-ipt_TCPMSS.patch (1.09 kB)