mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-20 22:59:34 -05:00
update ldap/lber headers towards ldapext-ldap-c-api-01
This commit is contained in:
parent
ad9da05240
commit
702109706b
51 changed files with 363 additions and 243 deletions
|
|
@ -6,8 +6,8 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <ac/socket.h>
|
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
|
#include <ac/unistd.h>
|
||||||
|
|
||||||
#include <lber.h>
|
#include <lber.h>
|
||||||
#include <ldap.h>
|
#include <ldap.h>
|
||||||
|
|
@ -107,7 +107,10 @@ main( argc, argv )
|
||||||
exit( 1 );
|
exit( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
ld->ld_deref = LDAP_DEREF_NEVER; /* prudent, but probably unnecessary */
|
#if LDAP_VERSION > LDAP_VERSION2
|
||||||
|
/* this seems prudent */
|
||||||
|
ldap_set_option( LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ( !kerberos ) {
|
if ( !kerberos ) {
|
||||||
authmethod = LDAP_AUTH_SIMPLE;
|
authmethod = LDAP_AUTH_SIMPLE;
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/socket.h>
|
|
||||||
#include <ac/unistd.h>
|
#include <ac/unistd.h>
|
||||||
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
@ -169,7 +168,10 @@ main( int argc, char **argv )
|
||||||
exit( 1 );
|
exit( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
ld->ld_deref = LDAP_DEREF_NEVER; /* this seems prudent */
|
#if LDAP_VERSION > LDAP_VERSION2
|
||||||
|
/* this seems prudent */
|
||||||
|
ldap_set_option( LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ( !kerberos ) {
|
if ( !kerberos ) {
|
||||||
authmethod = LDAP_AUTH_SIMPLE;
|
authmethod = LDAP_AUTH_SIMPLE;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
/* ldapmodrdn.c - generic program to modify an entry's RDN using LDAP */
|
/* ldapmodrdn.c - generic program to modify an entry's RDN using LDAP */
|
||||||
|
|
||||||
#define DISABLE_BRIDGE
|
|
||||||
#include "portable.h"
|
#include "portable.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -8,7 +7,7 @@
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/unistd.h>
|
||||||
|
|
||||||
#include <lber.h>
|
#include <lber.h>
|
||||||
#include <ldap.h>
|
#include <ldap.h>
|
||||||
|
|
@ -132,7 +131,10 @@ main( argc, argv )
|
||||||
exit( 1 );
|
exit( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
ld->ld_deref = LDAP_DEREF_NEVER; /* this seems prudent */
|
#if LDAP_VERSION > LDAP_VERSION2
|
||||||
|
/* this seems prudent */
|
||||||
|
ldap_set_option( LDAP_OPT_DEREF, LDAP_DEREF_NEVER);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ( !kerberos ) {
|
if ( !kerberos ) {
|
||||||
authmethod = LDAP_AUTH_SIMPLE;
|
authmethod = LDAP_AUTH_SIMPLE;
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,21 @@
|
||||||
#include "portable.h"
|
#include "portable.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <ac/socket.h>
|
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
|
||||||
#include <ac/unistd.h>
|
#include <ac/unistd.h>
|
||||||
|
|
||||||
#include <lber.h>
|
#include <lber.h>
|
||||||
#include <ldap.h>
|
#include <ldap.h>
|
||||||
#include <ldif.h>
|
#include <ldif.h>
|
||||||
|
|
||||||
|
#if LDAP_VERSION == LDAP_VERSION2
|
||||||
|
/* until we implement ldap_set_options() */
|
||||||
|
#include "../libraries/libldap/ldap-int.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "ldapconfig.h"
|
#include "ldapconfig.h"
|
||||||
|
|
||||||
#define DEFSEP "="
|
#define DEFSEP "="
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ LDAP_BEGIN_DECL
|
||||||
*/
|
*/
|
||||||
#define LBER_ERROR 0xffffffffL
|
#define LBER_ERROR 0xffffffffL
|
||||||
#define LBER_DEFAULT 0xffffffffL
|
#define LBER_DEFAULT 0xffffffffL
|
||||||
|
#define LBER_END_SEQORSET 0xfffffffeL
|
||||||
|
|
||||||
/* general BER types we know about */
|
/* general BER types we know about */
|
||||||
#define LBER_BOOLEAN 0x01L
|
#define LBER_BOOLEAN 0x01L
|
||||||
|
|
@ -54,62 +55,34 @@ LDAP_BEGIN_DECL
|
||||||
#define OLD_LBER_SEQUENCE 0x10L /* w/o constructed bit - broken */
|
#define OLD_LBER_SEQUENCE 0x10L /* w/o constructed bit - broken */
|
||||||
#define OLD_LBER_SET 0x11L /* w/o constructed bit - broken */
|
#define OLD_LBER_SET 0x11L /* w/o constructed bit - broken */
|
||||||
|
|
||||||
|
/* get/set options for BerElement */
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_FILE 0x01
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_FILE_ONLY 0x02
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_MAX_INCOMING_SIZE 0x04
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_NO_READ_AHEAD 0x08
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_DESC 0x10
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_COPYDESC 0x20
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_READFN 0x40
|
||||||
|
#define LBER_SOCKBUF_OPT_TO_WRITE_FN 0x80
|
||||||
|
|
||||||
|
/* LBER on/off values */
|
||||||
|
#define LBER_OPT_ON ((void *) 1)
|
||||||
|
#define LBER_OPT_OFF ((void *) 0)
|
||||||
|
|
||||||
typedef int (*BERTranslateProc) LDAP_P(( char **bufp,
|
typedef int (*BERTranslateProc) LDAP_P(( char **bufp,
|
||||||
unsigned long *buflenp,
|
unsigned long *buflenp,
|
||||||
int free_input ));
|
int free_input ));
|
||||||
|
|
||||||
typedef struct berelement {
|
|
||||||
char *ber_buf;
|
|
||||||
char *ber_ptr;
|
|
||||||
char *ber_end;
|
|
||||||
struct seqorset *ber_sos;
|
|
||||||
unsigned long ber_tag;
|
|
||||||
unsigned long ber_len;
|
|
||||||
int ber_usertag;
|
|
||||||
char ber_options;
|
|
||||||
#define LBER_USE_DER 0x01
|
#define LBER_USE_DER 0x01
|
||||||
#define LBER_USE_INDEFINITE_LEN 0x02
|
#define LBER_USE_INDEFINITE_LEN 0x02
|
||||||
#define LBER_TRANSLATE_STRINGS 0x04
|
#define LBER_TRANSLATE_STRINGS 0x04
|
||||||
char *ber_rwptr;
|
|
||||||
BERTranslateProc ber_encode_translate_proc;
|
typedef struct berelement BerElement;
|
||||||
BERTranslateProc ber_decode_translate_proc;
|
|
||||||
} BerElement;
|
|
||||||
#define NULLBER ((BerElement *) 0)
|
#define NULLBER ((BerElement *) 0)
|
||||||
|
|
||||||
typedef struct sockbuf {
|
typedef struct sockbuf Sockbuf;
|
||||||
#ifndef MACOS
|
|
||||||
int sb_sd;
|
|
||||||
#else /* MACOS */
|
|
||||||
void *sb_sd;
|
|
||||||
#endif /* MACOS */
|
|
||||||
BerElement sb_ber;
|
|
||||||
|
|
||||||
int sb_naddr; /* > 0 implies using CLDAP (UDP) */
|
|
||||||
void *sb_useaddr; /* pointer to sockaddr to use next */
|
|
||||||
void *sb_fromaddr; /* pointer to message source sockaddr */
|
|
||||||
void **sb_addrs; /* actually an array of pointers to
|
|
||||||
sockaddrs */
|
|
||||||
|
|
||||||
int sb_options; /* to support copying ber elements */
|
|
||||||
#define LBER_TO_FILE 0x01 /* to a file referenced by sb_fd */
|
|
||||||
#define LBER_TO_FILE_ONLY 0x02 /* only write to file, not network */
|
|
||||||
#define LBER_MAX_INCOMING_SIZE 0x04 /* impose limit on incoming stuff */
|
|
||||||
#define LBER_NO_READ_AHEAD 0x08 /* read only as much as requested */
|
|
||||||
int sb_fd;
|
|
||||||
long sb_max_incoming;
|
|
||||||
} Sockbuf;
|
|
||||||
#define READBUFSIZ 8192
|
#define READBUFSIZ 8192
|
||||||
|
|
||||||
typedef struct seqorset {
|
|
||||||
BerElement *sos_ber;
|
|
||||||
unsigned long sos_clen;
|
|
||||||
unsigned long sos_tag;
|
|
||||||
char *sos_first;
|
|
||||||
char *sos_ptr;
|
|
||||||
struct seqorset *sos_next;
|
|
||||||
} Seqorset;
|
|
||||||
#define NULLSEQORSET ((Seqorset *) 0)
|
|
||||||
|
|
||||||
/* structure for returning a sequence of octet strings + length */
|
/* structure for returning a sequence of octet strings + length */
|
||||||
struct berval {
|
struct berval {
|
||||||
unsigned long bv_len;
|
unsigned long bv_len;
|
||||||
|
|
@ -167,7 +140,7 @@ LDAP_F int ber_start_set LDAP_P(( BerElement *ber, unsigned long tag ));
|
||||||
LDAP_F int ber_put_seq LDAP_P(( BerElement *ber ));
|
LDAP_F int ber_put_seq LDAP_P(( BerElement *ber ));
|
||||||
LDAP_F int ber_put_set LDAP_P(( BerElement *ber ));
|
LDAP_F int ber_put_set LDAP_P(( BerElement *ber ));
|
||||||
LDAP_F int ber_printf LDAP_P(( BerElement *ber, char *fmt, ... ));
|
LDAP_F int ber_printf LDAP_P(( BerElement *ber, char *fmt, ... ));
|
||||||
|
LDAP_F int ber_fatten LDAP_P(( BerElement *ber, struct berval **bvPtr));
|
||||||
/*
|
/*
|
||||||
* in io.c:
|
* in io.c:
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
174
include/ldap.h
174
include/ldap.h
|
|
@ -21,7 +21,8 @@ LDAP_BEGIN_DECL
|
||||||
#define LDAP_VERSION1 1
|
#define LDAP_VERSION1 1
|
||||||
#define LDAP_VERSION2 2
|
#define LDAP_VERSION2 2
|
||||||
#define LDAP_VERSION3 3
|
#define LDAP_VERSION3 3
|
||||||
#define LDAP_VERSION LDAP_VERSION2
|
#define LDAP_VERSION LDAP_VERSION2
|
||||||
|
#define LDAP_VERSION_MAX LDAP_VERSION2
|
||||||
|
|
||||||
#define LDAP_COMPAT20
|
#define LDAP_COMPAT20
|
||||||
#define LDAP_COMPAT30
|
#define LDAP_COMPAT30
|
||||||
|
|
@ -29,52 +30,54 @@ LDAP_BEGIN_DECL
|
||||||
#define LDAP_COMPAT
|
#define LDAP_COMPAT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define LDAP_OPT_API_INFO 0x00
|
||||||
|
#define LDAP_OPT_DESC 0x01
|
||||||
|
#define LDAP_OPT_DEREF 0x02
|
||||||
|
#define LDAP_OPT_SIZELIMIT 0x03
|
||||||
|
#define LDAP_OPT_TIMELIMIT 0x04
|
||||||
|
#define LDAP_OPT_REFERRALS 0x08
|
||||||
|
#define LDAP_OPT_RESTART 0x09
|
||||||
|
#define LDAP_OPT_PROTOCOL_VERSION 0x11
|
||||||
|
#define LDAP_OPT_SERVER_CONTROLS 0x12
|
||||||
|
#define LDAP_OPT_CLIENT_CONTROLS 0x13
|
||||||
|
#define LDAP_OPT_HOST_NAME 0x30
|
||||||
|
#define LDAP_OPT_ERROR_NUMBER 0x31
|
||||||
|
#define LDAP_OPT_ERROR_STRING 0x32
|
||||||
|
|
||||||
|
/* for LDAPv2 compatibility */
|
||||||
|
#define LDAP_OPT_DNS 0x40 /* use DN & DNS */
|
||||||
|
|
||||||
|
/* on/off values */
|
||||||
|
#define LDAP_OPT_ON ((void *) 1)
|
||||||
|
#define LDAP_OPT_OFF ((void *)) 0)
|
||||||
|
|
||||||
|
#define LDAP_OPT_SUCCESS 0
|
||||||
|
#define LDAP_OPT_ERROR (-1)
|
||||||
|
|
||||||
|
LDAP_F int ldap_get_option LDAP_P((LDAP *ld, int option, void *outvalue));
|
||||||
|
LDAP_F int ldap_set_option LDAP_P((LDAP *ld, int option, void *invalue));
|
||||||
|
|
||||||
|
typedef struct ldapapiinfo {
|
||||||
|
int ldapai_info_version; /* version of LDAPAPIInfo (1) */
|
||||||
|
int ldapai_api_version; /* revision of API supported */
|
||||||
|
int ldapai_protocol_version; /* highest LDAP version supported */
|
||||||
|
char **ldapai_extensions; /* names of API extensions */
|
||||||
|
char *ldapi_vendor_name; /* name of supplier */
|
||||||
|
int ldapai_vendor_version; /* supplier-specific version times 100 */
|
||||||
|
} LDAPAPIInfo;
|
||||||
|
|
||||||
|
typedef struct ldapcontrol {
|
||||||
|
char *ldctl_oid;
|
||||||
|
struct berval ldctl_value;
|
||||||
|
char ldctl_iscritical;
|
||||||
|
} LDAPControl, *PLDAPControl;
|
||||||
|
|
||||||
|
LDAP_F void ldap_control_free LDAP_P(( LDAPControl *ctrl ));
|
||||||
|
LDAP_F void ldap_controls_free LDAP_P(( LDAPControl **ctrls ));
|
||||||
|
|
||||||
|
|
||||||
#define LDAP_MAX_ATTR_LEN 100
|
#define LDAP_MAX_ATTR_LEN 100
|
||||||
|
|
||||||
/* debugging stuff */
|
|
||||||
#ifdef LDAP_DEBUG
|
|
||||||
extern int ldap_debug;
|
|
||||||
#ifdef LDAP_SYSLOG
|
|
||||||
extern int ldap_syslog;
|
|
||||||
extern int ldap_syslog_level;
|
|
||||||
#endif /* LDAP_SYSLOG */
|
|
||||||
|
|
||||||
#define LDAP_DEBUG_TRACE 0x001
|
|
||||||
#define LDAP_DEBUG_PACKETS 0x002
|
|
||||||
#define LDAP_DEBUG_ARGS 0x004
|
|
||||||
#define LDAP_DEBUG_CONNS 0x008
|
|
||||||
#define LDAP_DEBUG_BER 0x010
|
|
||||||
#define LDAP_DEBUG_FILTER 0x020
|
|
||||||
#define LDAP_DEBUG_CONFIG 0x040
|
|
||||||
#define LDAP_DEBUG_ACL 0x080
|
|
||||||
#define LDAP_DEBUG_STATS 0x100
|
|
||||||
#define LDAP_DEBUG_STATS2 0x200
|
|
||||||
#define LDAP_DEBUG_SHELL 0x400
|
|
||||||
#define LDAP_DEBUG_PARSE 0x800
|
|
||||||
#define LDAP_DEBUG_ANY 0xffff
|
|
||||||
|
|
||||||
/* this doesn't below as part of ldap.h */
|
|
||||||
#ifdef LDAP_SYSLOG
|
|
||||||
#define Debug( level, fmt, arg1, arg2, arg3 ) \
|
|
||||||
{ \
|
|
||||||
if ( ldap_debug & (level) ) \
|
|
||||||
fprintf( stderr, (fmt), (arg1), (arg2), (arg3) ); \
|
|
||||||
if ( ldap_syslog & level ) \
|
|
||||||
syslog( ldap_syslog_level, (fmt), (arg1), (arg2), (arg3) ); \
|
|
||||||
}
|
|
||||||
#else /* LDAP_SYSLOG */
|
|
||||||
#ifndef WINSOCK
|
|
||||||
#define Debug( level, fmt, arg1, arg2, arg3 ) \
|
|
||||||
if ( ldap_debug & (level) ) \
|
|
||||||
fprintf( stderr, (fmt), (arg1), (arg2), (arg3) );
|
|
||||||
#else /* !WINSOCK */
|
|
||||||
extern void Debug( int level, char* fmt, ... );
|
|
||||||
#endif /* !WINSOCK */
|
|
||||||
#endif /* LDAP_SYSLOG */
|
|
||||||
#else /* LDAP_DEBUG */
|
|
||||||
#define Debug( level, fmt, arg1, arg2, arg3 )
|
|
||||||
#endif /* LDAP_DEBUG */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* specific LDAP instantiations of BER types we know about
|
* specific LDAP instantiations of BER types we know about
|
||||||
*/
|
*/
|
||||||
|
|
@ -228,6 +231,11 @@ typedef struct ldapmod {
|
||||||
#define LDAP_STRONG_AUTH_NOT_SUPPORTED 0x07
|
#define LDAP_STRONG_AUTH_NOT_SUPPORTED 0x07
|
||||||
#define LDAP_STRONG_AUTH_REQUIRED 0x08
|
#define LDAP_STRONG_AUTH_REQUIRED 0x08
|
||||||
#define LDAP_PARTIAL_RESULTS 0x09
|
#define LDAP_PARTIAL_RESULTS 0x09
|
||||||
|
#define LDAP_REFERRAL 0x0a /* LDAPv3 */
|
||||||
|
#define LDAP_ADMINLIMIT_EXCEEDED 0x0b /* LDAPv3 */
|
||||||
|
#define LDAP_UNAVAILABLE_CRITICIAL_EXTENSION 0x0c /* LDAPv3 */
|
||||||
|
#define LDAP_CONFIDENTIALITY_REQUIRED 0x0d /* LDAPv3 */
|
||||||
|
#define LDAP_SASL_BIND_IN_PROGRESS 0x0e /* LDAPv3 */
|
||||||
|
|
||||||
#define LDAP_NO_SUCH_ATTRIBUTE 0x10
|
#define LDAP_NO_SUCH_ATTRIBUTE 0x10
|
||||||
#define LDAP_UNDEFINED_TYPE 0x11
|
#define LDAP_UNDEFINED_TYPE 0x11
|
||||||
|
|
@ -239,7 +247,7 @@ typedef struct ldapmod {
|
||||||
#define LDAP_NO_SUCH_OBJECT 0x20
|
#define LDAP_NO_SUCH_OBJECT 0x20
|
||||||
#define LDAP_ALIAS_PROBLEM 0x21
|
#define LDAP_ALIAS_PROBLEM 0x21
|
||||||
#define LDAP_INVALID_DN_SYNTAX 0x22
|
#define LDAP_INVALID_DN_SYNTAX 0x22
|
||||||
#define LDAP_IS_LEAF 0x23
|
#define LDAP_IS_LEAF 0x23 /* not LDAPv3 */
|
||||||
#define LDAP_ALIAS_DEREF_PROBLEM 0x24
|
#define LDAP_ALIAS_DEREF_PROBLEM 0x24
|
||||||
|
|
||||||
#define NAME_ERROR(n) ((n & 0xf0) == 0x20)
|
#define NAME_ERROR(n) ((n & 0xf0) == 0x20)
|
||||||
|
|
@ -258,7 +266,8 @@ typedef struct ldapmod {
|
||||||
#define LDAP_NOT_ALLOWED_ON_RDN 0x43
|
#define LDAP_NOT_ALLOWED_ON_RDN 0x43
|
||||||
#define LDAP_ALREADY_EXISTS 0x44
|
#define LDAP_ALREADY_EXISTS 0x44
|
||||||
#define LDAP_NO_OBJECT_CLASS_MODS 0x45
|
#define LDAP_NO_OBJECT_CLASS_MODS 0x45
|
||||||
#define LDAP_RESULTS_TOO_LARGE 0x46
|
#define LDAP_RESULTS_TOO_LARGE 0x46 /* CLDAP */
|
||||||
|
#define LDAP_AFFECTS_MULTIPLE_DSAS 0x47 /* LDAPv3 */
|
||||||
|
|
||||||
#define LDAP_OTHER 0x50
|
#define LDAP_OTHER 0x50
|
||||||
#define LDAP_SERVER_DOWN 0x51
|
#define LDAP_SERVER_DOWN 0x51
|
||||||
|
|
@ -282,14 +291,7 @@ typedef struct ldapmod {
|
||||||
* where a response has multiple messages.
|
* where a response has multiple messages.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct ldapmsg {
|
typedef struct ldapmsg LDAPMessage;
|
||||||
int lm_msgid; /* the message id */
|
|
||||||
int lm_msgtype; /* the message type */
|
|
||||||
BerElement *lm_ber; /* the ber encoded message contents */
|
|
||||||
struct ldapmsg *lm_chain; /* for search - next msg in the resp */
|
|
||||||
struct ldapmsg *lm_next; /* next response */
|
|
||||||
unsigned int lm_time; /* used to maintain cache */
|
|
||||||
} LDAPMessage;
|
|
||||||
#define NULLMSG ((LDAPMessage *) NULL)
|
#define NULLMSG ((LDAPMessage *) NULL)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -406,65 +408,15 @@ typedef struct ldap_filt_desc {
|
||||||
* structure representing an ldap connection
|
* structure representing an ldap connection
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct ldap {
|
typedef struct ldap LDAP;
|
||||||
Sockbuf ld_sb; /* socket descriptor & buffer */
|
|
||||||
char *ld_host;
|
#define LDAP_DEREF_NEVER 0x00
|
||||||
int ld_version;
|
#define LDAP_DEREF_SEARCHING 0x01
|
||||||
char ld_lberoptions;
|
#define LDAP_DEREF_FINDING 0x02
|
||||||
int ld_deref;
|
#define LDAP_DEREF_ALWAYS 0x03
|
||||||
#define LDAP_DEREF_NEVER 0
|
|
||||||
#define LDAP_DEREF_SEARCHING 1
|
|
||||||
#define LDAP_DEREF_FINDING 2
|
|
||||||
#define LDAP_DEREF_ALWAYS 3
|
|
||||||
|
|
||||||
int ld_timelimit;
|
|
||||||
int ld_sizelimit;
|
|
||||||
#define LDAP_NO_LIMIT 0
|
#define LDAP_NO_LIMIT 0
|
||||||
|
|
||||||
LDAPFiltDesc *ld_filtd; /* from getfilter for ufn searches */
|
|
||||||
char *ld_ufnprefix; /* for incomplete ufn's */
|
|
||||||
|
|
||||||
int ld_errno;
|
|
||||||
char *ld_error;
|
|
||||||
char *ld_matched;
|
|
||||||
int ld_msgid;
|
|
||||||
|
|
||||||
/* do not mess with these */
|
|
||||||
#ifdef LDAP_REFERRALS
|
|
||||||
LDAPRequest *ld_requests; /* list of outstanding requests */
|
|
||||||
#else /* LDAP_REFERRALS */
|
|
||||||
LDAPMessage *ld_requests; /* list of outstanding requests */
|
|
||||||
#endif /* LDAP_REFERRALS */
|
|
||||||
LDAPMessage *ld_responses; /* list of outstanding responses */
|
|
||||||
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 */
|
|
||||||
|
|
||||||
/* it is OK to change these next four values directly */
|
|
||||||
int ld_cldaptries; /* connectionless search retry count */
|
|
||||||
int ld_cldaptimeout;/* time between retries */
|
|
||||||
int ld_refhoplimit; /* limit on referral nesting */
|
|
||||||
unsigned long ld_options; /* boolean options */
|
|
||||||
#define LDAP_OPT_DNS 0x00000001 /* use DN & DNS */
|
|
||||||
#define LDAP_OPT_REFERRALS 0x00000002 /* chase referrals */
|
|
||||||
#define LDAP_OPT_RESTART 0x00000004 /* restart if EINTR occurs */
|
|
||||||
|
|
||||||
/* do not mess with the rest though */
|
|
||||||
char *ld_defhost; /* full name of default server */
|
|
||||||
int ld_defport; /* port of default server */
|
|
||||||
BERTranslateProc ld_lber_encode_translate_proc;
|
|
||||||
BERTranslateProc ld_lber_decode_translate_proc;
|
|
||||||
#ifdef LDAP_REFERRALS
|
|
||||||
LDAPConn *ld_defconn; /* default connection */
|
|
||||||
LDAPConn *ld_conns; /* list of server connections */
|
|
||||||
void *ld_selectinfo; /* platform specifics for select */
|
|
||||||
int (*ld_rebindproc)( struct ldap *ld, char **dnp,
|
|
||||||
char **passwdp, int *authmethodp, int freeit );
|
|
||||||
/* routine to get info needed for re-bind */
|
|
||||||
#endif /* LDAP_REFERRALS */
|
|
||||||
} LDAP;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* structure for ldap friendly mapping routines
|
* structure for ldap friendly mapping routines
|
||||||
|
|
|
||||||
66
include/ldap_log.h
Normal file
66
include/ldap_log.h
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1990 Regents of the University of Michigan.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms are permitted
|
||||||
|
* provided that this notice is preserved and that due credit is given
|
||||||
|
* to the University of Michigan at Ann Arbor. The name of the University
|
||||||
|
* may not be used to endorse or promote products derived from this
|
||||||
|
* software without specific prior written permission. This software
|
||||||
|
* is provided ``as is'' without express or implied warranty.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _LDAP_LOG_H
|
||||||
|
#define _LDAP_LOG_H
|
||||||
|
|
||||||
|
#include <ldap_cdefs.h>
|
||||||
|
|
||||||
|
LDAP_BEGIN_DECL
|
||||||
|
|
||||||
|
/* debugging stuff */
|
||||||
|
#ifdef LDAP_DEBUG
|
||||||
|
extern int ldap_debug;
|
||||||
|
#ifdef LDAP_SYSLOG
|
||||||
|
extern int ldap_syslog;
|
||||||
|
extern int ldap_syslog_level;
|
||||||
|
#endif /* LDAP_SYSLOG */
|
||||||
|
|
||||||
|
#define LDAP_DEBUG_TRACE 0x001
|
||||||
|
#define LDAP_DEBUG_PACKETS 0x002
|
||||||
|
#define LDAP_DEBUG_ARGS 0x004
|
||||||
|
#define LDAP_DEBUG_CONNS 0x008
|
||||||
|
#define LDAP_DEBUG_BER 0x010
|
||||||
|
#define LDAP_DEBUG_FILTER 0x020
|
||||||
|
#define LDAP_DEBUG_CONFIG 0x040
|
||||||
|
#define LDAP_DEBUG_ACL 0x080
|
||||||
|
#define LDAP_DEBUG_STATS 0x100
|
||||||
|
#define LDAP_DEBUG_STATS2 0x200
|
||||||
|
#define LDAP_DEBUG_SHELL 0x400
|
||||||
|
#define LDAP_DEBUG_PARSE 0x800
|
||||||
|
#define LDAP_DEBUG_ANY 0xffff
|
||||||
|
|
||||||
|
/* this doesn't below as part of ldap.h */
|
||||||
|
#ifdef LDAP_SYSLOG
|
||||||
|
#define Debug( level, fmt, arg1, arg2, arg3 ) \
|
||||||
|
{ \
|
||||||
|
if ( ldap_debug & (level) ) \
|
||||||
|
fprintf( stderr, (fmt), (arg1), (arg2), (arg3) ); \
|
||||||
|
if ( ldap_syslog & level ) \
|
||||||
|
syslog( ldap_syslog_level, (fmt), (arg1), (arg2), (arg3) ); \
|
||||||
|
}
|
||||||
|
#else /* LDAP_SYSLOG */
|
||||||
|
#ifndef WINSOCK
|
||||||
|
#define Debug( level, fmt, arg1, arg2, arg3 ) \
|
||||||
|
if ( ldap_debug & (level) ) \
|
||||||
|
fprintf( stderr, (fmt), (arg1), (arg2), (arg3) );
|
||||||
|
#else /* !WINSOCK */
|
||||||
|
extern void Debug( int level, char* fmt, ... );
|
||||||
|
#endif /* !WINSOCK */
|
||||||
|
#endif /* LDAP_SYSLOG */
|
||||||
|
#else /* LDAP_DEBUG */
|
||||||
|
#define Debug( level, fmt, arg1, arg2, arg3 )
|
||||||
|
#endif /* LDAP_DEBUG */
|
||||||
|
|
||||||
|
LDAP_END_DECL
|
||||||
|
|
||||||
|
#endif /* _LDAP_H */
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#endif /* LDAP_DEBUG && LDAP_LIBUI */
|
#endif /* LDAP_DEBUG && LDAP_LIBUI */
|
||||||
|
|
||||||
#include "lber.h"
|
#include "lber-int.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Print arbitrary stuff, for debugging.
|
* Print arbitrary stuff, for debugging.
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/socket.h>
|
#include <ac/socket.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "lber-int.h"
|
||||||
|
|
||||||
#ifdef LDAP_DEBUG
|
#ifdef LDAP_DEBUG
|
||||||
int lber_debug;
|
int lber_debug;
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
#include <ac/socket.h>
|
#include <ac/socket.h>
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "lber-int.h"
|
||||||
|
|
||||||
static int ber_put_len LDAP_P(( BerElement *ber,
|
static int ber_put_len LDAP_P(( BerElement *ber,
|
||||||
unsigned long len, int nosos ));
|
unsigned long len, int nosos ));
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
#include "lber-int.h"
|
||||||
|
|
||||||
static int ber_realloc LDAP_P(( BerElement *ber, unsigned long len ));
|
static int ber_realloc LDAP_P(( BerElement *ber, unsigned long len ));
|
||||||
static int ber_filbuf LDAP_P(( Sockbuf *sb, long len ));
|
static int ber_filbuf LDAP_P(( Sockbuf *sb, long len ));
|
||||||
|
|
|
||||||
72
libraries/liblber/lber-int.h
Normal file
72
libraries/liblber/lber-int.h
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1990 Regents of the University of Michigan.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms are permitted
|
||||||
|
* provided that this notice is preserved and that due credit is given
|
||||||
|
* to the University of Michigan at Ann Arbor. The name of the University
|
||||||
|
* may not be used to endorse or promote products derived from this
|
||||||
|
* software without specific prior written permission. This software
|
||||||
|
* is provided ``as is'' without express or implied warranty.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _LBER_INT_H
|
||||||
|
#define _LBER_INT_H
|
||||||
|
|
||||||
|
#include "lber.h"
|
||||||
|
|
||||||
|
LDAP_BEGIN_DECL
|
||||||
|
|
||||||
|
typedef struct berelement {
|
||||||
|
char *ber_buf;
|
||||||
|
char *ber_ptr;
|
||||||
|
char *ber_end;
|
||||||
|
struct seqorset *ber_sos;
|
||||||
|
unsigned long ber_tag;
|
||||||
|
unsigned long ber_len;
|
||||||
|
int ber_usertag;
|
||||||
|
char ber_options;
|
||||||
|
#define LBER_USE_DER 0x01
|
||||||
|
#define LBER_USE_INDEFINITE_LEN 0x02
|
||||||
|
#define LBER_TRANSLATE_STRINGS 0x04
|
||||||
|
char *ber_rwptr;
|
||||||
|
BERTranslateProc ber_encode_translate_proc;
|
||||||
|
BERTranslateProc ber_decode_translate_proc;
|
||||||
|
} BerElement;
|
||||||
|
#define NULLBER ((BerElement *) 0)
|
||||||
|
|
||||||
|
typedef struct sockbuf {
|
||||||
|
#ifndef MACOS
|
||||||
|
int sb_sd;
|
||||||
|
#else /* MACOS */
|
||||||
|
void *sb_sd;
|
||||||
|
#endif /* MACOS */
|
||||||
|
BerElement sb_ber;
|
||||||
|
|
||||||
|
int sb_naddr; /* > 0 implies using CLDAP (UDP) */
|
||||||
|
void *sb_useaddr; /* pointer to sockaddr to use next */
|
||||||
|
void *sb_fromaddr; /* pointer to message source sockaddr */
|
||||||
|
void **sb_addrs; /* actually an array of pointers to
|
||||||
|
sockaddrs */
|
||||||
|
|
||||||
|
int sb_options; /* to support copying ber elements */
|
||||||
|
#define LBER_TO_FILE 0x01 /* to a file referenced by sb_fd */
|
||||||
|
#define LBER_TO_FILE_ONLY 0x02 /* only write to file, not network */
|
||||||
|
#define LBER_MAX_INCOMING_SIZE 0x04 /* impose limit on incoming stuff */
|
||||||
|
#define LBER_NO_READ_AHEAD 0x08 /* read only as much as requested */
|
||||||
|
int sb_fd;
|
||||||
|
long sb_max_incoming;
|
||||||
|
} Sockbuf;
|
||||||
|
#define READBUFSIZ 8192
|
||||||
|
|
||||||
|
typedef struct seqorset {
|
||||||
|
BerElement *sos_ber;
|
||||||
|
unsigned long sos_clen;
|
||||||
|
unsigned long sos_tag;
|
||||||
|
char *sos_first;
|
||||||
|
char *sos_ptr;
|
||||||
|
struct seqorset *sos_next;
|
||||||
|
} Seqorset;
|
||||||
|
#define NULLSEQORSET ((Seqorset *) 0)
|
||||||
|
|
||||||
|
#endif /* _LBER_INT_H */
|
||||||
|
|
@ -92,6 +92,10 @@ SOURCE=.\io.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=".\lber-int.h"
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\include\lber.h
|
SOURCE=..\..\include\lber.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Target
|
# End Target
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
static int do_abandon LDAP_P(( LDAP *ld, int origid, int msgid ));
|
static int do_abandon LDAP_P(( LDAP *ld, int origid, int msgid ));
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
LDAPMessage *
|
LDAPMessage *
|
||||||
ldap_delete_result_entry( LDAPMessage **list, LDAPMessage *e )
|
ldap_delete_result_entry( LDAPMessage **list, LDAPMessage *e )
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,7 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ static char copyright[] = "@(#) Copyright (c) 1993 The Regents of the University
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
#ifndef LDAP_NOCACHE
|
#ifndef LDAP_NOCACHE
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,6 @@ static char copyright[] = "@(#) Copyright (c) 1995 Regents of the University of
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,6 @@ static char copyright[] = "@(#) Copyright (c) 1990, 1994 Regents of the Universi
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
#define DEF_CLDAP_TIMEOUT 3
|
#define DEF_CLDAP_TIMEOUT 3
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,7 @@
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
#include "disptmpl.h"
|
#include "disptmpl.h"
|
||||||
|
|
||||||
static void free_disptmpl LDAP_P(( struct ldap_disptmpl *tmpl ));
|
static void free_disptmpl LDAP_P(( struct ldap_disptmpl *tmpl ));
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,7 @@
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
int next_line_tokens LDAP_P(( char **bufp, long *blenp, char ***toksp ));
|
int next_line_tokens LDAP_P(( char **bufp, long *blenp, char ***toksp ));
|
||||||
void free_strarray LDAP_P(( char **sap ));
|
void free_strarray LDAP_P(( char **sap ));
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,7 @@
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
struct ldaperror {
|
struct ldaperror {
|
||||||
int e_code;
|
int e_code;
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ static char copyright[] = "@(#) Copyright (c) 1994 The Regents of the University
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ldap_getfilter_free( LDAPFiltDesc *lfdp )
|
ldap_getfilter_free( LDAPFiltDesc *lfdp )
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,7 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
ldap_friendly_name( char *filename, char *uname, FriendlyMap **map )
|
ldap_friendly_name( char *filename, char *uname, FriendlyMap **map )
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
char *
|
char *
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
ldap_get_dn( LDAP *ld, LDAPMessage *entry )
|
ldap_get_dn( LDAP *ld, LDAPMessage *entry )
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
static char ** decode_answer LDAP_P(( unsigned char *answer, int len ));
|
static char ** decode_answer LDAP_P(( unsigned char *answer, int len ));
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
/* ARGSUSED */
|
/* ARGSUSED */
|
||||||
LDAPMessage *
|
LDAPMessage *
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,7 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
static int break_into_words LDAP_P(( char *str, char *delims, char ***wordsp ));
|
static int break_into_words LDAP_P(( char *str, char *delims, char ***wordsp ));
|
||||||
int next_line_tokens LDAP_P(( char **bufp, long *blenp, char ***toksp ));
|
int next_line_tokens LDAP_P(( char **bufp, long *blenp, char ***toksp ));
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
char **
|
char **
|
||||||
ldap_get_values( LDAP *ld, LDAPMessage *entry, char *target )
|
ldap_get_values( LDAP *ld, LDAPMessage *entry, char *target )
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,9 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ldap_kerberos_bind1 - initiate a bind to the ldap server using
|
* ldap_kerberos_bind1 - initiate a bind to the ldap server using
|
||||||
* kerberos authentication. The dn is supplied. It is assumed the user
|
* kerberos authentication. The dn is supplied. It is assumed the user
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,12 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "../liblber/lber-int.h"
|
||||||
|
#include "ldap_log.h"
|
||||||
|
#include "ldap.h"
|
||||||
|
|
||||||
|
LDAP_BEGIN_DECL
|
||||||
|
|
||||||
#define LDAP_URL_PREFIX "ldap://"
|
#define LDAP_URL_PREFIX "ldap://"
|
||||||
#define LDAP_URL_PREFIX_LEN 7
|
#define LDAP_URL_PREFIX_LEN 7
|
||||||
#define LDAP_URL_URLCOLON "URL:"
|
#define LDAP_URL_URLCOLON "URL:"
|
||||||
|
|
@ -22,7 +28,75 @@
|
||||||
#endif /* LDAP_DNS */
|
#endif /* LDAP_DNS */
|
||||||
#endif /* LDAP_REFERRALS */
|
#endif /* LDAP_REFERRALS */
|
||||||
|
|
||||||
LDAP_BEGIN_DECL
|
/*
|
||||||
|
* This structure represents both ldap messages and ldap responses.
|
||||||
|
* These are really the same, except in the case of search responses,
|
||||||
|
* where a response has multiple messages.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct ldapmsg {
|
||||||
|
int lm_msgid; /* the message id */
|
||||||
|
int lm_msgtype; /* the message type */
|
||||||
|
BerElement *lm_ber; /* the ber encoded message contents */
|
||||||
|
struct ldapmsg *lm_chain; /* for search - next msg in the resp */
|
||||||
|
struct ldapmsg *lm_next; /* next response */
|
||||||
|
unsigned int lm_time; /* used to maintain cache */
|
||||||
|
} LDAPMessage;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* structure representing an ldap connection
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct ldap {
|
||||||
|
Sockbuf ld_sb; /* socket descriptor & buffer */
|
||||||
|
char *ld_host;
|
||||||
|
int ld_version;
|
||||||
|
char ld_lberoptions;
|
||||||
|
int ld_deref;
|
||||||
|
int ld_timelimit;
|
||||||
|
int ld_sizelimit;
|
||||||
|
|
||||||
|
LDAPFiltDesc *ld_filtd; /* from getfilter for ufn searches */
|
||||||
|
char *ld_ufnprefix; /* for incomplete ufn's */
|
||||||
|
|
||||||
|
int ld_errno;
|
||||||
|
char *ld_error;
|
||||||
|
char *ld_matched;
|
||||||
|
int ld_msgid;
|
||||||
|
|
||||||
|
/* do not mess with these */
|
||||||
|
#ifdef LDAP_REFERRALS
|
||||||
|
LDAPRequest *ld_requests; /* list of outstanding requests */
|
||||||
|
#else /* LDAP_REFERRALS */
|
||||||
|
LDAPMessage *ld_requests; /* list of outstanding requests */
|
||||||
|
#endif /* LDAP_REFERRALS */
|
||||||
|
LDAPMessage *ld_responses; /* list of outstanding responses */
|
||||||
|
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 */
|
||||||
|
|
||||||
|
/* it is OK to change these next four values directly */
|
||||||
|
int ld_cldaptries; /* connectionless search retry count */
|
||||||
|
int ld_cldaptimeout;/* time between retries */
|
||||||
|
int ld_refhoplimit; /* limit on referral nesting */
|
||||||
|
unsigned long ld_options; /* boolean options */
|
||||||
|
|
||||||
|
/* do not mess with the rest though */
|
||||||
|
char *ld_defhost; /* full name of default server */
|
||||||
|
int ld_defport; /* port of default server */
|
||||||
|
BERTranslateProc ld_lber_encode_translate_proc;
|
||||||
|
BERTranslateProc ld_lber_decode_translate_proc;
|
||||||
|
#ifdef LDAP_REFERRALS
|
||||||
|
LDAPConn *ld_defconn; /* default connection */
|
||||||
|
LDAPConn *ld_conns; /* list of server connections */
|
||||||
|
void *ld_selectinfo; /* platform specifics for select */
|
||||||
|
int (*ld_rebindproc)( struct ldap *ld, char **dnp,
|
||||||
|
char **passwdp, int *authmethodp, int freeit );
|
||||||
|
/* routine to get info needed for re-bind */
|
||||||
|
#endif /* LDAP_REFERRALS */
|
||||||
|
} LDAP;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in cache.c
|
* in cache.c
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,10 @@ SOURCE=.\disptmpl.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\disptmpl.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\dsparse.c
|
SOURCE=.\dsparse.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
@ -160,10 +164,22 @@ SOURCE=.\kbind.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\lber.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=".\ldap-int.h"
|
SOURCE=".\ldap-int.h"
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\ldap.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\ldap_log.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\modify.c
|
SOURCE=.\modify.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
@ -204,6 +220,10 @@ SOURCE=.\srchpref.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\srchpref.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\ufn.c
|
SOURCE=.\ufn.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,6 @@ static char copyright[] = "@(#) Copyright (c) 1995 Regents of the University of
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
#ifdef LDAP_DEBUG
|
#ifdef LDAP_DEBUG
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,6 @@
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@ static char copyright[] = "@(#) Copyright (c) 1995 Regents of the University of
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
#include <ac/unistd.h>
|
#include <ac/unistd.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
#if defined( LDAP_REFERRALS ) || defined( LDAP_DNS )
|
#if defined( LDAP_REFERRALS ) || defined( LDAP_DNS )
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
#include <ac/unistd.h>
|
#include <ac/unistd.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
static char *find_right_paren LDAP_P(( char *s ));
|
static char *find_right_paren LDAP_P(( char *s ));
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,7 @@
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
|
|
||||||
struct entrything {
|
struct entrything {
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,7 @@
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
#include "srchpref.h"
|
#include "srchpref.h"
|
||||||
|
|
||||||
int next_line_tokens LDAP_P(( char **bufp, long *blenp, char ***toksp ));
|
int next_line_tokens LDAP_P(( char **bufp, long *blenp, char ***toksp ));
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,7 @@ static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of
|
||||||
#include <ac/socket.h>
|
#include <ac/socket.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap-int.h"
|
||||||
#include "ldap.h"
|
|
||||||
|
|
||||||
#include "ldapconfig.h"
|
#include "ldapconfig.h"
|
||||||
|
|
||||||
typedef int (*cancelptype) LDAP_P(( void *cancelparm ));
|
typedef int (*cancelptype) LDAP_P(( void *cancelparm ));
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,6 @@ static char copyright[] = "@(#) Copyright (c) 1990 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,6 @@ static char copyright[] = "@(#) Copyright (c) 1996 Regents of the University of
|
||||||
#include <ac/string.h>
|
#include <ac/string.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldap-int.h"
|
#include "ldap-int.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,10 @@ LIB32=link.exe -lib
|
||||||
# Name "libldif - Win32 Debug"
|
# Name "libldif - Win32 Debug"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\ldif.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\line64.c
|
SOURCE=.\line64.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Target
|
# End Target
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,10 @@
|
||||||
#include <ac/socket.h>
|
#include <ac/socket.h>
|
||||||
#include <ac/time.h>
|
#include <ac/time.h>
|
||||||
|
|
||||||
#include "lber.h"
|
#include "ldap_log.h"
|
||||||
#include "ldap.h"
|
|
||||||
#include "ldif.h"
|
#include "ldif.h"
|
||||||
|
|
||||||
|
|
||||||
#define RIGHT2 0x03
|
#define RIGHT2 0x03
|
||||||
#define RIGHT4 0x0f
|
#define RIGHT4 0x0f
|
||||||
#define CONTINUED_LINE_MARKER '\001'
|
#define CONTINUED_LINE_MARKER '\001'
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue