mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
fix some ava bugs
This commit is contained in:
parent
185ff129b5
commit
7b8c4c3b50
@ -110,7 +110,7 @@ meta_back_compare(
|
|||||||
for ( i = 0, lsc = lc->conns; lsc[ 0 ] != NULL; ++i, ++lsc ) {
|
for ( i = 0, lsc = lc->conns; lsc[ 0 ] != NULL; ++i, ++lsc ) {
|
||||||
char *mdn = NULL;
|
char *mdn = NULL;
|
||||||
char *mapped_attr = ava->aa_desc->ad_cname.bv_val;
|
char *mapped_attr = ava->aa_desc->ad_cname.bv_val;
|
||||||
char *mapped_value = ava->aa_value->bv_val;
|
char *mapped_value = ava->aa_value.bv_val;
|
||||||
|
|
||||||
if ( lsc[ 0 ]->candidate != META_CANDIDATE ) {
|
if ( lsc[ 0 ]->candidate != META_CANDIDATE ) {
|
||||||
continue;
|
continue;
|
||||||
@ -156,7 +156,7 @@ meta_back_compare(
|
|||||||
if ( ava->aa_desc->ad_type->sat_oid
|
if ( ava->aa_desc->ad_type->sat_oid
|
||||||
== slap_schema.si_ad_objectClass->ad_type->sat_oid ) {
|
== slap_schema.si_ad_objectClass->ad_type->sat_oid ) {
|
||||||
mapped_value = ldap_back_map( &li->targets[ i ]->oc_map,
|
mapped_value = ldap_back_map( &li->targets[ i ]->oc_map,
|
||||||
ava->aa_value->bv_val, 0 );
|
ava->aa_value.bv_val, 0 );
|
||||||
|
|
||||||
if ( mapped_value == NULL ) {
|
if ( mapped_value == NULL ) {
|
||||||
lsc[ 0 ]->candidate = META_NOT_CANDIDATE;
|
lsc[ 0 ]->candidate = META_NOT_CANDIDATE;
|
||||||
@ -192,7 +192,7 @@ meta_back_compare(
|
|||||||
if ( mapped_attr != ava->aa_desc->ad_cname.bv_val ) {
|
if ( mapped_attr != ava->aa_desc->ad_cname.bv_val ) {
|
||||||
free( mapped_attr );
|
free( mapped_attr );
|
||||||
}
|
}
|
||||||
if ( mapped_value != ava->aa_value->bv_val ) {
|
if ( mapped_value != ava->aa_value.bv_val ) {
|
||||||
free( mapped_value );
|
free( mapped_value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ monitor_back_compare(
|
|||||||
}
|
}
|
||||||
|
|
||||||
rc = access_allowed( be, conn, op, e, ava->aa_desc,
|
rc = access_allowed( be, conn, op, e, ava->aa_desc,
|
||||||
ava->aa_value, ACL_COMPARE );
|
&ava->aa_value, ACL_COMPARE );
|
||||||
if ( !rc ) {
|
if ( !rc ) {
|
||||||
send_ldap_result( conn, op, LDAP_INSUFFICIENT_ACCESS,
|
send_ldap_result( conn, op, LDAP_INSUFFICIENT_ACCESS,
|
||||||
NULL, NULL, NULL, NULL );
|
NULL, NULL, NULL, NULL );
|
||||||
@ -84,7 +84,7 @@ monitor_back_compare(
|
|||||||
a = attrs_find( a->a_next, ava->aa_desc )) {
|
a = attrs_find( a->a_next, ava->aa_desc )) {
|
||||||
rc = LDAP_COMPARE_FALSE;
|
rc = LDAP_COMPARE_FALSE;
|
||||||
|
|
||||||
if ( value_find( ava->aa_desc, a->a_vals, ava->aa_value ) == 0 ) {
|
if ( value_find( ava->aa_desc, a->a_vals, &ava->aa_value ) == 0 ) {
|
||||||
rc = LDAP_COMPARE_TRUE;
|
rc = LDAP_COMPARE_TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user