summaryrefslogtreecommitdiffstats
path: root/source/lib/util.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-03-29 00:36:30 +0000
committerJeremy Allison <jra@samba.org>2005-03-29 00:36:30 +0000
commit6d9b96bdfd38c1f36af87404cdd7fee7683a6b58 (patch)
tree8ae7cb5344a8228af2d81dcdfa4bec8d36a5bd29 /source/lib/util.c
parent7af6af47b70ece7ae80fe753e2517f0a1fc2883a (diff)
downloadsamba-6d9b96bdfd38c1f36af87404cdd7fee7683a6b58.tar.gz
samba-6d9b96bdfd38c1f36af87404cdd7fee7683a6b58.tar.xz
samba-6d9b96bdfd38c1f36af87404cdd7fee7683a6b58.zip
r6106: Fix bug #2551. It turns out that the incoming flags2 flag FLAGS2_LONG_PATH_COMPONENTS
determines if a reply is uppercased on a SMBsearch request, not the protocol level. This could clear up quite a few hacks going forward I think. Jeremy.
Diffstat (limited to 'source/lib/util.c')
-rw-r--r--source/lib/util.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/lib/util.c b/source/lib/util.c
index d945bca5a73..b76d561ccdd 100644
--- a/source/lib/util.c
+++ b/source/lib/util.c
@@ -603,7 +603,7 @@ void unix_clean_name(char *s)
Make a dir struct.
****************************************************************************/
-void make_dir_struct(char *buf, const char *mask, const char *fname,SMB_OFF_T size,int mode,time_t date)
+void make_dir_struct(char *buf, const char *mask, const char *fname,SMB_OFF_T size,int mode,time_t date, BOOL uc)
{
char *p;
pstring mask2;
@@ -627,9 +627,9 @@ void make_dir_struct(char *buf, const char *mask, const char *fname,SMB_OFF_T si
put_dos_date(buf,22,date);
SSVAL(buf,26,size & 0xFFFF);
SSVAL(buf,28,(size >> 16)&0xFFFF);
- /* We only uppercase if the protocol is downrev.
+ /* We only uppercase if FLAGS2_LONG_PATH_COMPONENTS is zero in the input buf.
Strange, but verified on W2K3. Needed for OS/2. JRA. */
- push_ascii(buf+30,fname,12,Protocol < PROTOCOL_NT1 ? STR_UPPER : 0);
+ push_ascii(buf+30,fname,12, uc ? STR_UPPER : 0);
DEBUG(8,("put name [%s] from [%s] into dir struct\n",buf+30, fname));
}