From b94ab3c608eea4eaaad3762ac64995929a354173 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 23 Jul 2012 12:24:42 +1000 Subject: lib/param: Remove 'case insensitive filesystem' We use the slightly confusing 'case sensitive = yes' option for the same behaviour. This avoids adding even more confusing documentation for the ntvfs-only option. Andrew Bartlett --- lib/param/loadparm.c | 8 -------- lib/param/param_functions.c | 1 - source4/param/share_classic.c | 27 ++++++++++++++++++++++++++- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 5559ef621f..407b942dc9 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -851,14 +851,6 @@ static struct parm_struct parm_table[] = { .enum_list = NULL, .flags = FLAG_ADVANCED, }, - { - .label = "case insensitive filesystem", - .type = P_BOOL, - .p_class = P_LOCAL, - .offset = LOCAL_VAR(bCIFileSystem), - .special = NULL, - .enum_list = NULL - }, { .label = "max print jobs", diff --git a/lib/param/param_functions.c b/lib/param/param_functions.c index 4e68d6b5ee..3a0ac75750 100644 --- a/lib/param/param_functions.c +++ b/lib/param/param_functions.c @@ -40,7 +40,6 @@ FN_LOCAL_BOOL(map_hidden, bMap_hidden) FN_LOCAL_BOOL(map_archive, bMap_archive) FN_LOCAL_BOOL(oplocks, bOpLocks) FN_LOCAL_BOOL(strict_sync, bStrictSync) -FN_LOCAL_BOOL(ci_filesystem, bCIFileSystem) FN_LOCAL_BOOL(map_system, bMap_system) FN_LOCAL_INTEGER(max_connections, iMaxConnections) FN_LOCAL_INTEGER(csc_policy, iCSCPolicy) diff --git a/source4/param/share_classic.c b/source4/param/share_classic.c index 3442d6bd50..50b05f322e 100644 --- a/source4/param/share_classic.c +++ b/source4/param/share_classic.c @@ -229,7 +229,32 @@ static bool sclassic_bool_option(struct share_config *scfg, const char *opt_name } if (strcmp(opt_name, SHARE_CI_FILESYSTEM) == 0) { - return lpcfg_ci_filesystem(s, lpcfg_default_service(lp_ctx)); + int case_sensitive = lpcfg_casesensitive(s, lpcfg_default_service(lp_ctx)); + /* + * Yes, this confusingly named option means Samba acts + * case sensitive, so that the filesystem can act case + * insensitive. + * + */ + if (case_sensitive == Auto) { + /* Auto is for unix extensions and unix + * clients, which we don't support here. + * Samba needs to do the case changing, + * because the filesystem is case + * sensitive */ + return false; + } else if (case_sensitive) { + /* True means that Samba won't do anything to + * change the case of incoming requests. + * Essentially this means we trust the file + * system to be case insensitive */ + return true; + } else { + /* False means that Smaba needs to do the case + * changing, because the filesystem is case + * sensitive */ + return false; + } } DEBUG(0,("request for unknown share bool option '%s'\n", -- cgit