Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 0eec05715da3ca8ae3817a0833b18fa6 > files > 45

nfs-utils-1.0.9-50.el5.src.rpm

diff -up nfs-utils-1.0.9/support/nfs/rpcmisc.c.orig nfs-utils-1.0.9/support/nfs/rpcmisc.c
--- nfs-utils-1.0.9/support/nfs/rpcmisc.c.orig	2006-07-07 20:04:32.000000000 -0400
+++ nfs-utils-1.0.9/support/nfs/rpcmisc.c	2010-10-29 09:31:08.000000000 -0400
@@ -184,8 +184,11 @@ int makesock(int port, int proto)
 	sin.sin_port = htons(port);
 
 	val = 1;
-	if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val)) < 0)
-		xlog(L_ERROR, "setsockopt failed: %s\n", strerror(errno));
+	if (proto == IPPROTO_TCP)
+		if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
+			       &val, sizeof(val)) < 0)
+			xlog(L_ERROR, "setsockopt failed: %s\n",
+			     strerror(errno));
 
 #if 0
 	/* I was told it didn't work with gigabit ethernet.
diff -up nfs-utils-1.0.9/support/nfs/svc_socket.c.orig nfs-utils-1.0.9/support/nfs/svc_socket.c
--- nfs-utils-1.0.9/support/nfs/svc_socket.c.orig	2006-07-07 20:04:32.000000000 -0400
+++ nfs-utils-1.0.9/support/nfs/svc_socket.c	2010-10-29 09:31:08.000000000 -0400
@@ -151,7 +151,7 @@ svctcp_socket (u_long number, int reuse)
 int
 svcudp_socket (u_long number, int reuse)
 {
-  return svc_socket (number, SOCK_DGRAM, IPPROTO_UDP, reuse);
+  return svc_socket (number, SOCK_DGRAM, IPPROTO_UDP, 0);
 }
 
 #ifdef TEST