version 1.18, 2000/01/27 23:33:29
|
version 1.19, 2000/01/28 19:01:00
|
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.17 2000/01/25 20:13:31 kurt Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.18 2000/01/27 23:33:29 kurt Exp $ */ |
/* |
/* |
* Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved. |
* Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved. |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file |
Line 260 get_substring_filter(
|
Line 260 get_substring_filter(
|
{ |
{ |
rc = ber_scanf( ber, "O", &val ); |
rc = ber_scanf( ber, "O", &val ); |
if ( rc == LBER_ERROR ) { |
if ( rc == LBER_ERROR ) { |
return( -1 ); |
rc = -1; |
|
goto return_error; |
} |
} |
|
|
if ( val == NULL || val->bv_len == 0 ) { |
if ( val == NULL || val->bv_len == 0 ) { |
ber_bvfree( val ); |
ber_bvfree( val ); |
return( LDAP_INVALID_SYNTAX ); |
rc = LDAP_INVALID_SYNTAX; |
} |
goto return_error; |
|
} |
|
|
|
rc = LDAP_PROTOCOL_ERROR; |
|
|
#ifdef SLAPD_SCHEMA_COMPAT |
#ifdef SLAPD_SCHEMA_COMPAT |
/* we should call a substring syntax normalization routine */ |
/* we should call a substring syntax normalization routine */ |
Line 322 get_substring_filter(
|
Line 327 get_substring_filter(
|
default: |
default: |
Debug( LDAP_DEBUG_FILTER, " unknown type\n", tag, 0, |
Debug( LDAP_DEBUG_FILTER, " unknown type\n", tag, 0, |
0 ); |
0 ); |
|
|
|
ber_bvfree( val ); |
|
|
return_error: |
return_error: |
|
Debug( LDAP_DEBUG_FILTER, " error=%d\n", rc, 0, 0 ); |
|
|
if( fstr ) { |
if( fstr ) { |
free( *fstr ); |
free( *fstr ); |
*fstr = NULL; |
*fstr = NULL; |
Line 332 return_error:
|
Line 342 return_error:
|
ber_bvfree( f->f_sub_initial ); |
ber_bvfree( f->f_sub_initial ); |
ber_bvecfree( f->f_sub_any ); |
ber_bvecfree( f->f_sub_any ); |
ber_bvfree( f->f_sub_final ); |
ber_bvfree( f->f_sub_final ); |
return( LDAP_PROTOCOL_ERROR ); |
return rc; |
} |
} |
} |
} |
|
|