X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/f52d66ff00b24111f87c274d3d7085ef2e1d27b1..abddbd4f18174c9f89ac712e1baf477de690eede:/target/linux/generic-2.4/patches/603-netfilter_nat_pptp.patch diff --git a/target/linux/generic-2.4/patches/603-netfilter_nat_pptp.patch b/target/linux/generic-2.4/patches/603-netfilter_nat_pptp.patch index 6a7a16fb9..b635f41a1 100644 --- a/target/linux/generic-2.4/patches/603-netfilter_nat_pptp.patch +++ b/target/linux/generic-2.4/patches/603-netfilter_nat_pptp.patch @@ -1,7 +1,8 @@ -diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack.h ---- linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack.h 2005-04-02 19:04:11.000000000 +0200 -+++ linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack.h 2005-04-02 19:41:05.000000000 +0200 -@@ -50,16 +50,19 @@ +Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h +=================================================================== +--- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h ++++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h +@@ -50,16 +50,19 @@ enum ip_conntrack_status { #include #include @@ -21,7 +22,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.4 }; /* Add protocol helper include file here */ -@@ -67,6 +70,7 @@ +@@ -67,6 +70,7 @@ union ip_conntrack_expect_proto { #include #include @@ -29,7 +30,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.4 /* per expectation: application helper private data */ union ip_conntrack_expect_help { -@@ -74,6 +78,7 @@ +@@ -74,6 +78,7 @@ union ip_conntrack_expect_help { struct ip_ct_amanda_expect exp_amanda_info; struct ip_ct_ftp_expect exp_ftp_info; struct ip_ct_irc_expect exp_irc_info; @@ -37,7 +38,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.4 #ifdef CONFIG_IP_NF_NAT_NEEDED union { -@@ -87,14 +92,17 @@ +@@ -87,14 +92,17 @@ union ip_conntrack_help { /* insert conntrack helper private data (master) here */ struct ip_ct_ftp_master ct_ftp_info; struct ip_ct_irc_master ct_irc_info; @@ -55,9 +56,10 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.4 }; #endif -diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_pptp.h linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack_pptp.h ---- linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_pptp.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack_pptp.h 2005-04-02 19:09:07.000000000 +0200 +Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_pptp.h +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_pptp.h @@ -0,0 +1,313 @@ +/* PPTP constants and structs */ +#ifndef _CONNTRACK_PPTP_H @@ -372,9 +374,10 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_pptp.h linu + +#endif /* __KERNEL__ */ +#endif /* _CONNTRACK_PPTP_H */ -diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h ---- linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h 2005-04-02 19:10:45.000000000 +0200 +Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h @@ -0,0 +1,123 @@ +#ifndef _CONNTRACK_PROTO_GRE_H +#define _CONNTRACK_PROTO_GRE_H @@ -499,9 +502,10 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h +#endif /* __KERNEL__ */ + +#endif /* _CONNTRACK_PROTO_GRE_H */ -diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack_tuple.h ---- linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2003-11-28 19:26:21.000000000 +0100 -+++ linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2005-04-02 19:07:18.000000000 +0200 +Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_tuple.h +=================================================================== +--- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack_tuple.h ++++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_tuple.h @@ -14,7 +14,7 @@ union ip_conntrack_manip_proto { @@ -511,7 +515,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h lin struct { u_int16_t port; -@@ -25,6 +25,9 @@ +@@ -25,6 +25,9 @@ union ip_conntrack_manip_proto struct { u_int16_t id; } icmp; @@ -521,7 +525,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h lin }; /* The manipulable part of the tuple. */ -@@ -44,7 +47,7 @@ +@@ -44,7 +47,7 @@ struct ip_conntrack_tuple u_int32_t ip; union { /* Add other protocols here. */ @@ -530,7 +534,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h lin struct { u_int16_t port; -@@ -55,6 +58,9 @@ +@@ -55,6 +58,9 @@ struct ip_conntrack_tuple struct { u_int8_t type, code; } icmp; @@ -540,7 +544,7 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h lin } u; /* The protocol. */ -@@ -80,10 +86,16 @@ +@@ -80,10 +86,16 @@ enum ip_conntrack_dir #ifdef __KERNEL__ #define DUMP_TUPLE(tp) \ @@ -560,9 +564,10 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_conntrack_tuple.h lin #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) -diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_nat_pptp.h linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_nat_pptp.h ---- linux-2.4.29-old/include/linux/netfilter_ipv4/ip_nat_pptp.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/include/linux/netfilter_ipv4/ip_nat_pptp.h 2005-04-02 19:07:18.000000000 +0200 +Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_nat_pptp.h +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_nat_pptp.h @@ -0,0 +1,11 @@ +/* PPTP constants and structs */ +#ifndef _NAT_PPTP_H @@ -575,10 +580,11 @@ diff -urN linux-2.4.29-old/include/linux/netfilter_ipv4/ip_nat_pptp.h linux-2.4. +}; + +#endif /* _NAT_PPTP_H */ -diff -urN linux-2.4.29-old/net/ipv4/netfilter/Config.in linux-2.4.29-dev/net/ipv4/netfilter/Config.in ---- linux-2.4.29-old/net/ipv4/netfilter/Config.in 2005-04-02 19:04:11.000000000 +0200 -+++ linux-2.4.29-dev/net/ipv4/netfilter/Config.in 2005-04-02 19:07:18.000000000 +0200 -@@ -10,6 +10,8 @@ +Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in +=================================================================== +--- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in ++++ linux-2.4.35.4/net/ipv4/netfilter/Config.in +@@ -10,6 +10,8 @@ if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ]; dep_tristate ' Amanda protocol support' CONFIG_IP_NF_AMANDA $CONFIG_IP_NF_CONNTRACK dep_tristate ' TFTP protocol support' CONFIG_IP_NF_TFTP $CONFIG_IP_NF_CONNTRACK dep_tristate ' IRC protocol support' CONFIG_IP_NF_IRC $CONFIG_IP_NF_CONNTRACK @@ -587,7 +593,7 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/Config.in linux-2.4.29-dev/net/ipv fi if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then -@@ -67,6 +69,20 @@ +@@ -63,6 +65,20 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; define_bool CONFIG_IP_NF_NAT_NEEDED y dep_tristate ' MASQUERADE target support' CONFIG_IP_NF_TARGET_MASQUERADE $CONFIG_IP_NF_NAT dep_tristate ' REDIRECT target support' CONFIG_IP_NF_TARGET_REDIRECT $CONFIG_IP_NF_NAT @@ -608,10 +614,11 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/Config.in linux-2.4.29-dev/net/ipv if [ "$CONFIG_IP_NF_AMANDA" = "m" ]; then define_tristate CONFIG_IP_NF_NAT_AMANDA m else -diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.29-dev/net/ipv4/netfilter/ip_conntrack_core.c ---- linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_core.c 2005-04-02 19:04:11.000000000 +0200 -+++ linux-2.4.29-dev/net/ipv4/netfilter/ip_conntrack_core.c 2005-04-02 19:07:18.000000000 +0200 -@@ -142,6 +142,8 @@ +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c +=================================================================== +--- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_core.c ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c +@@ -143,6 +143,8 @@ ip_ct_get_tuple(const struct iphdr *iph, tuple->dst.ip = iph->daddr; tuple->dst.protonum = iph->protocol; @@ -620,7 +627,7 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.29-d ret = protocol->pkt_to_tuple((u_int32_t *)iph + iph->ihl, len - 4*iph->ihl, tuple); -@@ -157,6 +159,8 @@ +@@ -158,6 +160,8 @@ invert_tuple(struct ip_conntrack_tuple * inverse->dst.ip = orig->src.ip; inverse->dst.protonum = orig->dst.protonum; @@ -629,7 +636,7 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.29-d return protocol->invert_tuple(inverse, orig); } -@@ -954,8 +958,8 @@ +@@ -970,8 +974,8 @@ int ip_conntrack_expect_related(struct i * so there is no need to use the tuple lock too */ DEBUGP("ip_conntrack_expect_related %p\n", related_to); @@ -640,7 +647,7 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.29-d old = LIST_FIND(&ip_conntrack_expect_list, resent_expect, struct ip_conntrack_expect *, &expect->tuple, -@@ -1072,15 +1076,14 @@ +@@ -1089,15 +1093,14 @@ int ip_conntrack_change_expect(struct ip MUST_BE_READ_LOCKED(&ip_conntrack_lock); WRITE_LOCK(&ip_conntrack_expect_tuple_lock); @@ -660,9 +667,10 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.29-d && LIST_FIND(&ip_conntrack_expect_list, expect_clash, struct ip_conntrack_expect *, newtuple, &expect->mask)) { /* Force NAT to find an unused tuple */ -diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_pptp_priv.h linux-2.4.29-dev/net/ipv4/netfilter/ip_conntrack_pptp_priv.h ---- linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_pptp_priv.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/net/ipv4/netfilter/ip_conntrack_pptp_priv.h 2005-04-02 19:14:10.000000000 +0200 +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp_priv.h +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp_priv.h @@ -0,0 +1,24 @@ +#ifndef _IP_CT_PPTP_PRIV_H +#define _IP_CT_PPTP_PRIV_H @@ -688,9 +696,10 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_pptp_priv.h linux-2.4 +}; + +#endif -diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_proto_gre.c linux-2.4.29-dev/net/ipv4/netfilter/ip_conntrack_proto_gre.c ---- linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_proto_gre.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/net/ipv4/netfilter/ip_conntrack_proto_gre.c 2005-04-02 19:14:31.000000000 +0200 +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_gre.c +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_gre.c @@ -0,0 +1,333 @@ +/* + * ip_conntrack_proto_gre.c - Version 1.2 @@ -1025,10 +1034,11 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_conntrack_proto_gre.c linux-2.4 + +module_init(init); +module_exit(fini); -diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_core.c linux-2.4.29-dev/net/ipv4/netfilter/ip_nat_core.c ---- linux-2.4.29-old/net/ipv4/netfilter/ip_nat_core.c 2005-01-19 15:10:13.000000000 +0100 -+++ linux-2.4.29-dev/net/ipv4/netfilter/ip_nat_core.c 2005-04-02 19:07:18.000000000 +0200 -@@ -424,7 +424,7 @@ +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_core.c +=================================================================== +--- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_nat_core.c ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_core.c +@@ -424,7 +424,7 @@ get_unique_tuple(struct ip_conntrack_tup *tuple = *orig_tuple; while ((rptr = find_best_ips_proto_fast(tuple, mr, conntrack, hooknum)) != NULL) { @@ -1037,7 +1047,7 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_core.c linux-2.4.29-dev/net /* 3) The per-protocol part of the manip is made to map into the range to make a unique tuple. */ -@@ -564,9 +564,9 @@ +@@ -564,9 +564,9 @@ ip_nat_setup_info(struct ip_conntrack *c HOOK2MANIP(hooknum)==IP_NAT_MANIP_SRC ? "SRC" : "DST", conntrack); DEBUGP("Original: "); @@ -1049,10 +1059,11 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_core.c linux-2.4.29-dev/net #endif /* We now have two tuples (SRCIP/SRCPT/DSTIP/DSTPT): -diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_pptp.c linux-2.4.29-dev/net/ipv4/netfilter/ip_nat_pptp.c ---- linux-2.4.29-old/net/ipv4/netfilter/ip_nat_pptp.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/net/ipv4/netfilter/ip_nat_pptp.c 2005-04-02 19:14:52.000000000 +0200 -@@ -0,0 +1,475 @@ +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_pptp.c +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_pptp.c +@@ -0,0 +1,482 @@ +/* + * ip_nat_pptp.c - Version 1.5 + * @@ -1341,8 +1352,12 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_pptp.c linux-2.4.29-dev/net + } else { + DEBUGP("can't change expect\n"); + } -+ ip_ct_gre_keymap_change(oldexp->proto.gre.keymap_orig, &t); -+ ip_ct_gre_keymap_change(oldexp->proto.gre.keymap_reply, &inv_t); ++ if (oldexp->proto.gre.keymap_orig) ++ ip_ct_gre_keymap_change(oldexp->proto.gre.keymap_orig, ++ &t); ++ if (oldexp->proto.gre.keymap_reply) ++ ip_ct_gre_keymap_change(oldexp->proto.gre.keymap_reply, ++ &inv_t); + break; + case PPTP_IN_CALL_CONNECT: + pcid = &pptpReq.iccon->peersCallID; @@ -1375,6 +1390,9 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_pptp.c linux-2.4.29-dev/net + case PPTP_CALL_DISCONNECT_NOTIFY: + pcid = &pptpReq.disc->callID; + break; ++ case PPTP_SET_LINK_INFO: ++ pcid = &pptpReq.setlink->peersCallID; ++ break; + + default: + DEBUGP("unknown inbound packet %s\n", @@ -1528,9 +1546,10 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_pptp.c linux-2.4.29-dev/net + +module_init(init); +module_exit(fini); -diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_proto_gre.c linux-2.4.29-dev/net/ipv4/netfilter/ip_nat_proto_gre.c ---- linux-2.4.29-old/net/ipv4/netfilter/ip_nat_proto_gre.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.29-dev/net/ipv4/netfilter/ip_nat_proto_gre.c 2005-04-02 19:15:10.000000000 +0200 +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_proto_gre.c +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_proto_gre.c @@ -0,0 +1,202 @@ +/* + * ip_nat_proto_gre.c - Version 1.2 @@ -1734,10 +1753,11 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/ip_nat_proto_gre.c linux-2.4.29-de + +module_init(init); +module_exit(fini); -diff -urN linux-2.4.29-old/net/ipv4/netfilter/Makefile linux-2.4.29-dev/net/ipv4/netfilter/Makefile ---- linux-2.4.29-old/net/ipv4/netfilter/Makefile 2005-04-02 19:04:11.000000000 +0200 -+++ linux-2.4.29-dev/net/ipv4/netfilter/Makefile 2005-04-02 19:07:18.000000000 +0200 -@@ -36,23 +36,32 @@ +Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile +=================================================================== +--- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile ++++ linux-2.4.35.4/net/ipv4/netfilter/Makefile +@@ -36,23 +36,32 @@ obj-$(CONFIG_IP_NF_AMANDA) += ip_conntra ifdef CONFIG_IP_NF_AMANDA export-objs += ip_conntrack_amanda.o endif @@ -1772,8 +1792,10 @@ diff -urN linux-2.4.29-old/net/ipv4/netfilter/Makefile linux-2.4.29-dev/net/ipv4 # generic IP tables obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o ---- linux-2.4.32/net/ipv4/netfilter/ip_conntrack_pptp.c 1970-01-01 01:00:00.000000000 +0100 -+++ /home/florian//openwrt/trunk/openwrt/build_mipsel/linux/net/ipv4/netfilter/ip_conntrack_pptp.c 2006-02-04 18:23:27.000000000 +0100 +Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp.c +=================================================================== +--- /dev/null ++++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp.c @@ -0,0 +1,635 @@ +/* + * ip_conntrack_pptp.c - Version 1.9