summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Müller <lmuelle@samba.org>2007-02-22 23:12:36 +0000
committerLars Müller <lmuelle@samba.org>2007-02-22 23:12:36 +0000
commit6a03b827af62a45784d033bfe4a957fef62608bc (patch)
tree00f0c18d7f3aae287a23fe1b1ad7df52de1fca5e
parentfa1d01363160cb0bd6ecdd2a06e41ecf30a602da (diff)
downloadsamba-6a03b827af62a45784d033bfe4a957fef62608bc.tar.gz
samba-6a03b827af62a45784d033bfe4a957fef62608bc.tar.xz
samba-6a03b827af62a45784d033bfe4a957fef62608bc.zip
r21509: Merge lp_passdb_backend() from rev 21506 to 3_0_25.
Slightly change the DEBUG 0 message as suggested by Volker on samba-technical.
-rw-r--r--source/param/loadparm.c44
1 files changed, 43 insertions, 1 deletions
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index de9388e7c0d..dd690a4e3f6 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -1820,7 +1820,49 @@ FN_GLOBAL_STRING(lp_socket_address, &Globals.szSocketAddress)
FN_GLOBAL_STRING(lp_nis_home_map_name, &Globals.szNISHomeMapName)
static FN_GLOBAL_STRING(lp_announce_version, &Globals.szAnnounceVersion)
FN_GLOBAL_LIST(lp_netbios_aliases, &Globals.szNetbiosAliases)
-FN_GLOBAL_STRING(lp_passdb_backend, &Globals.szPassdbBackend)
+/* FN_GLOBAL_STRING(lp_passdb_backend, &Globals.szPassdbBackend)
+ * lp_passdb_backend() should be replace by the this macro again after
+ * some releases.
+ * */
+const char *lp_passdb_backend()
+{
+ char *delim, *quote;
+ int pos, i;
+
+ delim = strchr( Globals.szPassdbBackend, ' ');
+ /* no space at all */
+ if (delim == NULL) {
+ goto out;
+ }
+
+ quote = strchr(Globals.szPassdbBackend, '"');
+ /* no quote char or non in the first part */
+ if (quote == NULL || quote > delim) {
+ *delim = '\0';
+ goto warn;
+ }
+
+ quote = strchr(quote+1, '"');
+ if (quote == NULL) {
+ DEBUG(0, ("WARNING: Your 'passdb backend' configuration is invalid due to a missing second \" char.\n"));
+ goto out;
+ } else if (*(quote+1) == '\0') {
+ /* space, fitting quote char, and one backend only */
+ goto out;
+ } else {
+ /* terminate string after the fitting quote char */
+ *(quote+1) = '\0';
+ }
+
+warn:
+ DEBUG(0, ("WARNING: Your 'passdb backend' configuration includes multiple backends. This\n"
+ "is deprecated since Samba 3.0.23. Please check WHATSNEW.txt or the section 'Passdb\n"
+ "Changes' from the ChangeNotes as part of the Samba HOWTO collection. Only the first\n"
+ "backend (%s) is used. The rest is ignored.\n", Globals.szPassdbBackend));
+
+out:
+ return Globals.szPassdbBackend;
+}
FN_GLOBAL_LIST(lp_preload_modules, &Globals.szPreloadModules)
FN_GLOBAL_STRING(lp_panic_action, &Globals.szPanicAction)
FN_GLOBAL_STRING(lp_adduser_script, &Globals.szAddUserScript)