mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00:00
tcpv[46]: fix md5 pseudoheader address field ordering
Maybe it's just me but I guess those md5 people made a mess out of it by having *_md5_hash_* to use daddr, saddr order instead of the one that is natural (and equal to what csum functions use). For the segment were sending, the original addresses are reversed so buff's saddr == skb's daddr and vice-versa. Maybe I can finally proceed with unification of some code after fixing it first... :-) Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
df58ef51ca
commit
78e645cb89
2 changed files with 4 additions and 4 deletions
|
@ -583,8 +583,8 @@ static void tcp_v4_send_reset(struct sock *sk, struct sk_buff *skb)
|
|||
rep.th.doff = arg.iov[0].iov_len / 4;
|
||||
|
||||
tcp_v4_md5_hash_hdr((__u8 *) &rep.opt[1],
|
||||
key, ip_hdr(skb)->daddr,
|
||||
ip_hdr(skb)->saddr, &rep.th);
|
||||
key, ip_hdr(skb)->saddr,
|
||||
ip_hdr(skb)->daddr, &rep.th);
|
||||
}
|
||||
#endif
|
||||
arg.csum = csum_tcpudp_nofold(ip_hdr(skb)->daddr,
|
||||
|
|
|
@ -1007,8 +1007,8 @@ static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb)
|
|||
(TCPOPT_MD5SIG << 8) |
|
||||
TCPOLEN_MD5SIG);
|
||||
tcp_v6_md5_hash_hdr((__u8 *)&opt[1], key,
|
||||
&ipv6_hdr(skb)->daddr,
|
||||
&ipv6_hdr(skb)->saddr, t1);
|
||||
&ipv6_hdr(skb)->saddr,
|
||||
&ipv6_hdr(skb)->daddr, t1);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue