srv: add -n flag to reject auth by clients

This commit is contained in:
Russ Cox 2007-10-12 12:56:57 -04:00
parent 9b25329723
commit 151b86a037
2 changed files with 17 additions and 5 deletions

View file

@ -4,7 +4,7 @@ srv, 9fs \- start network file service
.SH SYNOPSIS
.B srv
[
.B -a
.B -an
]
[
.B -k
@ -37,6 +37,14 @@ to post a pre-authenticated connection to the file system
(by default, the empty string;
see
.IR attach (9p)).
.PP
The
.B -n
option causes
.I srv
to reject authentication attempts by clients,
useful if the remote server is known not to require authentication.
.PP
.I Srv
authenticates over the 9P connection to establish a valid auth fid.
.IR Keypattern ,

View file

@ -41,6 +41,9 @@ threadmain(int argc, char **argv)
case 'a':
doauth = 1;
break;
case 'n':
doauth = -1;
break;
case 'k':
keypattern = EARGF(usage());
break;
@ -55,7 +58,7 @@ threadmain(int argc, char **argv)
if((fd = dial(addr, nil, nil, nil)) < 0)
sysfatal("dial %s: %r", addr);
if(doauth)
if(doauth > 0)
xauth();
if(argc == 2)
@ -216,7 +219,7 @@ post9pservice(int fd, char *name)
dup(fd, 1);
for(i=3; i<20; i++)
close(i);
if(doauth)
if(doauth > 0)
execlp("9pserve", "9pserve", "-u",
"-M",
smprint("%d", msize),
@ -225,7 +228,8 @@ post9pservice(int fd, char *name)
smprint("%d", afid),
s, (char*)0);
else
execlp("9pserve", "9pserve", "-u", s, (char*)0);
execlp("9pserve", "9pserve",
doauth < 0 ? "-nu" : "-u", s, (char*)0);
fprint(2, "exec 9pserve: %r\n");
_exits("exec");
default: