From 87a37d4adfbcf298f5666fcaad4cc498609158e7 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 18 Nov 2008 17:03:38 +0100 Subject: [PATCH] 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 (cherry picked from commit 0dbcc308e30b121268cdfcdd70c50c4ed38ab433) (cherry picked from commit 96764065e2e2eaa13cb71bc9ea2d75800da7db4f) --- source/smbd/filename.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/smbd/filename.c b/source/smbd/filename.c index 562f1e8d943..3eb2d63734a 100644 --- a/source/smbd/filename.c +++ b/source/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))) { -- 2.11.4.GIT