version 1.132, 2005/12/06 22:10:14
|
version 1.133, 2005/12/07 00:30:28
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.131 2005/11/26 06:38:21 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.132 2005/12/06 22:10:14 ando 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 1800 syncprov_search_response( Operation *op,
|
Line 1800 syncprov_search_response( Operation *op,
|
return SLAP_CB_CONTINUE; |
return SLAP_CB_CONTINUE; |
} |
} |
a = attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_entryCSN ); |
a = attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_entryCSN ); |
|
if ( a == NULL && rs->sr_operational_attrs != NULL ) { |
|
a = attr_find( rs->sr_operational_attrs, slap_schema.si_ad_entryCSN ); |
|
} |
if ( a ) { |
if ( a ) { |
/* Make sure entry is less than the snaphot'd contextCSN */ |
/* Make sure entry is less than the snaphot'd contextCSN */ |
if ( ber_bvcmp( &a->a_nvals[0], &ss->ss_ctxcsn ) > 0 ) |
if ( ber_bvcmp( &a->a_nvals[0], &ss->ss_ctxcsn ) > 0 ) |
Line 2320 syncprov_db_open(
|
Line 2323 syncprov_db_open(
|
strcpy( ctxcsnbuf, si->si_ctxcsnbuf ); |
strcpy( ctxcsnbuf, si->si_ctxcsnbuf ); |
} |
} |
be_entry_release_rw( op, e, 0 ); |
be_entry_release_rw( op, e, 0 ); |
op->o_bd->bd_info = (BackendInfo *)on; |
if ( !BER_BVISEMPTY( &si->si_ctxcsn ) ) { |
op->o_req_dn = be->be_suffix[0]; |
op->o_bd->bd_info = (BackendInfo *)on; |
op->o_req_ndn = be->be_nsuffix[0]; |
op->o_req_dn = be->be_suffix[0]; |
op->ors_scope = LDAP_SCOPE_SUBTREE; |
op->o_req_ndn = be->be_nsuffix[0]; |
ldap_pvt_thread_create( &tid, 0, syncprov_db_otask, op ); |
op->ors_scope = LDAP_SCOPE_SUBTREE; |
ldap_pvt_thread_join( tid, NULL ); |
ldap_pvt_thread_create( &tid, 0, syncprov_db_otask, op ); |
|
ldap_pvt_thread_join( tid, NULL ); |
|
} |
} else if ( SLAP_SYNC_SHADOW( op->o_bd )) { |
} else if ( SLAP_SYNC_SHADOW( op->o_bd )) { |
/* If we're also a consumer, and we didn't find the context entry, |
/* If we're also a consumer, and we didn't find the context entry, |
* then don't generate anything, wait for our provider to send it |
* then don't generate anything, wait for our provider to send it |