From bb1decc27155be53601ebadd516240d3fc81b0a8 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 9 Sep 2006 00:15:11 +0000 Subject: [PATCH] import fix to ITS#4668 --- CHANGES | 1 + servers/slapd/back-monitor/search.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 73a6a47073..6236db3d04 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,7 @@ OpenLDAP 2.3 Change Log OpenLDAP 2.3.28 Engineering Added ldapsearch bad filter pattern check (ITS#4647) + Fixed slapd-monitor locking with scope "subordinate" (ITS#4668) OpenLDAP 2.3.27 Release Fixed libldap dangling pointer issue (previous fix was broken) (ITS#4405) diff --git a/servers/slapd/back-monitor/search.c b/servers/slapd/back-monitor/search.c index e71afa20b0..027a7774e8 100644 --- a/servers/slapd/back-monitor/search.c +++ b/servers/slapd/back-monitor/search.c @@ -35,8 +35,7 @@ monitor_send_children( Operation *op, SlapReply *rs, Entry *e_parent, - int sub -) + int sub ) { monitor_info_t *mi = ( monitor_info_t * )op->o_bd->be_private; Entry *e, @@ -234,7 +233,9 @@ monitor_back_search( Operation *op, SlapReply *rs ) break; case LDAP_SCOPE_ONELEVEL: - rc = monitor_send_children( op, rs, e, 0 ); + case LDAP_SCOPE_SUBORDINATE: + rc = monitor_send_children( op, rs, e, + op->oq_search.rs_scope == LDAP_SCOPE_SUBORDINATE ); break; case LDAP_SCOPE_SUBTREE: @@ -249,6 +250,10 @@ monitor_back_search( Operation *op, SlapReply *rs ) rc = monitor_send_children( op, rs, e, 1 ); break; + + default: + rc = LDAP_UNWILLING_TO_PERFORM; + monitor_cache_release( mi, e ); } rs->sr_attrs = NULL; -- 2.39.5