Apple nfsd patch

From Stack Overflow

Jump to: navigation, search
*** nfsd.c-original     Sun Jun 22 13:11:33 2003
--- nfsd.c      Fri Jul  7 14:09:41 2006
***************
*** 368,373 ****
--- 368,379 ----
                        syslog(LOG_ERR, "can't create udp socket");
                        exit(1);
                }
+               if (setsockopt(sock,
+                   SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0)
+                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
+               if (setsockopt(sock,
+                   SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on)) < 0)
+                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
                inetaddr.sin_family = AF_INET;
                inetaddr.sin_addr.s_addr = INADDR_ANY;
                inetaddr.sin_port = htons(NFS_PORT);
***************
*** 445,450 ****
--- 451,459 ----
                if (setsockopt(tcpsock,
                    SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0)
                        syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
+               if (setsockopt(tcpsock,
+                   SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on)) < 0)
+                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
                inetaddr.sin_family = AF_INET;
                inetaddr.sin_addr.s_addr = INADDR_ANY;
                inetaddr.sin_port = htons(NFS_PORT);
***************
*** 478,483 ****
--- 487,495 ----
                if (setsockopt(tp4sock,
                    SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0)
                        syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
+               if (setsockopt(tp4sock,
+                   SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on)) < 0)
+                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
                memset(&isoaddr, 0, sizeof(isoaddr));
                isoaddr.siso_family = AF_ISO;
                isoaddr.siso_tlen = 2;
***************
*** 517,522 ****
--- 529,537 ----
                if (setsockopt(tpipsock,
                    SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0)
                        syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
+               if (setsockopt(tpipsock,
+                   SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on)) < 0)
+                       syslog(LOG_ERR, "setsockopt SO_REUSEADDR: %m");
                inetaddr.sin_family = AF_INET;
                inetaddr.sin_addr.s_addr = INADDR_ANY;
                inetaddr.sin_port = htons(NFS_PORT);
Personal tools