X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Fldap-int.h;h=2b9df3da604843911f2099f515a15de50f210b9b;hb=959edd88c0dc0ad558d9ebc423996c7a9d0f8cbc;hp=80a66c5ae9f98295c06ae75085448ad7acc81f82;hpb=05960887bb0701d43f9639c28f9d0397090a6b11;p=openldap diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h index 80a66c5ae9..2b9df3da60 100644 --- a/libraries/libldap/ldap-int.h +++ b/libraries/libldap/ldap-int.h @@ -1,7 +1,7 @@ /* ldap-int.h - defines & prototypes internal to the LDAP library */ /* $OpenLDAP$ */ /* - * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ /* Portions @@ -18,9 +18,17 @@ #include "../liblber/lber-int.h" +#ifdef LDAP_R_COMPILE +#include +#endif + #ifdef HAVE_CYRUS_SASL /* the need for this should be removed */ +#ifdef HAVE_SASL_SASL_H +#include +#else #include +#endif #define SASL_MAX_BUFF_SIZE 65536 #define SASL_MIN_BUFF_SIZE 4096 @@ -51,7 +59,9 @@ #undef Debug #define Debug( level, fmt, arg1, arg2, arg3 ) \ - ldap_log_printf( NULL, (level), (fmt), (arg1), (arg2), (arg3) ) + do { if ( ldap_debug & level ) \ + ldap_log_printf( NULL, (level), (fmt), (arg1), (arg2), (arg3) ); \ + } while ( 0 ) #define LDAP_Debug( subsystem, level, fmt, arg1, arg2, arg3 )\ ldap_log_printf( NULL, (level), (fmt), (arg1), (arg2), (arg3) ) @@ -68,6 +78,10 @@ LDAP_BEGIN_DECL #define LDAPS_URL_PREFIX_LEN (sizeof(LDAPS_URL_PREFIX)-1) #define LDAPI_URL_PREFIX "ldapi://" #define LDAPI_URL_PREFIX_LEN (sizeof(LDAPI_URL_PREFIX)-1) +#ifdef LDAP_CONNECTIONLESS +#define LDAPC_URL_PREFIX "cldap://" +#define LDAPC_URL_PREFIX_LEN (sizeof(LDAPC_URL_PREFIX)-1) +#endif #define LDAP_URL_URLCOLON "URL:" #define LDAP_URL_URLCOLON_LEN (sizeof(LDAP_URL_URLCOLON)-1) @@ -114,6 +128,12 @@ struct ldapoptions { #define LDAP_UNINITIALIZED 0x0 #define LDAP_INITIALIZED 0x1 #define LDAP_VALID_SESSION 0x2 +#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; +#endif int ldo_debug; /* per API call timeout */ @@ -184,7 +204,7 @@ typedef struct ldap_conn { #endif BerElement *lconn_ber; /* ber receiving on this conn. */ - struct ldap_conn *lconn_next; + struct ldap_conn *lconn_next; } LDAPConn; @@ -209,6 +229,7 @@ typedef struct ldapreq { BerElement *lr_ber; /* ber encoded request contents */ LDAPConn *lr_conn; /* connection used to send request */ struct ldapreq *lr_parent; /* request that spawned this referral */ + struct ldapreq *lr_child; /* first child request */ struct ldapreq *lr_refnext; /* next referral spawned */ struct ldapreq *lr_prev; /* previous request */ struct ldapreq *lr_next; /* next request */ @@ -293,8 +314,6 @@ struct ldap { #define LDAP_VALID(ld) ( (ld)->ld_valid == LDAP_VALID_SESSION ) #ifdef LDAP_R_COMPILE -#include - #ifdef HAVE_RES_QUERY LDAP_V ( ldap_pvt_thread_mutex_t ) ldap_int_resolv_mutex; #endif @@ -316,19 +335,18 @@ LDAP_F ( void ) ldap_int_initialize_global_options LDAP_P(( /* memory.c */ /* simple macros to realloc for now */ -#define LDAP_INT_MALLOC(s) (LBER_MALLOC((s))) -#define LDAP_INT_CALLOC(n,s) (LBER_CALLOC((n),(s))) -#define LDAP_INT_REALLOC(p,s) (LBER_REALLOC((p),(s))) -#define LDAP_INT_FREE(p) (LBER_FREE((p))) -#define LDAP_INT_VFREE(v) (LBER_VFREE((void **)(v))) -#define LDAP_INT_STRDUP(s) (LBER_STRDUP((s))) - #define LDAP_MALLOC(s) (LBER_MALLOC((s))) #define LDAP_CALLOC(n,s) (LBER_CALLOC((n),(s))) #define LDAP_REALLOC(p,s) (LBER_REALLOC((p),(s))) #define LDAP_FREE(p) (LBER_FREE((p))) #define LDAP_VFREE(v) (LBER_VFREE((void **)(v))) #define LDAP_STRDUP(s) (LBER_STRDUP((s))) +#define LDAP_STRNDUP(s,l) (LBER_STRNDUP((s),(l))) + +/* + * in error.c + */ +LDAP_F (void) ldap_int_error_init( void ); /* * in unit-int.c @@ -399,7 +417,7 @@ LDAP_F (int) ldap_int_open_connection( LDAP *ld, /* * in os-ip.c */ -LDAP_F (int) ldap_int_tblsize; +LDAP_V (int) ldap_int_tblsize; 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, unsigned long address, int port, @@ -412,7 +430,7 @@ LDAP_F (char *) ldap_host_connected_to( Sockbuf *sb ); #endif LDAP_F (void) ldap_int_ip_init( void ); -LDAP_F (int) do_ldap_select( LDAP *ld, struct timeval *timeout ); +LDAP_F (int) ldap_int_select( LDAP *ld, struct timeval *timeout ); LDAP_F (void *) ldap_new_select_info( void ); LDAP_F (void) ldap_free_select_info( void *sip ); LDAP_F (void) ldap_mark_select_write( LDAP *ld, Sockbuf *sb ); @@ -470,10 +488,9 @@ LDAP_F (BerElement *) ldap_build_search_req LDAP_P(( ber_int_t timelimit, ber_int_t sizelimit )); -/* - * in string.c - */ - /* see */ +LDAP_F( int ) ldap_int_put_filter LDAP_P(( + BerElement *ber, + const char *str )); /* * in unbind.c @@ -529,7 +546,8 @@ LDAP_F (int) ldap_int_sasl_open LDAP_P(( LDAP_F (int) ldap_int_sasl_close LDAP_P(( LDAP *ld, LDAPConn *conn )); LDAP_F (int) ldap_int_sasl_external LDAP_P(( - LDAP *ld, const char* authid, ber_len_t ssf )); + LDAP *ld, LDAPConn *conn, + const char* authid, ber_len_t ssf )); LDAP_F (int) ldap_int_sasl_get_option LDAP_P(( LDAP *ld, int option, void *arg )); @@ -549,6 +567,11 @@ LDAP_F (int) ldap_int_sasl_bind LDAP_P(( LDAP_SASL_INTERACT_PROC *interact, void *defaults )); +/* in schema.c */ +LDAP_F (char *) ldap_int_parse_numericoid LDAP_P(( + const char **sp, + int *code, + const int flags )); /* * in tls.c