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:;