mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-07 14:18:15 +08:00
don't set dummy cookie when dealing with last database (ITS#6507)
This commit is contained in:
parent
cd5dda252a
commit
a53019e688
@ -585,12 +585,13 @@ glue_op_search ( Operation *op, SlapReply *rs )
|
||||
tag = ber_scanf( ber, "{im}", &size, &cookie );
|
||||
assert( tag != LBER_ERROR );
|
||||
|
||||
if ( BER_BVISEMPTY( &cookie ) ) {
|
||||
if ( BER_BVISEMPTY( &cookie ) && op->o_bd != gi->gi_n[0].gn_be ) {
|
||||
/* delete old, create new cookie with NOID */
|
||||
PagedResultsCookie respcookie = (PagedResultsCookie)NOID;
|
||||
ber_len_t oidlen = strlen( gs.ctrls[c]->ldctl_oid );
|
||||
LDAPControl *newctrl;
|
||||
|
||||
/* it's next database's turn */
|
||||
if ( btmp == b0 ) {
|
||||
op->o_conn->c_pagedresults_state.ps_be = gi->gi_n[gi->gi_nodes - 1].gn_be;
|
||||
|
||||
@ -619,7 +620,8 @@ glue_op_search ( Operation *op, SlapReply *rs )
|
||||
|
||||
ber_free_buf( ber );
|
||||
|
||||
} else {
|
||||
} else if ( op->o_bd != gi->gi_n[0].gn_be ) {
|
||||
/* if cookie not empty, it's again this database's turn */
|
||||
op->o_conn->c_pagedresults_state.ps_be = op->o_bd;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user