summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2007-03-07 04:20:10 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:49:20 -0500
commit847102c6ca17f7b7d665863b8caa1d85baef46ad (patch)
tree13515b11aa4db066bc013c9a5a484ae06eff54f3 /source4
parentb0b31f52f7614a910dda5c227fa478d6dc5d8841 (diff)
downloadsamba-847102c6ca17f7b7d665863b8caa1d85baef46ad.tar.gz
samba-847102c6ca17f7b7d665863b8caa1d85baef46ad.tar.bz2
samba-847102c6ca17f7b7d665863b8caa1d85baef46ad.zip
r21736: Fix the smbclient test to do something more interesting with the last
few authentication tests. Now that the tests correctly 'fail', I was able to fix the credentials subsystem to honour USER and PASSWD. To get --machine-pass working, I needed ldb to always load it's static modules, so I put this in ldb_connect(). Andrew Bartlett (This used to be commit 3430d8c072407a1c33c32229095fc9db2142b6fa)
Diffstat (limited to 'source4')
-rw-r--r--source4/auth/credentials/credentials.c5
-rw-r--r--source4/auth/credentials/credentials.h2
-rw-r--r--source4/auth/credentials/credentials_files.c2
-rw-r--r--source4/lib/ldb/common/ldb.c3
4 files changed, 8 insertions, 4 deletions
diff --git a/source4/auth/credentials/credentials.c b/source4/auth/credentials/credentials.c
index 6f740d95c3..55ada8e5a5 100644
--- a/source4/auth/credentials/credentials.c
+++ b/source4/auth/credentials/credentials.c
@@ -648,8 +648,9 @@ void cli_credentials_guess(struct cli_credentials *cred)
cli_credentials_parse_password_fd(cred, atoi(getenv("PASSWD_FD")), CRED_GUESS_FILE);
}
- if (getenv("PASSWD_FILE")) {
- cli_credentials_parse_password_file(cred, getenv("PASSWD_FILE"), CRED_GUESS_FILE);
+ p = getenv("PASSWD_FILE");
+ if (p && p[0]) {
+ cli_credentials_parse_password_file(cred, p, CRED_GUESS_FILE);
}
if (cli_credentials_get_kerberos_state(cred) != CRED_DONT_USE_KERBEROS) {
diff --git a/source4/auth/credentials/credentials.h b/source4/auth/credentials/credentials.h
index b71539c2eb..ce63a55bb3 100644
--- a/source4/auth/credentials/credentials.h
+++ b/source4/auth/credentials/credentials.h
@@ -30,8 +30,8 @@ struct ccache_container;
/* In order of priority */
enum credentials_obtained {
CRED_UNINITIALISED = 0, /* We don't even have a guess yet */
- CRED_GUESS_ENV, /* Current value should be used, which was guessed */
CRED_CALLBACK, /* Callback should be used to obtain value */
+ CRED_GUESS_ENV, /* Current value should be used, which was guessed */
CRED_GUESS_FILE, /* A guess from a file (or file pointed at in env variable) */
CRED_CALLBACK_RESULT, /* Value was obtained from a callback */
CRED_SPECIFIED /* Was explicitly specified on the command-line */
diff --git a/source4/auth/credentials/credentials_files.c b/source4/auth/credentials/credentials_files.c
index 023dc90407..fe8e9aff97 100644
--- a/source4/auth/credentials/credentials_files.c
+++ b/source4/auth/credentials/credentials_files.c
@@ -89,7 +89,7 @@ BOOL cli_credentials_parse_password_file(struct cli_credentials *credentials, co
BOOL ret;
if (fd < 0) {
- fprintf(stderr, "Error opening PASSWD_FILE %s: %s\n",
+ fprintf(stderr, "Error opening password file %s: %s\n",
file, strerror(errno));
return False;
}
diff --git a/source4/lib/ldb/common/ldb.c b/source4/lib/ldb/common/ldb.c
index 268756dc93..5b3520766d 100644
--- a/source4/lib/ldb/common/ldb.c
+++ b/source4/lib/ldb/common/ldb.c
@@ -232,6 +232,9 @@ int ldb_connect(struct ldb_context *ldb, const char *url, unsigned int flags, co
{
int ret;
+ /* We seem to need to do this here, or else some utilities don't get ldb backends */
+ ldb_global_init();
+
ldb->flags = flags;
ret = ldb_connect_backend(ldb, url, options, &ldb->modules);