diff options
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.26/190-netfilter_rtsp.patch | 12 |
1 files changed, 8 insertions, 4 deletions
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 c87218932..0b2965a94 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 @@ -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 <tmarshall at real.com> @@ -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; + |