From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4748 invoked from network); 11 May 1997 18:00:46 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 11 May 1997 18:00:46 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id NAA25933; Sun, 11 May 1997 13:47:40 -0400 (EDT) Resent-Date: Sun, 11 May 1997 13:47:40 -0400 (EDT) Date: Sun, 11 May 1997 18:51:08 +0100 (BST) From: Zefram Message-Id: <16144.199705111751@stone.dcs.warwick.ac.uk> Subject: [[ -x file ]] Resent-Message-ID: <"B5OoE3.0.8L6.xOWTp"@euclid> To: zsh-workers@math.gatech.edu Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3121 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu The ChangeLog for 3.1.2-test1: # * Src/cond.c: [[ -x file ]] does stat for privileged users I think this is a bad idea. access(, X_OK) is the right way to test for executability. The new test gets it wrong over NFS with root squash, and on directories with no execute bits set (which *are* executable to the super-user). Furthermore, with POSIX.1e capabilities, it is one specific capability (well, two, CAP_DAC_READ_SEARCH for directories and CAP_DAC_EXECUTE for files) that overrides normal DAC, whereas the new code tests for *any* capability being set. What was the reason for this change? -zefram