Commit Diff


commit - 3dc14df0f7fc06bc90bf525de440fbe15e992130
commit + 4ff69507837bb2501cba25dfa219c252333cc185
blob - cac024a0f366da89c939046c743acf156bbc2b75
blob + 762e7220572197e604c001da34ca3ec15e5893d3
--- man/man1/9p.1
+++ man/man1/9p.1
@@ -71,6 +71,9 @@ the server at
 .B -A\fI aname
 attach to the file system named
 .I aname
+.TP
+.B -n
+mount without authentication
 .PP
 The first argument is a command, one of:
 .TP
blob - 4d19e5e682e0c241caa2d8a51cca73c140fc4017
blob + 1befa6b01718cdc398979b2426a627865f4308e8
--- src/cmd/9p.c
+++ src/cmd/9p.c
@@ -12,7 +12,7 @@ char *addr;
 void
 usage(void)
 {
-	fprint(2, "usage: 9p [-a address] [-A aname] cmd args...\n");
+	fprint(2, "usage: 9p [-n] [-a address] [-A aname] cmd args...\n");
 	fprint(2, "possible cmds:\n");
 	fprint(2, "	read name\n");
 	fprint(2, "	readfd name\n");
@@ -25,6 +25,9 @@ usage(void)
 	threadexitsall("usage");
 }
 
+CFsys *(*nsmnt)(char*, char*) = nsamount;
+CFsys *(*fsmnt)(int, char*) = fsamount;
+
 char *aname;
 void xread(int, char**);
 void xwrite(int, char**);
@@ -68,6 +71,10 @@ threadmain(int argc, char **argv)
 		if(strchr(addr, '!') == nil)
 			addr = netmkaddr(addr, "tcp", "9fs");
 		break;
+	case 'n':
+		nsmnt = nsmount;
+		fsmnt = fsmount;
+		break;
 	case 'D':
 		chatty9pclient = 1;
 		break;
@@ -104,15 +111,15 @@ xparse(char *name, char **path)
 		else
 			*p++ = 0;
 		*path = p;
-		fs = nsamount(name, aname);
+		fs = nsmnt(name, aname);
 		if(fs == nil)
 			sysfatal("mount: %r");
 	}else{
 		*path = name;
 		if((fd = dial(addr, nil, nil, nil)) < 0)
 			sysfatal("dial: %r");
-		if((fs = fsamount(fd, aname)) == nil)
-			sysfatal("fsamount: %r");
+		if((fs = fsmnt(fd, aname)) == nil)
+			sysfatal("mount: %r");
 	}
 	return fs;
 }
@@ -466,6 +473,8 @@ dircmp(const void *va, const void *vb)
 	b = (Dir*)vb;
 	return strcmp(a->name, b->name);
 }
+
+char *dot[] = { "." };
 
 void
 xls(int argc, char **argv)
@@ -497,6 +506,10 @@ xls(int argc, char **argv)
 	quotefmtinstall();
 	fmtinstall('T', timefmt);
 	
+	if(argc == 0){
+		argv = dot;
+		argc = 1;
+	}
 	for(i=0; i<argc; i++){
 		name = argv[i];
 		fs = xparse(name, &xname);