From b3ac184962ad777904b21689beb8ad3098aae578 Mon Sep 17 00:00:00 2001
From: Kurt Zeilenga <kurt@openldap.org>
Date: Thu, 20 Aug 1998 02:18:28 +0000
Subject: [PATCH] Fixed ldapconfig.h.edit/Make-template to generate
 ldapconfig.h correctly. ldif2ldbm.c defaults moved to ldapconfig.h, sed no
 longer needed. Changed type of lconn_lastused to time_t. Added include
 <time.h> were needed.

---
 build/platforms/freebsd-gcc/Make-platform |   2 +-
 clients/finger/main.c                     |   8 +-
 clients/gopher/go500gw.c                  |  12 +-
 clients/tools/ldapdelete.c                |   2 +
 clients/tools/ldapmodrdn.c                |   2 +
 clients/tools/ldapsearch.c                |   2 +
 clients/ud/find.c                         |   3 +
 clients/ud/group.c                        |   3 +
 clients/ud/help.c                         |   3 +
 clients/ud/mod.c                          |   6 +-
 clients/ud/util.c                         |   5 +
 include/Make-template                     |   3 +-
 include/ldap.h                            |   2 +-
 include/ldapconfig.h.edit                 |  11 +-
 include/ldapconfig.h.um                   | 273 ----------------------
 libraries/libldap/sort.c                  |   1 +
 libraries/liblthread/stack.c              |   1 +
 servers/slapd/tools/Make-template         |   9 +-
 servers/slapd/tools/ldif.c                |   6 +-
 servers/slapd/tools/ldif2ldbm.c           |   5 +-
 servers/slurpd/args.c                     |   1 +
 21 files changed, 59 insertions(+), 301 deletions(-)
 delete mode 100644 include/ldapconfig.h.um

diff --git a/build/platforms/freebsd-gcc/Make-platform b/build/platforms/freebsd-gcc/Make-platform
index d8ee543a6a..f5750b49ce 100644
--- a/build/platforms/freebsd-gcc/Make-platform
+++ b/build/platforms/freebsd-gcc/Make-platform
@@ -14,7 +14,7 @@ EDITOR=/usr/bin/vi
 FINGER=/usr/bin/finger
 SENDMAIL=/usr/sbin/sendmail
 
-RUNDIR=/var/run
+LDAP_RUNDIR=/var/run
 
 MANCOMPRESS=gzip
 MANCOMPRESSSUFFIX=.gz
diff --git a/clients/finger/main.c b/clients/finger/main.c
index 77e076fdc7..613916c7dd 100644
--- a/clients/finger/main.c
+++ b/clients/finger/main.c
@@ -10,9 +10,6 @@
  * is provided ``as is'' without express or implied warranty.
  */
 
-#include "lber.h"
-#include "ldap.h"
-#include "disptmpl.h"
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
@@ -29,6 +26,11 @@
 #include <sys/select.h>
 #endif /* aix */
 #include <signal.h>
+
+#include "lber.h"
+#include "ldap.h"
+#include "disptmpl.h"
+
 #include "portable.h"
 #include "ldapconfig.h"
 
diff --git a/clients/gopher/go500gw.c b/clients/gopher/go500gw.c
index 16674d0e80..df93aa7f0c 100644
--- a/clients/gopher/go500gw.c
+++ b/clients/gopher/go500gw.c
@@ -10,9 +10,6 @@
  * is provided ``as is'' without express or implied warranty.
  */
 
-#include "lber.h"
-#include "ldap.h"
-#include "disptmpl.h"
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
@@ -30,13 +27,18 @@
 #ifdef aix
 #include <sys/select.h>
 #endif /* aix */
-#include "portable.h"
-#include "ldapconfig.h"
 
 #ifdef USE_SYSCONF
 #include <unistd.h>
 #endif /* USE_SYSCONF */
 
