[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: backglue.c sometimes falsely returns LDAP_SIZELIMIT_EXCEEDED (ITS#2888)
I just tried to test the fix. Now, in some cases, it didn't return
LDAP_SIZELIMIT_EXCEEDED even if the limit was hit. With the following small
patch it seems to work correctly ( at least during my tests), though I am
not sure if it is correct in all corner-cases.
--- servers/slapd/backglue.c 20 Dec 2003 16:41:08 -0000 1.67
+++ servers/slapd/backglue.c 23 Dec 2003 18:41:06 -0000
@@ -201,8 +201,12 @@
return SLAP_CB_CONTINUE;
default:
- if ( gs->is_slimit && rs->sr_err == LDAP_SIZELIMIT_EXCEEDED
- && rs->sr_nentries >= gs->slimit ) {
+ if ( gs->is_slimit &&
+ ( gs->err == LDAP_SIZELIMIT_EXCEEDED ||
+ ( rs->sr_err == LDAP_SIZELIMIT_EXCEEDED &&
+ rs->sr_nentries >= gs->slimit )
+ )
+ ) {
gs->err = LDAP_SIZELIMIT_EXCEEDED;
return -1;
}
--
regards,
Ralf Haferkamp
SUSE LINUX AG, Deutschherrnstrasse 15-19, D-90429 Nuernberg
T: +49-911-74053-0
F: +49-911-74053575 - Ralf.Haferkamp@suse.com