Windows: Fake status info on EACCES
authorJeffrey Altman <jaltman@your-file-system.com>
Tue, 10 Feb 2015 07:36:03 +0000 (02:36 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Tue, 10 Feb 2015 19:52:21 +0000 (14:52 -0500)
When enumerating a directory if status info for an entry cannot be
obtained, fake it.  Do not return STATUS_ACCESS_DENIED to the redirector
as that will be interpreted as the directory not being listable.

Change-Id: I488f5d8d244c363135e00e156a685cd56fd060c8
Reviewed-on: http://gerrit.openafs.org/11736
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsrdr/user/RDRFunction.c

index c281817..1c617ae 100644 (file)
@@ -482,7 +482,8 @@ RDR_PopulateCurrentEntry( IN  AFSDirEnumEntry * pCurrentEntry,
                 if (code) {
                     osi_Log2(afsd_logp, "RDR_PopulateCurrentEntry RDR_BulkStatLookup failed for scp=0x%p code=0x%x",
                              scp, code);
-                    return code;
+                   if (code != CM_ERROR_NOACCESS)
+                       return code;
                 }
                 lock_ObtainWrite(&scp->rw);
                 /*