⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 back-ldap.h

📁 ldap服务器源码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define	li_idassert_sasl_realm	li_idassert.si_bc.sb_realm#define	li_idassert_secprops	li_idassert.si_bc.sb_secprops#define	li_idassert_tls		li_idassert.si_bc.sb_tls	unsigned 	si_flags;#define LDAP_BACK_AUTH_NONE				(0x00U)#define	LDAP_BACK_AUTH_NATIVE_AUTHZ			(0x01U)#define	LDAP_BACK_AUTH_OVERRIDE				(0x02U)#define	LDAP_BACK_AUTH_PRESCRIPTIVE			(0x04U)#define	LDAP_BACK_AUTH_OBSOLETE_PROXY_AUTHZ		(0x08U)#define	LDAP_BACK_AUTH_OBSOLETE_ENCODING_WORKAROUND	(0x10U)#define	LDAP_BACK_AUTH_AUTHZ_ALL			(0x20U)#define	li_idassert_flags	li_idassert.si_flags	BerVarray	si_authz;#define	li_idassert_authz	li_idassert.si_authz} slap_idassert_t;/* * Hook to allow mucking with ldapinfo_t when quarantine is over */typedef int (*ldap_back_quarantine_f)( struct ldapinfo_t *, void * );typedef struct ldapinfo_t {	/* li_uri: the string that goes into ldap_initialize()	 * TODO: use li_acl.sb_uri instead */	char			*li_uri;	/* li_bvuri: an array of each single URI that is equivalent;	 * to be checked for the presence of a certain item */	BerVarray		li_bvuri;	ldap_pvt_thread_mutex_t	li_uri_mutex;	LDAP_REBIND_PROC	*li_rebind_f;	void			*li_urllist_p;	slap_bindconf		li_acl;#define	li_acl_authcID		li_acl.sb_authcId#define	li_acl_authcDN		li_acl.sb_binddn#define	li_acl_passwd		li_acl.sb_cred#define	li_acl_authzID		li_acl.sb_authzId#define	li_acl_authmethod	li_acl.sb_method#define	li_acl_sasl_mech	li_acl.sb_saslmech#define	li_acl_sasl_realm	li_acl.sb_realm#define	li_acl_secprops		li_acl.sb_secprops	/* ID assert stuff */	slap_idassert_t		li_idassert;	/* end of ID assert stuff */	int			li_nretries;#define LDAP_BACK_RETRY_UNDEFINED	(-2)#define LDAP_BACK_RETRY_FOREVER		(-1)#define LDAP_BACK_RETRY_NEVER		(0)#define LDAP_BACK_RETRY_DEFAULT		(3)	unsigned		li_flags;/* 0xFFF00000U are reserved for back-meta */#define LDAP_BACK_F_NONE		(0x00000000U)#define LDAP_BACK_F_SAVECRED		(0x00000001U)#define LDAP_BACK_F_USE_TLS		(0x00000002U)#define LDAP_BACK_F_PROPAGATE_TLS	(0x00000004U)#define LDAP_BACK_F_TLS_CRITICAL	(0x00000008U)#define LDAP_BACK_F_TLS_LDAPS		(0x00000010U)#define LDAP_BACK_F_TLS_USE_MASK	(LDAP_BACK_F_USE_TLS|LDAP_BACK_F_TLS_CRITICAL)#define LDAP_BACK_F_TLS_PROPAGATE_MASK	(LDAP_BACK_F_PROPAGATE_TLS|LDAP_BACK_F_TLS_CRITICAL)#define LDAP_BACK_F_TLS_MASK		(LDAP_BACK_F_TLS_USE_MASK|LDAP_BACK_F_TLS_PROPAGATE_MASK|LDAP_BACK_F_TLS_LDAPS)#define LDAP_BACK_F_CHASE_REFERRALS	(0x00000020U)#define LDAP_BACK_F_PROXY_WHOAMI	(0x00000040U)#define	LDAP_BACK_F_T_F			(0x00000080U)#define	LDAP_BACK_F_T_F_DISCOVER	(0x00000100U)#define	LDAP_BACK_F_T_F_MASK		(LDAP_BACK_F_T_F)#define	LDAP_BACK_F_T_F_MASK2		(LDAP_BACK_F_T_F_MASK|LDAP_BACK_F_T_F_DISCOVER)#define LDAP_BACK_F_MONITOR		(0x00000200U)#define	LDAP_BACK_F_SINGLECONN		(0x00000400U)#define LDAP_BACK_F_USE_TEMPORARIES	(0x00000800U)#define	LDAP_BACK_F_ISOPEN		(0x00001000U)#define	LDAP_BACK_F_CANCEL_ABANDON	(0x00000000U)#define	LDAP_BACK_F_CANCEL_IGNORE	(0x00002000U)#define	LDAP_BACK_F_CANCEL_EXOP		(0x00004000U)#define	LDAP_BACK_F_CANCEL_EXOP_DISCOVER	(0x00008000U)#define	LDAP_BACK_F_CANCEL_MASK		(LDAP_BACK_F_CANCEL_IGNORE|LDAP_BACK_F_CANCEL_EXOP)#define	LDAP_BACK_F_CANCEL_MASK2	(LDAP_BACK_F_CANCEL_MASK|LDAP_BACK_F_CANCEL_EXOP_DISCOVER)#define	LDAP_BACK_F_QUARANTINE		(0x00010000U)#define	LDAP_BACK_ISSET_F(ff,f)		( ( (ff) & (f) ) == (f) )#define	LDAP_BACK_ISMASK_F(ff,m,f)	( ( (ff) & (m) ) == (f) )#define	LDAP_BACK_ISSET(li,f)		LDAP_BACK_ISSET_F( (li)->li_flags, (f) )#define	LDAP_BACK_ISMASK(li,m,f)	LDAP_BACK_ISMASK_F( (li)->li_flags, (m), (f) )#define LDAP_BACK_SAVECRED(li)		LDAP_BACK_ISSET( (li), LDAP_BACK_F_SAVECRED )#define LDAP_BACK_USE_TLS(li)		LDAP_BACK_ISSET( (li), LDAP_BACK_F_USE_TLS )#define LDAP_BACK_PROPAGATE_TLS(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_PROPAGATE_TLS )#define LDAP_BACK_TLS_CRITICAL(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_TLS_CRITICAL )#define LDAP_BACK_CHASE_REFERRALS(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_CHASE_REFERRALS )#define LDAP_BACK_PROXY_WHOAMI(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_PROXY_WHOAMI )#define LDAP_BACK_USE_TLS_F(ff)		LDAP_BACK_ISSET_F( (ff), LDAP_BACK_F_USE_TLS )#define LDAP_BACK_PROPAGATE_TLS_F(ff)	LDAP_BACK_ISSET_F( (ff), LDAP_BACK_F_PROPAGATE_TLS )#define LDAP_BACK_TLS_CRITICAL_F(ff)	LDAP_BACK_ISSET_F( (ff), LDAP_BACK_F_TLS_CRITICAL )#define	LDAP_BACK_T_F(li)		LDAP_BACK_ISMASK( (li), LDAP_BACK_F_T_F_MASK, LDAP_BACK_F_T_F )#define	LDAP_BACK_T_F_DISCOVER(li)	LDAP_BACK_ISMASK( (li), LDAP_BACK_F_T_F_MASK2, LDAP_BACK_F_T_F_DISCOVER )#define LDAP_BACK_MONITOR(li)		LDAP_BACK_ISSET( (li), LDAP_BACK_F_MONITOR )#define	LDAP_BACK_SINGLECONN(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_SINGLECONN )#define	LDAP_BACK_USE_TEMPORARIES(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_USE_TEMPORARIES)#define	LDAP_BACK_ISOPEN(li)		LDAP_BACK_ISSET( (li), LDAP_BACK_F_ISOPEN )#define	LDAP_BACK_ABANDON(li)		LDAP_BACK_ISMASK( (li), LDAP_BACK_F_CANCEL_MASK, LDAP_BACK_F_CANCEL_ABANDON )#define	LDAP_BACK_IGNORE(li)		LDAP_BACK_ISMASK( (li), LDAP_BACK_F_CANCEL_MASK, LDAP_BACK_F_CANCEL_IGNORE )#define	LDAP_BACK_CANCEL(li)		LDAP_BACK_ISMASK( (li), LDAP_BACK_F_CANCEL_MASK, LDAP_BACK_F_CANCEL_EXOP )#define	LDAP_BACK_CANCEL_DISCOVER(li)	LDAP_BACK_ISMASK( (li), LDAP_BACK_F_CANCEL_MASK2, LDAP_BACK_F_CANCEL_EXOP_DISCOVER )#define	LDAP_BACK_QUARANTINE(li)	LDAP_BACK_ISSET( (li), LDAP_BACK_F_QUARANTINE )	int			li_version;	/* cached connections; 	 * special conns are in tailq rather than in tree */	ldap_avl_info_t		li_conninfo;	struct {		int						lic_num;		LDAP_TAILQ_HEAD(lc_conn_priv_q, ldapconn_t)	lic_priv;	}			li_conn_priv[ LDAP_BACK_PCONN_LAST ];	int			li_conn_priv_max;#define	LDAP_BACK_CONN_PRIV_MIN		(1)#define	LDAP_BACK_CONN_PRIV_MAX		(256)	/* must be between LDAP_BACK_CONN_PRIV_MIN	 * and LDAP_BACK_CONN_PRIV_MAX ! */#define	LDAP_BACK_CONN_PRIV_DEFAULT	(16)	sig_atomic_t		li_isquarantined;#define	LDAP_BACK_FQ_NO		(0)#define	LDAP_BACK_FQ_YES	(1)#define	LDAP_BACK_FQ_RETRYING	(2)	slap_retry_info_t	li_quarantine;	ldap_pvt_thread_mutex_t	li_quarantine_mutex;	ldap_back_quarantine_f	li_quarantine_f;	void			*li_quarantine_p;	time_t			li_network_timeout;	time_t			li_conn_ttl;	time_t			li_idle_timeout;	time_t			li_timeout[ SLAP_OP_LAST ];} ldapinfo_t;typedef enum ldap_back_send_t {	LDAP_BACK_DONTSEND		= 0x00,	LDAP_BACK_SENDOK		= 0x01,	LDAP_BACK_SENDERR		= 0x02,	LDAP_BACK_SENDRESULT		= (LDAP_BACK_SENDOK|LDAP_BACK_SENDERR),	LDAP_BACK_BINDING		= 0x04,	LDAP_BACK_BIND_DONTSEND		= (LDAP_BACK_BINDING),	LDAP_BACK_BIND_SOK		= (LDAP_BACK_BINDING|LDAP_BACK_SENDOK),	LDAP_BACK_BIND_SERR		= (LDAP_BACK_BINDING|LDAP_BACK_SENDERR),	LDAP_BACK_BIND_SRES		= (LDAP_BACK_BINDING|LDAP_BACK_SENDRESULT),	LDAP_BACK_RETRYING		= 0x08,	LDAP_BACK_RETRY_DONTSEND	= (LDAP_BACK_RETRYING),	LDAP_BACK_RETRY_SOK		= (LDAP_BACK_RETRYING|LDAP_BACK_SENDOK),	LDAP_BACK_RETRY_SERR		= (LDAP_BACK_RETRYING|LDAP_BACK_SENDERR),	LDAP_BACK_RETRY_SRES		= (LDAP_BACK_RETRYING|LDAP_BACK_SENDRESULT),	LDAP_BACK_GETCONN		= 0x10} ldap_back_send_t;/* define to use asynchronous StartTLS */#define SLAP_STARTTLS_ASYNCHRONOUS/* timeout to use when calling ldap_result() */#define	LDAP_BACK_RESULT_TIMEOUT	(0)#define	LDAP_BACK_RESULT_UTIMEOUT	(100000)#define	LDAP_BACK_TV_SET(tv) \	do { \		(tv)->tv_sec = LDAP_BACK_RESULT_TIMEOUT; \		(tv)->tv_usec = LDAP_BACK_RESULT_UTIMEOUT; \	} while ( 0 )#ifndef LDAP_BACK_PRINT_CONNTREE#define LDAP_BACK_PRINT_CONNTREE 0#endif /* !LDAP_BACK_PRINT_CONNTREE */LDAP_END_DECL#include "proto-ldap.h"#endif /* SLAPD_LDAP_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -