Commit 40a2db88 authored by Howard Chu's avatar Howard Chu Committed by Quanah Gibson-Mount
Browse files

More for prev commit (270ef33a)

parent b61bada0
......@@ -36,7 +36,13 @@
#include "lutil.h"
struct ldapoptions ldap_int_global_options =
{ LDAP_UNINITIALIZED, LDAP_DEBUG_NONE LDAP_LDO_MUTEX_NULLARG };
{ LDAP_UNINITIALIZED, LDAP_DEBUG_NONE
LDAP_LDO_NULLARG
LDAP_LDO_CONNECTIONLESS_NULLARG
LDAP_LDO_TLS_NULLARG
LDAP_LDO_SASL_NULLARG
LDAP_LDO_GSSAPI_NULLARG
LDAP_LDO_MUTEX_NULLARG };
#define ATTR_NONE 0
#define ATTR_BOOL 1
......
......@@ -188,22 +188,59 @@ struct ldapoptions {
#define LDAP_TRASHED_SESSION 0xFF
int ldo_debug;
ber_int_t ldo_version;
ber_int_t ldo_deref;
ber_int_t ldo_timelimit;
ber_int_t ldo_sizelimit;
/* per API call timeout */
struct timeval ldo_tm_api;
struct timeval ldo_tm_net;
LDAPURLDesc *ldo_defludp;
int ldo_defport;
char* ldo_defbase;
char* ldo_defbinddn; /* bind dn */
/*
* Per connection tcp-keepalive settings (Linux only,
* ignored where unsupported)
*/
ber_int_t ldo_keepalive_idle;
ber_int_t ldo_keepalive_probes;
ber_int_t ldo_keepalive_interval;
int ldo_refhoplimit; /* limit on referral nesting */
/* LDAPv3 server and client controls */
LDAPControl **ldo_sctrls;
LDAPControl **ldo_cctrls;
/* LDAP rebind callback function */
LDAP_REBIND_PROC *ldo_rebind_proc;
void *ldo_rebind_params;
LDAP_NEXTREF_PROC *ldo_nextref_proc;
void *ldo_nextref_params;
LDAP_URLLIST_PROC *ldo_urllist_proc;
void *ldo_urllist_params;
/* LDAP connection callback stack */
ldaplist *ldo_conn_cbs;
LDAP_BOOLEANS ldo_booleans; /* boolean options */
#define LDAP_LDO_NULLARG ,0,0,0,0 ,{0},{0} ,0,0,0,0, 0,0,0,0, 0,0, 0,0,0,0,0,0, 0, 0
#ifdef LDAP_CONNECTIONLESS
#define LDAP_IS_UDP(ld) ((ld)->ld_options.ldo_is_udp)
void* ldo_peer; /* struct sockaddr* */
char* ldo_cldapdn;
int ldo_is_udp;
#define LDAP_LDO_CONNECTIONLESS_NULLARG ,0,0,0
#else
#define LDAP_LDO_CONNECTIONLESS_NULLARG
#endif
/* per API call timeout */
struct timeval ldo_tm_api;
struct timeval ldo_tm_net;
ber_int_t ldo_version;
ber_int_t ldo_deref;
ber_int_t ldo_timelimit;
ber_int_t ldo_sizelimit;
#ifdef HAVE_TLS
/* tls context */
void *ldo_tls_ctx;
......@@ -222,15 +259,11 @@ struct ldapoptions {
int ldo_tls_mode;
int ldo_tls_require_cert;
int ldo_tls_impl;
#ifdef HAVE_OPENSSL_CRL
int ldo_tls_crlcheck;
#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0
#else
#define LDAP_LDO_TLS_NULLARG
#endif
#endif
LDAPURLDesc *ldo_defludp;
int ldo_defport;
char* ldo_defbase;
char* ldo_defbinddn; /* bind dn */
#ifdef HAVE_CYRUS_SASL
char* ldo_def_sasl_mech; /* SASL Mechanism(s) */
......@@ -240,6 +273,9 @@ struct ldapoptions {
/* SASL Security Properties */
struct sasl_security_properties ldo_sasl_secprops;
#define LDAP_LDO_SASL_NULLARG ,0,0,0,0,{0}
#else
#define LDAP_LDO_SASL_NULLARG
#endif
#ifdef HAVE_GSSAPI
......@@ -249,35 +285,11 @@ struct ldapoptions {
#define LDAP_GSSAPI_OPT_DO_NOT_FREE_GSS_CONTEXT 0x0001
#define LDAP_GSSAPI_OPT_ALLOW_REMOTE_PRINCIPAL 0x0002
unsigned ldo_gssapi_options;
#define LDAP_LDO_GSSAPI_NULLARG ,0,0
#else
#define LDAP_LDO_GSSAPI_NULLARG
#endif
/*
* Per connection tcp-keepalive settings (Linux only,
* ignored where unsupported)
*/
ber_int_t ldo_keepalive_idle;
ber_int_t ldo_keepalive_probes;
ber_int_t ldo_keepalive_interval;
int ldo_refhoplimit; /* limit on referral nesting */
/* LDAPv3 server and client controls */
LDAPControl **ldo_sctrls;
LDAPControl **ldo_cctrls;
/* LDAP rebind callback function */
LDAP_REBIND_PROC *ldo_rebind_proc;
void *ldo_rebind_params;
LDAP_NEXTREF_PROC *ldo_nextref_proc;
void *ldo_nextref_params;
LDAP_URLLIST_PROC *ldo_urllist_proc;
void *ldo_urllist_params;
/* LDAP connection callback stack */
ldaplist *ldo_conn_cbs;
LDAP_BOOLEANS ldo_booleans; /* boolean options */
#ifdef LDAP_R_COMPILE
ldap_pvt_thread_mutex_t ldo_mutex;
#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL
......@@ -378,38 +390,6 @@ struct ldap_common {
Sockbuf *ldc_sb; /* socket descriptor & buffer */
#define ld_sb ldc->ldc_sb
/* protected by ldo_mutex */
struct ldapoptions ldc_options;
#define ld_options ldc->ldc_options
#define ld_valid ld_options.ldo_valid
#define ld_debug ld_options.ldo_debug
#define ld_deref ld_options.ldo_deref
#define ld_timelimit ld_options.ldo_timelimit
#define ld_sizelimit ld_options.ldo_sizelimit
#define ld_defbinddn ld_options.ldo_defbinddn
#define ld_defbase ld_options.ldo_defbase
#define ld_defhost ld_options.ldo_defhost
#define ld_defport ld_options.ldo_defport
#define ld_refhoplimit ld_options.ldo_refhoplimit
#define ld_sctrls ld_options.ldo_sctrls
#define ld_cctrls ld_options.ldo_cctrls
#define ld_rebind_proc ld_options.ldo_rebind_proc
#define ld_rebind_params ld_options.ldo_rebind_params
#define ld_nextref_proc ld_options.ldo_nextref_proc
#define ld_nextref_params ld_options.ldo_nextref_params
#define ld_urllist_proc ld_options.ldo_urllist_proc
#define ld_urllist_params ld_options.ldo_urllist_params
#define ld_version ld_options.ldo_version
#ifdef LDAP_R_COMPILE
#define ld_ldopts_mutex ld_options.ldo_mutex
#endif
unsigned short ldc_lberoptions;
#define ld_lberoptions ldc->ldc_lberoptions
......@@ -446,20 +426,48 @@ struct ldap_common {
#define ld_selectinfo ldc->ldc_selectinfo
/* ldap_common refcnt - free only if 0 */
#ifdef LDAP_R_COMPILE
ldap_pvt_thread_mutex_t ldc_mutex;
#define ld_ldcmutex ldc->ldc_mutex
#endif
/* protected by ldc_mutex */
unsigned int ldc_refcnt;
#define ld_ldcrefcnt ldc->ldc_refcnt
/* protected by ldo_mutex */
struct ldapoptions ldc_options;
#define ld_options ldc->ldc_options
#define ld_valid ld_options.ldo_valid
#define ld_debug ld_options.ldo_debug
#define ld_deref ld_options.ldo_deref
#define ld_timelimit ld_options.ldo_timelimit
#define ld_sizelimit ld_options.ldo_sizelimit
#define ld_defbinddn ld_options.ldo_defbinddn
#define ld_defbase ld_options.ldo_defbase
#define ld_defhost ld_options.ldo_defhost
#define ld_defport ld_options.ldo_defport
#define ld_refhoplimit ld_options.ldo_refhoplimit
#define ld_sctrls ld_options.ldo_sctrls
#define ld_cctrls ld_options.ldo_cctrls
#define ld_rebind_proc ld_options.ldo_rebind_proc
#define ld_rebind_params ld_options.ldo_rebind_params
#define ld_nextref_proc ld_options.ldo_nextref_proc
#define ld_nextref_params ld_options.ldo_nextref_params
#define ld_urllist_proc ld_options.ldo_urllist_proc
#define ld_urllist_params ld_options.ldo_urllist_params
#define ld_version ld_options.ldo_version
#ifdef LDAP_R_COMPILE
ldap_pvt_thread_mutex_t ldc_mutex;
ldap_pvt_thread_mutex_t ldc_msgid_mutex;
ldap_pvt_thread_mutex_t ldc_conn_mutex;
ldap_pvt_thread_mutex_t ldc_req_mutex;
ldap_pvt_thread_mutex_t ldc_res_mutex;
ldap_pvt_thread_mutex_t ldc_abandon_mutex;
#define ld_ldopts_mutex ld_options.ldo_mutex
#define ld_ldcmutex ldc->ldc_mutex
#define ld_msgid_mutex ldc->ldc_msgid_mutex
#define ld_conn_mutex ldc->ldc_conn_mutex
#define ld_req_mutex ldc->ldc_req_mutex
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment