summaryrefslogtreecommitdiff
path: root/sys/src/libauth
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-12-22 01:56:19 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2016-12-22 01:56:19 +0100
commit1ebcdca4ba208953fc8035c001b980eb7b51228b (patch)
tree26017842bf226ef2290edb5630a3da0bd483b28a /sys/src/libauth
parentcd15849bf2359dbd7868dcfd4f85c7da6d46f396 (diff)
libauth: don't attempt to mount when opening mount srv file fails in nsop()
making newnsdebug error messages more usefull...
Diffstat (limited to 'sys/src/libauth')
-rw-r--r--sys/src/libauth/newns.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/src/libauth/newns.c b/sys/src/libauth/newns.c
index 21ac2a7c3..172692cc2 100644
--- a/sys/src/libauth/newns.c
+++ b/sys/src/libauth/newns.c
@@ -152,7 +152,7 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc)
cdroot = 0;
flags = 0;
argv0 = 0;
- if (newnsdebug){
+ if(newnsdebug){
for (i = 0; i < argc; i++)
fprint(2, "%s ", argv[i]);
fprint(2, "\n");
@@ -181,9 +181,9 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc)
return 0;
cdroot |= nsfile(fn, b, rpc);
Bterm(b);
- }else if(strcmp(argv0, "clear") == 0 && argc == 0)
+ }else if(strcmp(argv0, "clear") == 0 && argc == 0){
rfork(RFCNAMEG);
- else if(strcmp(argv0, "bind") == 0 && argc == 2){
+ }else if(strcmp(argv0, "bind") == 0 && argc == 2){
if(bind(argv[0], argv[1], flags) < 0 && newnsdebug)
fprint(2, "%s: bind: %s %s: %r\n", fn, argv[0], argv[1]);
}else if(strcmp(argv0, "unmount") == 0){
@@ -193,6 +193,11 @@ nsop(char *fn, int argc, char *argv[], AuthRpc *rpc)
unmount(argv[0], argv[1]);
}else if(strcmp(argv0, "mount") == 0){
fd = open(argv[0], ORDWR);
+ if(fd < 0){
+ if(newnsdebug)
+ fprint(2, "%s: mount: %s: %r\n", fn, argv[0]);
+ return 0;
+ }
if(argc == 2){
if(famount(fd, rpc, argv[1], flags, "") < 0 && newnsdebug)
fprint(2, "%s: mount: %s %s: %r\n", fn, argv[0], argv[1]);