diff options
author | Alexander Bokovoy <ab@samba.org> | 2004-03-16 17:21:06 +0000 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2004-03-16 17:21:06 +0000 |
commit | ba042a96cdb8e4b12791481725fbbf193df130b7 (patch) | |
tree | 4847c131a2794f9dab3b54c504f6c567f9126e90 /source3/smbd/reply.c | |
parent | b1d5261bde86abdd90701897ebc2d03211b65c33 (diff) | |
download | samba-ba042a96cdb8e4b12791481725fbbf193df130b7.tar.gz samba-ba042a96cdb8e4b12791481725fbbf193df130b7.tar.bz2 samba-ba042a96cdb8e4b12791481725fbbf193df130b7.zip |
Fix check_path_syntax() for multibyte encodings which have no '\' as second byte.
This is intermediate fix as discussed with Jeremy until we move check_path_syntax() to UCS2 internally where all
ambiguity is resolved. Please add other encodings into charcnv.c with such property.
(This used to be commit c8c66337494c63173a6aba4286a843875302da63)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index bca7a75fbb..48894308d1 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -33,6 +33,7 @@ extern char magic_char; extern BOOL case_sensitive; extern BOOL case_preserve; extern BOOL short_case_preserve; +extern BOOL is_unix_charset_unsafe; extern int global_oplock_break; unsigned int smb_echo_count = 0; @@ -110,7 +111,8 @@ NTSTATUS check_path_syntax(pstring destname, const pstring srcname) } s++; } else { - if ((*s & 0x80) && IS_DIRECTORY_SEP(s[1])) { + /* Activate this codepath only if we know that Unix charset may contain unsafe '\\' */ + if ((is_unix_charset_unsafe == True) && ((*s & 0x80) && IS_DIRECTORY_SEP(s[1]))) { /* * Potential mb char with second char a directory separator. * All the encodings we care about are 2 byte only, so do a |