summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Forsyth <charles.forsyth@gmail.com>2014-05-24 18:46:11 +0100
committerCharles Forsyth <charles.forsyth@gmail.com>2014-05-24 18:46:11 +0100
commit934fd753d60353d854b3450c1cfe1c7a8e713579 (patch)
tree7b6ffee1a6f6d7148db52f3851102efb41aacdb9
parent7fa4db66cbbf3a7ecf8f37269bd531eccc84f992 (diff)
allow / in aname (plan 9 change previously missed) [issue 312]
-rw-r--r--appl/lib/factotum.b4
-rw-r--r--emu/port/sysfile.c2
-rw-r--r--os/port/sysfile.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/appl/lib/factotum.b b/appl/lib/factotum.b
index 97138fe1..d807705d 100644
--- a/appl/lib/factotum.b
+++ b/appl/lib/factotum.b
@@ -66,6 +66,10 @@ mount(fd: ref Sys->FD, mnt: string, flags: int, aname: string, keyspec: string):
{
ai: ref Authinfo;
afd := sys->fauth(fd, aname);
+ if(debug && afd == nil){
+ sys->print("fauth %s: %r\n", aname);
+ return (-1, nil);
+ }
if(afd != nil){
ai = proxy(afd, open(), "proto=p9any role=client "+keyspec);
if(debug && ai == nil){
diff --git a/emu/port/sysfile.c b/emu/port/sysfile.c
index 8159ae2d..0f7f4398 100644
--- a/emu/port/sysfile.c
+++ b/emu/port/sysfile.c
@@ -292,7 +292,7 @@ kfauth(int fd, char *aname)
if(waserror())
return -1;
- validname(aname, 0);
+ validname(aname, 1);
c = fdtochan(up->env->fgrp, fd, ORDWR, 0, 1);
if(waserror()){
cclose(c);
diff --git a/os/port/sysfile.c b/os/port/sysfile.c
index 702470b6..6f73da2e 100644
--- a/os/port/sysfile.c
+++ b/os/port/sysfile.c
@@ -309,7 +309,7 @@ kfauth(int fd, char *aname)
if(waserror())
return -1;
- validname(aname, 0);
+ validname(aname, 1);
c = fdtochan(up->env->fgrp, fd, ORDWR, 0, 1);
if(waserror()){
cclose(c);