diff options
author | Lars Müller <lmuelle@samba.org> | 2007-02-22 23:12:36 +0000 |
---|---|---|
committer | Lars Müller <lmuelle@samba.org> | 2007-02-22 23:12:36 +0000 |
commit | 6a03b827af62a45784d033bfe4a957fef62608bc (patch) | |
tree | 00f0c18d7f3aae287a23fe1b1ad7df52de1fca5e /source/param/loadparm.c | |
parent | fa1d01363160cb0bd6ecdd2a06e41ecf30a602da (diff) | |
download | samba-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.
Diffstat (limited to 'source/param/loadparm.c')
-rw-r--r-- | source/param/loadparm.c | 44 |
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) |