Przeglądaj źródła

nscd: fall back gracefully on kernels without AF_UNIX support

Joakim Sindholt 3 lat temu
rodzic
commit
0ea78a6421
1 zmienionych plików z 9 dodań i 1 usunięć
  1. 9 1
      src/passwd/nscd_query.c

+ 9 - 1
src/passwd/nscd_query.c

@@ -40,7 +40,15 @@ retry:
 	buf[0] = NSCDVERSION;
 
 	fd = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
-	if (fd < 0) return NULL;
+	if (fd < 0) {
+		if (errno == EAFNOSUPPORT) {
+			f = fopen("/dev/null", "re");
+			if (f)
+				errno = errno_save;
+			return f;
+		}
+		return 0;
+	}
 
 	if(!(f = fdopen(fd, "r"))) {
 		close(fd);