X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/8540d5d19ebac6a3f30d82f36ff33f19d728f10b..63151d3b34738ab38919029a9b89927a8982b0f6:/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch diff --git a/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch index ead8cb2be..73ce330db 100644 --- a/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch +++ b/target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch @@ -294,7 +294,7 @@ +#endif /* _NETFILTER_MIME_H */ --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -23,6 +23,7 @@ +@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o @@ -304,7 +304,7 @@ obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -258,6 +258,16 @@ +@@ -270,6 +270,16 @@ config NF_CONNTRACK_TFTP To compile it as a module, choose M here. If unsure, say N. @@ -323,7 +323,7 @@ depends on NF_CONNTRACK --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -32,6 +32,7 @@ +@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o @@ -333,7 +333,7 @@ obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -277,6 +277,11 @@ +@@ -282,6 +282,11 @@ config NF_NAT_IRC depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_IRC @@ -347,7 +347,7 @@ depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT --- /dev/null +++ b/net/netfilter/nf_conntrack_rtsp.c -@@ -0,0 +1,513 @@ +@@ -0,0 +1,517 @@ +/* + * RTSP extension for IP connection tracking + * (C) 2003 by Tom Marshall @@ -679,7 +679,8 @@ + + be_loport = htons(expinfo.loport); + -+ nf_ct_expect_init(exp, ct->tuplehash[!dir].tuple.src.l3num, ++ nf_ct_expect_init(exp, NF_CT_EXPECT_CLASS_DEFAULT, ++ ct->tuplehash[!dir].tuple.src.l3num, + &ct->tuplehash[!dir].tuple.src.u3, &ct->tuplehash[!dir].tuple.dst.u3, + IPPROTO_UDP, NULL, &be_loport); + @@ -784,6 +785,7 @@ + +static struct nf_conntrack_helper rtsp_helpers[MAX_PORTS]; +static char rtsp_names[MAX_PORTS][10]; ++static struct nf_conntrack_expect_policy rtsp_expect_policy; + +/* This function is intentionally _NOT_ defined as __exit */ +static void @@ -815,6 +817,9 @@ + return -EBUSY; + } + ++ rtsp_expect_policy.max_expected = max_outstanding; ++ rtsp_expect_policy.timeout = setup_timeout; ++ + rtsp_buffer = kmalloc(65536, GFP_KERNEL); + if (!rtsp_buffer) + return -ENOMEM; @@ -829,8 +834,7 @@ + memset(hlpr, 0, sizeof(struct nf_conntrack_helper)); + hlpr->tuple.src.u.tcp.port = htons(ports[i]); + hlpr->tuple.dst.protonum = IPPROTO_TCP; -+ hlpr->max_expected = max_outstanding; -+ hlpr->timeout = setup_timeout; ++ hlpr->expect_policy = &rtsp_expect_policy; + hlpr->me = THIS_MODULE; + hlpr->help = help; +