From: Jeffrey Altman Date: Sat, 27 Dec 2008 06:01:09 +0000 (+0000) Subject: windows-afsd-fs-attr-info-20081226 X-Git-Tag: openafs-devel-1_5_61~641 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=a09a1709f646087c2ceb6f484b45b48495ea1127;p=packages%2Fo%2Fopenafs.git windows-afsd-fs-attr-info-20081226 LICENSE MIT Pointed out by jason edgecombe. the AFS SMB server failed to report the FILE_UNICODE_ON_DISK characteristic when responding to TRANS2_QUERY_FS_INFORMATION. --- diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index 68d398d78..be166be99 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -2746,6 +2746,7 @@ long smb_ReceiveTran2QFSInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t * /* attributes, defined in WINNT.H: * FILE_CASE_SENSITIVE_SEARCH 0x1 * FILE_CASE_PRESERVED_NAMES 0x2 + * FILE_UNICODE_ON_DISK 0x4 * FILE_VOLUME_QUOTAS 0x10 * 0x4000 * If bit 0x4000 is not set, Windows 95 thinks @@ -2755,6 +2756,8 @@ long smb_ReceiveTran2QFSInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t * qi.u.FSattributeInfo.attributes = 0x4003; /* 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 {