DEVEL15-windows-parse-ioctl-path-20070629
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 30 Jun 2007 05:44:23 +0000 (05:44 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 30 Jun 2007 05:44:23 +0000 (05:44 +0000)
The UNIX client does not follow mount points or symlinks when evaluating
ioctl paths during commands such as "fs examine".  The Windows client did
which was annoying when you wanted to know the FID of a mount point that
was not properly being evaluated.

(cherry picked from commit beb094fb2efaa84e99ac993a737e56379e5d3e1a)

src/WINNT/afsd/cm_ioctl.c

index d825843..b5bd96e 100644 (file)
@@ -237,7 +237,7 @@ long cm_ParseIoctlPath(smb_ioctl_t *ioctlp, cm_user_t *userp, cm_req_t *reqp,
        and it returns the correct (full) path.  therefore, there is
        no drive letter, and the path is absolute. */
     code = cm_NameI(cm_data.rootSCachep, relativePath,
-                     CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW,
+                     CM_FLAG_CASEFOLD,
                      userp, "", reqp, scpp);
 
     if (code) {
@@ -331,7 +331,8 @@ long cm_ParseIoctlPath(smb_ioctl_t *ioctlp, cm_user_t *userp, cm_req_t *reqp,
             return code;
        }
         
-        code = cm_NameI(substRootp, relativePath, CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW,
+        code = cm_NameI(substRootp, relativePath, 
+                         CM_FLAG_CASEFOLD,
                          userp, NULL, reqp, scpp);
         if (code) {
            cm_ReleaseSCache(substRootp);