apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject Re: [PATCH]: srclib/apr/file_io/win32/filestat.c (Bug #8014: Apache cannot handle NTFS Junctions (Symlinks))
Date Fri, 28 Mar 2003 17:34:49 GMT
At 06:32 AM 3/28/2003, Spinka, Kristofer wrote:
>  I'm not 100% this fixes the issue mentioned at
>http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8014 though I tried to
>reproduce the issue as I understood it.  If one of the bug submitters
>could test it that would be great.  Bill, if you could verify that this
>change is reasonable I would appreciate it, the 'wanted' thing is a
>little vague to me.
>
>--- filestat.c.orig     Fri Mar  7 14:21:29 2003
>+++ filestat.c  Fri Mar 28 07:16:02 2003
>@@ -363,7 +363,8 @@
>         finfo->size = 0x7fffffff;
> #endif
> 
>-    if (wininfo->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {
>+    if (wanted & APR_FINFO_LINK &&
>+        wininfo->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {
>         finfo->filetype = APR_LNK;
>     }
>     else if (wininfo->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {


Ok, a reparse point (Junction) is a symlink of sorts pointing at another
Directory.  The wanted bit APR_FINFO_LINK tells Apache we want the
actual details about the LINK itself, we don't want the info about the
link target directory.

If we omit APR_FINFO_LINK and the junction is valid, we should return
the stats of the target directory.  So your patch looks essentially correct.

Bill 


Mime
View raw message