X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Ffilterentry.c;h=a6528b2877bc4a11841dc6aa5c258c9ee51d6aa9;hb=749404b83fa8dac94c75dc39dce8e5d80cda9a7f;hp=5d1459ca94ead522b88bc3b0c7be431996264b62;hpb=cf50d9436cab84780a671dec2228b847dc03ef74;p=openldap diff --git a/servers/slapd/filterentry.c b/servers/slapd/filterentry.c index 5d1459ca94..a6528b2877 100644 --- a/servers/slapd/filterentry.c +++ b/servers/slapd/filterentry.c @@ -10,16 +10,11 @@ #include "slap.h" -extern Attribute *attr_find(); -extern char *first_word(); -extern char *next_word(); -extern char *phonetic(); - -static int test_filter_list(); -static int test_substring_filter(); -static int test_ava_filter(); -static int test_approx_filter(); -static int test_presence_filter(); +static int test_filter_list(Backend *be, Connection *conn, Operation *op, Entry *e, Filter *flist, int ftype); +static int test_substring_filter(Backend *be, Connection *conn, Operation *op, Entry *e, Filter *f); +static int test_ava_filter(Backend *be, Connection *conn, Operation *op, Entry *e, Ava *ava, int type); +static int test_approx_filter(Backend *be, Connection *conn, Operation *op, Entry *e, Ava *ava); +static int test_presence_filter(Backend *be, Connection *conn, Operation *op, Entry *e, char *type); /* * test_filter - test a filter against a single entry. @@ -93,7 +88,7 @@ test_filter( break; default: - Debug( LDAP_DEBUG_ANY, " unknown filter type %d\n", + Debug( LDAP_DEBUG_ANY, " unknown filter type %lu\n", f->f_choice, 0, 0 ); rc = -1; } @@ -115,8 +110,9 @@ test_ava_filter( int i, rc; Attribute *a; - if ( be != NULL && ! access_allowed( be, conn, op, e, ava->ava_type, - &ava->ava_value, op->o_dn, ACL_SEARCH ) ) { + if ( be != NULL && ! access_allowed( be, conn, op, e, + ava->ava_type, &ava->ava_value, ACL_SEARCH ) ) + { return( -2 ); } @@ -164,8 +160,9 @@ test_presence_filter( char *type ) { - if ( be != NULL && ! access_allowed( be, conn, op, e, type, NULL, - op->o_dn, ACL_SEARCH ) ) { + if ( be != NULL && ! access_allowed( be, conn, op, e, + type, NULL, ACL_SEARCH ) ) + { return( -2 ); } @@ -185,8 +182,9 @@ test_approx_filter( int i, rc, match; Attribute *a; - if ( be != NULL && ! access_allowed( be, conn, op, e, ava->ava_type, - NULL, op->o_dn, ACL_SEARCH ) ) { + if ( be != NULL && ! access_allowed( be, conn, op, e, + ava->ava_type, NULL, ACL_SEARCH ) ) + { return( -2 ); } @@ -321,8 +319,9 @@ test_substring_filter( Debug( LDAP_DEBUG_FILTER, "begin test_substring_filter\n", 0, 0, 0 ); - if ( be != NULL && ! access_allowed( be, conn, op, e, f->f_sub_type, - NULL, op->o_dn, ACL_SEARCH ) ) { + if ( be != NULL && ! access_allowed( be, conn, op, e, + f->f_sub_type, NULL, ACL_SEARCH ) ) + { return( -2 ); }