Diff for /servers/slapd/overlays/syncprov.c between versions 1.147.2.9 and 1.147.2.10

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 ) {

Removed from v.1.147.2.9  
changed lines
  Added in v.1.147.2.10


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org