From 5b4c6f22cb576a11037c7fa940fe0ba09e643e77 Mon Sep 17 00:00:00 2001 From: Michal Zidek Date: Fri, 21 Nov 2014 20:12:11 +0100 Subject: AD: Never store case_sensitive as "true" to confdb If case_sensitive was set 'true' for AD backend, we ignore it and continue with AD default (false). However we still set confdb to whatever was set in sssd.conf for the responders. We should store to confdb the value that is used by the backend. Also fixes some misleading DEBUG messages in that code area. Reviewed-by: Pavel Reichl --- src/providers/ad/ad_common.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/providers') diff --git a/src/providers/ad/ad_common.c b/src/providers/ad/ad_common.c index 7b08c2b32..c3cbfdac0 100644 --- a/src/providers/ad/ad_common.c +++ b/src/providers/ad/ad_common.c @@ -264,6 +264,7 @@ ad_get_common_options(TALLOC_CTX *mem_ctx, char *ad_hostname; char hostname[HOST_NAME_MAX + 1]; char *case_sensitive_opt; + const char *opt_override; opts = talloc_zero(mem_ctx, struct ad_options); if (!opts) return ENOMEM; @@ -359,20 +360,21 @@ ad_get_common_options(TALLOC_CTX *mem_ctx, goto done; } + opt_override = dom->case_preserve ? "preserving" : "false"; + /* Set this in the confdb so that the responders pick it * up when they start up. */ - ret = confdb_set_string(cdb, conf_path, "case_sensitive", - case_sensitive_opt); + ret = confdb_set_string(cdb, conf_path, "case_sensitive", opt_override); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, - "Could not set domain case-sensitive: [%s]\n", + "Could not set domain option case_sensitive: [%s]\n", strerror(ret)); goto done; } DEBUG(SSSDBG_CONF_SETTINGS, - "Setting domain case-insensitive\n"); + "Setting domain option case_sensitive to [%s]\n", opt_override); ret = EOK; *_opts = opts; -- cgit