X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Fvfs%2Facls.c;h=7ae50c2fd34f4dd94a4523588931c3c3a6a8196d;hb=641a3c5a09b61973431c5772333f65eeb76e76c0;hp=c8bcc79c4fcbc06e0379c71878b2994d451b8a9f;hpb=0ab008276f88801b5a5a2ed8e96c285e524ead2c;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/vfs/acls.c b/KernelLand/Kernel/vfs/acls.c index c8bcc79c..7ae50c2f 100644 --- a/KernelLand/Kernel/vfs/acls.c +++ b/KernelLand/Kernel/vfs/acls.c @@ -5,10 +5,13 @@ #include "vfs.h" #include "vfs_int.h" +// === PROTOTYPES === +Uint VFS_int_CheckACLs(tVFS_ACL *ACLs, int Num, int bDeny, Uint Perms, tUID UID, tGID GID); + // === GLOBALS === tVFS_ACL gVFS_ACL_EveryoneRWX = { {1,-1}, {0,VFS_PERM_ALL} }; -tVFS_ACL gVFS_ACL_EveryoneRW = { {1,-1}, {0,VFS_PERM_ALL^VFS_PERM_EXECUTE} }; -tVFS_ACL gVFS_ACL_EveryoneRX = { {1,-1}, {0,VFS_PERM_READ|VFS_PERM_EXECUTE} }; +tVFS_ACL gVFS_ACL_EveryoneRW = { {1,-1}, {0,VFS_PERM_ALL^VFS_PERM_EXEC} }; +tVFS_ACL gVFS_ACL_EveryoneRX = { {1,-1}, {0,VFS_PERM_READ|VFS_PERM_EXEC} }; tVFS_ACL gVFS_ACL_EveryoneRO = { {1,-1}, {0,VFS_PERM_READ} }; // === CODE === @@ -136,21 +139,21 @@ tVFS_ACL *VFS_UnixToAcessACL(Uint Mode, Uint Owner, Uint Group) ret[0].Perm.Inv = 0; ret[0].Perm.Perms = 0; if(Mode & 0400) ret[0].Perm.Perms |= VFS_PERM_READ; if(Mode & 0200) ret[0].Perm.Perms |= VFS_PERM_WRITE; - if(Mode & 0100) ret[0].Perm.Perms |= VFS_PERM_EXECUTE; + if(Mode & 0100) ret[0].Perm.Perms |= VFS_PERM_EXEC; // Group ret[1].Ent.Group = 1; ret[1].Ent.ID = Group; ret[1].Perm.Inv = 0; ret[1].Perm.Perms = 0; if(Mode & 0040) ret[1].Perm.Perms |= VFS_PERM_READ; if(Mode & 0020) ret[1].Perm.Perms |= VFS_PERM_WRITE; - if(Mode & 0010) ret[1].Perm.Perms |= VFS_PERM_EXECUTE; + if(Mode & 0010) ret[1].Perm.Perms |= VFS_PERM_EXEC; // Global ret[2].Ent.Group = 1; ret[2].Ent.ID = -1; ret[2].Perm.Inv = 0; ret[2].Perm.Perms = 0; if(Mode & 0004) ret[2].Perm.Perms |= VFS_PERM_READ; if(Mode & 0002) ret[2].Perm.Perms |= VFS_PERM_WRITE; - if(Mode & 0001) ret[2].Perm.Perms |= VFS_PERM_EXECUTE; + if(Mode & 0001) ret[2].Perm.Perms |= VFS_PERM_EXEC; // Return buffer return ret;