Message ID | 20090716113652.65dd1c8d@nehalam |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
--- a/net/ipv6/tcp_ipv6.c 2009-07-15 18:08:11.042505387 -0700 +++ b/net/ipv6/tcp_ipv6.c 2009-07-15 20:05:56.270009553 -0700 @@ -1169,8 +1169,17 @@ static int tcp_v6_conn_request(struct so #define want_cookie 0 #endif - if (skb->protocol == htons(ETH_P_IP)) - return tcp_v4_conn_request(sk, skb); + if (skb->protocol == htons(ETH_P_IP)) { + int err; +#ifdef CONFIG_TCP_MD5SIG + tp->af_specific = &tcp_sock_ipv6_mapped_specific; +#endif + err = tcp_v4_conn_request(sk, skb); +#ifdef CONFIG_TCP_MD5SIG + tp->af_specific = &tcp_sock_ipv6_specific; +#endif + return err; + } if (!ipv6_unicast_destination(skb)) goto drop;