This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: find and /cygdrive/c


> 
> Thank you very much - much appreciated.
> 
> Version 4.2.27 had the same problem but 4.3.0 worked.

Glad I could help.  Hmm, even though 4.3.0 is marked
alpha quality upstream, compared to stable 4.2.27,
maybe I should go ahead and make 4.3.0 the current
version for cygwin, since there have been several reports
of 4.3.0 behaving nicer for users.

In your particular case, I wonder if it is related to the
syscalls being made.  find in 4.3.0 uses opendir() to track
directory traversal, whereas find in 4.2.27 (aka oldfind
in 4.3.0) uses just open().  Can you validate that with
4.3.0 installed, using oldfind instead of find gives the
same failure you were seeing with 4.2.27? 
> I'm not sure what the significance is but this find had
> another option/feature enabled (viz. O_NOFOLLOW) ie.
> 
> $ find -version
> GNU find version 4.3.0
> Features enabled: O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS 

O_NOFOLLOW is a relatively new flag to open() that helps avoid
a security hole when someone replaces a directory with a
symlink to a different directory between the time you do lstat()
and open() (by refusing to follow symlinks).  Not all platforms
support it, and find only started taking advantage of it in 4.3.0,
which is why it is listed in the --version output as a debugging aid
to see what the underlying platform does in that regards.

-- 
Eric Blake

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]