version 1.147.2.9, 2007/09/27 21:38:26
|
version 1.147.2.10, 2007/09/29 09:55:22
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.147.2.8 2007/09/27 21:14:24 ralf Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.147.2.9 2007/09/27 21:38:26 ralf 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 1287 syncprov_checkpoint( Operation *op, Slap
|
Line 1287 syncprov_checkpoint( Operation *op, Slap
|
SlapReply rsm = { 0 }; |
SlapReply rsm = { 0 }; |
slap_callback cb = {0}; |
slap_callback cb = {0}; |
|
|
|
mod.sml_numvals = si->si_numcsns; |
mod.sml_values = si->si_ctxcsn; |
mod.sml_values = si->si_ctxcsn; |
mod.sml_nvalues = NULL; |
mod.sml_nvalues = NULL; |
mod.sml_desc = slap_schema.si_ad_contextCSN; |
mod.sml_desc = slap_schema.si_ad_contextCSN; |
Line 1679 syncprov_op_compare( Operation *op, Slap
|
Line 1680 syncprov_op_compare( Operation *op, Slap
|
|
|
rs->sr_err = LDAP_COMPARE_FALSE; |
rs->sr_err = LDAP_COMPARE_FALSE; |
|
|
if ( value_find_ex( op->oq_compare.rs_ava->aa_desc, |
if ( attr_valfind( &a, |
SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH | |
SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH | |
SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH, |
SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH, |
a.a_nvals, &op->oq_compare.rs_ava->aa_value, op->o_tmpmemctx ) == 0 ) |
&op->oq_compare.rs_ava->aa_value, NULL, op->o_tmpmemctx ) == 0 ) |
{ |
{ |
rs->sr_err = LDAP_COMPARE_TRUE; |
rs->sr_err = LDAP_COMPARE_TRUE; |
} |
} |
Line 2306 syncprov_operational(
|
Line 2307 syncprov_operational(
|
a->a_nvals = NULL; |
a->a_nvals = NULL; |
ber_bvarray_free( a->a_vals ); |
ber_bvarray_free( a->a_vals ); |
a->a_vals = NULL; |
a->a_vals = NULL; |
|
a->a_numvals = 0; |
} |
} |
ber_bvarray_dup_x( &a->a_vals, si->si_ctxcsn, NULL ); |
attr_valadd( a, si->si_ctxcsn, si->si_ctxcsn, si->si_numcsns ); |
ber_bvarray_dup_x( &a->a_nvals, si->si_ctxcsn, NULL ); |
|
} |
} |
ldap_pvt_thread_rdwr_runlock( &si->si_csn_rwlock ); |
ldap_pvt_thread_rdwr_runlock( &si->si_csn_rwlock ); |
} |
} |
Line 2554 syncprov_db_open(
|
Line 2555 syncprov_db_open(
|
|
|
a = attr_find( e->e_attrs, slap_schema.si_ad_contextCSN ); |
a = attr_find( e->e_attrs, slap_schema.si_ad_contextCSN ); |
if ( a ) { |
if ( a ) { |
int i; |
|
ber_bvarray_dup_x( &si->si_ctxcsn, a->a_vals, NULL ); |
ber_bvarray_dup_x( &si->si_ctxcsn, a->a_vals, NULL ); |
for ( i = 0; !BER_BVISNULL( &a->a_vals[i] ); i++ ); |
si->si_numcsns = a->a_numvals; |
si->si_numcsns = i; |
si->si_sids = slap_parse_csn_sids( si->si_ctxcsn, a->a_numvals, NULL ); |
si->si_sids = slap_parse_csn_sids( si->si_ctxcsn, i, NULL ); |
|
} |
} |
overlay_entry_release_ov( op, e, 0, on ); |
overlay_entry_release_ov( op, e, 0, on ); |
if ( si->si_ctxcsn ) { |
if ( si->si_ctxcsn ) { |