[SCM] Samba Shared Repository - branch v3-2-test updated -
initial-v3-2-unstable-853-g120048d
Jeremy Allison
jra at samba.org
Sun Dec 23 01:51:03 GMT 2007
The branch, v3-2-test has been updated
via 120048d2f40cf1a0ace2ecde205cbc694d263d69 (commit)
from 2fe111c19bc827ec132365e718a2136bda57e568 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit 120048d2f40cf1a0ace2ecde205cbc694d263d69
Author: Jeremy Allison <jra at samba.org>
Date: Sat Dec 22 17:38:18 2007 -0800
If we detect a case insensitive filesystem make
sure we don't search directories on name misses
for non-mangled names.
Jeremy
-----------------------------------------------------------------------
Summary of changes:
source/smbd/filename.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/smbd/filename.c b/source/smbd/filename.c
index f0d036b..5ae193f 100644
--- a/source/smbd/filename.c
+++ b/source/smbd/filename.c
@@ -222,8 +222,14 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
start = name;
- if(!conn->case_sensitive
- && stat_cache_lookup(conn, &name, &dirpath, &start, &st)) {
+ /* If we're providing case insentive semantics or
+ * the underlying filesystem is case insensitive,
+ * then a case-normalized hit in the stat-cache is
+ * authoratitive. JRA.
+ */
+
+ if((!conn->case_sensitive || !(conn->fs_capabilities & FILE_CASE_SENSITIVE_SEARCH)) &&
+ stat_cache_lookup(conn, &name, &dirpath, &start, &st)) {
*pst = st;
goto done;
}
@@ -269,10 +275,11 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
/*
* A special case - if we don't have any mangling chars and are case
- * sensitive then searching won't help.
+ * sensitive or the underlying filesystem is case insentive then searching
+ * won't help.
*/
- if (conn->case_sensitive &&
+ if ((conn->case_sensitive || !(conn->fs_capabilities & FILE_CASE_SENSITIVE_SEARCH)) &&
!mangle_is_mangled(name, conn->params)) {
goto done;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list