From: Eli Zaretskii <eliz@gnu.org>
To: Philip Hodges <philip.hodges@bluewin.ch>
Cc: 17330@debbugs.gnu.org
Subject: bug#17330: files.el cd-absolute overcome false negative from file-executable-p
Date: Sun, 11 May 2014 20:00:48 +0300 [thread overview]
Message-ID: <837g5suu67.fsf@gnu.org> (raw)
In-Reply-To: <536F5503.4040607@bluewin.ch>
> Date: Sun, 11 May 2014 12:46:27 +0200
> From: Philip Hodges <philip.hodges@bluewin.ch>
> CC: rgm@gnu.org, 17330@debbugs.gnu.org
>
> ; cd to the 700 folder does not, this is clearly a false negative:
> cd-absolute: Cannot cd to //192.168.0.18/myshare/smb/700/: Permission
> denied
Why is that a false negative? According to this:
> $ icacls .
> . S-1-5-32-766:(OI)(CI)(RX,W,WDAC,WO,DC)
> S-1-5-32-767:(OI)(CI)(Rc,S,REA,RA)
> Everyone:(OI)(CI)(Rc,S,REA,RA) <<<<<<<<<<<<<<<<<<<<
you indeed have no "execute/traverse" rights to this directory. It is
possible that Cygwin doesn't DTRT with the S-1-5-32-766 well-known
SID, which is NT_BUILTIN_CURRENT_OWNER SID. Perhaps it would be a
good idea to describe all this on the Cygwin mailing list.
> ; in a shell cd to the same 700 folder works fine
> $ cd //192.168.0.18/myshare/smb/700
> ^[$ ls
> 600 640 644 win
So the shell doesn't check, while Emacs does, so what?
> $ icacls .
> . S-1-5-32-766:(OI)(CI)(RX,W,WDAC,WO,DC)
> S-1-5-32-767:(OI)(CI)(Rc,S,REA,RA)
> Everyone:(OI)(CI)(Rc,S,REA,RA)
> Successfully processed 1 files; Failed processing 0 files
>
> cygwin emacs-w32 emacs-version "24.3.90.1"
> (file-executable-p "//192.168.0.18/myshare/smb/700")
> nil
>
> Native builds do not seem to be affected:
> native emacs-version "24.3.1"
> (file-executable-p "//192.168.0.18/myshare/smb/700")
> t
Irrelevant: native Windows Emacs doesn't examine the ACLs, so it
simply has no way of knowing this.
> Error reading dir-locals: (file-error "Opening input file" "not a
> directory" "//mini2012/smb/640/.dir-locals.el")
> ; 640 is a regular file, not a directory, but why dir-locals.el ?
> Error reading dir-locals: (file-error "Opening input file" "permission
> denied" "//mini2012/smb/700/.dir-locals.el")
> ; 700 is not group read and searchable, but why dir-locals.el ?
> Error: (file-error "Searching for program" "no such file or directory"
> "bzr")
> ; why does emacs think I want to use bzr with this file?
See the relevant functions in files.el. I see no problems here, all
of this is expected AFAIU.
> Falling back on "slow" status detection ((file-error "Opening input
> file" "not a directory" "//mini2012/smb/640/.bzr/checkout/dirstate"))
> File exists, but cannot be read
As expected, given the ACLs.
> insert-directory: Listing directory failed but `access-file' worked
> ; which means?
It means what it says: you cannot list the directory (i.e. use
opendir/readdir APIs), but can successfully call 'access' on it.
> I'm having a hard time understanding why you want to put so much faith
> in functions that are not reliable now, and will be quite hard or even
> genuinely impossible to make reliable in all of quite a large number of
> more or less realistic test scenarios.
The functions are reliable. It's just that you have some obscure
situation with the share owner, file/directory owner, and network
connection, and this combination bites you. It might also be a Cygwin
issue.
But I'm tired of wading through all this, so if
file-accessible-directory-p does the trick for you, let's forget about
the rest.
next prev parent reply other threads:[~2014-05-11 17:00 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E6923B15-B9A8-4B3C-ADDF-713810613ADD@bluewin.ch>
2014-05-07 18:15 ` bug#17330: files.el cd-absolute overcome false negative from file-executable-p Eli Zaretskii
2014-05-08 5:55 ` Philip Hodges
2014-05-08 7:09 ` Glenn Morris
2014-05-08 16:18 ` Eli Zaretskii
2014-05-11 10:46 ` Philip Hodges
2014-05-11 17:00 ` Eli Zaretskii [this message]
2014-05-11 18:26 ` Philip Hodges
2014-05-11 18:38 ` Glenn Morris
2014-05-11 21:59 ` Philip Hodges
2014-05-12 7:10 ` Glenn Morris
2014-05-12 7:26 ` Philip Hodges
2021-10-23 5:09 ` Stefan Kangas
2014-05-11 18:43 ` Eli Zaretskii
2014-05-03 22:43 bug#17330: thanks for the comments Philip Hodges
2014-05-04 13:24 ` bug#17330: files.el cd-absolute overcome false negative from file-executable-p Philip Hodges
2014-05-04 16:24 ` Eli Zaretskii
2014-05-05 22:43 ` Philip Hodges
2014-04-23 20:54 ` Philip Hodges
2014-05-03 0:24 ` Glenn Morris
2014-05-03 9:17 ` Philip Hodges
2014-05-03 9:35 ` Achim Gratz
2014-05-03 13:26 ` Eli Zaretskii
2014-05-03 13:58 ` Achim Gratz
2014-05-03 16:37 ` Eli Zaretskii
2014-05-03 13:40 ` Eli Zaretskii
2014-05-04 4:16 ` Glenn Morris
2014-05-04 13:01 ` Stefan Monnier
2014-05-04 16:18 ` Eli Zaretskii
2014-05-04 18:07 ` Glenn Morris
2014-05-04 22:44 ` Stefan Monnier
2014-05-09 6:54 ` Glenn Morris
2014-05-06 4:15 ` Glenn Morris
2014-05-06 7:17 ` Eli Zaretskii
2014-05-06 12:46 ` Stefan Monnier
2014-05-06 16:56 ` Glenn Morris
2014-05-11 13:55 ` Philip Hodges
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=837g5suu67.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=17330@debbugs.gnu.org \
--cc=philip.hodges@bluewin.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.