X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Foverlays%2Fpcache.c;h=1fa8d1ede429d10ce96fb3f1faf6c5f0ab386083;hb=1da5f1faf052e05c1a23b1663aed1d2cabca5008;hp=8052304b944917ea359ff887a32d9153a00a3ec8;hpb=7ff8baf1d365dd13d082c03c06d991049c424b9a;p=openldap
diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c
index 8052304b94..1fa8d1ede4 100644
--- a/servers/slapd/overlays/pcache.c
+++ b/servers/slapd/overlays/pcache.c
@@ -1,7 +1,7 @@
/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software .
*
- * Copyright 2003-2012 The OpenLDAP Foundation.
+ * Copyright 2003-2013 The OpenLDAP Foundation.
* Portions Copyright 2003 IBM Corporation.
* Portions Copyright 2003-2009 Symas Corporation.
* All rights reserved.
@@ -2438,6 +2438,7 @@ pcache_response(
if ( si->swap_saved_attrs ) {
rs->sr_attrs = si->save_attrs;
+ rs->sr_attr_flags = slap_attr_flags( si->save_attrs );
op->ors_attrs = si->save_attrs;
}
@@ -3210,6 +3211,10 @@ get_attr_set(
int found = 1;
if ( count > qm->attr_sets[i].count ) {
+ if ( qm->attr_sets[i].count &&
+ bvmatch( &qm->attr_sets[i].attrs[0].an_name, slap_bv_all_user_attrs )) {
+ break;
+ }
continue;
}
@@ -3655,6 +3660,7 @@ static ConfigTable pccfg[] = {
2, 0, 0, ARG_MAGIC|PC_ATTR, pc_cf_gen,
"( OLcfgOvAt:2.2 NAME ( 'olcPcacheAttrset' 'olcProxyAttrset' ) "
"DESC 'A set of attributes to cache' "
+ "EQUALITY caseIgnoreMatch "
"SYNTAX OMsDirectoryString )", NULL, NULL },
{ "pcacheTemplate", "filter> "
" register_overlay( be, on, &cm->monitor_ndn );
if ( rc == 0 ) {
rc = mbe->register_entry_attrs( &cm->monitor_ndn, a, cb,
- &dummy, -1, &dummy);
+ NULL, -1, NULL);
}
cleanup:;