int meta_back_db_init( Backend *be, ConfigReply *cr) { metainfo_t *mi; int i; BackendInfo *bi; bi = backend_info( "ldap" ); if ( !bi || !bi->bi_extra ) { Debug( LDAP_DEBUG_ANY, "meta_back_db_init: needs back-ldap\n" ); return 1; } mi = ch_calloc( 1, sizeof( metainfo_t ) ); if ( mi == NULL ) { return -1; } /* set default flags */ mi->mi_flags = META_BACK_F_DEFER_ROOTDN_BIND | META_BACK_F_PROXYAUTHZ_ALWAYS | META_BACK_F_PROXYAUTHZ_ANON | META_BACK_F_PROXYAUTHZ_NOANON; /* * At present the default is no default target; * this may change */ mi->mi_defaulttarget = META_DEFAULT_TARGET_NONE; mi->mi_bind_timeout.tv_sec = 0; mi->mi_bind_timeout.tv_usec = META_BIND_TIMEOUT; mi->mi_rebind_f = meta_back_default_rebind; mi->mi_urllist_f = meta_back_default_urllist; ldap_pvt_thread_mutex_init( &mi->mi_conninfo.lai_mutex ); ldap_pvt_thread_mutex_init( &mi->mi_cache.mutex ); /* safe default */ mi->mi_nretries = META_RETRY_DEFAULT; mi->mi_version = LDAP_VERSION3; for ( i = LDAP_BACK_PCONN_FIRST; i < LDAP_BACK_PCONN_LAST; i++ ) { mi->mi_conn_priv[ i ].mic_num = 0; LDAP_TAILQ_INIT( &mi->mi_conn_priv[ i ].mic_priv ); } mi->mi_conn_priv_max = LDAP_BACK_CONN_PRIV_DEFAULT; mi->mi_ldap_extra = (ldap_extra_t *)bi->bi_extra; be->be_private = mi; be->be_cf_ocs = be->bd_info->bi_cf_ocs; return 0; }
int meta_back_db_init( Backend *be, ConfigReply *cr) { metainfo_t *mi; int i; mi = ch_calloc( 1, sizeof( metainfo_t ) ); if ( mi == NULL ) { return -1; } /* set default flags */ mi->mi_flags = META_BACK_F_DEFER_ROOTDN_BIND; /* * At present the default is no default target; * this may change */ mi->mi_defaulttarget = META_DEFAULT_TARGET_NONE; mi->mi_bind_timeout.tv_sec = 0; mi->mi_bind_timeout.tv_usec = META_BIND_TIMEOUT; mi->mi_rebind_f = meta_back_default_rebind; mi->mi_urllist_f = meta_back_default_urllist; ldap_pvt_thread_mutex_init( &mi->mi_conninfo.lai_mutex ); ldap_pvt_thread_mutex_init( &mi->mi_cache.mutex ); /* safe default */ mi->mi_nretries = META_RETRY_DEFAULT; mi->mi_version = LDAP_VERSION3; for ( i = LDAP_BACK_PCONN_FIRST; i < LDAP_BACK_PCONN_LAST; i++ ) { mi->mi_conn_priv[ i ].mic_num = 0; LDAP_TAILQ_INIT( &mi->mi_conn_priv[ i ].mic_priv ); } mi->mi_conn_priv_max = LDAP_BACK_CONN_PRIV_DEFAULT; be->be_private = mi; return 0; }
int ldap_back_db_init( Backend *be, ConfigReply *cr ) { ldapinfo_t *li; int rc; unsigned i; li = (ldapinfo_t *)ch_calloc( 1, sizeof( ldapinfo_t ) ); if ( li == NULL ) { return -1; } li->li_rebind_f = ldap_back_default_rebind; li->li_urllist_f = ldap_back_default_urllist; li->li_urllist_p = li; ldap_pvt_thread_mutex_init( &li->li_uri_mutex ); BER_BVZERO( &li->li_acl_authcID ); BER_BVZERO( &li->li_acl_authcDN ); BER_BVZERO( &li->li_acl_passwd ); li->li_acl_authmethod = LDAP_AUTH_NONE; BER_BVZERO( &li->li_acl_sasl_mech ); li->li_acl.sb_tls = SB_TLS_DEFAULT; li->li_idassert_mode = LDAP_BACK_IDASSERT_LEGACY; BER_BVZERO( &li->li_idassert_authcID ); BER_BVZERO( &li->li_idassert_authcDN ); BER_BVZERO( &li->li_idassert_passwd ); BER_BVZERO( &li->li_idassert_authzID ); li->li_idassert_authmethod = LDAP_AUTH_NONE; BER_BVZERO( &li->li_idassert_sasl_mech ); li->li_idassert_tls = SB_TLS_DEFAULT; /* by default, use proxyAuthz control on each operation */ li->li_idassert_flags = LDAP_BACK_AUTH_PRESCRIPTIVE; li->li_idassert_authz = NULL; /* initialize flags */ li->li_flags = LDAP_BACK_F_CHASE_REFERRALS; /* initialize version */ li->li_version = LDAP_VERSION3; ldap_pvt_thread_mutex_init( &li->li_conninfo.lai_mutex ); for ( i = LDAP_BACK_PCONN_FIRST; i < LDAP_BACK_PCONN_LAST; i++ ) { li->li_conn_priv[ i ].lic_num = 0; LDAP_TAILQ_INIT( &li->li_conn_priv[ i ].lic_priv ); } li->li_conn_priv_max = LDAP_BACK_CONN_PRIV_DEFAULT; be->be_private = li; SLAP_DBFLAGS( be ) |= SLAP_DBFLAG_NOLASTMOD; be->be_cf_ocs = be->bd_info->bi_cf_ocs; rc = ldap_back_monitor_db_init( be ); if ( rc != 0 ) { /* ignore, by now */ rc = 0; } return rc; }