]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Fix RO attribute dropped in directory read with HGFS Posix Server
authorVMware, Inc <>
Tue, 28 Jun 2011 19:36:24 +0000 (12:36 -0700)
committerMarcelo Vanzin <mvanzin@vmware.com>
Tue, 28 Jun 2011 19:36:24 +0000 (12:36 -0700)
Flags were incorrectly being tested for to map to HgfsDirentryV4
when on a Posix HGFS host.

Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/hgfsServer/hgfsServer.c

index 59392bff2e245f569e804f32d36573a10aacddf7..2150fb45b831abfd9ee6be08de90dc29ddaa94ae 100644 (file)
@@ -7180,7 +7180,10 @@ HgfsServerSearchReadAttrToMask(HgfsFileAttrInfo *attr,     // IN/OUT: attributes
                            HGFS_ATTR_VALID_CHANGE_TIME))) {
       *mask |= (HGFS_SEARCH_READ_TIME_STAMP);
    }
-   if (0 != (attr->mask & HGFS_ATTR_VALID_FLAGS)) {
+   if (0 != (attr->mask & (HGFS_ATTR_VALID_FLAGS |
+                           HGFS_ATTR_VALID_OWNER_PERMS |
+                           HGFS_ATTR_VALID_GROUP_PERMS |
+                           HGFS_ATTR_VALID_OTHER_PERMS))) {
       Bool isReadOnly = TRUE;
 
       *mask |= (HGFS_SEARCH_READ_FILE_ATTRIBUTES);
@@ -7203,6 +7206,7 @@ HgfsServerSearchReadAttrToMask(HgfsFileAttrInfo *attr,     // IN/OUT: attributes
       }
       if (isReadOnly) {
          attr->flags |= HGFS_ATTR_READONLY;
+         attr->mask |= HGFS_ATTR_VALID_FLAGS;
       }
    }
    if (0 != (attr->mask & (HGFS_ATTR_VALID_FILEID |