+#include "lber.h"
+#include "ldap.h"
+#include "disptmpl.h"
+
+#include "portable.h"
+#include "ldapconfig.h"
+
 int	debug;
 int	dosyslog;
 int	inetd;
diff --git a/clients/tools/ldapdelete.c b/clients/tools/ldapdelete.c
index 3054cfb54f..d827575476 100644
--- a/clients/tools/ldapdelete.c
+++ b/clients/tools/ldapdelete.c
@@ -4,6 +4,8 @@
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
+#include <time.h>
+
 #include <lber.h>
 #include <ldap.h>
 
diff --git a/clients/tools/ldapmodrdn.c b/clients/tools/ldapmodrdn.c
index 69d99e7f5a..3db722aa07 100644
--- a/clients/tools/ldapmodrdn.c
+++ b/clients/tools/ldapmodrdn.c
@@ -4,6 +4,8 @@
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
+#include <time.h>
+
 #include <lber.h>
 #include <ldap.h>
 
diff --git a/clients/tools/ldapsearch.c b/clients/tools/ldapsearch.c
index d96aff1317..5d39297337 100644
--- a/clients/tools/ldapsearch.c
+++ b/clients/tools/ldapsearch.c
@@ -1,6 +1,8 @@
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
+#include <time.h>
+
 #include <lber.h>
 #include <ldap.h>
 #include <ldif.h>
diff --git a/clients/ud/find.c b/clients/ud/find.c
index 3551c1af6d..e4a9893edb 100644
--- a/clients/ud/find.c
+++ b/clients/ud/find.c
@@ -13,11 +13,14 @@
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
+#include <time.h>
 #ifndef __STDC__
 #include <memory.h>
 #endif
+
 #include <lber.h>
 #include <ldap.h>
+
 #include "ud.h"
 
 extern char *search_base;	/* search base */
diff --git a/clients/ud/group.c b/clients/ud/group.c
index 64006170eb..f7bf253027 100644
--- a/clients/ud/group.c
+++ b/clients/ud/group.c
@@ -13,8 +13,11 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <time.h>
+
 #include <lber.h>
 #include <ldap.h>
+
 #include <ldapconfig.h>
 #include "ud.h"
 
diff --git a/clients/ud/help.c b/clients/ud/help.c
index 5a1ff231e0..4bf4c926a9 100644
--- a/clients/ud/help.c
+++ b/clients/ud/help.c
@@ -13,8 +13,11 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
+#include <time.h>
+
 #include <lber.h>
 #include <ldap.h>
+
 #include "ud.h"
 
 #ifdef DEBUG
diff --git a/clients/ud/mod.c b/clients/ud/mod.c
index ef7099e948..9a3318a898 100644
--- a/clients/ud/mod.c
+++ b/clients/ud/mod.c
@@ -13,12 +13,14 @@
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
-#include <lber.h>
-#include <ldap.h>
+#include <time.h>
 #ifndef __STDC__
 #include <memory.h>
 #endif
 #include <sys/types.h>
+
+#include <lber.h>
+#include <ldap.h>
 #include "ud.h"
 
 extern struct entry Entry; 
diff --git a/clients/ud/util.c b/clients/ud/util.c
index 389b8a0d62..b73137836a 100644
--- a/clients/ud/util.c
+++ b/clients/ud/util.c
@@ -21,10 +21,14 @@
 #include <stdlib.h>
 #endif
 #include <ctype.h>
+#include <time.h>
 #include <errno.h>
+
 #include <lber.h>
 #include <ldap.h>
+
 #include <ldapconfig.h>
+
 #if !defined(DOS) && !defined( VMS)
 #include <sys/types.h>
 #endif
@@ -34,6 +38,7 @@
 #else /* USE_TERMIOS */
 #include <sgtty.h>
 #endif /* USE_TERMIOS */
+
 #include "ud.h"
 
 #if defined(VMS)
