Import sources from 2011-03-30 iso image
This commit is contained in:
commit
e5888a1ffd
7810 changed files with 2489717 additions and 0 deletions
34
sys/src/lib9p/uid.c
Executable file
34
sys/src/lib9p/uid.c
Executable file
|
@ -0,0 +1,34 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <auth.h>
|
||||
#include <fcall.h>
|
||||
#include <thread.h>
|
||||
#include <9p.h>
|
||||
|
||||
/*
|
||||
* simplistic permission checking. assume that
|
||||
* each user is the leader of her own group.
|
||||
*/
|
||||
int
|
||||
hasperm(File *f, char *uid, int p)
|
||||
{
|
||||
int m;
|
||||
|
||||
m = f->mode & 7; /* other */
|
||||
if((p & m) == p)
|
||||
return 1;
|
||||
|
||||
if(strcmp(f->uid, uid) == 0) {
|
||||
m |= (f->mode>>6) & 7;
|
||||
if((p & m) == p)
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(strcmp(f->gid, uid) == 0) {
|
||||
m |= (f->mode>>3) & 7;
|
||||
if((p & m) == p)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue