Charles.Forsyth20060303a828770d19 years agoHistory
25 lines · 650 B · C
RawDownload
#include "lib9.h"#include "logfs.h"#include "local.h" intlogfsuserpermcheck(LogfsServer *s, Entry *e, Fid *f, ulong permmask){	if(s->openflags & LogfsOpenFlagNoPerm)		return 1;	if((e->perm & permmask) == permmask)		/* the whole world can do this */		return 1;	if(((e->perm >> 6) & permmask) == permmask) {		/* maybe we're the owner */		char *uname = logfsisfindnamefromid(s->is, e->uid);		if(uname == f->uname)			return 1;	}	if(((e->perm >> 3) & permmask) == permmask) {		/* maybe we're in the group */		Group *g = logfsisfindgroupfromid(s->is, e->gid);		return g && logfsisgroupunameismember(s->is, g, f->uname);	}	return 0;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t