From: Kurt Zeilenga Date: Tue, 26 Nov 2002 18:37:09 +0000 (+0000) Subject: limits X-Git-Tag: OPENLDAP_REL_ENG_2_1_9~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d51247c6c899be80e92e00817a0cb1ff5051407;p=thirdparty%2Fopenldap.git limits --- diff --git a/servers/slapd/back-bdb/search.c b/servers/slapd/back-bdb/search.c index 3ecc66bb92..8253288810 100644 --- a/servers/slapd/back-bdb/search.c +++ b/servers/slapd/back-bdb/search.c @@ -247,13 +247,15 @@ dn2entry_retry: /* if requested limit higher than hard limit, abort */ } else if ( tlimit > limit->lms_t_hard ) { /* no hard limit means use soft instead */ - if ( limit->lms_t_hard == 0 && tlimit > limit->lms_t_soft ) { + if ( limit->lms_t_hard == 0 + && limit->lms_t_soft > -1 + && tlimit > limit->lms_t_soft ) { tlimit = limit->lms_t_soft; /* positive hard limit means abort */ } else if ( limit->lms_t_hard > 0 ) { send_search_result( conn, op, - LDAP_UNWILLING_TO_PERFORM, + LDAP_ADMINLIMIT_EXCEEDED, NULL, NULL, NULL, NULL, 0 ); rc = 0; goto done; @@ -269,13 +271,15 @@ dn2entry_retry: /* if requested limit higher than hard limit, abort */ } else if ( slimit > limit->lms_s_hard ) { /* no hard limit means use soft instead */ - if ( limit->lms_s_hard == 0 && slimit > limit->lms_s_soft ) { + if ( limit->lms_s_hard == 0 + && limit->lms_s_soft > -1 + && slimit > limit->lms_s_soft ) { slimit = limit->lms_s_soft; /* positive hard limit means abort */ } else if ( limit->lms_s_hard > 0 ) { send_search_result( conn, op, - LDAP_UNWILLING_TO_PERFORM, + LDAP_ADMINLIMIT_EXCEEDED, NULL, NULL, NULL, NULL, 0 ); rc = 0; goto done;