]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/overlays.c
fix ITS#3788: don't free slapo-rwm callback, rather reuse it
[openldap] / servers / slapd / overlays / overlays.c
index 74e6217f56cdb7069aae305c8c3feb55c2b4d871..e83bf7a152ee396459a7125b01f4088e7a383fd8 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2003-2004 The OpenLDAP Foundation.
+ * Copyright 2003-2005 The OpenLDAP Foundation.
  * Copyright 2003 by Howard Chu.
  * All rights reserved.
  *
 
 #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_DYNLIST == SLAPD_MOD_STATIC
+extern int dynlist_init();
+#endif
+#if SLAPD_OVER_GLUE == SLAPD_MOD_STATIC
+extern int glue_init();
+#endif
 #if SLAPD_OVER_LASTMOD == SLAPD_MOD_STATIC
 extern int lastmod_init();
 #endif
@@ -48,6 +50,12 @@ extern int refint_init();
 #if SLAPD_OVER_RWM == SLAPD_MOD_STATIC
 extern int rwm_init();
 #endif
+#if SLAPD_OVER_SYNCPROV == SLAPD_MOD_STATIC
+extern int syncprov_init();
+#endif
+#if SLAPD_OVER_TRANSLUCENT == SLAPD_MOD_STATIC
+extern int translucent_init();
+#endif
 #if SLAPD_OVER_UNIQUE == SLAPD_MOD_STATIC
 extern int unique_init();
 #endif
@@ -56,15 +64,18 @@ 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_DYNLIST == SLAPD_MOD_STATIC
+       { "Dynamic List", dynlist_init },
+#endif
+#if SLAPD_OVER_GLUE == SLAPD_MOD_STATIC
+       { "Backend Glue", glue_init },
+#endif
 #if SLAPD_OVER_LASTMOD == SLAPD_MOD_STATIC
        { "Last Modification", lastmod_init },
 #endif
@@ -80,6 +91,12 @@ static struct {
 #if SLAPD_OVER_RWM == SLAPD_MOD_STATIC
        { "Rewrite/Remap", rwm_init },
 #endif
+#if SLAPD_OVER_SYNCPROV == SLAPD_MOD_STATIC
+       { "Syncrepl Provider", syncprov_init },
+#endif
+#if SLAPD_OVER_TRANSLUCENT == SLAPD_MOD_STATIC
+       { "Translucent Proxy", translucent_init },
+#endif
 #if SLAPD_OVER_UNIQUE == SLAPD_MOD_STATIC
        { "Attribute Uniqueness", unique_init },
 #endif
@@ -94,13 +111,8 @@ overlay_init(void)
        for ( i=0; funcs[i].name; i++ ) {
                rc = funcs[i].func();
                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
                        break;
                }
        }