diff options
author | Pavel Březina <pbrezina@redhat.com> | 2016-11-17 15:42:03 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-02-15 14:51:57 +0100 |
commit | a60e6ec802cd2858dc85eabd442cff16fb23618f (patch) | |
tree | ade799a35d27bbc722e651407fd6f54bc028a8a6 | |
parent | c71e0a6710418991d759a329b8dcb77c7ad3e16e (diff) | |
download | sssd-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.c | 6 |
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); } |