diff options
author | Volker Lendecke <vl@samba.org> | 2008-11-18 17:03:38 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-11-18 17:04:47 +0100 |
commit | 6ce29dc9add1252b0ded9d2c1c2b6bae74604cc4 (patch) | |
tree | d20103fb2de0b2b7321432c0bbd053ae72861060 | |
parent | 6ef719bf92f6a6b9cdbd35d6b9c6e9d4d4f0dde5 (diff) | |
download | samba-6ce29dc9add1252b0ded9d2c1c2b6bae74604cc4.tar.gz samba-6ce29dc9add1252b0ded9d2c1c2b6bae74604cc4.tar.bz2 samba-6ce29dc9add1252b0ded9d2c1c2b6bae74604cc4.zip |
Fix trans2findfirst for the large directory optimization
With
case sensitive = yes
preserve case = no
short preserve case = no
default case = upper
a "dir FOO.txt" would not find "FOO.TXT" because FOO.txt ends up unconverted in
the mask for mask_match.
Jeremy, please check!
Volker
-rw-r--r-- | source3/smbd/filename.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c index 562f1e8d94..3eb2d63734 100644 --- a/source3/smbd/filename.c +++ b/source3/smbd/filename.c @@ -206,6 +206,11 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx, *pp_saved_last_component = talloc_strdup(ctx, orig_path); } + if (conn->case_sensitive && !conn->case_preserve && + !conn->short_case_preserve) { + strnorm(*pp_saved_last_component, + lp_defaultcase(SNUM(conn))); + } } if (!(name = talloc_strdup(ctx, orig_path))) { |