diff options
author | Phil Oester <kernel@linuxace.com> | 2013-11-16 23:37:46 -0500 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-11-18 06:53:40 -0500 |
commit | 23dfe136e2bf8d9ea1095704c535368a9bc721da (patch) | |
tree | 96e0dbf3e208565d1eca4a2a19d33a41acfbd48d /net/netfilter | |
parent | c1898c4c295b735c05af4c09664993fd8f257c2b (diff) |
netfilter: fix wrong byte order in nf_ct_seqadj_set internal information
In commit 41d73ec053d2, sequence number adjustments were moved to a
separate file. Unfortunately, the sequence numbers that are stored
in the nf_ct_seqadj structure are expressed in host byte order. The
necessary ntohl call was removed when the call to adjust_tcp_sequence
was collapsed into nf_ct_seqadj_set. This broke the FTP NAT helper.
Fix it by adding back the byte order conversions.
Reported-by: Dawid Stawiarski <dawid.stawiarski@netart.pl>
Signed-off-by: Phil Oester <kernel@linuxace.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r-- | net/netfilter/nf_conntrack_seqadj.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nf_conntrack_seqadj.c b/net/netfilter/nf_conntrack_seqadj.c index 5f9bfd060dea..17c1bcb182c6 100644 --- a/net/netfilter/nf_conntrack_seqadj.c +++ b/net/netfilter/nf_conntrack_seqadj.c | |||
@@ -41,8 +41,8 @@ int nf_ct_seqadj_set(struct nf_conn *ct, enum ip_conntrack_info ctinfo, | |||
41 | spin_lock_bh(&ct->lock); | 41 | spin_lock_bh(&ct->lock); |
42 | this_way = &seqadj->seq[dir]; | 42 | this_way = &seqadj->seq[dir]; |
43 | if (this_way->offset_before == this_way->offset_after || | 43 | if (this_way->offset_before == this_way->offset_after || |
44 | before(this_way->correction_pos, seq)) { | 44 | before(this_way->correction_pos, ntohl(seq))) { |
45 | this_way->correction_pos = seq; | 45 | this_way->correction_pos = ntohl(seq); |
46 | this_way->offset_before = this_way->offset_after; | 46 | this_way->offset_before = this_way->offset_after; |
47 | this_way->offset_after += off; | 47 | this_way->offset_after += off; |
48 | } | 48 | } |