From owner-cvs-all Fri Sep 21 14:33:26 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 24F1D37B408; Fri, 21 Sep 2001 14:33:23 -0700 (PDT) Received: (from rwatson@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f8LLXNJ06986; Fri, 21 Sep 2001 14:33:23 -0700 (PDT) (envelope-from rwatson) Message-Id: <200109212133.f8LLXNJ06986@freefall.freebsd.org> From: Robert Watson Date: Fri, 21 Sep 2001 14:33:23 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_syscalls.c syscalls.master X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG rwatson 2001/09/21 14:33:23 PDT Modified files: sys/kern vfs_syscalls.c syscalls.master Log: 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 Revision Changes Path 1.98 +2 -1 src/sys/kern/syscalls.master 1.205 +68 -15 src/sys/kern/vfs_syscalls.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message