Diff for /servers/slapd/overlays/dynlist.c between versions 1.5.2.6 and 1.5.2.7

version 1.5.2.6, 2006/01/03 22:16:24 version 1.5.2.7, 2006/10/26 20:53:47
Line 1 Line 1
 /* dynlist.c - dynamic list overlay */  /* dynlist.c - dynamic list overlay */
   /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 2003-2006 The OpenLDAP Foundation.   * Copyright 2003-2006 The OpenLDAP Foundation.
Line 24 Line 25
   
 #if LDAP_VENDOR_VERSION_MINOR != X && LDAP_VENDOR_VERSION_MINOR < 3  #if LDAP_VENDOR_VERSION_MINOR != X && LDAP_VENDOR_VERSION_MINOR < 3
 #define OL_2_2_COMPAT  #define OL_2_2_COMPAT
 #elif defined(LDAP_DEVEL) && SLAPD_OVER_DYNGROUP != SLAPD_MOD_STATIC  #elif SLAPD_OVER_DYNGROUP != SLAPD_MOD_STATIC
 #define TAKEOVER_DYNGROUP  #define TAKEOVER_DYNGROUP
 #endif  #endif
   
Line 350  dynlist_send_entry( Operation *op, SlapR Line 351  dynlist_send_entry( Operation *op, SlapR
                         continue;                          continue;
                 }                  }
   
                 if ( lud->lud_host ) {                  if ( lud->lud_host != NULL ) {
                         /* FIXME: host not allowed; reject as illegal? */                          /* FIXME: host not allowed; reject as illegal? */
                         Debug( LDAP_DEBUG_ANY, "dynlist_send_entry(\"%s\"): "                          Debug( LDAP_DEBUG_ANY, "dynlist_send_entry(\"%s\"): "
                                 "illegal URI \"%s\"\n",                                  "illegal URI \"%s\"\n",
Line 365  dynlist_send_entry( Operation *op, SlapR Line 366  dynlist_send_entry( Operation *op, SlapR
                          * this can be useful in case of a database serving                           * this can be useful in case of a database serving
                          * the empty suffix */                           * the empty suffix */
                         BER_BVSTR( &dn, "" );                          BER_BVSTR( &dn, "" );
   
                 } else {                  } else {
                         ber_str2bv( lud->lud_dn, 0, 0, &dn );                          ber_str2bv( lud->lud_dn, 0, 0, &dn );
                 }                  }
Line 435  dynlist_send_entry( Operation *op, SlapR Line 437  dynlist_send_entry( Operation *op, SlapR
                 if ( lud->lud_filter == NULL ) {                  if ( lud->lud_filter == NULL ) {
                         ber_dupbv_x( &o.ors_filterstr,                          ber_dupbv_x( &o.ors_filterstr,
                                         &dli->dli_default_filter, op->o_tmpmemctx );                                          &dli->dli_default_filter, op->o_tmpmemctx );
   
                 } else {                  } else {
                         struct berval   flt;                          struct berval   flt;
                         ber_str2bv( lud->lud_filter, 0, 0, &flt );                          ber_str2bv( lud->lud_filter, 0, 0, &flt );
Line 471  cleanup:; Line 474  cleanup:;
                 if ( !BER_BVISNULL( &o.o_req_ndn ) ) {                  if ( !BER_BVISNULL( &o.o_req_ndn ) ) {
                         op->o_tmpfree( o.o_req_ndn.bv_val, op->o_tmpmemctx );                          op->o_tmpfree( o.o_req_ndn.bv_val, op->o_tmpmemctx );
                 }                  }
                 if ( o.ors_filterstr.bv_val != lud->lud_filter ) {                  assert( o.ors_filterstr.bv_val != lud->lud_filter );
                         op->o_tmpfree( o.ors_filterstr.bv_val, op->o_tmpmemctx );                  op->o_tmpfree( o.ors_filterstr.bv_val, op->o_tmpmemctx );
                         lud->lud_filter = NULL;                  ldap_free_urldesc( lud );
                 }  
                 if ( lud ) {  
                         ldap_free_urldesc( lud );  
                 }  
         }          }
   
         rs->sr_entry = e;          rs->sr_entry = e;
Line 696  dynlist_build_def_filter( dynlist_info_t Line 695  dynlist_build_def_filter( dynlist_info_t
   
         dli->dli_default_filter.bv_len = STRLENOF( "(!(objectClass=" "))" )          dli->dli_default_filter.bv_len = STRLENOF( "(!(objectClass=" "))" )
                 + dli->dli_oc->soc_cname.bv_len;                  + dli->dli_oc->soc_cname.bv_len;
         dli->dli_default_filter.bv_val = SLAP_MALLOC( dli->dli_default_filter.bv_len + 1 );          dli->dli_default_filter.bv_val = ch_malloc( dli->dli_default_filter.bv_len + 1 );
         if ( dli->dli_default_filter.bv_val == NULL ) {          if ( dli->dli_default_filter.bv_val == NULL ) {
                 Debug( LDAP_DEBUG_ANY, "dynlist_db_open: malloc failed.\n",                  Debug( LDAP_DEBUG_ANY, "dynlist_db_open: malloc failed.\n",
                         0, 0, 0 );                          0, 0, 0 );
Line 1345  dynlist_db_open( Line 1344  dynlist_db_open(
                         dli->dli_ad = ad;                                                 dli->dli_ad = ad;                       
                 }                  }
   
                 rc = dynlist_build_def_filter( dli );                  if ( BER_BVISNULL( &dli->dli_default_filter ) ) {
                 if ( rc != 0 ) {                          rc = dynlist_build_def_filter( dli );
                         return rc;                          if ( rc != 0 ) {
                                   return rc;
                           }
                 }                  }
         }          }
   

Removed from v.1.5.2.6  
changed lines
  Added in v.1.5.2.7


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