Commit 42e0d83c authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Initial revision

parents
A N N O U N C E M E N T
LDAP 3.3
The University of Michigan is pleased to announce release 3.3 of
UM-LDAP, an implementation of the Lightweight Directory Access
Protocol. LDAP is a draft Internet standard directory service
protocol that runs over TCP/IP. It can be used to provide a
stand-alone directory service, or to provide lightweight access to
the X.500 directory. LDAP is defined by RFC 1777 and RFC 1778.
This release includes the following components:
- slapd - a stand-alone LDAP directory server
- slurpd - a stand-alone LDAP replication server
- ldapd - an LDAP-to-X.500 gateway server
- centipede - an LDAP centroid generation and maintenance program
- libldap - an LDAP client library
- liblber - a lightweight BER/DER encoding/decoding library
- ldif tools - data conversion tools for use with slapd
- in.xfingerd - a finger-to-LDAP gateway server
- go500 - a gopher-to-LDAP gateway server for searching
- go500gw - a gopher-to-LDAP gateway server for searching and browsing
- rcpt500 - an email-to-LDAP query responder
- mail500 - an LDAP-capable mailer
- fax500 - an LDAP-capable mailer that supports remote printing
- LDAP tools - A collection of shell-based LDAP utility programs
In addition, there are some contributed components:
- web500 - an HTTP-to-LDAP gateway
- whois++d - a WHOIS++-to-LDAP gateway
- saucer - a simple command-line oriented client program
CHANGES
Changes since release 3.2 of LDAP include
- slurpd has been rewritten as a single process threaded daemon
- ldaptools (ldapsearch, etc) now support the LDIF format
- support for LDAP URLs added to libldap
- improved support for LDAP referrals in libldap
- preliminary test scripts included
- support for additional platforms
- various bug fixes and build fixes
See the CHANGES file in the distribution for more details.
AVAILABILITY
This software is freely available to anyone for any lawful purpose,
subject to the U-M copyright notice and disclaimer. The software is
available for anonymous ftp from the following location:
ftp://terminator.rs.itd.umich.edu/ldap/ldap-3.3.tar.Z
SUPPORT
The software is provided as is without any express or implied
warranty, but there is a bug reporting mail address which is
responded to on a best-effort basis:
ldap-support@umich.edu
In addition, there is a discussion list for issues relating to this
implementation of ldap:
ldap@umich.edu -- discussion list
ldap-request@umich.edu -- to join the list
Comments or questions about the LDAP protocol in general should be
sent to the IETF ASID discussion group:
ietf-asid@umich.edu -- discussion list
ietf-asid-request@umich.edu -- to join the list
An LDAP home page containing lots of interesting information and
online documentation is available at this URL:
http://www.umich.edu/~rsug/ldap/
SUPPORTED PLATFORMS
This release has been ported to many UNIX platforms, including
SunOS 4.1.x, Solaris 2.x, Ultrix 4.3, HP-UX 9.05, AIX 3.2.5,
SCO, FreeBSD, NetBSD, LINUX, IRIX, Digital Unix (OSF/1), and
NeXTSTEP 3.2. This release has also been ported to VMS.
The client libraries and some clients have also been ported to
MacOS 7.x, MSDOS (some TCP stacks), and MS Windows 3.1/95/NT.
This diff is collapsed.
Copyright (c) 1992-1996 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.
Making and Installing the U-M LDAP Distribution
** It is recommended that you read or at least skim through ALL of the
** instructions in this file before attempting to build the software.
If you want to build binaries for more than one platform from a single
source tree, skip ahead to the "Building LDAP For More Than One Platform"
section near the end of this file. If you are planning to run slapd,
you should read the "SLAPD and SLURPD Administrator's Guide", found in
the doc/guides/ directory within the distribution.
If you simply want to build LDAP for a single machine platform, follow
these steps:
1. untar the distribution and cd to the top:
% zcat ldap-3.3.tar.Z | tar xf -
% cd ldap-3.3
If you are reading this file, you probably have already done this!
2. edit the files Make-common and include/ldapconfig.h.edit to configure
the software for your site (the files are well-commented):
% vi Make-common
% vi include/ldapconfig.h.edit
Note that you should NOT need to edit the Makefile located at the
top of the distribution.
If you just want to see if things will build, you can leave the
configuration alone and change it later.
If you have the ISODE package built and want to build the
LDAP-to-X.500 server (ldapd), be sure to uncomment the appropriate
lines near the end of the Make-common file. By default only the
stand-alone server, LDAP libraries and client software are built.
3. make the software:
% make
If all goes well, then make will figure out what platform you are on,
pick a compiler to use, construct Makefiles, and build everything.
If you see a message like "unknown platform..." LDAP has probably not
been set up to build on your machine. See the file build/PORTS for
hints on what to do in that case.
Note that if your make does not use the Bourne (sh) shell by
default when executing internal scripts (reportedly the case on SGI
machines at least), you will need to run the make explicitly from
within a Bourne shell. If you a syntax error such as "Missing ]"
when you do the make under your usual shell, try this:
% sh
$ make
If you don't like the some of the platform-specific options chosen
by the automatic build process (such as the compiler to use, etc),
you can intervene and edit them before anything is actually compiled
by explicitly doing a "make platform" step, editing the .make-platform
file (actually a link to the file to be edited), and then doing a
regular make:
% make platform
% vi .make-platform
% make
If you want to choose the build platform yourself from among those that
the distribution supports, cd to the appropriate directory underneath
build/platforms and make from there. For example, if you are on a
machine running SunOS 4.1.4 and you want to force the use of the cc
compiler, you would do this:
% cd build/platforms/sunos4-cc
% make
If you want to run some simple tests after the build is complete, you
can do this:
% make test
4. install the binaries and man pages. You may need to be superuser to
do this (depending on where you are installing things):
% su
# make install
That's it! See the man pages for the individual clients for information
on configuring and using them. Eventually you will probably want to
edit the configuration files used by the various clients (installed in
the LDAP etc directory). The files are:
ldapfilter.conf - search filter configuration
ldapfriendly - mapping of X.500 names to human-friendly names
ldapsearchprefs.conf - search object definitions
ldaptemplates.conf - display template definitions
There are section 5 man pages for all of these files.
Building LDAP For More Than One Platform
It is now possible to build LDAP for more than one platform from the same
source tree. This is accomplished by some rules in the Makefiles that
create a shadow (linked) directory tree where the binaries are placed.
Follow these steps for each different platform:
1. move to the directory that matches the platform and compiler you
want to build for and type make. The directories are all located
underneath the build/platforms directory. If your platform is not
there, you may need to do a port - see the build/PORTS file for
more information. For a Sun running SunOS 4.1.4, you might do
this:
% cd build/platforms/sunos4-cc
% make links
This will create a linked source area.
2. move to the new directory and make as for a single platform. Follow steps
1-4 above to accomplish this. For example:
% cd obj-sunos4-cc
% make
That's all there is to it. You can also create the linked source area(s)
by just typing "make links" at the top of the distribution, in which case
the Makefile will try to automatically determine the platform and
compiler.
End of LDAP INSTALL file.
#-----------------------------------------------------------------------------
# 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.
#
# LDAP common Make defines (included in all but top-level Makefile)
#
#-----------------------------------------------------------------------------
#############################################################################
## Edit the following variables to have appropriate values for your system ##
#############################################################################
#############################################################################
## LDAP install paths ##
#############################################################################
#
# by default, everything is installed below INSTROOT
# servers, config files, etc. are put in ETCDIR
# include files get put in INCLUDEDIR
# libraries are put in LIBDIR
# man pages are put under MANDIR
# programs end-users will run are put in BINDIR
#
INSTROOT=/usr/local
ETCDIR= $(INSTROOT)/etc
INCLUDEDIR= $(INSTROOT)/include
LIBDIR= $(INSTROOT)/lib
MANDIR= $(INSTROOT)/man
BINDIR= $(INSTROOT)/bin
#
# if you want things to run in a different directory from where they
# are installed, set this accordingly (this path gets compiled into a
# few binaries). otherwise, leave it alone.
RUNTIMEETCDIR= $(ETCDIR)
#############################################################################
## General compiler options ##
#############################################################################
# Passed to every compile (cc or gcc). This is where you put -O or -g, etc.
#EXTRACFLAGS=-g
# Passed to every link (ld). Include -g here if you did in EXTRACFLAGS.
#EXTRALDFLAGS=-g
#############################################################################
## If you are NOT using Kerberos authentication, you can skip this section.##
#############################################################################
#
# Otherwise, to enable kerberos authentication, uncomment KERBEROS (and
# AFSKERBEROS if you are running the AFS version of kerberos). Also
# uncomment and change the various KRB* lines to point to where the
# kerberos libraries and include files are installed at your site.
#
#KERBEROS=-DKERBEROS
#AFSKERBEROS=-DAFSKERBEROS
#KRBINCLUDEFLAG = -I/usr/local/kerberos/include
#KRBLIBFLAG = -L/usr/local/kerberos/lib
#KRBLIBS = -lkrb -ldes
#############################################################################
## ISODE is required ONLY to build the ldap <-> X.500 server (ldapd) ##
## If you don't want to build it, you can skip this section. ##
#############################################################################
#
# To build the ldap server, uncomment the HAVEISODE line,
# and the section describing build settings for your version of isode.
#
#HAVEISODE = yes
# If you compiled ISODE with TURBO_DISK defined, uncomment this
#ISODETURBOLIBS = -lgdbm
# uncomment these to have ldapd "pretty print" protocol elements w/debugging
#PEPSY_DUMP=-DPEPSY_DUMP
#PEPSY=/usr/local/ic/bin/pepsy
# uncommment this line to have ldapd load PP syntax handlers
# you'll also need to add -lpp to ISODEBASELIBS below
#LDAP_USE_PP=-DLDAP_USE_PP
# uncomment NO_SETPROCTITLE to have ldapd NOT change its title
#NO_SETPROCTITLE=-DNOSETPROCTITLE
#
# ISODE Consortium release build settings
# You should change the next line so that ICRELEASE matches the (integer)
# version number of whatever IC release you have, e.g. 1, 2, or 3 and
# also uncomment the next 5 lines.
#ICRELEASE=-DICRELEASE=1
#ISODEPACKAGE=-DISODEPACKAGE=IC
#ISODEINCLUDEFLAG= -I/usr/local/ic/include/isode -I/usr/local/ic/include
#ISODELIBFLAG = -L/usr/local/ic/lib
#ISODEBASELIBS = -lisode
#
# Freely available ISODE 8.0 release build settings (uncomment the next 4 lines)
#ISODEPACKAGE=-DISODEPACKAGE
#ISODEINCLUDEFLAG= -I/usr/local/isode/include
#ISODELIBFLAG = -L/usr/local/isode/lib
#ISODEBASELIBS = -ldsap -lisode
#
# NEXOR ISODE release build settings (uncomment the next 4 lines)
#ISODEPACKAGE=-DISODEPACKAGE=XT
#ISODEINCLUDEFLAG= -I/usr/include/isode
#ISODELIBFLAG = -L/usr/local/lib -L/usr/sunlink/osi/lib
#ISODEBASELIBS = -lxtpp -lresolv -lxtdsap -lxtisode -losi
#############################################################################
## If you don't want to run slapd, skip this section. ##
#############################################################################
#
# To build slapd (the stand-alone ldap daemon), uncomment the MAKESLAPD
# line and select the SLAPD_BACKENDS you want to use. If you enable the
# LDBM backend, also select one of the LDBM backends.
MAKESLAPD= yes
#
# remove the defines for backends you don't want to enable
SLAPD_BACKENDS= -DLDAP_LDBM -DLDAP_SHELL -DLDAP_PASSWD
#
# If you have included -DLDAP_LDBM in the SLAPD_BACKENDS line you need
# to specify which low-level database package to use. There are
# four choices: Berkeley db b-tree, Berkeley db hash, GNU dbm, or ndbm.
#
# berkeley db btree package
#LDBMBACKEND=-DLDBM_USE_DBBTREE
#LDBMINCLUDE=-I/usr/local/db/include
#LDBMLIB=-ldb
# berkeley db hash package
#LDBMBACKEND=-DLDBM_USE_DBHASH
#LDBMINCLUDE=-I/usr/local/db/include
#LDBMLIB=-ldb
# gnu dbm (gdbm)
#LDBMBACKEND=-DLDBM_USE_GDBM
#LDBMINCLUDE=-I/usr/local/gdbm/include
#LDBMLIB=-lgdbm
# standard unix ndbm
LDBMBACKEND=-DLDBM_USE_NDBM
#
# if you want to use a non-default threads package change these lines
#THREADS=-DNO_THREADS
#THREADSLIB=
#############################################################################
## The following options are used by the xax500 client. If you haven't ##
## retrieved the xax500 source and dropped it into the "clients" ##
## directory, you can skip this section. ##
#############################################################################
#
# location of your X include files
#XINCLUDES= -I/usr/X11/include
#
# location of your X libraries
#XLIBDIRS=-L/usr/X11/lib
#
# include any extra X libraries you need here
# the following works with sunos 4 and X11R5
#XLIBS = $(XLIBDIRS) -lXm -lXt -lX11
# the following has been known to work with Solaris 2.4 and X11R6
#XLIBS = $(XLIBDIRS) -lXm -lXext -lSM -lICE -lXpm -lXt -lX11
#############################################################################
## If you don't want to do auto-translation of character sets, skip this ##
#############################################################################
#
# Otherwise, uncomment this line and set the following options.
#STR_TRANSLATION=-DSTR_TRANSLATION
#
# remove the defines for LDAP client library T.61 character translation
# you do not need. If you use LDAP_CHARSET_8859, replace the '1' in "88591"
# with the number of the particular character set you use. E.g., use "88594"
# if you use the ISO 8859-4 chracter set.
#LIBLDAP_CHARSETS=-DLDAP_CHARSET_8859="88591"
#
# uncomment one these lines to enable automatic T.61 translation by default
#LIBLDAP_DEF_CHARSET=-DLDAP_DEFAULT_CHARSET=LDAP_CHARSET_8859
#############################################################################
## General options ##
#############################################################################
# uncomment this line to enable debugging code (a good idea)
LDAP_DEBUG=-DLDAP_DEBUG
# uncomment this line to turn on a few U of Michigan specific things
#UOFM=-DUOFM
# uncomment this line to delete a few printfs in the lber and ldap libraries.
#NO_USERINTERFACE=-DNO_USERINTERFACE
# uncomment this line to include Connectionless LDAP support
#CLDAP=-DCLDAP
# uncomment this line to eliminate local caching support in the libldap
#NO_CACHE=-DNO_CACHE
# uncomment this line to enable support for LDAP referrals in libldap
LDAP_REFERRALS=-DLDAP_REFERRALS
# uncomment this line to use soundex for approximate matches in slapd.
# the default is to use the metaphone algorithm.
#PHONETIC=-DSOUNDEX
#-----------------------------------------------------------------------------
# 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.
#
# LDAP common Make defines (included in all but top-level Makefile)
#
#-----------------------------------------------------------------------------
#############################################################################
## Edit the following variables to have appropriate values for your system ##
#############################################################################
#############################################################################
## LDAP install paths ##
#############################################################################
#
# by default, everything is installed below INSTROOT
# servers, config files, etc. are put in ETCDIR
# include files get put in INCLUDEDIR
# libraries are put in LIBDIR
# man pages are put under MANDIR
# programs end-users will run are put in BINDIR
#
INSTROOT=/usr/local
ETCDIR= $(INSTROOT)/etc
INCLUDEDIR= $(INSTROOT)/include
LIBDIR= $(INSTROOT)/lib
MANDIR= $(INSTROOT)/man
BINDIR= $(INSTROOT)/bin
#
# if you want things to run in a different directory from where they
# are installed, set this accordingly (this path gets compiled into a
# few binaries). otherwise, leave it alone.
RUNTIMEETCDIR= $(ETCDIR)
#############################################################################
## General compiler options ##
#############################################################################
# Passed to every compile (cc or gcc). This is where you put -O or -g, etc.
EXTRACFLAGS=-g
# Passed to every link (ld). Include -g here if you did in EXTRACFLAGS.
EXTRALDFLAGS=-g
#############################################################################
## If you are NOT using Kerberos authentication, you can skip this section.##
#############################################################################
#
# Otherwise, to enable kerberos authentication, uncomment KERBEROS (and
# AFSKERBEROS if you are running the AFS version of kerberos). Also
# uncomment and change the various KRB* lines to point to where the
# kerberos libraries and include files are installed at your site.
#
KERBEROS=-DKERBEROS
AFSKERBEROS=-DAFSKERBEROS
KRBINCLUDEFLAG = -I/usr/local/kerberos/include
KRBLIBFLAG = -L/usr/local/kerberos/lib
KRBLIBS = -lkrb -ldes
#############################################################################
## ISODE is required ONLY to build the ldap <-> X.500 server (ldapd) ##
## If you don't want to build it, you can skip this section. ##
#############################################################################
#
# To build the ldap server, uncomment the HAVEISODE line,
# and the section describing build settings for your version of isode.
#
HAVEISODE = yes
# If you compiled ISODE with TURBO_DISK defined, uncomment this
#ISODETURBOLIBS = -lgdbm
# uncomment these to have ldapd "pretty print" protocol elements w/debugging
PEPSY_DUMP=-DPEPSY_DUMP
PEPSY=/usr/local/ic/bin/pepsy
# uncommment this line to have ldapd load PP syntax handlers
# you'll also need to add -lpp to ISODEBASELIBS below
#LDAP_USE_PP=-DLDAP_USE_PP
# uncomment NO_SETPROCTITLE to have ldapd NOT change its title
#NO_SETPROCTITLE=-DNOSETPROCTITLE
#
# ISODE Consortium release build settings
# You should change the next line so that ICRELEASE matches the (integer)
# version number of whatever IC release you have, e.g. 1, 2, or 3 and
# also uncomment the next 5 lines.
ICRELEASE=-DICRELEASE=2
ISODEPACKAGE=-DISODEPACKAGE=IC
ISODEINCLUDEFLAG= -I/usr/local/ic/include
ISODELIBFLAG = -L/usr/local/ic/lib
ISODEBASELIBS = -lisode
#
# Freely available ISODE 8.0 release build settings (uncomment the next 4 lines)
#ISODEPACKAGE=-DISODEPACKAGE
#ISODEINCLUDEFLAG= -I/usr/local/isode/include
#ISODELIBFLAG = -L/usr/local/isode/lib
#ISODEBASELIBS = -ldsap -lisode
#
# NEXOR ISODE release build settings (uncomment the next 4 lines)
#ISODEPACKAGE=-DISODEPACKAGE=XT
#ISODEINCLUDEFLAG= -I/usr/include/isode
#ISODELIBFLAG = -L/usr/local/lib -L/usr/sunlink/osi/lib
#ISODEBASELIBS = -lxtpp -lresolv -lxtdsap -lxtisode -losi
#############################################################################
## If you don't want to run slapd, skip this section. ##
#############################################################################
#
# To build slapd (the stand-alone ldap daemon), uncomment the MAKESLAPD
# line and select the SLAPD_BACKENDS you want to use. If you enable the
# LDBM backend, also select one of the LDBM backends.
MAKESLAPD= yes
#
# remove the defines for backends you don't want to enable
SLAPD_BACKENDS= -DLDAP_LDBM -DLDAP_SHELL -DLDAP_PASSWD
#
# If you have included -DLDAP_LDBM in the SLAPD_BACKENDS line you need
# to specify which low-level database package to use. There are
# four choices: Berkeley db b-tree, Berkeley db hash, GNU dbm, or ndbm.
#
# berkeley db btree package
LDBMBACKEND=-DLDBM_USE_DBBTREE
LDBMINCLUDE=-I/usr/local/include
LDBMLIB=-ldb
# berkeley db hash package
#LDBMBACKEND=-DLDBM_USE_DBHASH
#LDBMINCLUDE=-I/usr/local/include
#LDBMLIB=-ldb
# gnu dbm (gdbm)
#LDBMBACKEND=-DLDBM_USE_GDBM
#LDBMINCLUDE=-I/usr/local/include
#LDBMLIB=-lgdbm
# standard unix ndbm
#LDBMBACKEND=-DLDBM_USE_NDBM
#
# if you want to use a non-default threads package change these lines
#THREADS=-DNO_THREADS
#THREADSLIB=
#############################################################################
## The following options are used by the xax500 client. If you haven't ##
## retrieved the xax500 source and dropped it into the "clients" ##
## directory, you can skip this section. ##
#############################################################################
#
# location of your X include files
#XINCLUDES= -I/usr/local/X11/include
#
# location of your X libraries
#XLIBDIRS=-L/usr/local/X11/lib
#
# include any extra X libraries you need here
# the following works with sunos 4 and X11R5
#XLIBS = $(XLIBDIRS) -lXm -lXt -lX11
# the following has been known to work with Solaris 2.4 and X11R6
#XLIBS = $(XLIBDIRS) -lXm -lXext -lSM -lICE -lXpm -lXt -lX11
#############################################################################
## If you don't want to do auto-translation of character sets, skip this ##
#############################################################################
#
# Otherwise, uncomment this line and set the following options.
#STR_TRANSLATION=-DSTR_TRANSLATION
#
# remove the defines for LDAP client library T.61 character translation
# you do not need. If you use LDAP_CHARSET_8859, replace the '1' in "88591"
# with the number of the particular character set you use. E.g., use "88594"
# if you use the ISO 8859-4 chracter set.
#LIBLDAP_CHARSETS=-DLDAP_CHARSET_8859="88591"
#
# uncomment one these lines to enable automatic T.61 translation by default
#LIBLDAP_DEF_CHARSET=-DLDAP_DEFAULT_CHARSET=LDAP_CHARSET_8859
#############################################################################
## General options ##
#############################################################################
# uncomment this line to enable debugging code (a good idea)
LDAP_DEBUG=-DLDAP_DEBUG
# uncomment this line to turn on a few U of Michigan specific things
UOFM=-DUOFM
# uncomment this line to delete a few printfs in the lber and ldap libraries.
#NO_USERINTERFACE=-DNO_USERINTERFACE
# uncomment this line to include Connectionless LDAP support
CLDAP=-DCLDAP
# uncomment this line to eliminate local caching support in the libldap
#NO_CACHE=-DNO_CACHE
# uncomment this line to enable support for LDAP referrals in libldap
LDAP_REFERRALS=-DLDAP_REFERRALS
# uncomment this line to use soundex for approximate matches in slapd.
# the default is to use the metaphone algorithm.
#PHONETIC=-DSOUNDEX
#
# You will usually NOT need to edit this file at all: instead, edit the
# Make-common file. See the LDAP INSTALL file for more information.
#
#-----------------------------------------------------------------------------
# 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