SLAPD and tools compile and link!

LTHREAD still needs work.
This commit is contained in:
Kurt Zeilenga 1998-10-22 00:40:49 +00:00
parent 43e6fc8e76
commit c4b1286fa9
23 changed files with 487 additions and 485 deletions

25
configure vendored
View file

@ -5862,6 +5862,7 @@ for ac_func in \
lockf \
memcpy \
memmove \
mkstemp \
mktime \
select \
setpwfile \
@ -5881,12 +5882,12 @@ for ac_func in \
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:5885: checking for $ac_func" >&5
echo "configure:5886: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 5890 "configure"
#line 5891 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -5909,7 +5910,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:5913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:5914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@ -5937,12 +5938,12 @@ done
for ac_func in getopt strdup
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:5941: checking for $ac_func" >&5
echo "configure:5942: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 5946 "configure"
#line 5947 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -5965,7 +5966,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:5969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:5970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@ -5995,13 +5996,13 @@ done
# Check Configuration
echo $ac_n "checking declaration of sys_errlist""... $ac_c" 1>&6
echo "configure:5999: checking declaration of sys_errlist" >&5
echo "configure:6000: checking declaration of sys_errlist" >&5
if eval "test \"`echo '$''{'ol_cv_dcl_sys_errlist'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6005 "configure"
#line 6006 "configure"
#include "confdefs.h"
#include <stdio.h>
@ -6011,7 +6012,7 @@ int main() {
char *c = (char *) *sys_errlist
; return 0; }
EOF
if { (eval echo configure:6015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:6016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ol_cv_dcl_sys_errlist=yes
else
@ -6032,20 +6033,20 @@ if test $ol_cv_dcl_sys_errlist = no ; then
EOF
echo $ac_n "checking existence of sys_errlist""... $ac_c" 1>&6
echo "configure:6036: checking existence of sys_errlist" >&5
echo "configure:6037: checking existence of sys_errlist" >&5
if eval "test \"`echo '$''{'ol_cv_have_sys_errlist'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6042 "configure"
#line 6043 "configure"
#include "confdefs.h"
#include <errno.h>
int main() {
char *c = (char *) *sys_errlist
; return 0; }
EOF
if { (eval echo configure:6049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ol_cv_have_sys_errlist=yes
else

View file

@ -740,6 +740,7 @@ AC_CHECK_FUNCS( \
lockf \
memcpy \
memmove \
mkstemp \
mktime \
select \
setpwfile \

View file

@ -3,39 +3,61 @@
#ifndef _LDBM_H_
#define _LDBM_H_
#ifdef LDBM_USE_GDBM
#ifdef LDBM_USE_DBBTREE
/*****************************************************************
* *
* use gdbm if possible *
* use berkeley db btree package *
* *
*****************************************************************/
#include <gdbm.h>
#include <sys/types.h>
#include <limits.h>
#include <fcntl.h>
typedef datum Datum;
#ifdef HAVE_DB185_H
# include <db_185.h>
#else
# include <db.h>
# ifdef HAVE_BERKELEY_DB2
# define R_NOOVERWRITE DB_NOOVERWRITE
# define DEFAULT_DB_PAGE_SIZE 1024
# endif
#endif
typedef GDBM_FILE LDBM;
extern gdbm_error gdbm_errno;
typedef DBT Datum;
#define dsize size
#define dptr data
typedef DB *LDBM;
#define DB_TYPE DB_BTREE
/* for ldbm_open */
#define LDBM_READER GDBM_READER
#define LDBM_WRITER GDBM_WRITER
#define LDBM_WRCREAT GDBM_WRCREAT
#define LDBM_NEWDB GDBM_NEWDB
#define LDBM_FAST GDBM_FAST
#ifdef HAVE_BERKELEY_DB2
# define LDBM_READER DB_RDONLY
# define LDBM_WRITER 0x00000 /* hopefully */
# define LDBM_WRCREAT (DB_NOMMAP|DB_CREATE|DB_THREAD)
# define LDBM_NEWDB (DB_TRUNCATE|DB_CREATE|DB_THREAD)
#else
# define LDBM_READER O_RDONLY
# define LDBM_WRITER O_RDWR
# define LDBM_WRCREAT (O_RDWR|O_CREAT)
# define LDBM_NEWDB (O_RDWR|O_TRUNC|O_CREAT)
#endif
#define LDBM_SUFFIX ".gdbm"
# define LDBM_FAST 0
#define LDBM_SUFFIX ".dbb"
#define LDBM_ORDERED 1
/* for ldbm_insert */
#define LDBM_INSERT GDBM_INSERT
#define LDBM_REPLACE GDBM_REPLACE
#define LDBM_INSERT R_NOOVERWRITE
#define LDBM_REPLACE 0
#define LDBM_SYNC 0x80000000
#else /* end of gdbm */
#ifdef LDBM_USE_DBHASH
#elif defined( LDBM_USE_DBHASH )
/*****************************************************************
* *
@ -47,7 +69,7 @@ extern gdbm_error gdbm_errno;
#include <limits.h>
#include <fcntl.h>
#ifdef LDBM_USE_DB2_COMPAT185
#ifdef HAVE_DB185_H
# include <db_185.h>
#else
# include <db.h>
@ -86,69 +108,38 @@ typedef DB *LDBM;
#define LDBM_REPLACE 0
#define LDBM_SYNC 0x80000000
extern int errno;
#else /* end of db hash */
#ifdef LDBM_USE_DBBTREE
#elif defined( HAVE_GDBM )
/*****************************************************************
* *
* use berkeley db btree package *
* use gdbm if possible *
* *
*****************************************************************/
#include <sys/types.h>
#include <limits.h>
#include <fcntl.h>
#include <gdbm.h>
#ifdef LDBM_USE_DB2_COMPAT185
# include <db_185.h>
#else
# include <db.h>
# ifdef LDBM_USE_DB2
# define R_NOOVERWRITE DB_NOOVERWRITE
# define DEFAULT_DB_PAGE_SIZE 1024
# endif
#endif
typedef datum Datum;
typedef GDBM_FILE LDBM;
typedef DBT Datum;
#define dsize size
#define dptr data
typedef DB *LDBM;
#define DB_TYPE DB_BTREE
extern gdbm_error gdbm_errno;
/* for ldbm_open */
#ifdef LDBM_USE_DB2
# define LDBM_READER DB_RDONLY
# define LDBM_WRITER 0x00000 /* hopefully */
# define LDBM_WRCREAT (DB_NOMMAP|DB_CREATE|DB_THREAD)
# define LDBM_NEWDB (DB_TRUNCATE|DB_CREATE|DB_THREAD)
#else
# define LDBM_READER O_RDONLY
# define LDBM_WRITER O_RDWR
# define LDBM_WRCREAT (O_RDWR|O_CREAT)
# define LDBM_NEWDB (O_RDWR|O_TRUNC|O_CREAT)
#endif
#define LDBM_READER GDBM_READER
#define LDBM_WRITER GDBM_WRITER
#define LDBM_WRCREAT GDBM_WRCREAT
#define LDBM_NEWDB GDBM_NEWDB
#define LDBM_FAST GDBM_FAST
# define LDBM_FAST 0
#define LDBM_SUFFIX ".dbb"
#define LDBM_ORDERED 1
#define LDBM_SUFFIX ".gdbm"
/* for ldbm_insert */
#define LDBM_INSERT R_NOOVERWRITE
#define LDBM_REPLACE 0
#define LDBM_INSERT GDBM_INSERT
#define LDBM_REPLACE GDBM_REPLACE
#define LDBM_SYNC 0x80000000
extern int errno;
#else /* end of db btree */
#ifdef LDBM_USE_NDBM
#elif defined( HAVE_NDBM )
/*****************************************************************
* *
@ -157,6 +148,7 @@ extern int errno;
*****************************************************************/
#include <ndbm.h>
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
@ -179,10 +171,7 @@ typedef DBM *LDBM;
#define LDBM_REPLACE DBM_REPLACE
#define LDBM_SYNC 0
#endif /* ndbm */
#endif /* db hash */
#endif /* db btree */
#endif /* gdbm */
#endif
int ldbm_errno( LDBM ldbm );
LDBM ldbm_open( char *name, int rw, int mode, int dbcachesize );
@ -194,7 +183,7 @@ Datum ldbm_fetch( LDBM ldbm, Datum key );
int ldbm_store( LDBM ldbm, Datum key, Datum data, int flags );
int ldbm_delete( LDBM ldbm, Datum key );
#if LDBM_USE_DB2
#if HAVE_BERKELEY_DB2
void *ldbm_malloc( size_t size );
Datum ldbm_firstkey( LDBM ldbm, DBC **dbch );
Datum ldbm_nextkey( LDBM ldbm, Datum key, DBC *dbcp );

View file

@ -248,6 +248,9 @@ is provided ``as is'' without express or implied warranty.
/* Define if you have the memmove function. */
#undef HAVE_MEMMOVE
/* Define if you have the mkstemp function. */
#undef HAVE_MKSTEMP
/* Define if you have the mktime function. */
#undef HAVE_MKTIME

View file

@ -99,18 +99,18 @@ do_abandon( LDAP *ld, int origid, int msgid )
err = -1;
ld->ld_errno = LDAP_NO_MEMORY;
} else {
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
if ( ld->ld_sb.sb_naddr > 0 ) {
err = ber_printf( ber, "{isti}",
++ld->ld_msgid, ld->ld_cldapdn,
LDAP_REQ_ABANDON, msgid );
} else {
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
err = ber_printf( ber, "{iti}", ++ld->ld_msgid,
LDAP_REQ_ABANDON, msgid );
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
}
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
if ( err == -1 ) {
ld->ld_errno = LDAP_ENCODING_ERROR;

View file

@ -7,7 +7,7 @@
#include "portable.h"
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
#ifndef lint
static char copyright[] = "@(#) Copyright (c) 1990, 1994 Regents of the University of Michigan.\nAll rights reserved.\n";
@ -40,17 +40,14 @@ struct cldap_retinfo {
long cri_timeout;
};
#ifdef NEEDPROTOS
static int add_addr( LDAP *ld, struct sockaddr *sap );
static int cldap_result( LDAP *ld, int msgid, LDAPMessage **res,
struct cldap_retinfo *crip, char *base );
static int cldap_parsemsg( LDAP *ld, int msgid, BerElement *ber,
LDAPMessage **res, char *base );
#else /* NEEDPROTOS */
static int add_addr();
static int cldap_result();
static int cldap_parsemsg();
#endif /* NEEDPROTOS */
static int add_addr LDAP_P((
LDAP *ld, struct sockaddr *sap ));
static int cldap_result LDAP_P((
LDAP *ld, int msgid, LDAPMessage **res,
struct cldap_retinfo *crip, char *base ));
static int cldap_parsemsg LDAP_P((
LDAP *ld, int msgid, BerElement *ber,
LDAPMessage **res, char *base ));
/*
* cldap_open - initialize and connect to an ldap server. A magic cookie to
@ -525,4 +522,4 @@ cldap_parsemsg( LDAP *ld, int msgid, BerElement *ber,
*res = chain;
return(( *res == NULLMSG ) ? rc : ldap_result2error( ld, *res, 0 ));
}
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */

View file

@ -80,7 +80,7 @@ ldap_err2string( int err )
return( "Unknown error" );
}
#ifndef NO_USERINTERFACE
#ifdef LDAP_LIBUI
void
ldap_perror( LDAP *ld, char *s )
{
@ -119,7 +119,7 @@ ldap_perror( LDAP *ld, char *s )
{
}
#endif /* NO_USERINTERFACE */
#endif /* !LDAP_LIBUI */
int

View file

@ -255,10 +255,10 @@ ldap_get_kerberosv4_credentials( LDAP *ld, char *who, char *service, int *len )
Debug( LDAP_DEBUG_TRACE, "ldap_get_kerberosv4_credentials\n", 0, 0, 0 );
if ( (err = krb_get_tf_realm( tkt_string(), realm )) != KSUCCESS ) {
#ifndef NO_USERINTERFACE
#ifdef LDAP_LIBUI
fprintf( stderr, "krb_get_tf_realm failed (%s)\n",
krb_err_txt[err] );
#endif /* NO_USERINTERFACE */
#endif /* LDAP_LIBUI */
ld->ld_errno = LDAP_INVALID_CREDENTIALS;
return( NULL );
}
@ -271,9 +271,9 @@ ldap_get_kerberosv4_credentials( LDAP *ld, char *who, char *service, int *len )
if ( (err = krb_mk_req( &ktxt, service, krbinstance, realm, 0 ))
!= KSUCCESS ) {
#ifndef NO_USERINTERFACE
#ifdef LDAP_LIBUI
fprintf( stderr, "krb_mk_req failed (%s)\n", krb_err_txt[err] );
#endif /* NO_USERINTERFACE */
#endif /* LDAP_LIBUI */
ld->ld_errno = LDAP_INVALID_CREDENTIALS;
return( NULL );
}

View file

@ -38,7 +38,7 @@ static void merge_error_info LDAP_P(( LDAP *ld, LDAPRequest *parentr, LDAPReques
static int read1msg LDAP_P(( LDAP *ld, int msgid, int all, Sockbuf *sb,
LDAPMessage **result ));
#endif /* LDAP_REFERRALS */
#if defined( CLDAP ) || !defined( LDAP_REFERRALS )
#if defined( LDAP_CONNECTIONLESS ) || !defined( LDAP_REFERRALS )
static int ldap_select1 LDAP_P(( LDAP *ld, struct timeval *timeout ));
#endif
@ -588,7 +588,7 @@ merge_error_info( LDAP *ld, LDAPRequest *parentr, LDAPRequest *lr )
#if defined( CLDAP ) || !defined( LDAP_REFERRALS )
#if defined( LDAP_CONNECTIONLESS ) || !defined( LDAP_REFERRALS )
#if !defined( MACOS ) && !defined( DOS ) && !defined( _WIN32 )
static int
ldap_select1( LDAP *ld, struct timeval *timeout )
@ -597,11 +597,13 @@ ldap_select1( LDAP *ld, struct timeval *timeout )
static int tblsize;
if ( tblsize == 0 ) {
#ifdef USE_SYSCONF
#ifdef HAVE_SYSCONF
tblsize = sysconf( _SC_OPEN_MAX );
#else /* !USE_SYSCONF */
#elif HAVE_GETDTABLESIZE
tblsize = getdtablesize();
#endif /* !USE_SYSCONF */
#else
tblsize = FD_SETSIZE;
#endif
#ifdef FD_SETSIZE
if ( tblsize > FD_SETSIZE ) {
tblsize = FD_SETSIZE;
@ -782,7 +784,7 @@ ldap_mark_abandoned( LDAP *ld, int msgid )
}
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
int
cldap_getmsg( LDAP *ld, struct timeval *timeout, BerElement *ber )
{
@ -808,4 +810,4 @@ cldap_getmsg( LDAP *ld, struct timeval *timeout, BerElement *ber )
return( tag );
}
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */

View file

@ -117,19 +117,19 @@ ldap_build_search_req( LDAP *ld, char *base, int scope, char *filter,
base = "";
}
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
if ( ld->ld_sb.sb_naddr > 0 ) {
err = ber_printf( ber, "{ist{seeiib", ++ld->ld_msgid,
ld->ld_cldapdn, LDAP_REQ_SEARCH, base, scope, ld->ld_deref,
ld->ld_sizelimit, ld->ld_timelimit, attrsonly );
} else {
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
err = ber_printf( ber, "{it{seeiib", ++ld->ld_msgid,
LDAP_REQ_SEARCH, base, scope, ld->ld_deref,
ld->ld_sizelimit, ld->ld_timelimit, attrsonly );
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
}
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
if ( err == -1 ) {
ld->ld_errno = LDAP_ENCODING_ERROR;

View file

@ -1,8 +1,9 @@
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#ifdef MACOS
#include <stdlib.h>
#ifdef MACOS
#ifdef THINK_C
#include <console.h>
#include <unix.h>
@ -31,21 +32,20 @@
#include "lber.h"
#include "ldap.h"
/* including the "internal" defs is legit and nec. since this test routine has
* a-priori knowledge of libldap internal workings.
* hodges@stanford.edu 5-Feb-96
*/
#include "ldap-int.h"
#if !defined( PCNFS ) && !defined( WINSOCK ) && !defined( MACOS )
#define MOD_USE_BVALS
#endif /* !PCNFS && !WINSOCK && !MACOS */
#ifdef NEEDPROTOS
static void handle_result( LDAP *ld, LDAPMessage *lm );
static void print_ldap_result( LDAP *ld, LDAPMessage *lm, char *s );
static void print_search_entry( LDAP *ld, LDAPMessage *res );
static void free_list( char **list );
#else
static void handle_result();
static void print_ldap_result();
static void print_search_entry();
static void free_list();
#endif /* NEEDPROTOS */
static void handle_result LDAP_P(( LDAP *ld, LDAPMessage *lm ));
static void print_ldap_result LDAP_P(( LDAP *ld, LDAPMessage *lm, char *s ));
static void print_search_entry LDAP_P(( LDAP *ld, LDAPMessage *res ));
static void free_list LDAP_P(( char **list ));
#define NOCACHEERRMSG "don't compile with -DNO_CACHE if you desire local caching"
@ -281,7 +281,7 @@ main(
#endif /* WINSOCK */
int argc, char **argv )
{
LDAP *ld;
LDAP *ld = NULL;
int i, c, port, cldapflg, errflg, method, id, msgtype;
char line[256], command1, command2, command3;
char passwd[64], dn[256], rdn[64], attr[64], value[256];
@ -316,11 +316,11 @@ main(
while (( c = getopt( argc, argv, "uh:d:s:p:t:T:" )) != -1 ) {
switch( c ) {
case 'u':
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
cldapflg++;
#else /* CLDAP */
printf( "Compile with -DCLDAP for UDP support\n" );
#endif /* CLDAP */
#else /* LDAP_CONNECTIONLESS */
printf( "Compile with -DLDAP_CONNECTIONLESS for UDP support\n" );
#endif /* LDAP_CONNECTIONLESS */
break;
case 'd':
@ -377,9 +377,9 @@ main(
host == NULL ? "(null)" : host, port );
if ( cldapflg ) {
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
ld = cldap_open( host, port );
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
} else {
ld = ldap_open( host, port );
}
@ -567,10 +567,10 @@ main(
break;
case 'q': /* quit */
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
if ( cldapflg )
cldap_close( ld );
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
#ifdef LDAP_REFERRALS
if ( !cldapflg )
#else /* LDAP_REFERRALS */
@ -636,7 +636,7 @@ main(
attrsonly = atoi( line );
if ( cldapflg ) {
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
getline( line, sizeof(line), stdin,
"Requestor DN (for logging)? " );
if ( cldap_search_s( ld, dn, scope, filter, types,
@ -648,7 +648,7 @@ main(
handle_result( ld, res );
res = NULLMSG;
}
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
} else {
if (( id = ldap_search( ld, dn, scope, filter,
types, attrsonly )) == -1 ) {

View file

@ -8,6 +8,7 @@
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
#ifdef MACOS
#include "macos.h"
#else /* MACOS */
@ -29,41 +30,36 @@
#include "ldap.h"
#include "disptmpl.h"
#ifdef NEEDPROTOS
static int do_entry2text( LDAP *ld, char *buf, char *base, LDAPMessage *entry,
#include "ldapconfig.h"
static int do_entry2text LDAP_P((
LDAP *ld, char *buf, char *base, LDAPMessage *entry,
struct ldap_disptmpl *tmpl, char **defattrs, char ***defvals,
writeptype writeproc, void *writeparm, char *eol, int rdncount,
unsigned long opts, char *urlprefix );
static int do_entry2text_search( LDAP *ld, char *dn, char *base,
unsigned long opts, char *urlprefix ));
static int do_entry2text_search LDAP_P((
LDAP *ld, char *dn, char *base,
LDAPMessage *entry, struct ldap_disptmpl *tmpllist, char **defattrs,
char ***defvals, writeptype writeproc, void *writeparm, char *eol,
int rdncount, unsigned long opts, char *urlprefix );
static int do_vals2text( LDAP *ld, char *buf, char **vals, char *label,
int rdncount, unsigned long opts, char *urlprefix ));
static int do_vals2text LDAP_P((
LDAP *ld, char *buf, char **vals, char *label,
int labelwidth, unsigned long syntaxid, writeptype writeproc,
void *writeparm, char *eol, int rdncount, char *urlprefix );
static int max_label_len( struct ldap_disptmpl *tmpl );
static int output_label( char *buf, char *label, int width,
writeptype writeproc, void *writeparm, char *eol, int html );
static int output_dn( char *buf, char *dn, int width, int rdncount,
writeptype writeproc, void *writeparm, char *eol, char *urlprefix );
static void strcat_escaped( char *s1, char *s2 );
static char *time2text( char *ldtimestr, int dateonly );
static long gtime( struct tm *tm );
static int searchaction( LDAP *ld, char *buf, char *base, LDAPMessage *entry,
void *writeparm, char *eol, int rdncount, char *urlprefix ));
static int max_label_len LDAP_P(( struct ldap_disptmpl *tmpl ));
static int output_label LDAP_P((
char *buf, char *label, int width,
writeptype writeproc, void *writeparm, char *eol, int html ));
static int output_dn LDAP_P((
char *buf, char *dn, int width, int rdncount,
writeptype writeproc, void *writeparm, char *eol, char *urlprefix ));
static void strcat_escaped LDAP_P(( char *s1, char *s2 ));
static char *time2text LDAP_P(( char *ldtimestr, int dateonly ));
static long gtime LDAP_P(( struct tm *tm ));
static int searchaction LDAP_P((
LDAP *ld, char *buf, char *base, LDAPMessage *entry,
char *dn, struct ldap_tmplitem *tip, int labelwidth, int rdncount,
writeptype writeproc, void *writeparm, char *eol, char *urlprefix );
#else /* NEEDPROTOS */
static int do_entry2text();
static int do_entry2text_search();
static int do_vals2text();
static int max_label_len();
static int output_label();
static int output_dn();
static void strcat_escaped();
static char *time2text();
static long gtime();
static int searchaction();
#endif /* NEEDPROTOS */
writeptype writeproc, void *writeparm, char *eol, char *urlprefix ));
#define DEF_LABEL_WIDTH 15
#define SEARCH_TIMEOUT_SECS 120
@ -475,12 +471,12 @@ do_entry2text_search(
ocattrs[0] = OCATTRNAME;
ocattrs[1] = NULL;
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
if ( LDAP_IS_CLDAP( ld ))
err = cldap_search_s( ld, dn, LDAP_SCOPE_BASE,
"objectClass=*", ocattrs, 0, &ldmp, NULL );
else
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
err = ldap_search_st( ld, dn, LDAP_SCOPE_BASE,
"objectClass=*", ocattrs, 0, &timeout, &ldmp );
@ -509,12 +505,12 @@ do_entry2text_search(
fetchattrs = ldap_tmplattrs( tmpl, NULL, 1, LDAP_SYN_OPT_DEFER );
}
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
if ( LDAP_IS_CLDAP( ld ))
err = cldap_search_s( ld, dn, LDAP_SCOPE_BASE, "objectClass=*",
fetchattrs, 0, &ldmp, NULL );
else
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
err = ldap_search_st( ld, dn, LDAP_SCOPE_BASE, "objectClass=*",
fetchattrs, 0, &timeout, &ldmp );
@ -987,7 +983,7 @@ searchaction( LDAP *ld, char *buf, char *base, LDAPMessage *entry, char *dn,
struct ldap_tmplitem *tip, int labelwidth, int rdncount,
writeptype writeproc, void *writeparm, char *eol, char *urlprefix )
{
int err, lderr, i, count, html;
int err = 0, lderr, i, count, html;
char **vals, **members;
char *value, *filtpattern, *attr, *selectname;
char *retattrs[2], filter[ 256 ];
@ -1047,12 +1043,12 @@ searchaction( LDAP *ld, char *buf, char *base, LDAPMessage *entry, char *dn,
timeout.tv_sec = SEARCH_TIMEOUT_SECS;
timeout.tv_usec = 0;
#ifdef CLDAP
#ifdef LDAP_CONNECTIONLESS
if ( LDAP_IS_CLDAP( ld ))
lderr = cldap_search_s( ld, base, LDAP_SCOPE_SUBTREE, filter, retattrs,
0, &ldmp, NULL );
else
#endif /* CLDAP */
#endif /* LDAP_CONNECTIONLESS */
lderr = ldap_search_st( ld, base, LDAP_SCOPE_SUBTREE, filter, retattrs,
0, &timeout, &ldmp );

View file

@ -6,15 +6,260 @@
* - DB_DBT_MALLOC ; 1998/03/22, /KSp
*/
#ifdef LDAP_LDBM
#include "portable.h"
#ifdef SLAPD_LDBM
#include <stdio.h>
#include <ac/errno.h>
#include "ldbm.h"
#ifdef LDBM_USE_GDBM
#if defined( LDBM_USE_DBHASH ) || defined( LDBM_USE_DBBTREE )
#include <sys/types.h>
#include <sys/stat.h>
/*****************************************************************
* *
* use berkeley db hash or btree package *
* *
*****************************************************************/
#ifdef HAVE_BERKELEY_DB2
/*************************************************
* *
* A malloc routine for use with DB_DBT_MALLOC *
* *
*************************************************/
void *
ldbm_malloc( size_t size )
{
return( calloc( 1, size ));
}
#endif
LDBM
ldbm_open( char *name, int rw, int mode, int dbcachesize )
{
LDBM ret = NULL;
#ifdef HAVE_BERKELEY_DB2
DB_INFO dbinfo;
memset( &dbinfo, 0, sizeof( dbinfo ));
dbinfo.db_cachesize = dbcachesize;
dbinfo.db_pagesize = DEFAULT_DB_PAGE_SIZE;
dbinfo.db_malloc = ldbm_malloc;
db_open( name, DB_TYPE, rw, mode, NULL, &dbinfo, &ret );
#else
void *info;
BTREEINFO binfo;
HASHINFO hinfo;
if ( DB_TYPE == DB_HASH ) {
memset( (char *) &hinfo, '\0', sizeof(hinfo) );
hinfo.cachesize = dbcachesize;
info = &hinfo;
} else if ( DB_TYPE == DB_BTREE ) {
memset( (char *) &binfo, '\0', sizeof(binfo) );
binfo.cachesize = dbcachesize;
info = &binfo;
} else {
info = NULL;
}
ret = dbopen( name, rw, mode, DB_TYPE, info );
#endif
return( ret );
}
void
ldbm_close( LDBM ldbm )
{
#ifdef HAVE_BERKELEY_DB2
(*ldbm->close)( ldbm, 0 );
#else
(*ldbm->close)( ldbm );
#endif
}
void
ldbm_sync( LDBM ldbm )
{
(*ldbm->sync)( ldbm, 0 );
}
void
ldbm_datum_free( LDBM ldbm, Datum data )
{
free( data.dptr );
}
Datum
ldbm_datum_dup( LDBM ldbm, Datum data )
{
Datum dup;
#ifdef HAVE_BERKELEY_DB2
memset( &dup, 0, sizeof( dup ));
#endif
if ( data.dsize == 0 ) {
dup.dsize = 0;
dup.dptr = NULL;
return( dup );
}
dup.dsize = data.dsize;
if ( dup.dptr = (char *) malloc( data.dsize ) )
memcpy( dup.dptr, data.dptr, data.dsize );
return( dup );
}
Datum
ldbm_fetch( LDBM ldbm, Datum key )
{
Datum data;
int rc;
#ifdef HAVE_BERKELEY_DB2
memset( &data, 0, sizeof( data ));
data.flags = DB_DBT_MALLOC;
if ( (rc = (*ldbm->get)( ldbm, NULL, &key, &data, 0 )) != 0 ) {
if ( data.dptr ) free( data.dptr );
#else
if ( (rc = (*ldbm->get)( ldbm, &key, &data, 0 )) == 0 ) {
data = ldbm_datum_dup( ldbm, data );
} else {
#endif
data.dptr = NULL;
data.dsize = 0;
}
return( data );
}
int
ldbm_store( LDBM ldbm, Datum key, Datum data, int flags )
{
int rc;
#ifdef HAVE_BERKELEY_DB2
rc = (*ldbm->put)( ldbm, NULL, &key, &data, flags & ~LDBM_SYNC );
rc = (-1 ) * rc;
#else
rc = (*ldbm->put)( ldbm, &key, &data, flags & ~LDBM_SYNC );
#endif
if ( flags & LDBM_SYNC )
(*ldbm->sync)( ldbm, 0 );
return( rc );
}
int
ldbm_delete( LDBM ldbm, Datum key )
{
int rc;
#ifdef HAVE_BERKELEY_DB2
rc = (*ldbm->del)( ldbm, NULL, &key, 0 );
rc = (-1 ) * rc;
#else
rc = (*ldbm->del)( ldbm, &key, 0 );
#endif
(*ldbm->sync)( ldbm, 0 );
return( rc );
}
Datum
#ifdef HAVE_BERKELEY_DB2
ldbm_firstkey( LDBM ldbm, DBC **dbch )
#else
ldbm_firstkey( LDBM ldbm )
#endif
{
Datum key, data;
int rc;
#ifdef HAVE_BERKELEY_DB2
DBC *dbci;
memset( &key, 0, sizeof( key ));
memset( &data, 0, sizeof( data ));
key.flags = data.flags = DB_DBT_MALLOC;
/* acquire a cursor for the DB */
if ( (*ldbm->cursor)( ldbm, NULL, &dbci )) {
return( key );
} else {
*dbch = dbci;
if ( (*dbci->c_get)( dbci, &key, &data, DB_NEXT ) == 0 ) {
if ( data.dptr ) free( data.dptr );
#else
if ( (rc = (*ldbm->seq)( ldbm, &key, &data, R_FIRST )) == 0 ) {
key = ldbm_datum_dup( ldbm, key );
#endif
} else {
key.dptr = NULL;
key.dsize = 0;
}
#ifdef HAVE_BERKELEY_DB2
}
#endif
return( key );
}
Datum
#ifdef HAVE_BERKELEY_DB2
ldbm_nextkey( LDBM ldbm, Datum key, DBC *dbcp )
#else
ldbm_nextkey( LDBM ldbm, Datum key )
#endif
{
Datum data;
int rc;
#ifdef HAVE_BERKELEY_DB2
void *oldKey = key.dptr;
memset( &data, 0, sizeof( data ));
data.flags = DB_DBT_MALLOC;
if ( (*dbcp->c_get)( dbcp, &key, &data, DB_NEXT ) == 0 ) {
if ( data.dptr ) free( data.dptr );
#else
if ( (rc = (*ldbm->seq)( ldbm, &key, &data, R_NEXT )) == 0 ) {
key = ldbm_datum_dup( ldbm, key );
#endif
} else {
key.dptr = NULL;
key.dsize = 0;
}
#ifdef HAVE_BERKELEY_DB2
if ( oldKey ) free( oldKey );
#endif
return( key );
}
int
ldbm_errno( LDBM ldbm )
{
return( errno );
}
#elif defined( HAVE_GDBM )
/*****************************************************************
* *
@ -120,257 +365,7 @@ ldbm_errno( LDBM ldbm )
return( (int) gdbm_errno );
}
#else
#if defined( LDBM_USE_DBHASH ) || defined( LDBM_USE_DBBTREE )
/*****************************************************************
* *
* use berkeley db hash or btree package *
* *
*****************************************************************/
#ifdef LDBM_USE_DB2
/*************************************************
* *
* A malloc routine for use with DB_DBT_MALLOC *
* *
*************************************************/
#include <stdlib.h>
void *
ldbm_malloc( size_t size )
{
return( calloc( 1, size ));
}
#endif
LDBM
ldbm_open( char *name, int rw, int mode, int dbcachesize )
{
LDBM ret = NULL;
#ifdef LDBM_USE_DB2
DB_INFO dbinfo;
memset( &dbinfo, 0, sizeof( dbinfo ));
dbinfo.db_cachesize = dbcachesize;
dbinfo.db_pagesize = DEFAULT_DB_PAGE_SIZE;
dbinfo.db_malloc = ldbm_malloc;
db_open( name, DB_TYPE, rw, mode, NULL, &dbinfo, &ret );
#else
void *info;
BTREEINFO binfo;
HASHINFO hinfo;
if ( DB_TYPE == DB_HASH ) {
memset( (char *) &hinfo, '\0', sizeof(hinfo) );
hinfo.cachesize = dbcachesize;
info = &hinfo;
} else if ( DB_TYPE == DB_BTREE ) {
memset( (char *) &binfo, '\0', sizeof(binfo) );
binfo.cachesize = dbcachesize;
info = &binfo;
} else {
info = NULL;
}
ret = dbopen( name, rw, mode, DB_TYPE, info );
#endif
return( ret );
}
void
ldbm_close( LDBM ldbm )
{
#ifdef LDBM_USE_DB2
(*ldbm->close)( ldbm, 0 );
#else
(*ldbm->close)( ldbm );
#endif
}
void
ldbm_sync( LDBM ldbm )
{
(*ldbm->sync)( ldbm, 0 );
}
void
ldbm_datum_free( LDBM ldbm, Datum data )
{
free( data.dptr );
}
Datum
ldbm_datum_dup( LDBM ldbm, Datum data )
{
Datum dup;
#ifdef LDBM_USE_DB2
memset( &dup, 0, sizeof( dup ));
#endif
if ( data.dsize == 0 ) {
dup.dsize = 0;
dup.dptr = NULL;
return( dup );
}
dup.dsize = data.dsize;
if ( dup.dptr = (char *) malloc( data.dsize ) )
memcpy( dup.dptr, data.dptr, data.dsize );
return( dup );
}
Datum
ldbm_fetch( LDBM ldbm, Datum key )
{
Datum data;
int rc;
#ifdef LDBM_USE_DB2
memset( &data, 0, sizeof( data ));
data.flags = DB_DBT_MALLOC;
if ( (rc = (*ldbm->get)( ldbm, NULL, &key, &data, 0 )) != 0 ) {
if ( data.dptr ) free( data.dptr );
#else
if ( (rc = (*ldbm->get)( ldbm, &key, &data, 0 )) == 0 ) {
data = ldbm_datum_dup( ldbm, data );
} else {
#endif
data.dptr = NULL;
data.dsize = 0;
}
return( data );
}
int
ldbm_store( LDBM ldbm, Datum key, Datum data, int flags )
{
int rc;
#ifdef LDBM_USE_DB2
rc = (*ldbm->put)( ldbm, NULL, &key, &data, flags & ~LDBM_SYNC );
rc = (-1 ) * rc;
#else
rc = (*ldbm->put)( ldbm, &key, &data, flags & ~LDBM_SYNC );
#endif
if ( flags & LDBM_SYNC )
(*ldbm->sync)( ldbm, 0 );
return( rc );
}
int
ldbm_delete( LDBM ldbm, Datum key )
{
int rc;
#ifdef LDBM_USE_DB2
rc = (*ldbm->del)( ldbm, NULL, &key, 0 );
rc = (-1 ) * rc;
#else
rc = (*ldbm->del)( ldbm, &key, 0 );
#endif
(*ldbm->sync)( ldbm, 0 );
return( rc );
}
Datum
#ifdef LDBM_USE_DB2
ldbm_firstkey( LDBM ldbm, DBC **dbch )
#else
ldbm_firstkey( LDBM ldbm )
#endif
{
Datum key, data;
int rc;
#ifdef LDBM_USE_DB2
DBC *dbci;
memset( &key, 0, sizeof( key ));
memset( &data, 0, sizeof( data ));
key.flags = data.flags = DB_DBT_MALLOC;
/* acquire a cursor for the DB */
if ( (*ldbm->cursor)( ldbm, NULL, &dbci )) {
return( key );
} else {
*dbch = dbci;
if ( (*dbci->c_get)( dbci, &key, &data, DB_NEXT ) == 0 ) {
if ( data.dptr ) free( data.dptr );
#else
if ( (rc = (*ldbm->seq)( ldbm, &key, &data, R_FIRST )) == 0 ) {
key = ldbm_datum_dup( ldbm, key );
#endif
} else {
key.dptr = NULL;
key.dsize = 0;
}
#ifdef LDBM_USE_DB2
}
#endif
return( key );
}
Datum
#ifdef LDBM_USE_DB2
ldbm_nextkey( LDBM ldbm, Datum key, DBC *dbcp )
#else
ldbm_nextkey( LDBM ldbm, Datum key )
#endif
{
Datum data;
int rc;
#ifdef LDBM_USE_DB2
void *oldKey = key.dptr;
memset( &data, 0, sizeof( data ));
data.flags = DB_DBT_MALLOC;
if ( (*dbcp->c_get)( dbcp, &key, &data, DB_NEXT ) == 0 ) {
if ( data.dptr ) free( data.dptr );
#else
if ( (rc = (*ldbm->seq)( ldbm, &key, &data, R_NEXT )) == 0 ) {
key = ldbm_datum_dup( ldbm, key );
#endif
} else {
key.dptr = NULL;
key.dsize = 0;
}
#ifdef LDBM_USE_DB2
if ( oldKey ) free( oldKey );
#endif
return( key );
}
int
ldbm_errno( LDBM ldbm )
{
return( errno );
}
#else
#ifdef LDBM_USE_NDBM
#elif defined( HAVE_NDBM )
/*****************************************************************
* *
@ -459,6 +454,4 @@ ldbm_errno( LDBM ldbm )
}
#endif /* ndbm */
#endif /* db */
#endif /* gdbm */
#endif /* ldbm */

View file

@ -3,11 +3,14 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <sys/time.h>
#include <ac/ctype.h>
#include <ac/string.h>
#include <ac/time.h>
#include <lber.h>
#include <ldap.h>
#include <ldapconfig.h>
#include <ldbm.h>
@ -558,10 +561,10 @@ diff_centroids(
int amax, acur, dmax, dcur;
char **vals;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
DBC *ocursorp;
DBC *ncursorp;
#endif /* LDBM_USE_DB2 */
#endif /* HAVE_BERKELEY_DB2 */
if ( verbose ) {
printf( "Generating mods for differential %s centroid...", attr );
@ -607,7 +610,7 @@ diff_centroids(
olast.dptr = NULL;
nlast.dptr = NULL;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( okey = ldbm_firstkey( oldbm, &ocursorp ),
nkey = ldbm_firstkey( nldbm, &ncursorp );
okey.dptr != NULL && nkey.dptr != NULL; )
@ -629,7 +632,7 @@ diff_centroids(
}
nlast = nkey;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
okey = ldbm_nextkey( oldbm, olast, ocursorp );
nkey = ldbm_nextkey( nldbm, nlast, ncursorp );
#else
@ -648,7 +651,7 @@ diff_centroids(
}
nlast = nkey;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
nkey = ldbm_nextkey( nldbm, nlast, ncursorp );
#else
nkey = ldbm_nextkey( nldbm, nlast );
@ -665,7 +668,7 @@ diff_centroids(
}
olast = okey;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
okey = ldbm_nextkey( oldbm, olast, ocursorp );
#else
okey = ldbm_nextkey( oldbm, olast );
@ -679,7 +682,7 @@ diff_centroids(
return( NULL );
}
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
okey = ldbm_nextkey( oldbm, olast, ocursorp );
#else
okey = ldbm_nextkey( oldbm, olast );
@ -698,7 +701,7 @@ diff_centroids(
return( NULL );
}
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
nkey = ldbm_nextkey( nldbm, nlast, ncursorp );
#else
nkey = ldbm_nextkey( nldbm, nlast );
@ -723,7 +726,7 @@ diff_centroids(
/* generate list of values to add */
lastkey.dptr = NULL;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( key = ldbm_firstkey( nldbm, &ncursorp ); key.dptr != NULL;
key = ldbm_nextkey( nldbm, lastkey, ncursorp ) )
#else
@ -754,7 +757,7 @@ diff_centroids(
/* generate list of values to delete */
lastkey.dptr = NULL;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( key = ldbm_firstkey( oldbm, &ocursorp ); key.dptr != NULL;
key = ldbm_nextkey( oldbm, lastkey, ocursorp ) )
#else
@ -821,7 +824,7 @@ full_centroid(
char **vals;
int vcur, vmax;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
DBC *cursorp;
#endif
@ -852,7 +855,7 @@ full_centroid(
lastkey.dptr = NULL;
vals = NULL;
vcur = vmax = 0;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( key = ldbm_firstkey( ldbm, &cursorp ); key.dptr != NULL;
key = ldbm_nextkey( ldbm, lastkey, cursorp ) )
#else

View file

@ -19,9 +19,10 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <ac/ctype.h>
#include <ac/string.h>
#include <quipu/commonarg.h>
#include <quipu/attrvalue.h>

View file

@ -13,10 +13,12 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <stdlib.h>
#include <ctype.h>
#include <ac/ctype.h>
#include <ac/dirent.h>
#include <ac/string.h>
#include <sys/types.h>
#include <sys/stat.h>

View file

@ -13,8 +13,10 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <ac/ctype.h>
#include <ac/string.h>
#include <quipu/commonarg.h>
#include <quipu/attrvalue.h>
#include <quipu/ds_error.h>

View file

@ -1,10 +1,11 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <ac/ctype.h>
#include <ac/socket.h>
#include <ac/string.h>
#include "ldbm.h"
#include "../slap.h"
@ -26,7 +27,7 @@ main( argc, argv )
char *file, *s;
int printid = 1;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
DBC *cursorp;
#endif
@ -48,7 +49,7 @@ main( argc, argv )
last.dptr = NULL;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( key = ldbm_firstkey( dbp, &cursorp ); key.dptr != NULL;
key = ldbm_nextkey( dbp, last, cursorp ) )
#else

View file

@ -1,17 +1,22 @@
#include "portable.h"
#include <stdio.h>
#include <ac/string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <limits.h>
#include <ac/socket.h>
#include <ac/string.h>
#include <ac/time.h>
#include <ac/unistd.h>
#include <ac/wait.h>
#include <sys/resource.h>
#include <sys/wait.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <limits.h>
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
#include "ldapconfig.h"
#include "../slap.h"
@ -66,7 +71,7 @@ main( argc, argv )
int i;
extern char *optarg;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
DBC *cursorp;
#endif
@ -157,7 +162,7 @@ main( argc, argv )
}
savekey.dptr = NULL;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( key = ldbm_firstkey( dbc->dbc_db, &cursorp );
key.dptr != NULL;
key = ldbm_nextkey( dbc->dbc_db, key, cursorp ) )
@ -327,7 +332,7 @@ main( argc, argv )
last.dptr = NULL;
#ifdef LDBM_USE_DB2
#ifdef HAVE_BERKELEY_DB2
for ( key = ldbm_firstkey( dbp, &cursorp );
key.dptr != NULL;
key = ldbm_nextkey( dbp, last, cursorp ) )
@ -520,10 +525,12 @@ edit_entry( c, data )
int fd, pid;
char tmpname[20];
FILE *fp;
#ifndef HAVE_WAITPID
WAITSTATUSTYPE status;
#endif
strcpy( tmpname, "/tmp/dbtestXXXXXX" );
#ifdef ultrix
#ifndef HAVE_MKSTEMP
if ( (fd = open( mktemp( tmpname ), O_RDWR, 0600 )) == -1 ) {
perror( tmpname );
return;
@ -557,8 +564,8 @@ edit_entry( c, data )
fclose( fp );
#ifdef USE_WAITPID
if ( waitpid( (pid_t) -1, 0, WAIT_FLAGS ) < 0 ) {
#ifdef HAVE_WAITPID
if ( waitpid( (pid_t) -1, NULL, WAIT_FLAGS ) < 0 ) {
#else
if ( wait3( &status, WAIT_FLAGS, 0 ) < 0 ) {
#endif

View file

@ -1,10 +1,10 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <memory.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <ac/string.h>
#include <ac/socket.h>
#include "lber.h"
#include "ldap.h"
#include "ldif.h"

View file

@ -1,9 +1,10 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <ac/string.h>
#include <ac/socket.h>
#include "../slap.h"
#include "../back-ldbm/back-ldbm.h"

View file

@ -1,9 +1,10 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <ac/string.h>
#include <ac/socket.h>
#include "../slap.h"
#include "../back-ldbm/back-ldbm.h"

View file

@ -1,10 +1,12 @@
#include "portable.h"
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <ac/string.h>
#include <ac/socket.h>
#include <sys/param.h>
#include "../slap.h"
#include "../back-ldbm/back-ldbm.h"
#include "ldapconfig.h"