X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-dnssrv%2Finit.c;h=2abd7ffee9d80cb9ea730924827096613464d6ea;hb=60339c7f774099c3e497ad18efcd8304324c30c6;hp=743c17114ea143e6828f680987c1f9c0dc298411;hpb=2c2a54d6d7770df53ce2774abb317eafa48e3c21;p=openldap diff --git a/servers/slapd/back-dnssrv/init.c b/servers/slapd/back-dnssrv/init.c index 743c17114e..2abd7ffee9 100644 --- a/servers/slapd/back-dnssrv/init.c +++ b/servers/slapd/back-dnssrv/init.c @@ -1,8 +1,22 @@ /* init.c - initialize ldap backend */ /* $OpenLDAP$ */ -/* - * Copyright 2000 The OpenLDAP Foundation, All Rights Reserved. - * COPYING RESTRICTIONS APPLY, see COPYRIGHT file +/* This work is part of OpenLDAP Software . + * + * Copyright 2000-2005 The OpenLDAP Foundation. + * Portions Copyright 2000-2003 Kurt D. Zeilenga. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . + */ +/* ACKNOWLEDGEMENTS: + * This work was originally developed by Kurt D. Zeilenga for inclusion + * in OpenLDAP Software. */ #include "portable.h" @@ -12,104 +26,87 @@ #include #include "slap.h" -#include "back-dnssrv.h" - -#ifdef SLAPD_DNSSRV_DYNAMIC - -int back_dnssrv_LTX_init_module(int argc, char *argv[]) { - BackendInfo bi; - - memset( &bi, 0, sizeof(bi) ); - bi.bi_type = "dnssrv"; - bi.bi_init = dnssrv_back_initialize; - - backend_add(&bi); - return 0; -} - -#endif /* SLAPD_DNSSRV_DYNAMIC */ +#include "proto-dnssrv.h" int dnssrv_back_initialize( - BackendInfo *bi -) + BackendInfo *bi ) { - bi->bi_open = 0; + static char *controls[] = { + LDAP_CONTROL_MANAGEDSAIT, + NULL + }; + + bi->bi_controls = controls; + + bi->bi_open = dnssrv_back_open; bi->bi_config = 0; bi->bi_close = 0; bi->bi_destroy = 0; - bi->bi_db_init = dnssrv_back_db_init; + bi->bi_db_init = 0; + bi->bi_db_destroy = 0; bi->bi_db_config = dnssrv_back_db_config; bi->bi_db_open = 0; bi->bi_db_close = 0; - bi->bi_db_destroy = dnssrv_back_db_destroy; + + bi->bi_chk_referrals = dnssrv_back_referrals; bi->bi_op_bind = dnssrv_back_bind; - bi->bi_op_unbind = 0; bi->bi_op_search = dnssrv_back_search; - bi->bi_op_compare = dnssrv_back_compare; - bi->bi_op_modify = dnssrv_back_modify; - bi->bi_op_modrdn = dnssrv_back_modrdn; - bi->bi_op_add = dnssrv_back_add; - bi->bi_op_delete = dnssrv_back_delete; + bi->bi_op_compare = 0 /* dnssrv_back_compare */; + 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_op_unbind = 0; bi->bi_extended = 0; - bi->bi_acl_group = 0; - -#ifdef HAVE_CYRUS_SASL - bi->bi_sasl_authorize = 0; - bi->bi_sasl_getsecret = 0; - bi->bi_sasl_putsecret = 0; -#endif /* HAVE_CYRUS_SASL */ - bi->bi_connection_init = 0; bi->bi_connection_destroy = 0; +#ifdef SLAP_OVERLAY_ACCESS + bi->bi_access_allowed = slap_access_always_allowed; +#endif /* SLAP_OVERLAY_ACCESS */ + return 0; } +AttributeDescription *ad_dc; +AttributeDescription *ad_associatedDomain; + int -dnssrv_back_db_init( - Backend *be -) +dnssrv_back_open( + BackendInfo *bi ) { -#if 0 - struct ldapinfo *li; + const char *text; - li = (struct ldapinfo *) ch_calloc( 1, sizeof(struct ldapinfo) ); - ldap_pvt_thread_mutex_init( &li->conn_mutex ); + (void)slap_str2ad( "dc", &ad_dc, &text ); + (void)slap_str2ad( "associatedDomain", &ad_associatedDomain, &text ); - be->be_private = li; + return 0; +} - return li == NULL; -#else +int +dnssrv_back_db_init( + Backend *be ) +{ return 0; -#endif } int dnssrv_back_db_destroy( - Backend *be -) + Backend *be ) { -#if 0 - struct ldapinfo *li; - - if (be->be_private) { - li = (struct ldapinfo *)be->be_private; - if (li->host) { - free(li->host); - li->host = NULL; - } - ldap_pvt_thread_mutex_destroy( &li->conn_mutex ); - } - - free( be->be_private ); - return 0; -#else return 0; -#endif } + +#if SLAPD_DNSSRV == SLAPD_MOD_DYNAMIC + +/* conditionally define the init_module() function */ +SLAP_BACKEND_INIT_MODULE( dnssrv ) + +#endif /* SLAPD_DNSSRV == SLAPD_MOD_DYNAMIC */ +