summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2008-01-31 09:42:03 +0100
committerKai Blin <kai@samba.org>2008-01-31 09:42:18 +0100
commita8209904a5fc9766acbf894353612f8b028ff17f (patch)
tree1f3484456bd01e21f0d9d3a1709dd241cef5d32e
parent6b5980e47e86df77e43324e705d8509dea4ac0d4 (diff)
downloadsamba-a8209904a5fc9766acbf894353612f8b028ff17f.tar.gz
samba-a8209904a5fc9766acbf894353612f8b028ff17f.tar.bz2
samba-a8209904a5fc9766acbf894353612f8b028ff17f.zip
ntlm_auth: Parse configfile after parsing it's location, not before.
(This used to be commit cf671ca35bff09af56c67e789a86a3b86093b5fb)
-rw-r--r--source3/utils/ntlm_auth.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index 3e2093a194..a3a403d7bd 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -2322,7 +2322,8 @@ enum {
{ "use-cached-creds", 0, POPT_ARG_NONE, &use_cached_creds, OPT_USE_CACHED_CREDS, "Use cached credentials if no password is given"},
{ "diagnostics", 0, POPT_ARG_NONE, &diagnostics, OPT_DIAGNOSTICS, "Perform diagnostics on the authentictaion chain"},
{ "require-membership-of", 0, POPT_ARG_STRING, &require_membership_of, OPT_REQUIRE_MEMBERSHIP, "Require that a user be a member of this group (either name or SID) for authentication to succeed" },
- POPT_COMMON_SAMBA
+ POPT_COMMON_CONFIGFILE
+ POPT_COMMON_VERSION
POPT_TABLEEND
};
@@ -2330,14 +2331,6 @@ enum {
load_case_tables();
dbf = x_stderr;
-
- /* Samba client initialisation */
-
- if (!lp_load(get_dyn_CONFIGFILE(), True, False, False, True)) {
- d_fprintf(stderr, "ntlm_auth: error opening config file %s. Error was %s\n",
- get_dyn_CONFIGFILE(), strerror(errno));
- exit(1);
- }
/* Parse options */
@@ -2350,6 +2343,18 @@ enum {
return 1;
}
+ while((opt = poptGetNextOpt(pc)) != -1) {
+ /* Get generic config options like --configfile */
+ }
+
+ poptFreeContext(pc);
+
+ if (!lp_load(get_dyn_CONFIGFILE(), True, False, False, True)) {
+ d_fprintf(stderr, "ntlm_auth: error opening config file %s. Error was %s\n",
+ get_dyn_CONFIGFILE(), strerror(errno));
+ exit(1);
+ }
+
pc = poptGetContext(NULL, argc, (const char **)argv, long_options,
POPT_CONTEXT_KEEP_FIRST);