Diff for /servers/slapd/filter.c between versions 1.72.2.11 and 1.94

version 1.72.2.11, 2003/05/05 16:37:15 version 1.94, 2003/03/15 18:45:36
Line 1 Line 1
 /* filter.c - routines for parsing and dealing with filters */  /* filter.c - routines for parsing and dealing with filters */
 /* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.72.2.10 2003/03/12 20:58:48 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.93 2003/03/09 19:11:12 kurt Exp $ */
 /*  /*
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 26  static int get_substring_filter( Line 26  static int get_substring_filter(
         Filter *f,          Filter *f,
         const char **text );          const char **text );
   
 static int filter_escape_value(  
         struct berval *in,  
         struct berval *out );  
   
 static void simple_vrFilter2bv(  static void simple_vrFilter2bv(
         ValuesReturnFilter *f,          ValuesReturnFilter *f,
         struct berval *fstr );          struct berval *fstr );
Line 128  get_filter( Line 124  get_filter(
                 Debug( LDAP_DEBUG_FILTER, "SUBSTRINGS\n", 0, 0, 0 );                  Debug( LDAP_DEBUG_FILTER, "SUBSTRINGS\n", 0, 0, 0 );
 #endif  #endif
                 err = get_substring_filter( conn, ber, f, text );                  err = get_substring_filter( conn, ber, f, text );
                   if( err != LDAP_SUCCESS ) {
                           break;
                   }
                   assert( f->f_sub != NULL );
                 break;                  break;
   
         case LDAP_FILTER_GE:          case LDAP_FILTER_GE:
Line 141  get_filter( Line 141  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                   assert( f->f_ava != NULL );
                 break;                  break;
   
         case LDAP_FILTER_LE:          case LDAP_FILTER_LE:
Line 154  get_filter( Line 155  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                   assert( f->f_ava != NULL );
                 break;                  break;
   
         case LDAP_FILTER_PRESENT: {          case LDAP_FILTER_PRESENT: {
Line 194  get_filter( Line 196  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                   assert( f->f_ava != NULL );
                 break;                  break;
   
         case LDAP_FILTER_AND:          case LDAP_FILTER_AND:
Line 207  get_filter( Line 210  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                 if ( f->f_and == NULL ) {                  assert( f->f_and != NULL );
                         f->f_choice = SLAPD_FILTER_COMPUTED;  
                         f->f_result = LDAP_COMPARE_TRUE;  
                 }  
                 break;                  break;
   
         case LDAP_FILTER_OR:          case LDAP_FILTER_OR:
Line 224  get_filter( Line 224  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                 if ( f->f_or == NULL ) {                  assert( f->f_or != NULL );
                         f->f_choice = SLAPD_FILTER_COMPUTED;  
                         f->f_result = LDAP_COMPARE_FALSE;  
                 }  
                 break;                  break;
   
         case LDAP_FILTER_NOT:          case LDAP_FILTER_NOT:
Line 242  get_filter( Line 239  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                   assert( f->f_not != NULL );
                 break;                  break;
   
         case LDAP_FILTER_EXT:          case LDAP_FILTER_EXT:
Line 422  get_substring_filter( Line 420  get_substring_filter(
                         goto return_error;                          goto return_error;
                 }                  }
   
   #ifdef SLAP_NVALUES
                   /* validate/normalize using equality matching rule validator! */
                   rc = asserted_value_validate_normalize(
                           f->f_sub_desc, f->f_sub_desc->ad_type->sat_equality,
                           usage, &value, &bv, text );
                   if( rc != LDAP_SUCCESS ) {
                           goto return_error;
                   }
   #else
                 /* validate using equality matching rule validator! */                  /* validate using equality matching rule validator! */
                 rc = value_validate( f->f_sub_desc->ad_type->sat_equality,                  rc = value_validate( f->f_sub_desc->ad_type->sat_equality,
                         &value, text );                          &value, text );
Line 434  get_substring_filter( Line 441  get_substring_filter(
                 if( rc != LDAP_SUCCESS ) {                  if( rc != LDAP_SUCCESS ) {
                         goto return_error;                          goto return_error;
                 }                  }
   #endif
   
                 value = bv;                  value = bv;
   
Line 795  filter2bv( Filter *f, struct berval *fst Line 803  filter2bv( Filter *f, struct berval *fst
         }          }
 }  }
   
 static int filter_escape_value(  int
   filter_escape_value(
         struct berval *in,          struct berval *in,
         struct berval *out )          struct berval *out )
 {  {
Line 1431  get_substring_vrFilter( Line 1440  get_substring_vrFilter(
                         goto return_error;                          goto return_error;
                 }                  }
   
   #ifdef SLAP_NVALUES
                   /* validate/normalize using equality matching rule validator! */
                   rc = asserted_value_validate_normalize(
                           vrf->vrf_sub_desc, vrf->vrf_sub_desc->ad_type->sat_equality,
                           usage, &value, &bv, text );
                   if( rc != LDAP_SUCCESS ) {
                           goto return_error;
                   }
   #else
                 /* valiate using equality matching rule validator! */                  /* valiate using equality matching rule validator! */
                 rc = value_validate( vrf->vrf_sub_desc->ad_type->sat_equality,                  rc = value_validate( vrf->vrf_sub_desc->ad_type->sat_equality,
                         &value, text );                          &value, text );
Line 1443  get_substring_vrFilter( Line 1461  get_substring_vrFilter(
                 if( rc != LDAP_SUCCESS ) {                  if( rc != LDAP_SUCCESS ) {
                         goto return_error;                          goto return_error;
                 }                  }
   #endif
   
                 value = bv;                  value = bv;
   

Removed from v.1.72.2.11  
changed lines
  Added in v.1.94


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