71d6df3
--- nss/cmd/httpserv/httpserv.c.539183	2016-05-21 18:31:39.879585420 -0700
71d6df3
+++ nss/cmd/httpserv/httpserv.c	2016-05-21 18:37:22.374464057 -0700
Elio Maldonado 3648d70
@@ -953,23 +953,23 @@
Elio Maldonado 3648d70
 getBoundListenSocket(unsigned short port)
Elio Maldonado 3648d70
 {
Elio Maldonado 3648d70
     PRFileDesc *listen_sock;
Elio Maldonado 3648d70
     int listenQueueDepth = 5 + (2 * maxThreads);
Elio Maldonado 3648d70
     PRStatus prStatus;
Elio Maldonado 3648d70
     PRNetAddr addr;
Elio Maldonado 1f01ab6
     PRSocketOptionData opt;
Elio Maldonado 1f01ab6
 
Elio Maldonado 1f01ab6
-    addr.inet.family = PR_AF_INET;
Elio Maldonado 3648d70
-    addr.inet.ip = PR_INADDR_ANY;
Elio Maldonado 3648d70
-    addr.inet.port = PR_htons(port);
Elio Maldonado 1f01ab6
+    if (PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, port, &addr) != PR_SUCCESS) {
Elio Maldonado 3648d70
+        errExit("PR_SetNetAddr");
Elio Maldonado 1f01ab6
+    }
Elio Maldonado 1f01ab6
 
Elio Maldonado 1f01ab6
-    listen_sock = PR_NewTCPSocket();
Elio Maldonado 1f01ab6
+    listen_sock = PR_OpenTCPSocket(PR_AF_INET6);
Elio Maldonado 1f01ab6
     if (listen_sock == NULL) {
Elio Maldonado 3648d70
-        errExit("PR_NewTCPSocket");
Elio Maldonado 3648d70
+        errExit("PR_OpenTCPSockett");
Elio Maldonado 1f01ab6
     }
Elio Maldonado 1f01ab6
 
Elio Maldonado 1f01ab6
     opt.option = PR_SockOpt_Nonblocking;
Elio Maldonado 3648d70
     opt.value.non_blocking = PR_FALSE;
Elio Maldonado 3648d70
     prStatus = PR_SetSocketOption(listen_sock, &opt;;
Elio Maldonado 3648d70
     if (prStatus < 0) {
Elio Maldonado 3648d70
         PR_Close(listen_sock);
Elio Maldonado 3648d70
         errExit("PR_SetSocketOption(PR_SockOpt_Nonblocking)");
71d6df3
--- nss/cmd/selfserv/selfserv.c.539183	2016-05-21 18:31:39.882585367 -0700
71d6df3
+++ nss/cmd/selfserv/selfserv.c	2016-05-21 18:41:43.092801174 -0700
Elio Maldonado 3648d70
@@ -1711,23 +1711,23 @@
Elio Maldonado 3648d70
 getBoundListenSocket(unsigned short port)
Elio Maldonado 3648d70
 {
Elio Maldonado 3648d70
     PRFileDesc *listen_sock;
Elio Maldonado 3648d70
     int listenQueueDepth = 5 + (2 * maxThreads);
Elio Maldonado 3648d70
     PRStatus prStatus;
Elio Maldonado 3648d70
     PRNetAddr addr;
Elio Maldonado c40f16f
     PRSocketOptionData opt;
Elio Maldonado c40f16f
 
Elio Maldonado c40f16f
-    addr.inet.family = PR_AF_INET;
Elio Maldonado 3648d70
-    addr.inet.ip = PR_INADDR_ANY;
Elio Maldonado 3648d70
-    addr.inet.port = PR_htons(port);
Elio Maldonado c40f16f
+    if (PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, port, &addr) != PR_SUCCESS) {
Elio Maldonado 3648d70
+        errExit("PR_SetNetAddr");
Elio Maldonado c40f16f
+    }
Elio Maldonado c40f16f
 
Elio Maldonado bc4ac54
-    listen_sock = PR_NewTCPSocket();
Elio Maldonado c40f16f
+    listen_sock = PR_OpenTCPSocket(PR_AF_INET6);
Elio Maldonado c40f16f
     if (listen_sock == NULL) {
Elio Maldonado 3648d70
-        errExit("PR_NewTCPSocket");
Elio Maldonado bc4ac54
+        errExit("PR_OpenTCPSocket error");
Elio Maldonado c40f16f
     }
Elio Maldonado bc4ac54
 
Elio Maldonado bc4ac54
     opt.option = PR_SockOpt_Nonblocking;
Elio Maldonado 3648d70
     opt.value.non_blocking = PR_FALSE;
Elio Maldonado 3648d70
     prStatus = PR_SetSocketOption(listen_sock, &opt;;
Elio Maldonado 3648d70
     if (prStatus < 0) {
Elio Maldonado 3648d70
         PR_Close(listen_sock);
Elio Maldonado 3648d70
         errExit("PR_SetSocketOption(PR_SockOpt_Nonblocking)");