[389-commits] Branch '389-ds-base-1.3.1' - ldap/servers

Mark Reynolds mreynolds at fedoraproject.org
Fri Nov 14 22:58:17 UTC 2014


 ldap/servers/slapd/libglobs.c   |   17 +++++++++++++++--
 ldap/servers/slapd/proto-slap.h |    1 +
 2 files changed, 16 insertions(+), 2 deletions(-)

New commits:
commit 65d455f2fbc46b98eafb3a3a381c89b472a010f8
Author: Mark Reynolds <mreynolds at redhat.com>
Date:   Fri Nov 14 16:57:41 2014 -0500

    Ticket 47952 - PasswordAdminDN attribute is not properly returned to client
    
    Bug Description:  Searching for "passwordAdminDN" in "cn=config" returns a
                      garbage value.  The internal value is stored in a Slapi_DN,
                      but the pointer to the struct is returned instead of calling
                      the "get function".
    
    Fix Description:  Create a get function for passwordAdminDN setting, and set the
                      config_get_and_set table entry so that we always call the
                      "get function"
    
    https://fedorahosted.org/389/ticket/47952
    
    Reviewed by: rmeggins(Thanks!)
    
    (cherry picked from commit c6e10746945262015d0080c7dd0e82b6c7130920)

diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c
index 8d48af8..28711c0 100644
--- a/ldap/servers/slapd/libglobs.c
+++ b/ldap/servers/slapd/libglobs.c
@@ -404,8 +404,8 @@ static struct config_get_and_set {
 		CONFIG_INT, NULL, DEFAULT_PW_GRACELIMIT},
 	{CONFIG_PW_ADMIN_DN_ATTRIBUTE, config_set_pw_admin_dn,
 		NULL, 0,
-		(void**)&global_slapdFrontendConfig.pw_policy.pw_admin,
-		CONFIG_STRING, NULL, ""},
+		NULL,
+		CONFIG_STRING, (ConfigGetFunc)config_get_pw_admin_dn, ""},
 	{CONFIG_ACCESSLOG_LOGROTATIONSYNCENABLED_ATTRIBUTE, NULL,
 		log_set_rotationsync_enabled, SLAPD_ACCESS_LOG,
 		(void**)&global_slapdFrontendConfig.accesslog_rotationsync_enabled,
@@ -4627,6 +4627,19 @@ config_get_pagedsizelimit() {
 }
 
 char *
+config_get_pw_admin_dn()
+{
+    slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
+    char *retVal;
+
+    CFG_LOCK_READ(slapdFrontendConfig);
+    retVal = slapi_ch_strdup(slapi_sdn_get_dn(slapdFrontendConfig->pw_policy.pw_admin));
+    CFG_UNLOCK_READ(slapdFrontendConfig);
+
+    return retVal;
+}
+
+char *
 config_get_pw_storagescheme() {
   slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
   char *retVal = 0;
diff --git a/ldap/servers/slapd/proto-slap.h b/ldap/servers/slapd/proto-slap.h
index bff5ad1..d854d0a 100644
--- a/ldap/servers/slapd/proto-slap.h
+++ b/ldap/servers/slapd/proto-slap.h
@@ -495,6 +495,7 @@ int config_get_groupevalnestlevel();
 struct berval **config_get_defaultreferral();
 char *config_get_userat();
 int config_get_timelimit();
+char *config_get_pw_admin_dn();
 char* config_get_useroc();
 char *config_get_accesslog();
 char *config_get_errorlog();




More information about the 389-commits mailing list