1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-08-20 08:50:14 +03:00
openwrt-xburst/target/linux/generic/patches-3.6/613-netfilter_optional_tcp_window_check.patch
juhosg 29e6a46ba2 generic: fix tcp_window_check patch for 3.6
Move the new entry to the end of the tcp_sysctl_table
array to fix the following error:

[    7.670000] sysctl table check failed: net/netfilter/nf_conntrack_tcp_max_retrans No data
[    7.680000] Call Trace:
[    7.680000] [<80273bc4>] dump_stack+0x8/0x34
[    7.680000] [<80128710>] __register_sysctl_table+0x374/0x3a8
[    7.690000] [<868d5034>] nf_conntrack_l4proto_unregister+0x158/0x1a0[nf_conntrack]
[    7.700000] [<868d50e4>] nf_conntrack_l4proto_register+0x68/0x21c[nf_conntrack]
[    7.710000] [<868b237c>] need_ipv4_conntrack+0x35c/0xb60[nf_conntrack_ipv4]
[    7.710000]
[    7.720000] nf_conntrack_l4proto_tcp4 :protocol register failed
[    7.720000] nf_conntrack_ipv4: can't register pernet ops
[    7.780000] nf_nat: Unknown symbol nf_nat_seq_adjust_hook (err 0)
[    7.790000] nf_nat: Unknown symbol need_ipv4_conntrack (err 0)
[    7.800000] iptable_nat: Unknown symbol nf_nat_packet (err 0)
[    7.810000] iptable_nat: Unknown symbol nf_nat_setup_info (err 0)
[    7.820000] iptable_nat: Unknown symbol nf_nat_icmp_reply_translation (err 0)
[    7.820000] iptable_nat: Unknown symbol need_ipv4_conntrack (err 0)
[    7.840000] ipt_MASQUERADE: Unknown symbol nf_nat_setup_info (err 0)
[    7.860000] nf_nat_ftp: Unknown symbol nf_nat_follow_master (err 0)
[    7.870000] nf_nat_ftp: Unknown symbol __nf_nat_mangle_tcp_packet (err 0)
[    7.890000] nf_nat_irc: Unknown symbol nf_nat_follow_master (err 0)
[    7.900000] nf_nat_irc: Unknown symbol __nf_nat_mangle_tcp_packet (err 0)

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33968 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-27 15:42:25 +00:00

37 lines
1.0 KiB
Diff

--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
@@ -29,6 +29,9 @@
#include <net/netfilter/ipv4/nf_conntrack_ipv4.h>
#include <net/netfilter/ipv6/nf_conntrack_ipv6.h>
+/* Do not check the TCP window for incoming packets */
+static int nf_ct_tcp_no_window_check __read_mostly = 1;
+
/* "Be conservative in what you do,
be liberal in what you accept from others."
If it's non-zero, we mark only out of window RST segments as INVALID. */
@@ -526,6 +529,9 @@ static bool tcp_in_window(const struct n
s16 receiver_offset;
bool res;
+ if (nf_ct_tcp_no_window_check)
+ return true;
+
/*
* Get the required data from the packet.
*/
@@ -1436,6 +1442,13 @@ static struct ctl_table tcp_sysctl_table
.mode = 0644,
.proc_handler = proc_dointvec,
},
+ {
+ .procname = "nf_conntrack_tcp_no_window_check",
+ .data = &nf_ct_tcp_no_window_check,
+ .maxlen = sizeof(unsigned int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
{ }
};