]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-passwd/init.c
ITS#2607: improve socket() error logging with AF info
[openldap] / servers / slapd / back-passwd / init.c
index eea608c2fca41b670a8ae499e2db29bd633e85ea..a4c2df5e48eec193e75668e71a367296fd4e0373 100644 (file)
@@ -1,4 +1,9 @@
 /* init.c - initialize passwd backend */
+/* $OpenLDAP$ */
+/*
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
 
 #include "portable.h"
 
 #include <ac/socket.h>
 
 #include "slap.h"
-#include "external.h"
+#include "back-passwd.h"
+
+ldap_pvt_thread_mutex_t passwd_mutex;
+
+#ifdef SLAPD_PASSWD_DYNAMIC
+
+int init_module(int argc, char *argv[]) {
+    BackendInfo bi;
+
+    memset( &bi, '\0', sizeof(bi) );
+    bi.bi_type = "passwd";
+    bi.bi_init = passwd_back_initialize;
+
+    backend_add(&bi);
+    return 0;
+}
+
+#endif /* SLAPD_PASSWD_DYNAMIC */
 
 int
 passwd_back_initialize(
     BackendInfo        *bi
 )
 {
-       bi->bi_open = NULL;
-       bi->bi_config = NULL;
-       bi->bi_close = NULL;
-       bi->bi_destroy = NULL;
-
-       bi->bi_db_init = NULL;
-       bi->bi_db_config = NULL;
-       bi->bi_db_open = NULL;
-       bi->bi_db_close = NULL;
-       bi->bi_db_destroy = NULL;
-
-       bi->bi_op_bind = NULL;
-       bi->bi_op_unbind = NULL;
+       ldap_pvt_thread_mutex_init( &passwd_mutex );
+
+       bi->bi_open = 0;
+       bi->bi_config = 0;
+       bi->bi_close = 0;
+       bi->bi_destroy = passwd_back_destroy;
+
+       bi->bi_db_init = 0;
+       bi->bi_db_config = passwd_back_db_config;
+       bi->bi_db_open = 0;
+       bi->bi_db_close = 0;
+       bi->bi_db_destroy = 0;
+
+       bi->bi_op_bind = 0;
+       bi->bi_op_unbind = 0;
        bi->bi_op_search = passwd_back_search;
-       bi->bi_op_compare = NULL;
-       bi->bi_op_modify = NULL;
-       bi->bi_op_modrdn = NULL;
-       bi->bi_op_add = NULL;
-       bi->bi_op_delete = NULL;
-       bi->bi_op_abandon = NULL;
+       bi->bi_op_compare = 0;
+       bi->bi_op_modify = 0;
+       bi->bi_op_modrdn = 0;
+       bi->bi_op_add = 0;
+       bi->bi_op_delete = 0;
+       bi->bi_op_abandon = 0;
+
+       bi->bi_extended = 0;
+
+       bi->bi_chk_referrals = 0;
 
-       bi->bi_acl_group = NULL;
+       bi->bi_connection_init = 0;
+       bi->bi_connection_destroy = 0;
 
        return 0;
 }
+
+int
+passwd_back_destroy(
+       BackendInfo *bi
+)
+{
+       ldap_pvt_thread_mutex_destroy( &passwd_mutex );
+       return 0;
+}