X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-meta%2Finit.c;h=d173e6e1de04c90f28cb029d8e922c45626ce2c5;hb=9c550e7235830af9d031d8d7ba86b87f36dcc99f;hp=2c1f4cf506f1ca7feda8a4d0550e9bade6c39138;hpb=fbba83b20f3a645b2dc19b8ec4a0026f71f5b15c;p=openldap diff --git a/servers/slapd/back-meta/init.c b/servers/slapd/back-meta/init.c index 2c1f4cf506..d173e6e1de 100644 --- a/servers/slapd/back-meta/init.c +++ b/servers/slapd/back-meta/init.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * 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. @@ -25,31 +25,23 @@ #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 */ + +