Diff for /servers/slapd/filter.c between versions 1.72.2.10 and 1.96

version 1.72.2.10, 2003/03/12 20:58:48 version 1.96, 2003/03/16 05:41:53
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.9 2003/02/09 16:31:36 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.95 2003/03/15 22:59:14 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 40  static int get_simple_vrFilter( Line 36  static int get_simple_vrFilter(
         ValuesReturnFilter **f,          ValuesReturnFilter **f,
         const char **text );          const char **text );
   
   #ifdef SLAP_NVALUES
   #define XXX 1
   #endif
   
 int  int
 get_filter(  get_filter(
Line 128  get_filter( Line 127  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 144  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 158  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 199  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 213  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
   #ifdef XXX
                   assert( f->f_and != NULL );
   #endif
                 break;                  break;
   
         case LDAP_FILTER_OR:          case LDAP_FILTER_OR:
Line 249  get_filter( Line 258  get_filter(
                         break;                          break;
                 }                  }
   
   #ifdef XXX
                 assert( f->f_mra != NULL );                  assert( f->f_mra != NULL );
   #endif
                 break;                  break;
   
         default:          default:
Line 310  get_filter_list( Connection *conn, BerEl Line 321  get_filter_list( Connection *conn, BerEl
         Debug( LDAP_DEBUG_FILTER, "begin get_filter_list\n", 0, 0, 0 );          Debug( LDAP_DEBUG_FILTER, "begin get_filter_list\n", 0, 0, 0 );
 #endif  #endif
         new = f;          new = f;
         for ( tag = ber_first_element( ber, &len, &last ); tag != LBER_DEFAULT;          for ( tag = ber_first_element( ber, &len, &last );
                   tag != LBER_DEFAULT;
                 tag = ber_next_element( ber, &len, last ) )                  tag = ber_next_element( ber, &len, last ) )
         {          {
                 err = get_filter( conn, ber, new, text );                  err = get_filter( conn, ber, new, text );
Line 414  get_substring_filter( Line 426  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 426  get_substring_filter( Line 447  get_substring_filter(
                 if( rc != LDAP_SUCCESS ) {                  if( rc != LDAP_SUCCESS ) {
                         goto return_error;                          goto return_error;
                 }                  }
   #endif
   
                 value = bv;                  value = bv;
   
Line 787  filter2bv( Filter *f, struct berval *fst Line 809  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 1423  get_substring_vrFilter( Line 1446  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 1435  get_substring_vrFilter( Line 1467  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.10  
changed lines
  Added in v.1.96


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