mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-27 18:19:52 -05:00
SLAPD_SCHEMA_NOT_COMPAT: Add more three value filter logic code
This commit is contained in:
parent
3657e63a17
commit
6ddde55964
2 changed files with 16 additions and 4 deletions
|
|
@ -312,17 +312,28 @@ get_filter(
|
|||
break;
|
||||
}
|
||||
|
||||
free( ftmp );
|
||||
|
||||
if ( err != LDAP_SUCCESS ) {
|
||||
free( (char *) f );
|
||||
if ( *fstr != NULL ) {
|
||||
free( *fstr );
|
||||
}
|
||||
|
||||
if( err != SLAPD_DISCONNECT ) {
|
||||
/* ignore error */
|
||||
f->f_choice = SLAPD_FILTER_COMPUTED;
|
||||
f->f_result = SLAPD_COMPARE_UNDEFINED;
|
||||
*fstr = ch_strdup( "(badfilter)" );
|
||||
err = LDAP_SUCCESS;
|
||||
*filt = f;
|
||||
|
||||
} else {
|
||||
free(f);
|
||||
}
|
||||
} else {
|
||||
*filt = f;
|
||||
}
|
||||
|
||||
free( ftmp );
|
||||
|
||||
Debug( LDAP_DEBUG_FILTER, "end get_filter %d\n", err, 0, 0 );
|
||||
return( err );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,7 +114,8 @@ do_search(
|
|||
attrsonly);
|
||||
|
||||
/* filter - returns a "normalized" version */
|
||||
if ( (rc = get_filter( conn, op->o_ber, &filter, &fstr, &text )) != LDAP_SUCCESS ) {
|
||||
rc = get_filter( conn, op->o_ber, &filter, &fstr, &text );
|
||||
if( rc != LDAP_SUCCESS ) {
|
||||
if( rc == SLAPD_DISCONNECT ) {
|
||||
send_ldap_disconnect( conn, op,
|
||||
LDAP_PROTOCOL_ERROR, text );
|
||||
|
|
|
|||
Loading…
Reference in a new issue