summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-01-21 10:46:14 +0100
committerStephen Gallagher <sgallagh@redhat.com>2010-02-02 14:41:39 -0500
commitad35c1852e4fe3920acc63eb9ada409af0fb7d60 (patch)
tree627461f85d1aab6c8e091fdc3d4c238fdc1791bb
parent3c401be933498710042d9298870a9a5311f0c658 (diff)
downloadsssd-ad35c1852e4fe3920acc63eb9ada409af0fb7d60.tar.gz
sssd-ad35c1852e4fe3920acc63eb9ada409af0fb7d60.tar.bz2
sssd-ad35c1852e4fe3920acc63eb9ada409af0fb7d60.zip
Check cache_credentials in sysdb_cache_auth_send()
-rw-r--r--server/db/sysdb_ops.c5
-rw-r--r--server/tests/sysdb-tests.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/server/db/sysdb_ops.c b/server/db/sysdb_ops.c
index 36b58673..469ed8d4 100644
--- a/server/db/sysdb_ops.c
+++ b/server/db/sysdb_ops.c
@@ -4674,6 +4674,11 @@ struct tevent_req *sysdb_cache_auth_send(TALLOC_CTX *mem_ctx,
return NULL;
}
+ if (!domain->cache_credentials) {
+ DEBUG(3, ("Cached credentials not available.\n"));
+ return NULL;
+ }
+
static const char *attrs[] = {SYSDB_NAME,
SYSDB_CACHEDPWD,
SYSDB_DISABLED,
diff --git a/server/tests/sysdb-tests.c b/server/tests/sysdb-tests.c
index 11fde6fe..3cd5e7dc 100644
--- a/server/tests/sysdb-tests.c
+++ b/server/tests/sysdb-tests.c
@@ -130,6 +130,15 @@ static int setup_sysdb_tests(struct sysdb_test_ctx **ctx)
return ret;
}
+ val[0] = "TRUE";
+ ret = confdb_add_param(test_ctx->confdb, true,
+ "config/domain/LOCAL", "cache_credentials", val);
+ if (ret != EOK) {
+ fail("Could not initialize LOCAL domain");
+ talloc_free(test_ctx);
+ return ret;
+ }
+
ret = confdb_get_domain(test_ctx->confdb, "local", &test_ctx->domain);
if (ret != EOK) {
fail("Could not retrieve LOCAL domain");