]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/ldap-int.h
Make LDAP_MEMORY_DEBUG a bitmask. #define LDAP_MEMORY_DEBUG_ASSERT. ITS#4990.
[openldap] / libraries / libldap / ldap-int.h
index 69473e0f85d78aa5b98cc21bc5820e0ca162c867..1c8ead3b52a6c9c3050fcbf33ea0dcb3f58590a8 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2006 The OpenLDAP Foundation.
+ * Copyright 1998-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 #include <sasl.h>
 #endif
 
-#define SASL_MAX_BUFF_SIZE     65536
+#define SASL_MAX_BUFF_SIZE     (0xffffff)
 #define SASL_MIN_BUFF_SIZE     4096
 #endif
 
+/* for struct timeval */
+#include <ac/time.h>
+
 #undef TV2MILLISEC
 #define TV2MILLISEC(tv) (((tv)->tv_sec * 1000) + ((tv)->tv_usec/1000))
 
 LDAP_BEGIN_DECL
 
 #define LDAP_URL_PREFIX         "ldap://"
-#define LDAP_URL_PREFIX_LEN     (sizeof(LDAP_URL_PREFIX)-1)
-#define LDAPS_URL_PREFIX               "ldaps://"
-#define LDAPS_URL_PREFIX_LEN   (sizeof(LDAPS_URL_PREFIX)-1)
+#define LDAP_URL_PREFIX_LEN     STRLENOF(LDAP_URL_PREFIX)
+#define LDAPS_URL_PREFIX       "ldaps://"
+#define LDAPS_URL_PREFIX_LEN   STRLENOF(LDAPS_URL_PREFIX)
 #define LDAPI_URL_PREFIX       "ldapi://"
-#define LDAPI_URL_PREFIX_LEN   (sizeof(LDAPI_URL_PREFIX)-1)
+#define LDAPI_URL_PREFIX_LEN   STRLENOF(LDAPI_URL_PREFIX)
 #ifdef LDAP_CONNECTIONLESS
 #define LDAPC_URL_PREFIX       "cldap://"
-#define LDAPC_URL_PREFIX_LEN   (sizeof(LDAPC_URL_PREFIX)-1)
+#define LDAPC_URL_PREFIX_LEN   STRLENOF(LDAPC_URL_PREFIX)
 #endif
-#define LDAP_URL_URLCOLON              "URL:"
-#define LDAP_URL_URLCOLON_LEN  (sizeof(LDAP_URL_URLCOLON)-1)
+#define LDAP_URL_URLCOLON      "URL:"
+#define LDAP_URL_URLCOLON_LEN  STRLENOF(LDAP_URL_URLCOLON)
 
 #define LDAP_REF_STR           "Referral:\n"
-#define LDAP_REF_STR_LEN       (sizeof(LDAP_REF_STR)-1)
+#define LDAP_REF_STR_LEN       STRLENOF(LDAP_REF_STR)
 #define LDAP_LDAP_REF_STR      LDAP_URL_PREFIX
 #define LDAP_LDAP_REF_STR_LEN  LDAP_URL_PREFIX_LEN
 
@@ -117,6 +120,7 @@ LDAP_BEGIN_DECL
 #define LDAP_BOOL_REFERRALS            0
 #define LDAP_BOOL_RESTART              1
 #define LDAP_BOOL_TLS                  3
+#define        LDAP_BOOL_CONNECT_ASYNC         4
 
 #define LDAP_BOOLEANS  unsigned long
 #define LDAP_BOOL(n)   ((LDAP_BOOLEANS)1 << (n))
@@ -150,6 +154,9 @@ struct ldaptls {
        char            *lt_cacertfile;
        char            *lt_cacertdir;
        char            *lt_ciphersuite;
+#ifdef HAVE_GNUTLS
+       char            *lt_crlfile;
+#endif
 };
 #endif
 
@@ -172,8 +179,8 @@ struct ldapoptions {
 #endif
 
        /* per API call timeout */
-       struct timeval          *ldo_tm_api;
-       struct timeval          *ldo_tm_net;
+       struct timeval          ldo_tm_api;
+       struct timeval          ldo_tm_net;
 
        ber_int_t               ldo_version;
        ber_int_t               ldo_deref;
@@ -192,6 +199,7 @@ struct ldapoptions {
 #define ldo_tls_cacertfile     ldo_tls_info.lt_cacertfile
 #define ldo_tls_cacertdir      ldo_tls_info.lt_cacertdir
 #define ldo_tls_ciphersuite    ldo_tls_info.lt_ciphersuite
+#define ldo_tls_crlfile        ldo_tls_info.lt_crlfile
        int                     ldo_tls_mode;
        int                     ldo_tls_require_cert;
 #ifdef HAVE_OPENSSL_CRL
@@ -242,6 +250,7 @@ typedef struct ldap_conn {
        void            *lconn_sasl_sockctx;    /* for security layer */
 #endif
        int                     lconn_refcnt;
+       time_t          lconn_created;  /* time */
        time_t          lconn_lastused; /* time */
        int                     lconn_rebind_inprogress;        /* set if rebind in progress */
        char            ***lconn_rebind_queue;          /* used if rebind in progress */
@@ -250,9 +259,6 @@ typedef struct ldap_conn {
 #define LDAP_CONNST_CONNECTING         2
 #define LDAP_CONNST_CONNECTED          3
        LDAPURLDesc             *lconn_server;
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-       char                    *lconn_krbinstance;
-#endif
        BerElement              *lconn_ber;     /* ber receiving on this conn. */
 
        struct ldap_conn *lconn_next;
@@ -478,18 +484,6 @@ LDAP_F (int) ldap_int_client_controls LDAP_P((
  */
 LDAP_F (int) ldap_int_next_line_tokens LDAP_P(( char **bufp, ber_len_t *blenp, char ***toksp ));
 
-#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
-/*
- * in kerberos.c
- */
-LDAP_F (char *) ldap_get_kerberosv4_credentials LDAP_P((
-       LDAP *ld,
-       LDAP_CONST char *who,
-       LDAP_CONST char *service,
-       ber_len_t *len ));
-
-#endif /* LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND */
-
 
 /*
  * in open.c
@@ -510,9 +504,10 @@ LDAP_F (int) ldap_int_timeval_dup( struct timeval **dest,
        const struct timeval *tm );
 LDAP_F (int) ldap_connect_to_host( LDAP *ld, Sockbuf *sb,
        int proto, const char *host, int port, int async );
+LDAP_F (int) ldap_int_poll( LDAP *ld, ber_socket_t s,
+       struct timeval *tvp );
 
-#if defined(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND) || \
-       defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL)
+#if defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL)
 LDAP_V (char *) ldap_int_hostname;
 LDAP_F (char *) ldap_host_connected_to( Sockbuf *sb,
        const char *host );