]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-meta/init.c
first step towards removing back-*/external.h
[openldap] / servers / slapd / back-meta / init.c
index 2c1f4cf506f1ca7feda8a4d0550e9bade6c39138..d173e6e1de04c90f28cb029d8e922c45626ce2c5 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2003 The OpenLDAP Foundation.
+ * Copyright 1999-2004 The OpenLDAP Foundation.
  * Portions Copyright 2001-2003 Pierangelo Masarati.
  * Portions Copyright 1999-2003 Howard Chu.
  * All rights reserved.
 #include "slap.h"
 #include "../back-ldap/back-ldap.h"
 #include "back-meta.h"
-
-#ifdef SLAPD_META_DYNAMIC
+#include "external.h"
 
 int
-init_module( int argc, char *argv[] ) {
-    BackendInfo bi;
-
-    memset( &bi, '\0', sizeof( bi ) );
-    bi.bi_type = "meta";
-    bi.bi_init = meta_back_initialize;
-
-    backend_add( &bi );
-    return 0;
+meta_back_open(
+       BackendInfo *bi
+)
+{
+       bi->bi_controls = slap_known_controls;
+       return 0;
 }
 
-#endif /* SLAPD_META_DYNAMIC */
-
 int
 meta_back_initialize(
                BackendInfo     *bi
 )
 {
-       bi->bi_controls = slap_known_controls;
-
-       bi->bi_open = 0;
+       bi->bi_open = meta_back_open;
        bi->bi_config = 0;
        bi->bi_close = 0;
        bi->bi_destroy = 0;
@@ -138,6 +130,15 @@ conn_free(
        free( lc );
 }
 
+static void
+mapping_free( void *v_mapping )
+{
+       struct ldapmapping *mapping = v_mapping;
+       ch_free( mapping->src.bv_val );
+       ch_free( mapping->dst.bv_val );
+       ch_free( mapping );
+}
+
 static void
 target_free(
                struct metatarget *lt
@@ -221,3 +222,22 @@ meta_back_db_destroy(
        return 0;
 }
 
+#if SLAPD_META == SLAPD_MOD_DYNAMIC
+
+int
+init_module( int argc, char *argv[] )
+{
+       BackendInfo bi;
+
+       memset( &bi, '\0', sizeof( bi ) );
+       bi.bi_type = "meta";
+       bi.bi_init = meta_back_initialize;
+
+       backend_add( &bi );
+
+       return 0;
+}
+
+#endif /* SLAPD_META */
+
+