patch-2.4.0-test9 linux/net/ipv4/af_inet.c

Next file: linux/net/ipv4/arp.c
Previous file: linux/net/core/sock.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test8/linux/net/ipv4/af_inet.c linux/net/ipv4/af_inet.c
@@ -5,7 +5,7 @@
  *
  *		PF_INET protocol family socket handler.
  *
- * Version:	$Id: af_inet.c,v 1.112 2000/08/16 16:20:56 davem Exp $
+ * Version:	$Id: af_inet.c,v 1.114 2000/09/18 05:59:48 davem Exp $
  *
  * Authors:	Ross Biro, <bir7@leland.Stanford.Edu>
  *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
@@ -258,7 +258,6 @@
 			return -EAGAIN;
 		}
 		sk->sport = htons(sk->num);
-		sk->prot->hash(sk);
 	}
 	release_sock(sk);
 	return 0;
@@ -390,7 +389,6 @@
 	if (sk->prot->init) {
 		int err = sk->prot->init(sk);
 		if (err != 0) {
-			sk->dead = 1;
 			inet_sock_release(sk);
 			return(err);
 		}
@@ -460,7 +458,7 @@
 
 	if (addr_len < sizeof(struct sockaddr_in))
 		return -EINVAL;
-		
+
 	chk_addr_ret = inet_addr_type(addr->sin_addr.s_addr);
 
 	snum = ntohs(addr->sin_port);
@@ -495,10 +493,11 @@
 
 	if (sk->rcv_saddr)
 		sk->userlocks |= SOCK_BINDADDR_LOCK;
+	if (snum)
+		sk->userlocks |= SOCK_BINDPORT_LOCK;
 	sk->sport = htons(sk->num);
 	sk->daddr = 0;
 	sk->dport = 0;
-	sk->prot->hash(sk);
 	sk_dst_reset(sk);
 	err = 0;
 out:

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)