From: Pierangelo Masarati Date: Tue, 4 Aug 2009 23:27:52 +0000 (+0000) Subject: use back-config if supported X-Git-Tag: ACLCHECK_0~359 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1f33edc08eae4ec008b7cd697539eb31b2808c63;p=openldap use back-config if supported --- diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 024fb538b0..c40825d836 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -3245,7 +3245,32 @@ pc_cf_gen( ConfigArgs *c ) return( 1 ); } - if ( cm->db.be_config != NULL ) { + if ( cm->db.bd_info->bi_cf_ocs ) { + ConfigTable *ct; + ConfigArgs c2 = *c; + char *argv0 = c->argv[ 0 ]; + + c->argv[ 0 ] = &argv0[ STRLENOF( "proxycache-" ) ]; + + ct = config_find_keyword( cm->db.bd_info->bi_cf_ocs->co_table, c ); + if ( ct == NULL ) { + rc = 1; + + } else { + c->table = cm->db.bd_info->bi_cf_ocs->co_type; + c->be = &cm->db; + c->bi = c->be->bd_info; + + rc = config_add_vals( ct, c ); + + c->bi = c2.bi; + c->be = c2.be; + c->table = c2.table; + } + + c->argv[ 0 ] = argv0; + + } else if ( cm->db.be_config != NULL ) { char *argv0 = c->argv[ 0 ]; c->argv[ 0 ] = &argv0[ STRLENOF( "proxycache-" ) ];