]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
windows-smb-fs-attr-info-20081227
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 28 Dec 2008 04:41:38 +0000 (04:41 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 28 Dec 2008 04:41:38 +0000 (04:41 +0000)
LICENSE MIT

even though the docs for FILE_FS_ATTRIBUTE_INFORMATION state
that the MaximumComponentNameLength field is in bytes, it turns
out that Windows SMB servers return the value in characters.

Reduce the reported value to 255 to match NTFS.

src/WINNT/afsd/smb3.c

index be166be99f5656fa82fc9fb6c7a59faa291958a3..9976d10ce7a8cff07ae282c31b0d299ef6235059 100644 (file)
@@ -2757,15 +2757,8 @@ long smb_ReceiveTran2QFSInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t *
         /* The maxCompLength is supposed to be in bytes */
 #ifdef SMB_UNICODE
         qi.u.FSattributeInfo.attributes |= 0x04;
-
-        if ((vcp->flags & SMB_VCFLAG_USEUNICODE) == SMB_VCFLAG_USEUNICODE)
-            qi.u.FSattributeInfo.maxCompLength = MAX_PATH * sizeof(wchar_t);
-        else {
-#endif
-        qi.u.FSattributeInfo.maxCompLength = MAX_PATH;
-#ifdef SMB_UNICODE
-        }
 #endif
+        qi.u.FSattributeInfo.maxCompLength = 255;
         smb_UnparseString(op, qi.u.FSattributeInfo.FSname, _C("AFS"), &sz, SMB_STRF_IGNORENUL);
         qi.u.FSattributeInfo.FSnameLength = sz;