diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-05-11 02:10:05 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-05-11 02:10:05 +0200 |
commit | cb4b187f10ae92aab6689a454d17bbbd382ebe63 (patch) | |
tree | 88176ff8fd04cde40729ffad6afba1c44161ed9a /sys/src/9/port/devtls.c | |
parent | a630e17bd7d77df2b88ee3995e35ed1b88f00830 (diff) |
devssl, devtls: fix permission checks
Diffstat (limited to 'sys/src/9/port/devtls.c')
-rw-r--r-- | sys/src/9/port/devtls.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/sys/src/9/port/devtls.c b/sys/src/9/port/devtls.c index 58ed58b35..f5d4fa493 100644 --- a/sys/src/9/port/devtls.c +++ b/sys/src/9/port/devtls.c @@ -424,21 +424,7 @@ static Chan* tlsopen(Chan *c, int omode) { TlsRec *tr, **pp; - int t, perm; - - perm = 0; - omode &= 3; - switch(omode) { - case OREAD: - perm = 4; - break; - case OWRITE: - perm = 2; - break; - case ORDWR: - perm = 6; - break; - } + int t; t = TYPE(c->qid); switch(t) { @@ -471,10 +457,7 @@ tlsopen(Chan *c, int omode) tr = *pp; if(tr == nil) error("must open connection using clone"); - if((perm & (tr->perm>>6)) != perm - && (strcmp(up->user, tr->user) != 0 - || (perm & tr->perm) != perm)) - error(Eperm); + devpermcheck(tr->user, tr->perm, omode); if(t == Qhand){ if(waserror()){ unlock(&tr->hqlock); |