diff options
| author | Ravinder Konka <rkonka@codeaurora.org> | 2015-03-10 16:37:00 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:15:01 -0700 |
| commit | 90f5ff1935bf8a86e6fe5eaaa1a97256e4d72712 (patch) | |
| tree | 23594610f23134c1cc85b74ebdc1b5985fd86030 | |
| parent | ea8b061e0df78fe100986042c9c6d10a2cc89e08 (diff) | |
netfilter: Fix to MT call issue
Changes to store forced port only in the original direction.
This resolves the MT call issue where destination port is
incorrectly translated to forced_port.
Change-Id: I1b1c407c4beb8185ada0b005b1cd1034cb975141
Signed-off-by: Ravinder Konka <rkonka@codeaurora.org>
| -rw-r--r-- | net/netfilter/nf_conntrack_sip.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c index 885b4aba3695..0b1f01a0f0fb 100644 --- a/net/netfilter/nf_conntrack_sip.c +++ b/net/netfilter/nf_conntrack_sip.c @@ -1425,7 +1425,8 @@ static int process_sip_request(struct sk_buff *skb, unsigned int protoff, SIP_HDR_VIA_UDP, NULL, &matchoff, &matchlen, &addr, &port) > 0 && port != ct->tuplehash[dir].tuple.src.u.udp.port && - nf_inet_addr_cmp(&addr, &ct->tuplehash[dir].tuple.src.u3)) + nf_inet_addr_cmp(&addr, &ct->tuplehash[dir].tuple.src.u3) && + (dir == IP_CT_DIR_ORIGINAL)) ct_sip_info->forced_dport = port; for (i = 0; i < ARRAY_SIZE(sip_handlers); i++) { |
