X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Foverlays%2Foverlays.c;h=d01e73b84e5945019a6911690d8ab43f86161acd;hb=200af921f4f1de43d89ba587d711ee9fc739e1bb;hp=3d7851bc8635553f425eb93701f15a705c1c40b0;hpb=af71dbc4a81c4d52cac71be6fb5d42dc62a65221;p=openldap diff --git a/servers/slapd/overlays/overlays.c b/servers/slapd/overlays/overlays.c index 3d7851bc86..d01e73b84e 100644 --- a/servers/slapd/overlays/overlays.c +++ b/servers/slapd/overlays/overlays.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2004 The OpenLDAP Foundation. + * Copyright 2003-2011 The OpenLDAP Foundation. * Copyright 2003 by Howard Chu. * All rights reserved. * @@ -23,68 +23,22 @@ #include "slap.h" - -#if SLAPD_OVER_CHAIN == SLAPD_MOD_STATIC -extern int chain_init(); -#endif -#if SLAPD_OVER_DENYOP == SLAPD_MOD_STATIC -extern int denyop_init(); -#endif -#if SLAPD_OVER_DYNGROUP == SLAPD_MOD_STATIC -extern int dyngroup_init(); -#endif -#if SLAPD_OVER_LASTMOD == SLAPD_MOD_STATIC -extern int lastmod_init(); -#endif -#if SLAPD_OVER_PROXYCACHE == SLAPD_MOD_STATIC -extern int pcache_init(); -#endif -#if SLAPD_OVER_RWM == SLAPD_MOD_STATIC -extern int rwm_init(); -#endif - -static struct { - char *name; - int (*func)(); -} funcs[] = { -#if SLAPD_OVER_CHAIN == SLAPD_MOD_STATIC - { "LDAP Chain Response", chain_init }, -#endif -#if SLAPD_OVER_DENYOP == SLAPD_MOD_STATIC - { "Deny Operation", denyop_init }, -#endif -#if SLAPD_OVER_DYNGROUP == SLAPD_MOD_STATIC - { "Dynamic Group", dyngroup_init }, -#endif -#if SLAPD_OVER_LASTMOD == SLAPD_MOD_STATIC - { "Last Modification", lastmod_init }, -#endif -#if SLAPD_OVER_PROXYCACHE == SLAPD_MOD_STATIC - { "Proxy Cache", pcache_init }, -#endif -#if SLAPD_OVER_RWM == SLAPD_MOD_STATIC - { "Rewrite/Remap", rwm_init }, -#endif - { NULL, NULL } -}; +extern OverlayInit slap_oinfo[]; int overlay_init(void) { int i, rc = 0; - for ( i=0; funcs[i].name; i++ ) { - rc = funcs[i].func(); + for ( i= 0 ; slap_oinfo[i].ov_type; i++ ) { + rc = slap_oinfo[i].ov_init(); if ( rc ) { -#ifdef NEW_LOGGING - LDAP_LOG( BACKEND, ERR, - "%s overlay setup failed, err %d\n", funcs[i].name, rc, 0 ); -#else Debug( LDAP_DEBUG_ANY, - "%s overlay setup failed, err %d\n", funcs[i].name, rc, 0 ); -#endif + "%s overlay setup failed, err %d\n", + slap_oinfo[i].ov_type, rc, 0 ); break; } } + return rc; }