UM-LDAP 3.0 README file

WARNING:  The semantics of the ldap_bind() call have changed since the
last release.  ldap_bind() is now asynchronous, returning a msgid just
like the other async routines.  Synchronous binds can be performed by
calling ldap_bind_s(), which returns an ldap result code, just like the
other synchronous routines.  The bad news is that you will need to change
your code if you call ldap_bind()!

DISTRIBUTION CONTENTS

    This is the UM-LDAP version 3.0 distribution.  This distribution
    contains the following components:

	doc/		man pages for liblber.a, libldap.a, ud, and ldapd

	h/		include files required to build and use liblber.a,
			libldap.a, and ldapd

	finger/		a sample ldap client program in the form of an
			X.500 finger daemon.  see finger/README.

	gopher/		a couple of sample ldap clients in the form of a
			simple gopher index search to X.500 server, and 
			a more general gopher to X.500 gateway server.
			see gopher/README.

	lber/		a library that implements the ldap "lightweight"
			basic encoding rules, providing a printf/scanf-like
			API

	ldapd/		a daemon that implements the server side of the
			ldap protocol

	libldap/	a library that implements the client side of the
			ldap protocol, providing both synchronous and
			asychronous APIs

	macintosh/	contains some extra files needed to run ldap
			on a macintosh.  see macintosh/README for more
			info.

	msdos/		contains some extra files needed to run ldap
			on an msdos machine.  see msdos/README for more
			info.

	rcpt500/	a sample ldap client in the form of an X.500
			email query server.  see rcpt500/README.

	ud/		source for a simple command line X.500 client
			that uses libldap.  see ud/README.

	whois++/	whois++ server from Mark Prior of The
			University of Adelaide that runs over ldap,
			using X.500 as its database.

	mail500/	a mailer that will look things up in X.500.
			It's suitable for calling by sendmail, does
			groups, etc.  See mail500/README for details.

	fax500/		a version of rpcomp (called xrpcomp) that is
			X.500-capable, and a version of mail500 (called
			fax500) that is X.500 and remote-printing
			capable.  See RFC's 1528, 1529 and 1530 for
			more details of the experiment, and
			fax500/README for details on xrpcomp and fax500.

MAKING THE DISTRIBUTION

    First, you might want to take a look at the PORTS file, which
    has some useful tips for building ldap on various platforms.

    To make the distribution edit the toplevel Makefile and set the
    appropriate variables, then type

	make

    This will make the lber and ldap libraries and the ldap server.
    To then install the distribution, type

	make install

    This will install the ldap server, ldap library, and lightweight
    ber library.

    To make and install any of the finger, gopher, mail500, rcpt500,
    ud, fax500, or whois++ programs, type

	make ldap-<program>
	make inst-<program>

    where <program> is one of finger, gopher, mail500, rcpt500, ud,
    fax500, or whois++.  To make and install them all, type

	make others
	make inst-others

    To make and install only the ldap and lber libraries (i.e., not
    the ldap server which requires ISODE), type

	make lib-only
	make inst-lib

DOCUMENTATION

    Documentation is provided in the form of man pages.  Each man page
    is described briefly below.

	ldap.3		Describes the ldap package and model in general,
			including pointers to the other man pages.

	ldap-async.3	Describes routines for performing ldap operations
			(search, modify, etc) asynchronously.  This is the
			main one to read, along with ldap-parse.3 and
			ldap-sync.3.

	ldap-sync.3	Describes synchronous versions of the operations
			routines described above.

	ldap-parse.3	Describes routines for parsing results received
			from an ldap operation.

	ldap-getfilter.3 Describes routines for generating filters to
			be used with ldap_search(3) or ldap_search_s(3).

	ldapfilter.conf.5 Describes the format of the ldap filterconf
			file, which is used to finger, gopher, etc. to
			turn what a user types into a filter.

	ldapfriendly.3	Describes the ldap_friendly_name() routine,
			used to map from one set of strings to another.

	ldapd.8		Describes how to run the ldap daemon.

	lber-encode.3	Describes the lightweight ber encoding routines.
			Not normally needed to write ldap programs.

	lber-decode.3	Describes the lightweight ber decoding routines.
			Not normally needed to write ldap programs.

	ud.1		Describes the ud program

	ud.conf.5	Describes the format of the ud configuration file.

SUPPORT

    The software is provided as is without any express or implied
    warranty, but there is a support mail address which is responded
    to on a best-effort basis:

	    ldap-support@umich.edu

BUG REPORTING

    Bug reports should be sent to bug-ldap@umich.edu.
