Diff for /servers/slapd/filter.c between versions 1.115 and 1.115.2.4

version 1.115, 2003/04/29 18:40:26 version 1.115.2.4, 2004/01/17 18:36:42
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.114 2003/04/29 18:12:00 hallvard Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.115.2.3 2004/01/01 18:16:33 kurt Exp $ */
 /*  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.   *
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * Copyright 1998-2004 The OpenLDAP Foundation.
    * All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted only as authorized by the OpenLDAP
    * Public License.
    *
    * A copy of this license is available in the file LICENSE in the
    * top-level directory of the distribution or, alternatively, at
    * <http://www.OpenLDAP.org/license.html>.
    */
   /* Portions Copyright (c) 1995 Regents of the University of Michigan.
    * All rights reserved.
    *
    * Redistribution and use in source and binary forms are permitted
    * provided that this notice is preserved and that due credit is given
    * to the University of Michigan at Ann Arbor. The name of the University
    * may not be used to endorse or promote products derived from this
    * software without specific prior written permission. This software
    * is provided ``as is'' without express or implied warranty.
  */   */
   
 #include "portable.h"  #include "portable.h"
Line 26  static int get_ssa( Line 45  static int get_ssa(
         SubstringsAssertion **s,          SubstringsAssertion **s,
         const char **text );          const char **text );
   
   static int filter_escape_value_x(
           struct berval *in,
           struct berval *out,
           void *ctx );
   
 static void simple_vrFilter2bv(  static void simple_vrFilter2bv(
         Operation *op,          Operation *op,
         ValuesReturnFilter *f,          ValuesReturnFilter *f,
Line 377  get_ssa( Line 401  get_ssa(
         SubstringsAssertion ssa;          SubstringsAssertion ssa;
   
         *text = "error decoding filter";          *text = "error decoding filter";
           *out = NULL;
   
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
         LDAP_LOG( FILTER, ENTRY,           LDAP_LOG( FILTER, ENTRY, 
Line 565  return_error: Line 590  return_error:
         Debug( LDAP_DEBUG_FILTER, "end get_ssa\n", 0, 0, 0 );          Debug( LDAP_DEBUG_FILTER, "end get_ssa\n", 0, 0, 0 );
 #endif  #endif
   
         return LDAP_SUCCESS;          return rc /* LDAP_SUCCESS */ ;
 }  }
   
 void  void
Line 642  filter_free( Filter *f ) Line 667  filter_free( Filter *f )
 void  void
 filter2bv_x( Operation *op, Filter *f, struct berval *fstr )  filter2bv_x( Operation *op, Filter *f, struct berval *fstr )
 {  {
         int     i;          int             i;
         Filter  *p;          Filter          *p;
         struct berval tmp;          struct berval   tmp,
         ber_len_t len;                          ber_bvfalse = BER_BVC( "(?=false)" ),
                           ber_bvtrue = BER_BVC( "(?=true)" ),
                           ber_bvundefined = BER_BVC( "(?=undefined)" ),
                           ber_bverror = BER_BVC( "(?=error)" ),
                           ber_bvunknown = BER_BVC( "(?=unknown)" );
           ber_len_t       len;
   
         if ( f == NULL ) {          if ( f == NULL ) {
                 ber_str2bv_x( "No filter!", sizeof("No filter!")-1, 1, fstr, op->o_tmpmemctx );                  ber_str2bv_x( "No filter!", sizeof("No filter!")-1, 1, fstr, op->o_tmpmemctx );
Line 825  filter2bv_x( Operation *op, Filter *f, s Line 855  filter2bv_x( Operation *op, Filter *f, s
                 } break;                  } break;
   
         case SLAPD_FILTER_COMPUTED:          case SLAPD_FILTER_COMPUTED:
                 ber_str2bv_x(                  switch ( f->f_result ) {
                         f->f_result == LDAP_COMPARE_FALSE ? "(?=false)" :                  case LDAP_COMPARE_FALSE:
                         f->f_result == LDAP_COMPARE_TRUE ? "(?=true)" :                          tmp = ber_bvfalse;
                         f->f_result == SLAPD_COMPARE_UNDEFINED ? "(?=undefined)" :                          break;
                         "(?=error)",  
                         f->f_result == LDAP_COMPARE_FALSE ? sizeof("(?=false)")-1 :                  case LDAP_COMPARE_TRUE:
                         f->f_result == LDAP_COMPARE_TRUE ? sizeof("(?=true)")-1 :                          tmp = ber_bvtrue;
                         f->f_result == SLAPD_COMPARE_UNDEFINED ? sizeof("(?=undefined)")-1 :                          break;
                         sizeof("(?=error)")-1,                          
                         1, fstr, op->o_tmpmemctx );                  case SLAPD_COMPARE_UNDEFINED:
                 break;                          tmp = ber_bvundefined;
                           break;
                           
                   default:
                           tmp = ber_bverror;
                           break;
                   }
   
                   ber_dupbv_x( fstr, &tmp, op->o_tmpmemctx );
                   break;
                   
         default:          default:
                 ber_str2bv_x( "(?=unknown)", sizeof("(?=unknown)")-1,                  ber_dupbv_x( fstr, &ber_bvunknown, op->o_tmpmemctx );
                         1, fstr, op->o_tmpmemctx );  
                 break;                  break;
         }          }
 }  }
Line 854  filter2bv( Filter *f, struct berval *fst Line 892  filter2bv( Filter *f, struct berval *fst
         filter2bv_x( &op, f, fstr );          filter2bv_x( &op, f, fstr );
 }  }
   
 int  static int
 filter_escape_value_x(  filter_escape_value_x(
         struct berval *in,          struct berval *in,
         struct berval *out,          struct berval *out,

Removed from v.1.115  
changed lines
  Added in v.1.115.2.4


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