[SSSD] [PATCH] AD: Never store case_sensitive as "true" to confdb

Lukas Slebodnik lslebodn at redhat.com
Mon Nov 24 17:37:04 UTC 2014


On (24/11/14 17:21), Michal Židek wrote:
>On 11/24/2014 11:16 AM, Pavel Reichl wrote:
>>Hello Michal, please see my comment inline.
>>
>>On 11/21/2014 10:34 PM, Michal Židek wrote:
>>>
>>> From 4911463b9ef5ce6276bc52dafa0ed61381ff329d Mon Sep 17 00:00:00 2001
>>>From: Michal Zidek<mzidek at redhat.com>
>>>Date: Fri, 21 Nov 2014 20:12:11 +0100
>>>Subject: [PATCH 2/2] 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.
>>>---
>>>  src/providers/ad/ad_common.c | 15 +++++++++++----
>>>  1 file changed, 11 insertions(+), 4 deletions(-)
>>>
>>>diff --git a/src/providers/ad/ad_common.c b/src/providers/ad/ad_common.c
>>>index 7b08c2b..c9c7931 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;
>>>+    char *opt_override;
>>>
>>>      opts = talloc_zero(mem_ctx, struct ad_options);
>>>      if (!opts) return ENOMEM;
>>>@@ -359,20 +360,26 @@ ad_get_common_options(TALLOC_CTX *mem_ctx,
>>>          goto done;
>>>      }
>>>
>>>+    opt_override = talloc_strdup(mem_ctx,
>>>+                                 dom->case_preserve ? "preserving" : "false");
>>Do we really have to allocate memory on heap?
>
>I did to avoid calling discard_const_p. I also think the code
>is easier to follow if the opt_override is used instead of
>string literrals.
>
NACK

4th argument is not modified in confdb_set_string thus API can be changed

diff --git a/src/confdb/confdb.c b/src/confdb/confdb.c
index c55a945..2aad30d 100644
--- a/src/confdb/confdb.c
+++ b/src/confdb/confdb.c
@@ -297,7 +297,7 @@ done:
 int confdb_set_string(struct confdb_ctx *cdb,
                       const char *section,
                       const char *attribute,
-                      char *val)
+                      const char *val)
 {
     TALLOC_CTX *tmp_ctx;
     struct ldb_dn *dn;
diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h
index 159aa9f..b5c4999 100644
--- a/src/confdb/confdb.h
+++ b/src/confdb/confdb.h
@@ -484,7 +484,7 @@ int confdb_get_bool(struct confdb_ctx *cdb,
 int confdb_set_string(struct confdb_ctx *cdb,
                       const char *section,
                       const char *attribute,
-                      char *val);
+                      const char *val);


LS



More information about the sssd-devel mailing list