version 1.305, 2009/11/22 16:43:48
|
version 1.306, 2009/11/23 21:13:42
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.303 2009/11/22 03:42:00 hyc Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.305 2009/11/22 16:43:48 hyc Exp $ */ |
/* syncprov.c - syncrepl provider */ |
/* syncprov.c - syncrepl provider */ |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* |
* |
Line 2473 syncprov_op_search( Operation *op, SlapR
|
Line 2473 syncprov_op_search( Operation *op, SlapR
|
changed = SS_CHANGED; |
changed = SS_CHANGED; |
else if ( newer > 0 ) { |
else if ( newer > 0 ) { |
/* our state is older, tell consumer nothing */ |
/* our state is older, tell consumer nothing */ |
|
rs->sr_err = LDAP_SUCCESS; |
|
bailout: |
if ( sop ) { |
if ( sop ) { |
syncops **sp = &si->si_ops; |
syncops **sp = &si->si_ops; |
|
|
Line 2483 syncprov_op_search( Operation *op, SlapR
|
Line 2485 syncprov_op_search( Operation *op, SlapR
|
ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex ); |
ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex ); |
ch_free( sop ); |
ch_free( sop ); |
} |
} |
rs->sr_err = LDAP_SUCCESS; |
|
rs->sr_ctrls = NULL; |
rs->sr_ctrls = NULL; |
send_ldap_result( op, rs ); |
send_ldap_result( op, rs ); |
return rs->sr_err; |
return rs->sr_err; |
Line 2538 no_change: if ( !(op->o_sync_mode & SLA
|
Line 2539 no_change: if ( !(op->o_sync_mode & SLA
|
ber_bvarray_free_x( ctxcsn, op->o_tmpmemctx ); |
ber_bvarray_free_x( ctxcsn, op->o_tmpmemctx ); |
if ( sids ) |
if ( sids ) |
op->o_tmpfree( sids, op->o_tmpmemctx ); |
op->o_tmpfree( sids, op->o_tmpmemctx ); |
send_ldap_error( op, rs, LDAP_SYNC_REFRESH_REQUIRED, "sync cookie is stale" ); |
rs->sr_err = LDAP_SYNC_REFRESH_REQUIRED; |
return rs->sr_err; |
rs->sr_text = "sync cookie is stale"; |
|
goto bailout; |
} |
} |
if ( srs->sr_state.ctxcsn ) { |
if ( srs->sr_state.ctxcsn ) { |
ber_bvarray_free_x( srs->sr_state.ctxcsn, op->o_tmpmemctx ); |
ber_bvarray_free_x( srs->sr_state.ctxcsn, op->o_tmpmemctx ); |