diff --git a/build/platforms/freebsd-gcc/Make-platform b/build/platforms/freebsd-gcc/Make-platform
index d8ee543a6a01cada80da0b1b4c762de8a56c9c73..f5750b49ceba3acd03349afbaf677fd229944a9c 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 77e076fdc769697726f0c04dc036d9fc542273f1..613916c7ddc5141f872dfaf5514b0851de7b03a7 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 16674d0e80bc79777f9f97aad487f152c6b5afeb..df93aa7f0c910667ef67eff4248ebdaf101cbd3c 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 3054cfb54fe52aacc397d621398c0fb2f6187a86..d827575476d138276aec80b215c28c0880abb5c1 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 69d99e7f5a469a9f58a2b34ee677427a86148b3c..3db722aa07cd2872fea94b300e3f580f7a010f8d 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 d96aff131711ea7bc85bde1ed6194a246c2d7afc..5d392973373516c0d2c482091a645465940156b7 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 3551c1af6d7674dcc6153cce5a52b93072903d12..e4a9893edbc349ff5ee15a4369c016250659c8d4 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 64006170eb356e48dc970f8cd9145162160317c5..f7bf2530273a60d236f3fb21560832578e6a2c5a 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 5a1ff231e07f15675510d0bac6a9fcd3a3755590..4bf4c926a90386d4a903adc90f099bd996b9e092 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 ef7099e9489a9161605e933938297c956e46e4ea..9a3318a8980f4741b4728d2ca8b93441f426bc4a 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 389b8a0d625d87a04034258ee4e2fa32b326cfe5..b73137836a8db4a97c49436f992ffe5352ab757a 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 0b7ba0c17c4c5e3958bec09157cc88887e6e93e7..7c59838fb5855479ba5dd5e79f77de582a1d22a4 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 ee956742e7f4c9ecd222755ca4b3ba83811807a4..8c91b2160fdb3d25c49335bbf297abbe6bbd52a0 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 586f487fd91d719213e551eb536ac88c0383a8e3..265410e2a1c7ce9eed7dfa4802d09d64cf310244 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 ecaf918af07f3c9d9d02a7467bdd07f2863b767c..0000000000000000000000000000000000000000
--- 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 ee5d549c895f9d459d99b1febd98553aa37a45f7..44bde3c76f54ee4fb0fed2b4c5637643e3e20ae2 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 e57b44b25f19667cb576eb1a2ca52058653a5d61..8736e25b95b5c46c5b9652db89a0af3070a22d09 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 a0406100868cec7aad72cf365a73eda288c4a174..c7c83bc7d593d809c5b4a2fa9fe7495f9934a96d 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 dc9f25d584e9d80d46c4ee47bff1c4541c53d554..4e7eb8cb4d1c79b08337f82f61ab4597a7e37735 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 3daafb85598181ff303f7f64d3af7e8c87403696..7ddee31f88d5c7c2e0eec0fdc23b28f6a459ec9c 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 b3cc935df8ece477c1cfc25ea772f6124906ba1e..fcc7b40bd752ab81b0c80187b211920621387cf6 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>