summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-06-06 05:15:28 +0000
committerAndrew Tridgell <tridge@samba.org>2003-06-06 05:15:28 +0000
commit6b943b5b2188314739f4f36541f1ef469ba9a3b3 (patch)
treefe082c50c46ee1c4469674ffaf2e16e08c784c0a /source3/smbd
parentd155f6ea54e2e5933666db5d566c155333e9e028 (diff)
downloadsamba-6b943b5b2188314739f4f36541f1ef469ba9a3b3.tar.gz
samba-6b943b5b2188314739f4f36541f1ef469ba9a3b3.tar.bz2
samba-6b943b5b2188314739f4f36541f1ef469ba9a3b3.zip
- the 8.3 name in BOTH_DIRECTORY_INFO is supposed to be always unicode
(to match win2003 behaviour) - added the STR_TERMINATE_ASCII flag from samba4 so we can get the string termination right for the case where it is supposed to be non-terminated for UCS2 and terminated when ASCII (This used to be commit 791a4cc7cf84eca77116bca00aeb5f95560f6705)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/trans2.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index fa64883620..b20ec84eea 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -681,14 +681,14 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
pstrcpy(mangled_name, fname);
mangle_map(mangled_name,True,True,SNUM(conn));
mangled_name[12] = 0;
- len = srvstr_push(outbuf, p+2, mangled_name, 24, STR_UPPER);
+ len = srvstr_push(outbuf, p+2, mangled_name, 24, STR_UPPER|STR_UNICODE);
SSVAL(p, 0, len);
} else {
SSVAL(p,0,0);
*(p+2) = 0;
}
p += 2 + 24;
- len = srvstr_push(outbuf, p, fname, -1, 0);
+ len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE_ASCII);
SIVAL(q,0,len);
p += len;
len = PTR_DIFF(p, pdata);
@@ -709,7 +709,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
p += 16;
SIVAL(p,0,nt_extmode); p += 4;
p += 4;
- len = srvstr_push(outbuf, p, fname, -1, 0);
+ len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE_ASCII);
SIVAL(p, -4, len);
p += len;
len = PTR_DIFF(p, pdata);
@@ -732,7 +732,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
p += 4;
SIVAL(p,4,0); /* ea size */
- len = srvstr_push(outbuf, p+8, fname, -1, 0);
+ len = srvstr_push(outbuf, p+8, fname, -1, STR_TERMINATE_ASCII);
SIVAL(p, 0, len);
p += 8 + len;
@@ -748,7 +748,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
p += 4;
/* this must *not* be null terminated or w2k gets in a loop trying to set an
acl on a dir (tridge) */
- len = srvstr_push(outbuf, p, fname, -1, 0);
+ len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE_ASCII);
SIVAL(p, -4, len);
p += len;
len = PTR_DIFF(p, pdata);