Diff for /servers/slapd/overlays/syncprov.c between versions 1.166 and 1.167

version 1.166, 2007/01/21 12:02:05 version 1.167, 2007/01/25 01:06:33
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.165 2007/01/02 19:01:14 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.166 2007/01/21 12:02:05 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 580  syncprov_findcsn( Operation *op, find_cs Line 580  syncprov_findcsn( Operation *op, find_cs
         char buf[LDAP_LUTIL_CSNSTR_BUFSIZE + STRLENOF("(entryCSN<=)")];          char buf[LDAP_LUTIL_CSNSTR_BUFSIZE + STRLENOF("(entryCSN<=)")];
         char cbuf[LDAP_LUTIL_CSNSTR_BUFSIZE];          char cbuf[LDAP_LUTIL_CSNSTR_BUFSIZE];
         struct berval maxcsn;          struct berval maxcsn;
         Filter cf, af;          Filter cf;
 #ifdef LDAP_COMP_MATCH  #ifdef LDAP_COMP_MATCH
         AttributeAssertion eq = { NULL, BER_BVNULL, NULL };          AttributeAssertion eq = { NULL, BER_BVNULL, NULL };
 #else  #else
Line 652  again: Line 652  again:
                 cb.sc_response = findcsn_cb;                  cb.sc_response = findcsn_cb;
                 break;                  break;
         case FIND_PRESENT:          case FIND_PRESENT:
                 af.f_choice = LDAP_FILTER_AND;                  fop.ors_filter = op->ors_filter;
                 af.f_next = NULL;                  fop.ors_filterstr = op->ors_filterstr;
                 af.f_and = &cf;  
                 cf.f_choice = LDAP_FILTER_LE;  
                 cf.f_av_value = srs->sr_state.ctxcsn;  
                 cf.f_next = op->ors_filter;  
                 fop.ors_filter = &af;  
                 filter2bv_x( &fop, fop.ors_filter, &fop.ors_filterstr );  
                 fop.ors_attrsonly = 0;                  fop.ors_attrsonly = 0;
                 fop.ors_attrs = uuid_anlist;                  fop.ors_attrs = uuid_anlist;
                 fop.ors_slimit = SLAP_NO_LIMIT;                  fop.ors_slimit = SLAP_NO_LIMIT;
Line 703  again: Line 697  again:
                 break;                  break;
         case FIND_PRESENT:          case FIND_PRESENT:
                 op->o_tmpfree( pcookie.uuids, op->o_tmpmemctx );                  op->o_tmpfree( pcookie.uuids, op->o_tmpmemctx );
                 op->o_tmpfree( fop.ors_filterstr.bv_val, op->o_tmpmemctx );  
                 break;                  break;
         }          }
   
Line 1388  syncprov_playlog( Operation *op, SlapRep Line 1381  syncprov_playlog( Operation *op, SlapRep
          * and everything else at the end. Do this first so we can           * and everything else at the end. Do this first so we can
          * unlock the list mutex.           * unlock the list mutex.
          */           */
           Debug( LDAP_DEBUG_SYNC, "srs csn %s\n", srs-> sr_state.ctxcsn.bv_val, 0, 0 );
         for ( se=sl->sl_head; se; se=se->se_next ) {          for ( se=sl->sl_head; se; se=se->se_next ) {
                 if ( ber_bvcmp( &se->se_csn, &srs->sr_state.ctxcsn ) <= 0 ) continue;                  Debug( LDAP_DEBUG_SYNC, "log csn %s\n", se-> se_csn.bv_val,
                 if ( ber_bvcmp( &se->se_csn, ctxcsn ) > 0 ) break;  0, 0 );
                   ndel = ber_bvcmp( &se->se_csn, &srs->sr_state.ctxcsn );
                   if ( ndel <= 0 ) {
                           Debug( LDAP_DEBUG_SYNC, "cmp %d, too old\n", ndel,
   0, 0 );
                           continue;
                   }
                   ndel = ber_bvcmp( &se->se_csn, ctxcsn );
                   if ( ndel > 0 ) {
                           Debug( LDAP_DEBUG_SYNC, "cmp %d, too new\n", ndel,
   0, 0 );
                           break;
                   }
                 if ( se->se_tag == LDAP_REQ_DELETE ) {                  if ( se->se_tag == LDAP_REQ_DELETE ) {
                         j = i;                          j = i;
                         i++;                          i++;

Removed from v.1.166  
changed lines
  Added in v.1.167


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