diff --git a/include/Make-template b/include/Make-template
index 0b7ba0c17c..7c59838fb5 100644
--- a/include/Make-template
+++ b/include/Make-template
@@ -31,7 +31,8 @@ ldapconfig.h:	ldapconfig.h.edit Makefile
         echo " * INSTALL file for more information." >> $@; \
         echo " */ " >> $@; \
         echo "" >> $@; \
-	$(SED) -e 's;%ETCDIR%;$(RUNTIMEETCDIR);' \
+	$(SED) -e 's;%ETCDIR%;$(LDAP_ETCDIR);' \
+			-e 's;%BINDIR%;$(LDAP_BINDIR);' \
 			-e 's;%SBINDIR%;$(LDAP_SBINDIR);' \
 			-e 's;%LIBEXECDIR%;$(LDAP_LIBEXECDIR);' \
 			-e 's;%RUNDIR%;$(LDAP_RUNDIR);' \
diff --git a/include/ldap.h b/include/ldap.h
index ee956742e7..8c91b2160f 100644
--- a/include/ldap.h
+++ b/include/ldap.h
@@ -318,7 +318,7 @@ typedef struct ldap_server {
 typedef struct ldap_conn {
 	Sockbuf			*lconn_sb;
 	int			lconn_refcnt;
-	unsigned int		lconn_lastused;	/* time */
+	time_t		lconn_lastused;	/* time */
 	int			lconn_status;
 #define LDAP_CONNST_NEEDSOCKET		1
 #define LDAP_CONNST_CONNECTING		2
diff --git a/include/ldapconfig.h.edit b/include/ldapconfig.h.edit
index 586f487fd9..265410e2a1 100644
--- a/include/ldapconfig.h.edit
+++ b/include/ldapconfig.h.edit
@@ -10,8 +10,8 @@
  * is provided ``as is'' without express or implied warranty.
  */
 
-#ifndef _CONFIG_H
-#define _CONFIG_H
+#ifndef _LDAP_CONFIG_H
+#define _LDAP_CONFIG_H
 
 /*
  * config.h for LDAP -- edit this file to customize LDAP client behavior.
@@ -27,6 +27,11 @@
 	/* default place to start searching */
 #define DEFAULT_BASE	"o=Your Organization Name, c=US"
 
+#define DEFAULT_BINDIR		"%BINDIR%"
+#define DEFAULT_SBINDIR		"%SBINDIR%"
+#define DEFAULT_ETCDIR		"%ETCDIR%"
+#define DEFAULT_LIBEXECDIR	"%LIBEXECDIR%"
+
 /*********************************************************************
  *                                                                   *
  * You probably do not need to edit anything below this point        *
@@ -265,4 +270,4 @@ Please try again later.\r\n"
 	/* minimum max ids that a single index entry can map to in ldbm */
 #define SLAPD_LDBM_MIN_MAXIDS		4000
 
-#endif /* _CONFIG_H */
+#endif /* _LDAP_CONFIG_H */
diff --git a/include/ldapconfig.h.um b/include/ldapconfig.h.um
deleted file mode 100644
index ecaf918af0..0000000000
--- a/include/ldapconfig.h.um
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (c) 1994 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 _CONFIG_H
-#define _CONFIG_H
-
-/*
- * config.h for LDAP -- edit this file to customize LDAP client behavior.
- * NO platform-specific definitions should be placed in this file.
- * Note that this is NOT used by the LDAP or LBER libraries.
- */
-
-/*
- * SHARED DEFINITIONS - things you should change
- */
-	/* default ldap host */
-#define LDAPHOST	"ldap.itd.umich.edu"
-	/* default place to start searching */
-#define DEFAULT_BASE	"o=University of Michigan, c=US"
-
-/*********************************************************************
- *                                                                   *
- * You probably do not need to edit anything below this point        *
- *                                                                   *
- *********************************************************************/
-
-/*
- * SHARED DEFINITIONS - other things you can change
- */
-	/* default attribute to use when sorting entries, NULL => sort by DN */
-#define SORT_ATTR	NULL
-	/* default count of DN components to show in entry displays */
-#define DEFAULT_RDNCOUNT	2
-	/* default config file locations */
-#define FILTERFILE	"%ETCDIR%/ldapfilter.conf"
-#define TEMPLATEFILE	"%ETCDIR%/ldaptemplates.conf"
-#define SEARCHFILE	"%ETCDIR%/ldapsearchprefs.conf"
-#define FRIENDLYFILE	"%ETCDIR%/ldapfriendly"
-
-/*
- * FINGER DEFINITIONS
- */
-	/* who to bind as */
-#define FINGER_BINDDN		"cn=finger, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* where to search */
-#define FINGER_BASE		DEFAULT_BASE
-	/* banner to print */
-#define FINGER_BANNER		"X.500 Finger Service...\r\n"
-	/* who to report errors to */
-#define FINGER_ERRORS		"x500@umich.edu"
-	/* what to say if no matches are found */
-#define FINGER_NOMATCH		\
-"Search failed to find anything.  Currently, this service contains\r\n\
-information only on University of Michigan faculty, staff, and students.\r\n\
-Other likely places to finger are:\r\n\
-        um.cc.umich.edu\r\n\
-        azure.engin.umich.edu\r\n"
-	/* what to say if the service may be unavailable */
-#define FINGER_UNAVAILABLE	\
-"The X.500 service may be temporarily unavailable.\r\n\
-Please try again later.\r\n"
-	/* printed if a match has no email address - for disptmp default */
-#define FINGER_NOEMAIL1	"None registered in this service.  Try fingering at:"
-#define FINGER_NOEMAIL2	"um.cc.umich.edu or azure.engin.umich.edu"
-#define FINGER_NOEMAIL	{ FINGER_NOEMAIL1, FINGER_NOEMAIL2, NULL }
-	/* maximum number of matches returned */
-#define FINGER_SIZELIMIT	50
-	/* max number of hits displayed in full before a list is presented */
-#define FINGER_LISTLIMIT	1
-	/* what to exec for "finger @host" */
-#define FINGER_CMD		"/usr/ucb/finger"
-	/* how to treat aliases when searching */
-#define FINGER_DEREF		LDAP_DEREF_FINDING
-	/* attribute to use when sorting results */
-#define FINGER_SORT_ATTR	SORT_ATTR
-	/* enable ufn support */
-#define FINGER_UFN
-	/* timeout for searches */
-#define FINGER_TIMEOUT		60
-	/* number of DN components to show in entry displays */
-#define FINGER_RDNCOUNT		DEFAULT_RDNCOUNT	
-
-/*
- * GO500 GOPHER GATEWAY DEFINITIONS
- */
-	/* who to bind as */
-#define GO500_BINDDN	"cn=go500, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* where to search */
-#define GO500_BASE	DEFAULT_BASE
-	/* port on which to listen */
-#define GO500_PORT	5555
-	/* how to handle aliases */
-#define GO500_DEREF	LDAP_DEREF_FINDING
-	/* attribute to use when sorting results */
-#define GO500_SORT_ATTR	SORT_ATTR
-	/* timeout for searches */
-#define GO500_TIMEOUT	60
-	/* enable ufn support */
-#define GO500_UFN
-	/*
-	 * only set and uncomment this if your hostname() does not return
-	 * a fully qualified hostname
-	 */
-/* #define GO500_HOSTNAME	"fully.qualified.hostname.here" */
-	/* number of DN components to show in entry displays */
-#define GO500_RDNCOUNT		DEFAULT_RDNCOUNT	
-
-/*
- * GO500GW GOPHER GATEWAY DEFINITIONS
- */
-	/* who to bind as */
-#define GO500GW_BINDDN		"cn=go500gw, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* where the helpfile lives */
-#define GO500GW_HELPFILE	"%ETCDIR%/go500gw.help"
-	/* port on which to listen */
-#define GO500GW_PORT		7777
-	/* timeout on all searches */
-#define GO500GW_TIMEOUT		180
-	/* enable ufn support */
-#define GO500GW_UFN
-	/* attribute to use when sorting results */
-#define GO500GW_SORT_ATTR	SORT_ATTR
-	/*
-	 * only set and uncomment this if your hostname() does not return
-	 * a fully qualified hostname
-	 */
-/* #define GO500GW_HOSTNAME	"fully.qualified.hostname.here" */
-	/* number of DN components to show in entry displays */
-#define GO500GW_RDNCOUNT	DEFAULT_RDNCOUNT	
-
-/*
- * RCPT500 MAIL RESPONDER GATEWAY DEFINITIONS
- */
-	/* who to bind as */
-#define RCPT500_BINDDN		"cn=Rcpt500, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* where the helpfile lives */
-#define RCPT500_HELPFILE	"%ETCDIR%/rcpt500.help"
-	/* maximum number of matches returned */
-#define RCPT500_SIZELIMIT	50
-	/* address replies will appear to come from */
-#define RCPT500_FROM		"\"X.500 Query Program\" <X500-Query>"
-	/* command that will accept an RFC822 message text on standard
-	   input, and send it.  sendmail -t does this nicely. */
-#define RCPT500_PIPEMAILCMD	"/usr/lib/sendmail -t"
-        /* where to search */
-#define RCPT500_BASE             DEFAULT_BASE
-	/* attribute to use when sorting results */
-#define RCPT500_SORT_ATTR	SORT_ATTR
-	/* max number of hits displayed in full before a list is presented */
-#define RCPT500_LISTLIMIT	3
-	/* enable ufn support */
-#define RCPT500_UFN
-	/* number of DN components to show in entry displays */
-#define RCPT500_RDNCOUNT	DEFAULT_RDNCOUNT	
-
-/*
- * LDAPSEARCH TOOL
- */
-	/* who to bind as */
-#define LDAPSEARCH_BINDDN	"cn=LDAP Search Tool, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* search base */
-#define LDAPSEARCH_BASE		DEFAULT_BASE
-
-/*
- * LDAPMODIFY TOOL
- */
-	/* who to bind as */
-#define LDAPMODIFY_BINDDN	"cn=Manager, o=University of Michigan, c=US"
-	/* search base */
-#define LDAPMODIFY_BASE		DEFAULT_BASE
-
-/*
- * LDAPDELETE TOOL
- */
-	/* who to bind as */
-#define LDAPDELETE_BINDDN	"cn=Manager, o=University of Michigan, c=US"
-	/* search base */
-#define LDAPDELETE_BASE		DEFAULT_BASE
-
-/*
- * LDAPMODRDN TOOL
- */
-	/* who to bind as */
-#define LDAPMODRDN_BINDDN	"cn=Manager, o=University of Michigan, c=US"
-	/* search base */
-#define LDAPMODRDN_BASE		DEFAULT_BASE
-
-/*
- * MAIL500 MAILER DEFINITIONS
- */
-	/* who to bind as */
-#define MAIL500_BINDDN		"cn=mail500, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* max number of ambiguous matches reported */
-#define MAIL500_MAXAMBIGUOUS	10
-	/* max subscribers allowed (size limit when searching for them ) */
-#define MAIL500_MAXGROUPMEMBERS	LDAP_NO_LIMIT
-	/* timeout for all searches */
-#define MAIL500_TIMEOUT		180
-	/* sendmail location - mail500 needs to exec this */
-#define MAIL500_SENDMAIL	"/usr/lib/sendmail"
-
-/*
- * UD DEFINITIONS
- */
-	/* ud configuration file */
-#define UD_CONFIG_FILE		"%ETCDIR%/ud.conf"
-	/* default editor */
-#define UD_DEFAULT_EDITOR	"/usr/ucb/vi"
-	/* default bbasename of user config file */
-#define UD_USER_CONFIG_FILE	".udrc"
-	/* default user to bind as */
-#define UD_BINDDN		"cn=ud, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* default password to bind with */
-#define UD_PASSWD		NULL
-	/* default search base */
-#define UD_BASE			DEFAULT_BASE
-	/* default base where groups are created */
-#define UD_WHERE_GROUPS_ARE_CREATED	"ou=User Groups, ou=Groups, o=University of Michigan, c=US"
-	/* default base below which all groups live */
-#define UD_WHERE_ALL_GROUPS_LIVE	"ou=Groups, o=University of Michigan, c=US"
-
-/*
- * FAX500 DEFINITIONS
- */
-	/* what to bind as */
-#define FAX_BINDDN	"cn=mail500, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* how long to wait for searches */
-#define FAX_TIMEOUT		180
-	/* maximum number of ambiguous matches reported */
-#define FAX_MAXAMBIGUOUS	10
-	/* maximum number of members allowed */
-#define FAX_MAXMEMBERS		LDAP_NO_LIMIT
-	/* program to send mail */
-#define FAX_SENDMAIL		"/usr/lib/sendmail"
-
-/*
- * RP500 DEFINITIONS
- */
-	/* what to bind as */
-#define RP_BINDDN	"cn=rp500, ou=Miscellaneous Servers, o=University of Michigan, c=US"
-	/* prefix to add to non-fully-qualified numbers */
-#define RP_PHONEPREFIX	"1313"
-
-/*
- * SLAPD DEFINITIONS
- */
-	/* location of the default slapd config file */
-#define SLAPD_DEFAULT_CONFIGFILE	"%ETCDIR%/slapd.conf"
-	/* default sizelimit on number of entries from a search */
-#define SLAPD_DEFAULT_SIZELIMIT		500
-	/* default timelimit to spend on a search */
-#define SLAPD_DEFAULT_TIMELIMIT		3600
-	/* location of the slapd pid file */
-#define SLAPD_PIDFILE			"%ETCDIR%/slapd.pid"
-	/* location of the slapd args file */
-#define SLAPD_ARGSFILE			"%ETCDIR%/slapd.args"
-	/* dn of the special "monitor" entry */
-#define SLAPD_MONITOR_DN		"cn=monitor"
-	/* dn of the special "config" entry */
-#define SLAPD_CONFIG_DN			"cn=config"
-	/* minimum max ids that a single index entry can map to in ldbm */
-#define SLAPD_LDBM_MIN_MAXIDS		4000
-
-#endif /* _CONFIG_H */
diff --git a/libraries/libldap/sort.c b/libraries/libldap/sort.c
index ee5d549c89..44bde3c76f 100644
--- a/libraries/libldap/sort.c
+++ b/libraries/libldap/sort.c
@@ -16,6 +16,7 @@
 #include <ctype.h>
 #include <string.h>
 #include <stdlib.h>
+#include <time.h>
 #ifdef MACOS
 #include "macos.h"
 #else /* MACOS */
diff --git a/libraries/liblthread/stack.c b/libraries/liblthread/stack.c
index e57b44b25f..8736e25b95 100644
--- a/libraries/liblthread/stack.c
+++ b/libraries/liblthread/stack.c
@@ -1,6 +1,7 @@
 /* stack.c - stack handling routines */
 
 #include <stdio.h>
+#include <time.h>
 #include "lber.h"
 #include "ldap.h"
 
diff --git a/servers/slapd/tools/Make-template b/servers/slapd/tools/Make-template
index a040610086..c7c83bc7d5 100644
--- a/servers/slapd/tools/Make-template
+++ b/servers/slapd/tools/Make-template
@@ -73,15 +73,10 @@ ldif2index:	ldif2index.o ../libbackends.a $(OBJS2)
 	$(CC) $(ALDFLAGS) -o $@ ldif2index.o $(OBJS2) \
 		../libbackends.a $(LDFLAGS) $(LIBS2)
 
-ldif2ldbm:	ldif2ldbm.sed.o ../libbackends.a $(OBJS2)
-	$(CC) $(ALDFLAGS) -o $@ ldif2ldbm.sed.o $(OBJS2) \
+ldif2ldbm:	ldif2ldbm.o ../libbackends.a $(OBJS2)
+	$(CC) $(ALDFLAGS) -o $@ ldif2ldbm.o $(OBJS2) \
 		../libbackends.a $(LDFLAGS) $(LIBS2)
 
-ldif2ldbm.sed.c: ldif2ldbm.c
-	$(SED) -e 's;%ETCDIR%;$(LDAP_ETCDIR);' \
-			-e 's;%SBINDIR%;$(LDAP_SBINDIR);' \
-		ldif2ldbm.c > ldif2ldbm.sed.c
-
 ldif2id2entry:	ldif2id2entry.o ../libbackends.a $(OBJS2)
 	$(CC) $(ALDFLAGS) -o $@ ldif2id2entry.o $(OBJS2) \
 		../libbackends.a $(LDFLAGS) $(LIBS2)
diff --git a/servers/slapd/tools/ldif.c b/servers/slapd/tools/ldif.c
index dc9f25d584..4e7eb8cb4d 100644
--- a/servers/slapd/tools/ldif.c
+++ b/servers/slapd/tools/ldif.c
@@ -24,7 +24,7 @@ main( argc, argv )
 {
 	char	buf[BUFSIZ];
 	char	*type, *out;
-	int	binary = 0;
+	int	len, binary = 0;
 
 	if (argc < 2 || argc > 3 ) {
 		usage( argv[0] );
@@ -79,7 +79,9 @@ main( argc, argv )
 	}
 
 	/* not binary:  one value per line... */
-	while ( gets( buf ) != NULL ) {
+	while ( fgets( buf, sizeof(buf), stdin ) != NULL ) {
+		if( buf[len=strlen(buf)] == '\n') buf[len] = '\0';
+
 		if (( out = ldif_type_and_value( type, buf, strlen( buf ) ))
 		    == NULL ) {
 		    	perror( "ldif_type_and_value" );
diff --git a/servers/slapd/tools/ldif2ldbm.c b/servers/slapd/tools/ldif2ldbm.c
index 3daafb8559..7ddee31f88 100644
--- a/servers/slapd/tools/ldif2ldbm.c
+++ b/servers/slapd/tools/ldif2ldbm.c
@@ -5,9 +5,8 @@
 #include <sys/param.h>
 #include "../slap.h"
 #include "../back-ldbm/back-ldbm.h"
+#include "ldapconfig.h"
 
-#define DEFAULT_CONFIGFILE	"%ETCDIR%/slapd.conf"
-#define DEFAULT_SBINDIR		"%SBINDIR%"
 #define INDEXCMD		"ldif2index"
 #define ID2ENTRYCMD		"ldif2id2entry"
 #define ID2CHILDRENCMD		"ldif2id2children"
@@ -75,7 +74,7 @@ main( int argc, char **argv )
 	extern char	*optarg;
 
 	sbindir = DEFAULT_SBINDIR;
-	tailorfile = DEFAULT_CONFIGFILE;
+	tailorfile = SLAPD_DEFAULT_CONFIGFILE;
 	dbnum = -1;
 	while ( (i = getopt( argc, argv, "d:e:s:f:i:j:n:" )) != EOF ) {
 		switch ( i ) {
diff --git a/servers/slurpd/args.c b/servers/slurpd/args.c
index b3cc935df8..fcc7b40bd7 100644
--- a/servers/slurpd/args.c
+++ b/servers/slurpd/args.c
@@ -16,6 +16,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <time.h>
 
 #include <lber.h>
 #include <ldap.h>
-- 
GitLab