ldap/servers/slapd/libglobs.c | 420 ++++++++++++++++++++++--------------------
ldap/servers/slapd/slap.h | 144 ++++++++------
3 files changed, 321 insertions(+), 268 deletions(-)
New commits:
commit 3d212a547210e03deeab8e72456cefda117c1394
Author: Rich Megginson <rmeggins@redhat.com>
Date: Fri Nov 30 11:58:27 2012 -0700
Ticket #508 - part 2 - lock-free access to FrontendConfig structure
https://fedorahosted.org/389/ticket/508
Reviewed by: mreynolds (Thanks!)
Branch: master
Fix Description: When computing the idletimeout, only check the config
anon_limits_dn if the connection c_dn is NULL.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
diff --git a/ldap/servers/slapd/daemon.c b/ldap/servers/slapd/daemon.c
index e3d2009..abf7611 100644
--- a/ldap/servers/slapd/daemon.c
+++ b/ldap/servers/slapd/daemon.c
@@ -1798,27 +1798,28 @@ compute_idletimeout( slapdFrontendConfig_t *fecfg, Connection *conn )
* this is not an anonymous user and no bind-based limits are set,
* use the default idle timeout.
*/
- char *anon_dn = config_get_anon_limits_dn();
- if ((conn->c_dn == NULL) && anon_dn && (strlen(anon_dn) > 0)) {
- Slapi_DN *anon_sdn = slapi_sdn_new_dn_byref( anon_dn );
+ if (conn->c_dn == NULL) {
+ char *anon_dn = config_get_anon_limits_dn();
+ if (anon_dn && (strlen(anon_dn) > 0)) {
+ Slapi_DN *anon_sdn = slapi_sdn_new_dn_byref(anon_dn);
- reslimit_update_from_dn( conn, anon_sdn );
+ reslimit_update_from_dn(conn, anon_sdn);
- if ( slapi_reslimit_get_integer_limit( conn,
- idletimeout_reslimit_handle, &idletimeout ) !=
- SLAPI_RESLIMIT_STATUS_SUCCESS ) {
- idletimeout = fecfg->idletimeout;
- }
+ if (slapi_reslimit_get_integer_limit(conn, idletimeout_reslimit_handle,
+ &idletimeout)
+ != SLAPI_RESLIMIT_STATUS_SUCCESS) {
+ idletimeout = fecfg->idletimeout;
+ }
- slapi_sdn_free( &anon_sdn );
+ slapi_sdn_free(&anon_sdn);
+ }
+ slapi_ch_free_string(&anon_dn);
} else if ( conn->c_isroot ) {
idletimeout = 0; /* no limit for Directory Manager */
} else {
idletimeout = fecfg->idletimeout;
}
-
- slapi_ch_free_string( &anon_dn );
}
return( idletimeout );
commit a0caf595fc66380a7ecac3d307623870a7ef1d41
Author: Rich Megginson <rmeggins@redhat.com>
Date: Fri Nov 30 08:44:09 2012 -0700
Ticket #508 - part 1 - lock-free access to FrontendConfig structure
https://fedorahosted.org/389/ticket/508
Reviewed by: mreynolds (Thanks!)
Branch: master
Fix Description: Change the thread contested integral values to use
lock free get and set. This includes the 3 INT types and all of the
ON/OFF types. These have been changed to use atomic variables used by
the PR_Atomic APIs.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c
index 1a414ed..4737131 100644
--- a/ldap/servers/slapd/libglobs.c
+++ b/ldap/servers/slapd/libglobs.c
@@ -199,61 +199,61 @@ static int config_set_schemareplace ( const char *attrname, char *value,
#define SALTED_SHA1_SCHEME_NAME "SSHA"
/* CONFIG_ON_OFF */
-int init_accesslog_rotationsync_enabled;
-int init_errorlog_rotationsync_enabled;
-int init_auditlog_rotationsync_enabled;
-int init_accesslog_logging_enabled;
-int init_accesslogbuffering;
-int init_errorlog_logging_enabled;
-int init_auditlog_logging_enabled;
-int init_auditlog_logging_hide_unhashed_pw;
-int init_csnlogging;
-int init_pw_unlock;
-int init_pw_must_change;
-int init_pwpolicy_local;
-int init_pw_lockout;
-int init_pw_history;
-int init_pw_is_global_policy;
-int init_pw_is_legacy;
-int init_pw_track_update_time;
-int init_pw_change;
-int init_pw_exp;
-int init_pw_syntax;
-int init_schemacheck;
-int init_schemamod;
-int init_ds4_compatible_schema;
-int init_schema_ignore_trailing_spaces;
-int init_enquote_sup_oc;
-int init_rewrite_rfc1274;
-int init_syntaxcheck;
-int init_syntaxlogging;
-int init_dn_validate_strict;
-int init_attrname_exceptions;
-int init_return_exact_case;
-int init_result_tweak;
-int init_plugin_track;
-int init_lastmod;
-int init_readonly;
-int init_accesscontrol;
-int init_nagle;
-int init_security;
-int init_ssl_check_hostname;
-int init_ldapi_switch;
-int init_ldapi_bind_switch;
-int init_ldapi_map_entries;
-int init_allow_unauth_binds;
-int init_require_secure_binds;
-int init_minssf_exclude_rootdse;
-int init_force_sasl_external;
-int init_slapi_counters;
-int init_entryusn_global;
-int init_disk_monitoring;
-int init_disk_logging_critical;
-int init_disk_preserve_logging;
-int init_ndn_cache_enabled;
-int init_sasl_mapping_fallback;
+slapi_onoff_t init_accesslog_rotationsync_enabled;
+slapi_onoff_t init_errorlog_rotationsync_enabled;
+slapi_onoff_t init_auditlog_rotationsync_enabled;
+slapi_onoff_t init_accesslog_logging_enabled;
+slapi_onoff_t init_accesslogbuffering;
+slapi_onoff_t init_errorlog_logging_enabled;
+slapi_onoff_t init_auditlog_logging_enabled;
+slapi_onoff_t init_auditlog_logging_hide_unhashed_pw;
+slapi_onoff_t init_csnlogging;
+slapi_onoff_t init_pw_unlock;
+slapi_onoff_t init_pw_must_change;
+slapi_onoff_t init_pwpolicy_local;
+slapi_onoff_t init_pw_lockout;
+slapi_onoff_t init_pw_history;
+slapi_onoff_t init_pw_is_global_policy;
+slapi_onoff_t init_pw_is_legacy;
+slapi_onoff_t init_pw_track_update_time;
+slapi_onoff_t init_pw_change;
+slapi_onoff_t init_pw_exp;
+slapi_onoff_t init_pw_syntax;
+slapi_onoff_t init_schemacheck;
+slapi_onoff_t init_schemamod;
+slapi_onoff_t init_ds4_compatible_schema;
+slapi_onoff_t init_schema_ignore_trailing_spaces;
+slapi_onoff_t init_enquote_sup_oc;
+slapi_onoff_t init_rewrite_rfc1274;
+slapi_onoff_t init_syntaxcheck;
+slapi_onoff_t init_syntaxlogging;
+slapi_onoff_t init_dn_validate_strict;
+slapi_onoff_t init_attrname_exceptions;
+slapi_onoff_t init_return_exact_case;
+slapi_onoff_t init_result_tweak;
+slapi_onoff_t init_plugin_track;
+slapi_onoff_t init_lastmod;
+slapi_onoff_t init_readonly;
+slapi_onoff_t init_accesscontrol;
+slapi_onoff_t init_nagle;
+slapi_onoff_t init_security;
+slapi_onoff_t init_ssl_check_hostname;
+slapi_onoff_t init_ldapi_switch;
+slapi_onoff_t init_ldapi_bind_switch;
+slapi_onoff_t init_ldapi_map_entries;
+slapi_onoff_t init_allow_unauth_binds;
+slapi_onoff_t init_require_secure_binds;
+slapi_onoff_t init_minssf_exclude_rootdse;
+slapi_onoff_t init_force_sasl_external;
+slapi_onoff_t init_slapi_counters;
+slapi_onoff_t init_entryusn_global;
+slapi_onoff_t init_disk_monitoring;
+slapi_onoff_t init_disk_logging_critical;
+slapi_onoff_t init_disk_preserve_logging;
+slapi_onoff_t init_ndn_cache_enabled;
+slapi_onoff_t init_sasl_mapping_fallback;
#ifdef MEMPOOL_EXPERIMENTAL
-int init_mempool_switch;
+slapi_onoff_t init_mempool_switch;
No comments:
Post a Comment