summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-11-18 17:03:38 +0100
committerVolker Lendecke <vl@samba.org>2008-11-18 17:04:47 +0100
commit6ce29dc9add1252b0ded9d2c1c2b6bae74604cc4 (patch)
treed20103fb2de0b2b7321432c0bbd053ae72861060
parent6ef719bf92f6a6b9cdbd35d6b9c6e9d4d4f0dde5 (diff)
downloadsamba-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.c5
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))) {