tcp: md5: using remote adress for md5 lookup in rst packet

md5 key is added in socket through remote address.
remote address should be used in finding md5 key when
sending out reset packet.

Signed-off-by: shawnlu <shawn.lu@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
shawnlu 2012-01-20 12:22:04 +00:00 committed by David S. Miller
parent df505eb804
commit 8a622e71f5
2 changed files with 2 additions and 2 deletions

View File

@ -631,7 +631,7 @@ static void tcp_v4_send_reset(struct sock *sk, struct sk_buff *skb)
arg.iov[0].iov_len = sizeof(rep.th); arg.iov[0].iov_len = sizeof(rep.th);
#ifdef CONFIG_TCP_MD5SIG #ifdef CONFIG_TCP_MD5SIG
key = sk ? tcp_v4_md5_do_lookup(sk, ip_hdr(skb)->daddr) : NULL; key = sk ? tcp_v4_md5_do_lookup(sk, ip_hdr(skb)->saddr) : NULL;
if (key) { if (key) {
rep.opt[0] = htonl((TCPOPT_NOP << 24) | rep.opt[0] = htonl((TCPOPT_NOP << 24) |
(TCPOPT_NOP << 16) | (TCPOPT_NOP << 16) |

View File

@ -1083,7 +1083,7 @@ static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb)
#ifdef CONFIG_TCP_MD5SIG #ifdef CONFIG_TCP_MD5SIG
if (sk) if (sk)
key = tcp_v6_md5_do_lookup(sk, &ipv6_hdr(skb)->daddr); key = tcp_v6_md5_do_lookup(sk, &ipv6_hdr(skb)->saddr);
#endif #endif
if (th->ack) if (th->ack)