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/devssl.c | |
parent | a630e17bd7d77df2b88ee3995e35ed1b88f00830 (diff) |
devssl, devtls: fix permission checks
Diffstat (limited to 'sys/src/9/port/devssl.c')
-rw-r--r-- | sys/src/9/port/devssl.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/sys/src/9/port/devssl.c b/sys/src/9/port/devssl.c index 6f2b7e61e..9c46a8fde 100644 --- a/sys/src/9/port/devssl.c +++ b/sys/src/9/port/devssl.c @@ -263,23 +263,8 @@ static Chan* sslopen(Chan *c, int omode) { Dstate *s, **pp; - int perm; int ft; - perm = 0; - omode &= 3; - switch(omode) { - case OREAD: - perm = 4; - break; - case OWRITE: - perm = 2; - break; - case ORDWR: - perm = 6; - break; - } - ft = TYPE(c->qid); switch(ft) { default: @@ -309,11 +294,7 @@ sslopen(Chan *c, int omode) if(s == 0) dsnew(c, pp); else { - if((perm & (s->perm>>6)) != perm - && (strcmp(up->user, s->user) != 0 - || (perm & s->perm) != perm)) - error(Eperm); - + devpermcheck(s->user, s->perm, omode); s->ref++; } unlock(&dslock); |