#ifndef _LDAP_INT_H
#define _LDAP_INT_H 1
-#ifdef LDAP_COMPILING_R
+#ifdef LDAP_R_COMPILE
#define LDAP_THREAD_SAFE 1
#endif
#include "../liblber/lber-int.h"
#define ldap_debug (openldap_ldap_global_options.ldo_debug)
+#undef Debug
+#define Debug( level, fmt, arg1, arg2, arg3 ) \
+ ldap_log_printf( NULL, (level), (fmt), (arg1), (arg2), (arg3) )
#include "ldap_log.h"
* which have global defaults.
*/
struct ldapoptions {
+ int ldo_debug;
+
int ldo_version; /* version to connect at */
int ldo_deref;
int ldo_timelimit;
int ldo_sizelimit;
- int ldo_debug;
-
int ldo_defport;
char* ldo_defbase;
char* ldo_defhost;
LDAPServer *lconn_server;
char *lconn_krbinstance;
struct ldap_conn *lconn_next;
+ BerElement lconn_ber;/* ber receiving on this conn. */
} LDAPConn;
} LDAPCache;
#define NULLLDCACHE ((LDAPCache *)NULL)
+/*
+ * handy macro for checking if handle is connectionless
+ */
+
+#define LDAP_IS_CLDAP(ld) ((ld)->ld_cldapnaddr>0)
/*
* structure representing an ldap connection
int *ld_abandoned; /* array of abandoned requests */
char ld_attrbuffer[LDAP_MAX_ATTR_LEN];
LDAPCache *ld_cache; /* non-null if cache is initialized */
- char *ld_cldapdn; /* DN used in connectionless search */
-
+ /* stuff used by connectionless searches. */
+ char *ld_cldapdn; /* DN used in connectionless search */
+ int ld_cldapnaddr; /* number of addresses */
+ void **ld_cldapaddrs;/* addresses to send request to */
+#ifndef LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS
+ /* BerElement that this connection is receiving. */
+ BerElement ld_ber;
+#endif
/* do not mess with the rest though */
BERTranslateProc ld_lber_encode_translate_proc;
BERTranslateProc ld_lber_decode_translate_proc;
extern struct ldapoptions openldap_ldap_global_options;
void openldap_ldap_initialize LDAP_P((void));
+/*
+ * in print.c
+ */
+int ldap_log_printf LDAP_P((LDAP *ld, int level, char *fmt, ...));
+
/*
* in cache.c
*/
*/
LDAPControl *ldap_control_dup LDAP_P(( LDAPControl *ctrl ));
LDAPControl **ldap_controls_dup LDAP_P(( LDAPControl **ctrl ));
+int ldap_get_ber_controls LDAP_P(( BerElement *be, LDAPControl ***cp));
/*
* in dsparse.c