basically none of these build
diff --git a/src/libauth/noworld.c b/src/libauth/noworld.c
new file mode 100644
index 0000000..c61b146
--- /dev/null
+++ b/src/libauth/noworld.c
@@ -0,0 +1,45 @@
+#include <u.h>
+#include <libc.h>
+#include <bio.h>
+#include <auth.h>
+
+/*
+ *  see if user is in the group noworld, i.e., has all file
+ *  priviledges masked with 770, and all directories with
+ *  771, before checking access rights
+ */
+int
+noworld(char *user)
+{
+	Biobuf *b;
+	char *p;
+	int n;
+
+	b = Bopen("/adm/users", OREAD);
+	if(b == nil)
+		return 0;
+	while((p = Brdline(b, '\n')) != nil){
+		p[Blinelen(b)-1] = 0;
+		p = strchr(p, ':');
+		if(p == nil)
+			continue;
+		if(strncmp(p, ":noworld:", 9) == 0){
+			p += 9;
+			break;
+		}
+	}
+	n = strlen(user);
+	while(p != nil && *p != 0){
+		p = strstr(p, user);
+		if(p == nil)
+			break;
+		if(*(p-1) == ':' || *(p-1) == ',')
+		if(*(p+n) == ':' || *(p+n) == ',' || *(p+n) == 0){
+			Bterm(b);
+			return 1;
+		}
+		p++;
+	}
+	Bterm(b);
+	return 0;
+}