windows-smb-fs-attr-info-20081227

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.
This commit is contained in:
Jeffrey Altman 2008-12-28 04:41:38 +00:00
parent f70ba20320
commit 8f3e660270

View 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;