Diff for /servers/slapd/overlays/syncprov.c between versions 1.42 and 1.43

version 1.42, 2004/12/07 09:05:24 version 1.43, 2004/12/07 09:43:48
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.41 2004/12/07 01:58:33 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.42 2004/12/07 09:05:24 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 1510  syncprov_op_search( Operation *op, SlapR Line 1510  syncprov_op_search( Operation *op, SlapR
                         send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );                          send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );
                         return rs->sr_err;                          return rs->sr_err;
                 }                  }
                   /* If just Refreshing and nothing has changed, shortcut it */
                   if ( bvmatch( srs->sr_state.ctxcsn, &si->si_ctxcsn )) {
                           nochange = 1;
                           if ( !(op->o_sync_mode & SLAP_SYNC_PERSIST) ) {
                                   LDAPControl     *ctrls[2];
   
                                   ctrls[0] = NULL;
                                   ctrls[1] = NULL;
                                   syncprov_done_ctrl( op, rs, ctrls, 0, 0,
                                           NULL, LDAP_SYNC_REFRESH_DELETES );
                                   rs->sr_ctrls = ctrls;
                                   rs->sr_err = LDAP_SUCCESS;
                                   send_ldap_result( op, rs );
                                   rs->sr_ctrls = NULL;
                                   return rs->sr_err;
                           }
                           goto shortcut;
                   }
                 /* Is the CSN still present in the database? */                  /* Is the CSN still present in the database? */
                 if ( syncprov_findcsn( op, FIND_CSN ) != LDAP_SUCCESS ) {                  if ( syncprov_findcsn( op, FIND_CSN ) != LDAP_SUCCESS ) {
                         /* No, so a reload is required */                          /* No, so a reload is required */
Line 1521  syncprov_op_search( Operation *op, SlapR Line 1539  syncprov_op_search( Operation *op, SlapR
 #endif  #endif
                 } else {                  } else {
                         gotstate = 1;                          gotstate = 1;
                         /* If just Refreshing and nothing has changed, shortcut it */  
                         if ( bvmatch( srs->sr_state.ctxcsn, &si->si_ctxcsn )) {  
                                 nochange = 1;  
                                 if ( !(op->o_sync_mode & SLAP_SYNC_PERSIST) ) {  
                                         LDAPControl     *ctrls[2];  
   
                                         ctrls[0] = NULL;  
                                         ctrls[1] = NULL;  
                                         syncprov_done_ctrl( op, rs, ctrls, 0, 0,  
                                                 NULL, LDAP_SYNC_REFRESH_DELETES );  
                                         rs->sr_ctrls = ctrls;  
                                         rs->sr_err = LDAP_SUCCESS;  
                                         send_ldap_result( op, rs );  
                                         rs->sr_ctrls = NULL;  
                                         return rs->sr_err;  
                                 }  
                                 goto shortcut;  
                         } else  
                         /* If context has changed, check for Present UUIDs */                          /* If context has changed, check for Present UUIDs */
                         if ( syncprov_findcsn( op, FIND_PRESENT ) != LDAP_SUCCESS ) {                          if ( syncprov_findcsn( op, FIND_PRESENT ) != LDAP_SUCCESS ) {
                                 send_ldap_result( op, rs );                                  send_ldap_result( op, rs );

Removed from v.1.42  
changed lines
  Added in v.1.43


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