summaryrefslogtreecommitdiffstats
path: root/sys/kern/syscalls.master
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2001-09-21 21:33:22 +0000
committerrwatson <rwatson@FreeBSD.org>2001-09-21 21:33:22 +0000
commite925d3281cb35b5fa143662b9b19c631379db965 (patch)
tree0288b8d1f9a591ec2907e07f006efcaac43ff6a1 /sys/kern/syscalls.master
parentd7c26820a74d15c452227019c1d5eeec4d1c14e5 (diff)
downloadFreeBSD-src-e925d3281cb35b5fa143662b9b19c631379db965.zip
FreeBSD-src-e925d3281cb35b5fa143662b9b19c631379db965.tar.gz
o Introduce eaccess(2), a version of access(2) that uses the effective
credentials rather than the real credentials. This is useful for implementing GUI's which need to modify icons based on access rights, but where use of open(2) is too expensive, use of stat(2) doesn't reflect the file system's real protection model, and use of access() suffers from real/effective credential confusion. This implementation provides the same semantics as the call of the same name on SCO OpenServer. Note: using this call improperly can leave you subject to some of the same races present in the access(2) call. o To implement this, break out the basic logic of access(2) into vpaccess(), which accepts a passed credential to perform the invocation of VOP_ACCESS(). Add eaccess(2) to invoke vpaccess(), and modify access(2) to use vpaccess(). Obtained from: TrustedBSD Project
Diffstat (limited to 'sys/kern/syscalls.master')
-rw-r--r--sys/kern/syscalls.master1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 31de61d..b874090 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -544,3 +544,4 @@
const char *attrname); }
374 MSTD BSD { int __setugid(int flag); }
375 NOIMPL BSD { int nfsclnt(int flag, caddr_t argp); }
+376 STD BSD { int eaccess(char *path, int flags); }
OpenPOWER on IntegriCloud