Branch '389-ds-base-1.3.2' - ldap/servers
by Mark Reynolds
ldap/servers/slapd/libglobs.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
New commits:
commit 0dd81fcb01aede512b17af7583e70d6ccd2e177c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Mon Dec 2 15:08:15 2013 -0500
Ticket 47613 - Impossible to configure nsslapd-allowed-sasl-mechanisms
Bug Description: The design doc sasy you can use comma separated list of supported mechanisms,
but in fact this was not supported.
Fix Description: Allow comma separated lists.
https://fedorahosted.org/389/ticket/47613
Reviewed by: richm(Thanks!)
(cherry picked from commit 6200f6812682760cd2a54d6a3bcbb009a0dffe79)
diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c
index 9d1cf77..d640850 100644
--- a/ldap/servers/slapd/libglobs.c
+++ b/ldap/servers/slapd/libglobs.c
@@ -125,6 +125,7 @@ static int config_set_onoff( const char *attrname, char *value,
int *configvalue, char *errorbuf, int apply );
static int config_set_schemareplace ( const char *attrname, char *value,
char *errorbuf, int apply );
+static void remove_commas(char *str);
/* Keeping the initial values */
/* CONFIG_INT/CONFIG_LONG */
@@ -6819,6 +6820,9 @@ config_set_allowed_sasl_mechs(const char *attrname, char *value, char *errorbuf,
return LDAP_SUCCESS;
}
+ /* cyrus sasl doesn't like comma separated lists */
+ remove_commas(value);
+
CFG_LOCK_WRITE(slapdFrontendConfig);
slapdFrontendConfig->allowed_sasl_mechs = slapi_ch_strdup(value);
CFG_UNLOCK_WRITE(slapdFrontendConfig);
@@ -7576,3 +7580,17 @@ slapi_err2string(int result)
#endif
}
+/* replace commas with spaces */
+static void
+remove_commas(char *str)
+{
+ int i;
+
+ for (i = 0; str && str[i]; i++)
+ {
+ if (str[i] == ',')
+ {
+ str[i] = ' ';
+ }
+ }
+}
10 years, 4 months
ldap/servers
by Mark Reynolds
ldap/servers/slapd/libglobs.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
New commits:
commit 6200f6812682760cd2a54d6a3bcbb009a0dffe79
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Mon Dec 2 15:08:15 2013 -0500
Ticket 47613 - Impossible to configure nsslapd-allowed-sasl-mechanisms
Bug Description: The design doc sasy you can use comma separated list of supported mechanisms,
but in fact this was not supported.
Fix Description: Allow comma separated lists.
https://fedorahosted.org/389/ticket/47613
Reviewed by: richm(Thanks!)
diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c
index 7f00134..3afcb30 100644
--- a/ldap/servers/slapd/libglobs.c
+++ b/ldap/servers/slapd/libglobs.c
@@ -125,6 +125,7 @@ static int config_set_onoff( const char *attrname, char *value,
int *configvalue, char *errorbuf, int apply );
static int config_set_schemareplace ( const char *attrname, char *value,
char *errorbuf, int apply );
+static void remove_commas(char *str);
/* Keeping the initial values */
/* CONFIG_INT/CONFIG_LONG */
@@ -6820,6 +6821,9 @@ config_set_allowed_sasl_mechs(const char *attrname, char *value, char *errorbuf,
return LDAP_SUCCESS;
}
+ /* cyrus sasl doesn't like comma separated lists */
+ remove_commas(value);
+
CFG_LOCK_WRITE(slapdFrontendConfig);
slapdFrontendConfig->allowed_sasl_mechs = slapi_ch_strdup(value);
CFG_UNLOCK_WRITE(slapdFrontendConfig);
@@ -7577,3 +7581,17 @@ slapi_err2string(int result)
#endif
}
+/* replace commas with spaces */
+static void
+remove_commas(char *str)
+{
+ int i;
+
+ for (i = 0; str && str[i]; i++)
+ {
+ if (str[i] == ',')
+ {
+ str[i] = ' ';
+ }
+ }
+}
10 years, 4 months
ldap/servers
by Mark Reynolds
ldap/servers/plugins/memberof/memberof.c | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
New commits:
commit 7e21a4bddbdf53c342dbb9afa63c6c9dbc5d2920
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Nov 26 11:32:13 2013 -0500
Ticket 47525 - Need to add locking around config area access
Updating the config area is not thread safe. Added a rwlock for the
global config area.
https://fedorahosted.org/389/ticket/47525
Reviewed by: richm(Thanks!)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index f8fb10f..67ef860 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -76,6 +76,7 @@ static Slapi_PluginDesc pdesc = { "memberof", VENDOR,
static void* _PluginID = NULL;
static Slapi_DN* _ConfigAreaDN = NULL;
+static Slapi_RWLock *config_rwlock = NULL;
static Slapi_DN* _pluginDN = NULL;
static PRMonitor *memberof_operation_lock = 0;
MemberOfConfig *qsortConfig = 0;
@@ -270,8 +271,7 @@ memberof_postop_init(Slapi_PBlock *pb)
/*
* Setup the preop plugin for shared config updates
*/
- if (!ret && !usetxn &&
- slapi_register_plugin(preop_plugin_type, /* op type */
+ if (!ret && slapi_register_plugin(preop_plugin_type, /* op type */
1, /* Enabled */
"memberof_preop_init", /* this function desc */
memberof_preop_init, /* init func */
@@ -367,6 +367,13 @@ int memberof_postop_start(Slapi_PBlock *pb)
rc = -1;
goto bail;
}
+ if(config_rwlock == NULL){
+ if((config_rwlock = slapi_new_rwlock()) == NULL){
+ rc = -1;
+ goto bail;
+ }
+ }
+
/* Set the alternate config area if one is defined. */
slapi_pblock_get(pb, SLAPI_PLUGIN_CONFIG_AREA, &config_area);
if (config_area)
@@ -465,8 +472,10 @@ int memberof_postop_close(Slapi_PBlock *pb)
void
memberof_set_config_area(Slapi_DN *dn)
{
+ slapi_rwlock_wrlock(config_rwlock);
slapi_sdn_free(&_ConfigAreaDN);
_ConfigAreaDN = slapi_sdn_dup(dn);
+ slapi_rwlock_unlock(config_rwlock);
}
Slapi_DN *
@@ -475,6 +484,18 @@ memberof_get_config_area()
return _ConfigAreaDN;
}
+int
+memberof_sdn_config_cmp(Slapi_DN *sdn)
+{
+ int rc = 0;
+
+ slapi_rwlock_rdlock(config_rwlock);
+ rc = slapi_sdn_compare(sdn, memberof_get_config_area());
+ slapi_rwlock_unlock(config_rwlock);
+
+ return rc;
+}
+
void
memberof_set_plugin_area(Slapi_DN *sdn)
{
@@ -943,8 +964,7 @@ int memberof_postop_modify(Slapi_PBlock *pb)
/* check if we are updating the shared config entry */
slapi_pblock_get(pb, SLAPI_TARGET_SDN, &sdn);
- if (slapi_sdn_issuffix(sdn, memberof_get_config_area()) &&
- slapi_sdn_compare(sdn, memberof_get_config_area()) == 0)
+ if (memberof_sdn_config_cmp(sdn) == 0)
{
Slapi_Entry *entry = NULL;
char returntext[SLAPI_DSE_RETURNTEXT_SIZE];
10 years, 4 months
Branch '389-ds-base-1.3.1' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/automember/automember.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
New commits:
commit c9c7d545a987f8f52c9752ba1181d1885b74480c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Wed Nov 27 10:58:43 2013 -0500
Ticket 47592 - automember plugin task memory leaks
The search pblock was not destroyed at the end of the export and rebuild
tasks.
https://fedorahosted.org/389/ticket/47592
Reviewed by: richm(Thanks!)
(cherry picked from commit 085c6d494f90231f2e572a668ab601c321bffb01)
diff --git a/ldap/servers/plugins/automember/automember.c b/ldap/servers/plugins/automember/automember.c
index d63fbfe..4856681 100644
--- a/ldap/servers/plugins/automember/automember.c
+++ b/ldap/servers/plugins/automember/automember.c
@@ -2223,7 +2223,6 @@ void automember_rebuild_task_thread(void *arg){
}
}
automember_config_unlock();
- slapi_free_search_results_internal(search_pb);
out:
if (plugin_is_betxn && fixup_pb) {
@@ -2234,6 +2233,8 @@ out:
}
slapi_pblock_destroy(fixup_pb);
}
+ slapi_free_search_results_internal(search_pb);
+ slapi_pblock_destroy(search_pb);
if(result){
/* error */
@@ -2433,9 +2434,11 @@ void automember_export_task_thread(void *arg){
}
}
automember_config_unlock();
- slapi_free_search_results_internal(search_pb);
out:
+ slapi_free_search_results_internal(search_pb);
+ slapi_pblock_destroy(search_pb);
+
if(ldif_fd){
PR_Close(ldif_fd);
}
10 years, 4 months
Branch '389-ds-base-1.3.2' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/automember/automember.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 5b24c4ae8f4247b7f9c65b57855784dc73ce4151
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Wed Nov 27 10:58:43 2013 -0500
Ticket 47592 - automember plugin task memory leaks
The search pblock was not destroyed at the end of the export and rebuild
tasks.
https://fedorahosted.org/389/ticket/47592
Reviewed by: richm(Thanks!)
(cherry picked from commit 085c6d494f90231f2e572a668ab601c321bffb01)
diff --git a/ldap/servers/plugins/automember/automember.c b/ldap/servers/plugins/automember/automember.c
index d63fbfe..4856681 100644
--- a/ldap/servers/plugins/automember/automember.c
+++ b/ldap/servers/plugins/automember/automember.c
@@ -2223,7 +2223,6 @@ void automember_rebuild_task_thread(void *arg){
}
}
automember_config_unlock();
- slapi_free_search_results_internal(search_pb);
out:
if (plugin_is_betxn && fixup_pb) {
@@ -2234,6 +2233,8 @@ out:
}
slapi_pblock_destroy(fixup_pb);
}
+ slapi_free_search_results_internal(search_pb);
+ slapi_pblock_destroy(search_pb);
if(result){
/* error */
@@ -2433,9 +2434,11 @@ void automember_export_task_thread(void *arg){
}
}
automember_config_unlock();
- slapi_free_search_results_internal(search_pb);
out:
+ slapi_free_search_results_internal(search_pb);
+ slapi_pblock_destroy(search_pb);
+
if(ldif_fd){
PR_Close(ldif_fd);
}
10 years, 4 months
ldap/servers
by Mark Reynolds
ldap/servers/plugins/automember/automember.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 085c6d494f90231f2e572a668ab601c321bffb01
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Wed Nov 27 10:58:43 2013 -0500
Ticket 47592 - automember plugin task memory leaks
The search pblock was not destroyed at the end of the export and rebuild
tasks.
https://fedorahosted.org/389/ticket/47592
Reviewed by: richm(Thanks!)
diff --git a/ldap/servers/plugins/automember/automember.c b/ldap/servers/plugins/automember/automember.c
index e662e58..e58eb1e 100644
--- a/ldap/servers/plugins/automember/automember.c
+++ b/ldap/servers/plugins/automember/automember.c
@@ -2223,7 +2223,6 @@ void automember_rebuild_task_thread(void *arg){
}
}
automember_config_unlock();
- slapi_free_search_results_internal(search_pb);
out:
if (plugin_is_betxn && fixup_pb) {
@@ -2234,6 +2233,8 @@ out:
}
slapi_pblock_destroy(fixup_pb);
}
+ slapi_free_search_results_internal(search_pb);
+ slapi_pblock_destroy(search_pb);
if(result){
/* error */
@@ -2433,9 +2434,11 @@ void automember_export_task_thread(void *arg){
}
}
automember_config_unlock();
- slapi_free_search_results_internal(search_pb);
out:
+ slapi_free_search_results_internal(search_pb);
+ slapi_pblock_destroy(search_pb);
+
if(ldif_fd){
PR_Close(ldif_fd);
}
10 years, 4 months
ldap/servers
by Mark Reynolds
ldap/servers/slapd/libglobs.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
New commits:
commit 846447c62e3ad2150b054c87c96e797dc1d803f3
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Wed Nov 27 14:59:14 2013 -0500
Ticket 47457 - default nsslapd-sasl-max-buffer-size should be 2MB
Description: Increase the default max buffer size to 2mb from 64k.
https://fedorahosted.org/389/ticket/47457
Reviewed by: richm(Thanks!)
diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c
index 9d1cf77..7f00134 100644
--- a/ldap/servers/slapd/libglobs.c
+++ b/ldap/servers/slapd/libglobs.c
@@ -177,8 +177,9 @@ static int config_set_schemareplace ( const char *attrname, char *value,
#define DEFAULT_PW_RESETFAILURECOUNT "600"
#define DEFAULT_PW_LOCKDURATION "3600"
#define DEFAULT_NDN_SIZE "20971520"
-#define DEFAULT_SASL_MAXBUFSIZE "65536"
-#define SLAPD_DEFAULT_SASL_MAXBUFSIZE 65536
+#define DEFAULT_MAXBERSIZE 2097152
+#define DEFAULT_SASL_MAXBUFSIZE "2097152"
+#define SLAPD_DEFAULT_SASL_MAXBUFSIZE 2097152
#ifdef MEMPOOL_EXPERIMENTAL
#define DEFAULT_MEMPOOL_MAXFREELIST "1024"
#endif
@@ -5614,9 +5615,9 @@ config_get_maxbersize()
maxbersize = slapdFrontendConfig->maxbersize;
if(maxbersize==0)
- maxbersize= 2 * 1024 * 1024; /* Default: 2Mb */
- return maxbersize;
+ maxbersize = DEFAULT_MAXBERSIZE;
+ return maxbersize;
}
int
10 years, 4 months