[netfilter-cvslog] r4206 - in
trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat: .
linux-2.6.13/net/ipv4/netfilter
laforge at netfilter.org
laforge at netfilter.org
Sun Jul 31 09:00:47 CEST 2005
Author: laforge at netfilter.org
Date: 2005-07-31 09:00:46 +0200 (Sun, 31 Jul 2005)
New Revision: 4206
Modified:
trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/info
trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_conntrack_sip.c
trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_nat_sip.c
Log:
port sip helper to 2.6.13 API changes (Christian Hentschel)
Modified: trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/info
===================================================================
--- trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/info 2005-07-31 06:59:24 UTC (rev 4205)
+++ trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/info 2005-07-31 07:00:46 UTC (rev 4206)
@@ -1,5 +1,5 @@
Title: SIP connection tracking and NAT helper
Author: Christian Hentschel <chentschel at arnet.com.ar>
-Status: Alpha
+Status: Testing
Repository: extra
Requires: linux-2.6 >= 2.6.11
Modified: trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_conntrack_sip.c
===================================================================
--- trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_conntrack_sip.c 2005-07-31 06:59:24 UTC (rev 4205)
+++ trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_conntrack_sip.c 2005-07-31 07:00:46 UTC (rev 4206)
@@ -25,6 +25,7 @@
static DEFINE_SPINLOCK(sipbf_lock);
+
#define MAX_PORTS 8
static int ports[MAX_PORTS];
static int ports_c;
@@ -248,8 +249,9 @@
const char *dptr)
{
struct ip_conntrack_expect *exp;
+ int ret;
- exp = ip_conntrack_expect_alloc();
+ exp = ip_conntrack_expect_alloc(ct);
if (exp == NULL)
return NF_DROP;
@@ -260,17 +262,20 @@
exp->mask = ((struct ip_conntrack_tuple)
{ { 0xFFFFFFFF, { 0 } },
{ 0xFFFFFFFF, { .udp = { 0xFFFF } }, 0xFF }});
-
+
exp->expectfn = NULL;
- exp->master = ct;
if (ip_nat_sdp_hook)
- return ip_nat_sdp_hook(pskb, ctinfo, exp, dptr);
- else if (ip_conntrack_expect_related(exp) != 0) {
- ip_conntrack_expect_free(exp);
- return NF_DROP;
+ ret = ip_nat_sdp_hook(pskb, ctinfo, exp, dptr);
+ else {
+ if (ip_conntrack_expect_related(exp) != 0)
+ ret = NF_DROP;
+ else
+ ret = NF_ACCEPT;
}
- return NF_ACCEPT;
+ ip_conntrack_expect_put(exp);
+
+ return ret;
}
static int sip_help(struct sk_buff **pskb,
Modified: trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_nat_sip.c
===================================================================
--- trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_nat_sip.c 2005-07-31 06:59:24 UTC (rev 4205)
+++ trunk/patch-o-matic-ng/patchlets/sip-conntrack-nat/linux-2.6.13/net/ipv4/netfilter/ip_nat_sip.c 2005-07-31 07:00:46 UTC (rev 4206)
@@ -8,16 +8,14 @@
* published by the Free Software Foundation.
*/
-#include <linux/ctype.h>
#include <linux/module.h>
#include <linux/netfilter_ipv4.h>
#include <linux/ip.h>
#include <linux/udp.h>
-#include <linux/moduleparam.h>
#include <net/udp.h>
+
#include <linux/netfilter_ipv4/ip_nat.h>
#include <linux/netfilter_ipv4/ip_nat_helper.h>
-#include <linux/netfilter_ipv4/ip_nat_rule.h>
#include <linux/netfilter_ipv4/ip_conntrack_helper.h>
#include <linux/netfilter_ipv4/ip_conntrack_sip.h>
@@ -220,10 +218,8 @@
break;
}
- if (port == 0) {
- ip_conntrack_expect_free(exp);
+ if (port == 0)
return NF_DROP;
- }
if (!mangle_sdp(pskb, ctinfo, ct, newip, port, dptr)) {
ip_conntrack_unexpect_related(exp);
More information about the netfilter-cvslog
mailing list