summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2016-11-17 15:42:03 +0100
committerJakub Hrozek <jhrozek@redhat.com>2017-02-15 14:51:57 +0100
commita60e6ec802cd2858dc85eabd442cff16fb23618f (patch)
treeade799a35d27bbc722e651407fd6f54bc028a8a6
parentc71e0a6710418991d759a329b8dcb77c7ad3e16e (diff)
downloadsssd-a60e6ec802cd2858dc85eabd442cff16fb23618f.tar.gz
sssd-a60e6ec802cd2858dc85eabd442cff16fb23618f.tar.xz
sssd-a60e6ec802cd2858dc85eabd442cff16fb23618f.zip
CONFDB: The files provider always enumerates
Since the files provider always mirrors the whole passwd and group contents, the files domain should always permit its contents to be enumerated. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-rw-r--r--src/confdb/confdb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/confdb/confdb.c b/src/confdb/confdb.c
index b0a75867c..e52b96c8a 100644
--- a/src/confdb/confdb.c
+++ b/src/confdb/confdb.c
@@ -828,6 +828,7 @@ static int confdb_get_domain_internal(struct confdb_ctx *cdb,
char *default_domain;
bool fqnames_default = false;
int memcache_timeout;
+ bool enum_default;
tmp_ctx = talloc_new(mem_ctx);
if (!tmp_ctx) return ENOMEM;
@@ -954,14 +955,17 @@ static int confdb_get_domain_internal(struct confdb_ctx *cdb,
"Interpreting as true\n", domain->name);
domain->enumerate = true;
} else { /* assume the new format */
+ enum_default = strcasecmp(domain->provider, "files") == 0 ? true : false;
+
ret = get_entry_as_bool(res->msgs[0], &domain->enumerate,
- CONFDB_DOMAIN_ENUMERATE, 0);
+ CONFDB_DOMAIN_ENUMERATE, enum_default);
if(ret != EOK) {
DEBUG(SSSDBG_FATAL_FAILURE,
"Invalid value for %s\n", CONFDB_DOMAIN_ENUMERATE);
goto done;
}
}
+
if (!domain->enumerate) {
DEBUG(SSSDBG_TRACE_FUNC, "No enumeration for [%s]!\n", domain->name);
}