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(a)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