From: Kurt Zeilenga Date: Thu, 22 Jul 1999 20:19:18 +0000 (+0000) Subject: Fix "*" op-attr search X-Git-Tag: OPENLDAP_REL_ENG_2_BP~59 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=983f43785b6ffdfddac5c799c8ffe984d53d5b6f;p=openldap Fix "*" op-attr search --- diff --git a/servers/slapd/result.c b/servers/slapd/result.c index 514a0724e8..26f2af95ba 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -545,8 +545,7 @@ send_search_entry( } /* check for special all user attributes ("*") attribute */ - allattrs = attrs == NULL - ? 1 + allattrs = ( attrs == NULL ) ? 1 : charray_inlist( attrs, LDAP_ALL_USER_ATTRIBUTES ); for ( a = e->e_attrs; a != NULL; a = a->a_next ) { @@ -560,7 +559,17 @@ send_search_entry( } else { /* specific addrs requested */ - if ( !allattrs && !charray_inlist( attrs, a->a_type ) ) { + if ( allattrs ) { + /* user requested all user attributes */ + /* if operational, make sure it's in list */ + + if( oc_check_operational_attr( a->a_type ) + && !charray_inlist( attrs, a->a_type ) ) + { + continue; + } + + } else if ( !charray_inlist( attrs, a->a_type ) ) { continue; } }