Diff for /servers/slapd/overlays/syncprov.c between versions 1.48 and 1.49

version 1.48, 2004/12/09 07:28:12 version 1.49, 2004/12/09 07:49:54
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.47 2004/12/09 07:14:57 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.48 2004/12/09 07:28:12 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 1744  syncprov_op_search( Operation *op, SlapR Line 1744  syncprov_op_search( Operation *op, SlapR
                 sessionlog *sl;                  sessionlog *sl;
   
                 /* Is the CSN in a valid format? */                  /* Is the CSN in a valid format? */
                 if ( srs->sr_state.ctxcsn->bv_len >= LDAP_LUTIL_CSNSTR_BUFSIZE ) {                  /* FIXME: should use csnValidate when that is implemented */
                         send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );                  {
                         return rs->sr_err;                          char *ptr;
                           struct berval timestamp;
                           slap_syntax_validate_func *validate;
                           AttributeDescription *ad = slap_schema.si_ad_modifyTimestamp;
   
                           if ( srs->sr_state.ctxcsn->bv_len >= LDAP_LUTIL_CSNSTR_BUFSIZE ) {
                                   send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );
                                   return rs->sr_err;
                           }
                           ptr = strchr( srs->sr_state.ctxcsn->bv_val, '#' );
                           if ( !ptr ) {
                                   send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );
                                   return rs->sr_err;
                           }
                           timestamp.bv_val = srs->sr_state.ctxcsn->bv_val;
                           timestamp.bv_len = ptr - timestamp.bv_val;
                           validate = ad->ad_type->sat_syntax->ssyn_validate;
                           if ( validate( ad->ad_type->sat_syntax, &timestamp )) {
                                   send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );
                                   return rs->sr_err;
                           }
                 }                  }
                 /* If just Refreshing and nothing has changed, shortcut it */                  /* If just Refreshing and nothing has changed, shortcut it */
                 if ( bvmatch( srs->sr_state.ctxcsn, &ctxcsn )) {                  if ( bvmatch( srs->sr_state.ctxcsn, &ctxcsn )) {

Removed from v.1.48  
changed lines
  Added in v.1.49


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