[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