From 8a4764216e5ec008ee8667ba3468844ad860c7b5 Mon Sep 17 00:00:00 2001 From: Jerome Borsboom Date: Sat, 7 Jul 2007 22:19:48 -0700 Subject: [PATCH] --- yaml --- r: 58973 b: refs/heads/master c: f4a607bfae30d15aad46e75d2ed7a39f7ce7708b h: refs/heads/master i: 58971: 6a890044b77e6ea0bc8d069e01e72a5094f295d1 v: v3 --- [refs] | 2 +- trunk/net/ipv4/netfilter/nf_nat_sip.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 10a2c0a6ea52..99327ba91fe4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7c4e36bc172ae1accde835b880fdc4a2c2a3df57 +refs/heads/master: f4a607bfae30d15aad46e75d2ed7a39f7ce7708b diff --git a/trunk/net/ipv4/netfilter/nf_nat_sip.c b/trunk/net/ipv4/netfilter/nf_nat_sip.c index fac97cf51ae5..a32d746c4592 100644 --- a/trunk/net/ipv4/netfilter/nf_nat_sip.c +++ b/trunk/net/ipv4/netfilter/nf_nat_sip.c @@ -260,7 +260,11 @@ static unsigned int ip_nat_sdp(struct sk_buff **pskb, DEBUGP("ip_nat_sdp():\n"); /* Connection will come from reply */ - newip = ct->tuplehash[!dir].tuple.dst.u3.ip; + if (ct->tuplehash[dir].tuple.src.u3.ip == + ct->tuplehash[!dir].tuple.dst.u3.ip) + newip = exp->tuple.dst.u3.ip; + else + newip = ct->tuplehash[!dir].tuple.dst.u3.ip; exp->saved_ip = exp->tuple.dst.u3.ip; exp->tuple.dst.u3.ip = newip;