Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • openldap/openldap
  • hyc/openldap
  • ryan/openldap
  • iboukris/openldap
  • ondra/openldap
  • sshanks-kx/openldap
  • blaggacao/openldap
  • pbrezina/openldap
  • quanah/openldap
  • dragos_h/openldap
  • lorenz/openldap
  • tsaarni/openldap
  • fei.ding/openldap
  • orent/openldap
  • arrowplum/openldap
  • barchiesi/openldap
  • jotik/openldap
  • hamano/openldap
  • ingovoss/openldap
  • henson/openldap
  • jlrine2/openldap
  • howeverAT/openldap
  • nivanova/openldap
  • orbea/openldap
  • rdubner/openldap
  • smckinney/openldap
  • jklowden/openldap
  • dpa-openldap/openldap
  • rouzier/openldap
  • orgads/openldap
  • ffontaine/openldap
  • jiaqingz/openldap
  • dcoutadeur/openldap
  • begeragus/openldap
  • pubellit/openldap
  • glandium/openldap
  • facboy/openldap
  • thesamesam/openldap
  • Johan/openldap
  • fkooman/openldap
  • gburd/openldap
  • h-homma/openldap
  • sgallagher/openldap
  • ahmed_zaki/openldap
  • gnoe/openldap
  • mid/openldap
  • clan/openldap
47 results
Show changes
Commits on Source (24173)
configure.ac ident
.git* export-ignore
/doc/drafts/draft-*.xml export-ignore
# for Unix/Linux
*~
*.o
*.la
*.lo
*.so
*.a
# for MacOS/X
*.dylib
*.dSYM
.DS_Store
# for Windows
*.exe
*.obj
*.dll
*.exp
*.pdb
lib*.lib
lib*.dll
resource.RES
resource.rc
*_.RES
*_.rc
*0000.bin
*.ilk
# Misc
*.eml
*.patch
*.orig
*.rej
*.swp
# For OpenLDAP
*.tmp
.libs
.links
version.c
Makefile
!/contrib/slapd-modules/*/Makefile
!/contrib/slapd-modules/*/*/Makefile
!/doc/guide/admin/Makefile
!/libraries/libmdb/Makefile
!/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile
/config.status
/config.log
/include/stamp-h?
/libtool
/stamp-h
/clients/tools/l*version.c
/clients/tools/ldapcompare
/clients/tools/ldapdelete
/clients/tools/ldapexop
/clients/tools/ldapmodify
/clients/tools/ldapmodrdn
/clients/tools/ldappasswd
/clients/tools/ldapsearch
/clients/tools/ldapurl
/clients/tools/ldapvc
/clients/tools/ldapwhoami
/include/lber_types.h
/include/ldap_config.h
/include/ldap_features.h
/include/portable.h
libraries/libl*/*test
libraries/libl*/*.pc
libraries/libldap/testavl
libraries/liblunicode/ucdata.c
libraries/liblunicode/ucdata.h
libraries/liblunicode/ucgendat
libraries/liblunicode/ucgendat.c
libraries/liblunicode/uctable.h
libraries/liblunicode/ure.c
libraries/liblunicode/ure.h
libraries/liblunicode/urestubs.c
libraries/liblunicode/version.c
libraries/liblutil/slapdmsg.res
libraries/liblutil/version.c
libraries/librewrite/rewrite
libraries/librewrite/version.c
servers/slapd/.backend
servers/slapd/all-cffiles
servers/slapd/backends.c
servers/slapd/overlays/statover.c
servers/slapd/slapacl
servers/slapd/slapadd
servers/slapd/slapauth
servers/slapd/slapcat
servers/slapd/slapd
servers/slapd/slapdn
servers/slapd/slapindex
servers/slapd/slapmodify
servers/slapd/slappasswd
servers/slapd/slapschema
servers/slapd/slaptest
servers/lloadd/lloadd
servers/lloadd/Makefile.module
servers/lloadd/Makefile.server
tests/progs/ldif-filter
tests/progs/slapd-addel
tests/progs/slapd-bind
tests/progs/slapd-modify
tests/progs/slapd-modrdn
tests/progs/slapd-mtread
tests/progs/slapd-read
tests/progs/slapd-search
tests/progs/slapd-tester
tests/progs/slapd-watcher
tests/schema
tests/testdata
tests/testrun
tests/run
workflow:
rules:
- if: '$CI_COMMIT_REF_NAME == "master" && $CI_PROJECT_NAMESPACE != "openldap"'
when: never
- if: '$CI_COMMIT_REF_NAME =~ /^OPENLDAP_REL_ENG_/ && $CI_PROJECT_NAMESPACE != "openldap"'
when: never
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
when: never
- when: always
stages:
- build
build-no-threads-no-slapd:
stage: build
script:
- export STARTTIME=$(date +%s)
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -y build-essential autoconf pkg-config groff-base libsasl2-dev libssl-dev
- autoreconf
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Configuring"
- ./configure --without-threads --disable-slapd
- make depend
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Building"
- make
build-openssl-heimdal-lloadd:
stage: build
script:
- export STARTTIME=$(date +%s)
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -y build-essential python3 gdb procps pkg-config automake libsasl2-dev heimdal-multidev libssl-dev libltdl-dev groff-base unixodbc-dev libwiredtiger-dev libperl-dev heimdal-kdc libsasl2-modules-gssapi-heimdal sasl2-bin libevent-dev libargon2-dev libsystemd-dev
- autoreconf
- mkdir obj
- cd obj
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Configuring"
- ../configure --enable-backends=mod --enable-overlays=mod --enable-modules --enable-dynamic --enable-balancer=mod --enable-argon2 --with-systemd
- make depend
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Building"
- make
- ulimit -n 4096 # back-monitor takes a while scanning a long connections array
- SLAPD_COMMON_WRAPPER=gdb make test
artifacts:
name: testdir
when: on_failure
expire_in: '1 week'
paths:
- obj/tests/testrun/
- obj/servers/
- obj/libraries/
build-gnutls-mit-standalone-lloadd:
stage: build
script:
- export STARTTIME=$(date +%s)
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -y build-essential python3 gdb procps pkg-config automake libsasl2-dev libltdl-dev groff-base unixodbc-dev libwiredtiger-dev libperl-dev krb5-user krb5-kdc krb5-admin-server libsasl2-modules-gssapi-mit sasl2-bin libgnutls28-dev libevent-dev libargon2-dev libsystemd-dev
- autoreconf
- mkdir obj
- cd obj
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Configuring"
- ../configure --enable-backends=mod --enable-overlays=mod --disable-autoca --enable-modules --enable-dynamic --enable-balancer=yes --enable-argon2 --with-systemd
- make depend
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Building"
- make
- ulimit -n 4096 # back-monitor takes a while scanning a long connections array
- SLAPD_COMMON_WRAPPER=gdb make test
artifacts:
name: testdir
when: on_failure
expire_in: '1 week'
paths:
- obj/tests/testrun/
- obj/servers/
- obj/libraries/
build-mbedtls-mit-standalone-lloadd:
image: "debian:testing"
stage: build
script:
- export STARTTIME=$(date +%s)
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -y build-essential python3 gdb procps pkg-config automake libsasl2-dev libltdl-dev groff-base unixodbc-dev libwiredtiger-dev libperl-dev krb5-user krb5-kdc krb5-admin-server libsasl2-modules-gssapi-mit sasl2-bin libmbedtls-dev libevent-dev libargon2-dev libsystemd-dev
- autoreconf
- mkdir obj
- cd obj
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Configuring"
- ../configure --with-tls=mbedtls --enable-backends=mod --enable-overlays=mod --disable-autoca --enable-modules --enable-dynamic --enable-balancer=mod --enable-argon2 --with-systemd
- make depend
- echo "$(date -u -d "now - $STARTTIME sec" +%T) Building"
- make
- ulimit -n 4096 # back-monitor takes a while scanning a long connections array
- SLAPD_COMMON_WRAPPER=gdb make test
artifacts:
name: testdir
when: on_failure
expire_in: '1 week'
paths:
- obj/tests/testrun/
- obj/servers/
- obj/libraries/
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.
Changes since 3.3b1
Various Make-template files - update by doing 'make depend'
include/disptmpl.h - add LDAP_DISP_OPT_HTMLBODYONLY option
libraries/liblber/io.c - under MacOS, limit tcpwrite() calls to a
maximum of 64K bytes; ber_flush() int/long fix
libraries/libldap/friendly.c - don't use errno on MacOS or DOS
libraries/libldap/regex.c - fix re_exec() to that ".*" matches ""
libraries/libldap/result.c - eliminate memory leak in wait4msg()
libraries/libldap/request.c - eliminate double-free impurity
libraries/libldap/tmplout.c - add LDAP_DISP_OPT_HTMLBODYONLY option
libraries/libldap/ufn.c - purify: avoid bad frees; plug memory leaks
libraries/libldif/line64.c - str_parse_line() now 0-terminates base64 vals.
libraries/macintosh/* - tcpwrite()/OpenTransport bug fixes
- better error checking for MacTCP driver opens
- don't use old routine names any more
libraries/msdos/winsock/* - various bugs fixes & improvements
servers/slapd/modify.c - fix bug causing unnormalized attr names
servers/slapd/monitor.c - return new "version" attribute
servers/slapd/regex.c - fix re_exec() to that ".*" matches ""
servers/slapd/tools/ldbmcat.c - make -n option work (don't open file "-n" )
servers/slapd/tools/ldif2id2entry.c - include ids in stored entries
servers/slapd/schema.c - log some information useful in tracking
down schema-check problems
servers/slapd/dn.c - dn_upcase() was not returning anything (doh!)
servers/slapd/backend.c - pass unbind request to all backends
servers/slapd/unbind.c - pass unbind request to all backends
servers/slapd/Version.c - remove leading spaces from Versionstr[]
servers/slapd/back-ldbm/unbind.c - make arguments consistent
servers/slapd/back-ldbm/bind.c - fix bug which allowed anyone to bind as
anyone else using kerberos, if there was
at least one krbName in an entry
servers/slurpd/replog.c - do all replog copying with buffered i/o
servers/slurpd/fm.c - fix inconsistency in arguments
servers/slurpd/main.c - fix inconsistency in arguments
clients/tools/ldapdelete.c - add -K flag - only does LDAP_AUTH_KRBV41
clients/tools/ldapmodify.c - add -K flag - only does LDAP_AUTH_KRBV41
clients/tools/ldapmodrdn.c - add -K flag - only does LDAP_AUTH_KRBV41
clients/tools/ldapsearch.c - add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapdelete.1 - add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapmodify.1 - add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapmodrdn.1 - add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapsearch.1 - add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man3/ldap_entry2text.3 - document LDAP_DISP_OPT_HTMLBODYONLY option
doc/man/man8/slapd.8 - add BUGS section and document modrdn bug
----------------------------------------------------------------------------
Changes since 3.2
Makefile - added support for IRIX (SGI)
- make depend improvements
tests/ - all new test scripts -- make test
include/lber.h - use short include file names #ifdef WINSOCK
include/ldap.h - change LDAPCache struct definition to reduce
cache overhead
- use short include file names #ifdef WINSOCK
- LDAP URL support
- add lr_conn to LDAPRequest (needed by abandon)
- add LDAP_OPT_RESTART for select() restart
- revised Debug() macro #ifdef WINSOCK
include/ldbm.h - under NDBM, use O_RDWR instead of O_CREAT
- in LDBM_WRCREAT and LDBM_NEWDB
include/proto-lber.h - changes for WIN32
include/proto-ldap.h - changes for WIN32
- added LDAP URL routines
include/disptmpl.h - changes for WIN32
include/ldif.h - includes for new libldif library
include/srchpref.h - changes for WIN32
libraries/liblber/decode.c - vararg changes for WIN32
libraries/liblber/encode.c - vararg changes for WIN32
libraries/libldap/abandon.c - make ldap_abandon() work with referrals
libraries/libldap/bind.c - added new ldap_set_rebind_proc() routine
libraries/libldap/cache.c - reduce cache overhead
- fix small cache size infinite loop bug
- clarify debugging messages
libraries/libldap/charset.c - new routines: ldap_translate_from_t61,
ldap_translate_to_t61,
ldap_enable_translation
libraries/libldap/cldap.c - changes to support referral re-bind w/auth
libraries/libldap/getfilter.c - ldap_build_filter: don't use NULL value
libraries/libldap/kbind.c - changes to support referral re-bind w/auth
libraries/libldap/ldap-int.h - changes to support referral re-bind w/auth
- rename do_select() to do_ldap_select()
libraries/libldap/open.c - changes to support referral re-bind w/auth
- ld_options = LDAP_OPT_REFERRALS by default
libraries/libldap/os-ip.c - include <sys/time.h> to fix HP/UX gcc builds
- rename do_select() to do_ldap_select()
libraries/libldap/result.c - wait4msg debugging now shows timeout values
- changes to support referral re-bind w/auth
- rename do_select() to do_ldap_select()
- buf fix in ldap_msgdelete() -- update prev
- support LDAP_OPT_RESTART option
libraries/libldap/request.c - changes to support referral re-bind w/auth
- initialize new lr_conn field (for abandon)
libraries/libldap/test.c - changes to support referral re-bind w/auth
libraries/libldap/tmplout.c - searchact uses "-dnt" and "-dnb", not "-dn"
libraries/libldap/url.c - new routines: ldap_is_ldap_url,
ldap_parse_url, ldap_url_search
ldap_url_search_s, ldap_url_search_st
libraries/libldif/ - new library that contains line64 routines
clients/tools/ldapmodify.c - preferred input format is now slapd.replog
clients/tools/ldapsearch.c - added -L option (output in LDIF format)
- don't print initial blank line when -f used
- support "-f -" for reading filters from stdin
clients/ud/*.c - various bug fixes & auth. streamlining
doc/man/man3/ldap.3 - add several new routines
doc/man/man3/ldap_bind.3/.links - add new ldap_set_rebind_proc() routine
doc/man/man3/ldap_charset.3/.links - add new routines
doc/man/man3/ldap_disptmpl.3 - added missing *'s in ldap_init... arg. lists
doc/man/man3/ldap_result.3 - add details r.e. timeout parameter
doc/man/man3/ldap_open.3 - document LDAP_OPT_REFERRALS default to on
doc/man/man3/ldap_url.3/.links - document new LDAP URL routines
Make-common.dist and .um - add LDBMINCLUDE variable
- use ISODEPACKAGE and ICRELEASE in place of
ICR1 and XTISODE defines
- remove LDAP_DNS stuff
build/Make-append - add LDBMINCLUDE variable
- add NO_SETPROCTITLE to SERVERDEFS
- use ISODEPACKAGE and ICRELEASE in place of
ICR1 and XTISODE defines
build/mkdep - use compiler passed in, not always cc
- remove system dependencies when gcc is used
build/platforms/attsvr4-cc/ - AT&T SVR4 support
build/platforms/irix-cc/ - SGI IRIX support
build/platforms/irix-gcc/ - SGI IRIX support
servers/ldapd/common.h - add missing extern function declarations
servers/ldapd/association.c - use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/certificate.c - add missing extern declaration
servers/ldapd/error.c - use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/kerberos.c - use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/request.c - use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/main.c - set proctitle to calling host (bug fix)
- CLDAP: don't timeout/exit prematurely
servers/ldapd/proctitle.c - don't compile file if NO_SETPROCTITLE is on
servers/ldapd/Make-template - don't try to make depend if don't have isode
servers/ldap - bug fixes, support ICR3
servers/slapd/tools/ldif.c - use correct pointer when calling realloc
servers/slapd/tools/edb2ldif.c - properly #ifdef code to handle potential
lack of file_attr_dir and turbo disk stuff
- add RDN attribute values to entries
- don't pre-pend './' to EDB files on cmd. line
servers/slapd/tools/ldapsyntax.c- use static buffer to speed things up
servers/slapd/tools/Make-template - don't try to make depend some tools
- if we don't have isode
servers/slapd - fix acl handling
servers/slapd - fix race condition setting o_dn
servers/slapd - bug fixes
servers/slurpd - complete re-write
tests/ - new - test scripts to verify basic
functionality of libraries, slapd, slurpd
----------------------------------------------------------------------------
Changes since 3.2b3
slapd admin guide - document ldbmtest changes
- clarify quick-start instructions
include/ldapconfig.h.dist - move likely-to-change things to top
Make-common.dist - add phonetic algorithm config lines
build/Make-append - add def for phonetic algorithm config lines
libraries/libldbm/ldbm.c - fix bug with gdbm cache size handling
libraries/liblber/encode.c - cap lengths at 32-bits for Alpha compatibility
libraries/libldap/disptmpl.c - recognize both "addact" and "adddnact"
libraries/libldap/getdn.c - handle \ escapes in DNs better
clients/tools/ldapsearch.c - added -S option to sort results
- print results as they are received (if no -S)
servers/slapd/* - added function prototypes
servers/slapd/phonetic.c - make phonetic alg settable in Make-common
servers/slapd/tools/ldbmtest.c - fix bugs, use dbcache routines (like slapd)
- add 'b' and 'B' commands
servers/slapd/tools/edb2ldif.c - include quipu/config.h & quipu/entry.h
- this fixes TURBO_DISK problems
servers/ldapd/* - misc. fixes for VMS and OSF/1
- added function prototypes
----------------------------------------------------------------------------
Changes since 3.2b2
servers/slapd/* - lots of changes/fixes/improvements
servers/slapd/tools/* - add ldif program
- add centipede program
- numerous fixes/improvements
clients/tools/ldapmodify.c - add -b option (read binary vals from a file)
- add trailing \ feature for iattr, etc.
clients/tools/ldapsearch.c - add -z sizelimit and -l timelimit options
- add -B (allow non-ascii values_ option
- change /tmp template used with -t
include/lber.h - add LBER_MAX_INCOMING_SIZE option
libraries/liblber/io.c - support LBER_MAX_INCOMING_SIZE option
- new ber_init() and ber_reset() routines
libraries/libldap/* - various improvements to LDAP_REFERRALS code
- minor changes for Mac re-port
libraries/libldap/disptmpl.c - "addact" is now "adddnact"
libraries/libldap/cache.c - we now cache compare results that have error
of LDAP_NO_SUCH_ATTRIBUTE
libraries/libldap/open.c - support :port on ldap_open() hosts
libraries/libldap/charset.c - new T.61 to ISO-8859 conversion support
- thanks to enrique.silvestre@uv.es
libraries/libldap/kbind.c - a few changes for MS Windows
libraries/msdos/winsock/* - a few changes for Kerberos support
servers/ldapd/modify.c - added support for JPEG non-file attrs.
- added support for octetstring attrs.
servers/ldapd/syntax.c - DN syntax fixes (OID. and replace {ASN} w/#)
- don't escape '$' in DeliveryMethod attrs.
- added support for JPEG non-file attrs.
- added support for octetstring attrs.
----------------------------------------------------------------------------
Changes since 3.2b1
servers/slapd/ - add better database concurrency
- remove multiple dn support
- add stats logging
- fix syslogging
- add include config file option
- add dbcachesize option
- add abandon
- add lastmod/creator attrs
- add monitoring capability
- normalize dns properly
- base 64 value encoding support
- add schema checking
- fix various bugs
- add srvtab config option
servers/slapd/tools - whole new set of db creation/conversion tools
clients/finger/main.c - added -c option & use of FINGER_RDNCOUNT
clients/gopher/go500.c - added -c option & use of GO500_RDNCOUNT
clients/gopher/go500gw.c - added -c option & use of GO500GW_RDNCOUNT
- removed non-functional -s option
clients/rcpt500/main.c - added -c option & use of RCPT500_RDNCOUNT
clients/rcpt500/query.c - use rdncount instead of hard-coded 2
include/ldapconfig.h.edit - added _RDNCOUNT #defines
libraries/libldap/tmplout.c - made rdncount of 0 show all DN components
libraries/libldap/getdn.c - added ldap_is_dns_dn() routine
libraries/libldap/* - many #ifndef NO_REFERRALS changes
- new ldap_init() routine
----------------------------------------------------------------------------
Changes since 3.1 final
General/various files - incorporated changes for Borland C 3.1
Makefile - added support for NeXTSTEP
libraries/liblber/io.c - add ability to save ldap session to a file
include/lber.h - add ability to save ldap session to a file
build/platforms/nextstep-cc/Make-platform
- added -all_load option for ld
build/platforms/sunos5-cc/Make-platform
- define SYSEXITSPATH as for sunos5-gcc
build/uname.sh - new replacement uname for NeXTSTEP, etc.
clients/finger/main.c - don't use fprintf for entry2text
clients/gopher/go500.c - use GO500_HOSTNAME (bug fix)
- don't use fprintf for entry2text
clients/gopher/go500gw.c - use GO500GW_HOSTNAME (bug fix)
- don't use fprintf for entry2text
clients/mail500/main.c - improved error logging
- fixed "errors-to is a group" bug
- don't look in people space for groups
- don't bounce loop messages back to sender
- misc. fixes
clients/tools/ldapdelete.c - add -c option to continue after errors occur
clients/tools/ldapmodify.c - add -c option to continue after errors occur
clients/tools/ldapmodrdn.c - add -c option to continue after errors occur
clients/tools/ldapsearch.c - added -t option to write values to tmp files
- added -A option for "attributes only"
clients/ud/print.c - make sure ldap_count_values() returns > 0
- before trying to use returned values
doc/man/man1/ldapdelete.1 - updated to mention new -c option
doc/man/man1/ldapmodify.1 - updated to mention new -c option
doc/man/man1/ldapmodrdn.1 - updated to mention new -c option
doc/man/man1/ldapsearch.1 - updated to mention new -A & -t options
doc/man/man3/ldap_friendly.3 - fixed typo in ldap_free_friendlymap()
doc/man/man5/ldapfilter.conf.5 - add missing part of example config file
include/disptmpl.h - appended 'L' to long #defined contants
- added entry2html family of routines
include/lber.h - added sb_options to allow copy to file
- added ber_wptr to re-start partial writes
include/ldap.h - added debug levels for sldapd
- added LDAP_SYSLOG to send debug using syslog
include/ldapconfig.h.edit - added GO500GW_HOSTNAME
include/ldapconfig.h.dist - added GO500GW_HOSTNAME
include/portable.h - select() macro fix for HP/UX /bin/cc
include/proto-lber.h - Borland C fixes
- added ber_bvdup() prototype
include/sysexits-compat.h - new file, in case we ever need it
libraries/libavl/* - new library; used in sldapd
libraries/liblber/decode.c - new 'o' feature for ber_scanf()
- new ber_bvdup() routine
- Borland C fixes
libraries/liblber/encode.c - Borland C fixes
libraries/liblber/io.c - ensure that write size <= 64K under VMS
- use ber_wptr to restart partial writes
- added LBER_TO_FILE/FILE_ONLY option support
libraries/libldap/abandon.c - use correct message id in abandon requests
libraries/libldap/cache.c - use time() in a more portable manner
libraries/libldap/cldap.c - retry correct number of times (off by one)
libraries/libldap/error.c - define empty ldap_perror if NO_USERINTERFACE
libraries/libldap/getdn.c - ldap_dn2ufn() now returns dn if no '='
- ldap_explode_dn handles DNs without '='
libraries/libldap/open.c - "host" can now be a space-separated list
libraries/libldap/sort.c - make function declarations more portable
libraries/libldap/srchpref.c - fixed memory leak in options parsing
libraries/libldap/test.c - added -t & -T options for ber output to file
- added 'E' command to explode a DN
libraries/libldap/tmplout.c - added entry2html()
- added entry2html_search()
- added entry2vals()
- remove extraneous ber_free when not using tmpl
- fix non-ASCII core dump bugs
libraries/libldap/ldapfriendly - added EE & RU
libraries/libldap/ldapfilter.conf
- remove '\' inside [] in reg exprs.
- add web500gw to filter tags
- added xax500-auth section
libraries/libldap/ldapsearchprefs.conf
- changed xax500 tags
libraries/libldap/ldaptemplates.conf
- added co to Country template
- add missing types & options to comments
- add "Last Modified" attrs. to all templates
- make "Last Modified" attrs. read-only
libraries/libldbm/* - new library; used in sldapd
libraries/liblthread/* - new library; used in sldapd
libraries/msdos/README.WSA - updated to include Borland C instructions
libraries/vms/README.VMS - fixed pathname typo
servers/ldapd/add.c - make BER tags unsigned long everywhere
servers/ldapd/certificate.c - make parsing consistent with printing code
servers/ldapd/main.c - moved openlog() after detach() call
servers/ldapd/modify.c - correct tag usage in ber_first/next loop
- output all debugging to stderr
- pass and use Sockbuf * in modify_result() call
servers/ldapd/result.c - change to always use DER encoding
servers/ldapd/search.c - change to always use DER encoding
servers/ldapd/syntax.c - add support for telexNumber
servers/sldapd - all new "standalone LDAP server"
----------------------------------------------------------------------------
Changes since 3.1b8
Make-common - added note r.e. -DNO_USERINTERFACE
servers/ldapd/association.c - don't include filio.h under AIX
build/platforms/aix-cc and -gcc - add _BSD to defines
include/portable.h - define OPENLOG_OPTIONS
clients/*/*.c - use OPENLOG_OPTIONS
servers/ldapd/main.c - use OPENLOG_OPTIONS
servers/ldapd/syntax.c - add iattr support (from craig watkins)
----------------------------------------------------------------------------
Changes since 3.1b7
Many System V portability fixes....
A few fixes for VMS....
Makefile - support Linux & NetBSD
Make-common - add support for NEXOR version of isode
- add ISODEBASELIBS
include/Make-template - make ldapconfig.h depend on Makefile
include/ldapconfig.h.edit - add RCPT500_LISTLIMIT, RCPT500_UFN
- add GO500_TIMEOUT, GO500_UFN
- add FINGER_UFN, FINGER_TIMEOUT,
- add GO500GW_UFN
- change *_DEREF to be LDAP_DEREF_FINDING
include/regex.h - use NEED_BSDREGEX
include/portable.h - SYSV changes & general re-vamping
include/disptmpl.h - fix typo in ldap_name2template() prototype
- add LDAP_SYN_RFC822ADDR
libraries/liblber/io.c - make ber_alloc actually use BER
libraries/libldap/cldap.c - preserve old log DN if NULL is passed
libraries/libldap/regex.c - use NEED_BSDREGEX
libraries/libldap/disptmpl.c - add support for LDAP_SYN_RFC822ADDR
libraries/libldap/tmplout.c - add support for LDAP_SYN_RFC822ADDR
libraries/libldap/getfilter.c - always #include "regex.h"
servers/ldapd/main.c - don't check openlog return code
servers/ldapd/request.c - only do syslog if dosyslog is set
servers/ldapd/syntax.c - add support for user certificates (from ER)
servers/ldapd/certificate.c - add support for user certificates (new file)
clients/finger/main.c - add -t disptmplfile option
- add -p port option
- add ufn support
clients/gopher/go500.c - add -t disptmplfile option
- add ufn support
clients/gopher/go500gw.c - add -t disptmplfile option
- add ufn support
clients/mail500/main.c - add -t disptmplfile option
- add support for mail to -owner
clients/rcpt500/main.c,query.c - add support for RCPT500_LISTLIMIT
- support -p ldapport option
- add ufn support
clients/tools/ldapsearch.c - recognize -w option properly
clients/tools/ldapdelete.c - recognize -k option properly
clients/tools/ldapmodrdn.c - new program
clients/ud/edit.c - use execlp() instead of execle()
clients/ud/main.c - include sys/ioctl.h under NetBSD
clients/ud/print.c - updated time2text() from libldap/tmplout.c
contrib/saucer - new contributed client from Eric Rosenquist
build/platforms - added netbsd-cc & netbsd-gcc
- updated sunos5-cc and sunos5-gcc
- added missing CC=gcc in hpux-gcc
- added vms
build/Make-append - change ISODELIBS
doc/man/man8/rcpt500.8 - new manual page
doc/man/man3/ldap.3 - add (3) to routine names in INDEX section
doc/man/man3/ldap_search.3 - remove reference to ldap_parse(3)
doc/man/man3/ldap_modrdn.3 - new manual page
doc/man/man3/ldap_modrdn.3.links- new links file
doc/man/man3/ldap_disptmpl.3 - re-word ldap_octemplate description
- document LDAP_SYN_RFC822ADDR
doc/man/man5/ldap_searchprefs.5 - fix formatting
doc/man/man5/ldaptemplatesconf.5- document "mail" syntax type
doc/man/* - use ETCDIR everywhere (was %ETCDIR%)
-------
ldap-3.1b7 CHANGES file - summary of major changes to each component
since the last release
source tree - completely reorganized for your convenience
- makes full use of ansi-style prototypes
- supports non-ansi compilers through unproto utility
configuration - all client configuration has been moved to ldapconfig.h.edit
(no need to edit multiple source code files)
build procedure - completely revamped for your convenience
- automaticly figures out your platform/compiler
- supports multiple objects from a single source tree
liblbdap - added support for display templates
- added support for search preferences
- added ldap_sort routines for sorting entries
- rearranged some routines/source files to allow
better incremental linking to reduce code bloat
- added support for CLDAP
liblber - added O option to ber_scanf: allocate octet string w/length
- big tags (greater than 31) now supported
- distinguished encoding rules supported (runtime choice
between ber and der)
in.xfingerd - now uses display template routines
- now uses ldap sorting routines
- editable configuration info moved to ldapconfig.h.edit
go500 - now uses display template routines
- now uses ldap sorting routines
- editable configuration info moved to ldapconfig.h.edit
go500gw - now uses display template routines
- now uses ldap sorting routines
- editable configuration info moved to ldapconfig.h.edit
rcpt500 - now uses display template routines
- now uses ldap sorting routines
- editable configuration info moved to ldapconfig.h.edit
mail500 - addition of a new "vacation" feature
- editable configuration info moved to ldapconfig.h.edit
ldap tools - new addition of some shell-based tools
whois++ g/w - moved to contrib/ directory
web500 - new addition, in contrib/ directory
ldapd - lots of bug fixes
- bring CLDAP code in line with latest Internet Draft
documentation - library man pages have been completely re-done, split
into separate manuals, with new pages for each set of
routines.
- new man pages for most client programs (more on the way)
windows ldap - support for Win32 (unfinished?)
- added VERSIONINFO resource to dll
- check for > 64K response packet and don't crash
macintosh ldap - support Apple's new Universal Header files
Copyright (c) 1992-1996 Regents of the University of Michigan.
Copyright 1998-2022 The OpenLDAP Foundation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP
Public License.
A copy of this license is available in the file LICENSE in the
top-level directory of the distribution or, alternatively, at
<http://www.OpenLDAP.org/license.html>.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Individual files and/or contributed packages may be copyright by
other parties and/or subject to additional restrictions.
This work is derived from the University of Michigan LDAP v3.3
distribution. Information concerning this software is available
at <http://www.umich.edu/~dirsvcs/ldap/ldap.html>.
This work also contains materials derived from public sources.
Additional information about OpenLDAP can be obtained at
<http://www.openldap.org/>.
---
Portions Copyright 1998-2013 Kurt D. Zeilenga.
Portions Copyright 1998-2006 Net Boolean Incorporated.
Portions Copyright 2001-2006 IBM Corporation.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP
Public License.
---
Portions Copyright 1999-2008 Howard Y.H. Chu.
Portions Copyright 1999-2008 Symas Corporation.
Portions Copyright 1998-2003 Hallvard B. Furuseth.
Portions Copyright 2007-2011 Gavin Henry.
Portions Copyright 2007-2011 Suretec Systems Ltd.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that this notice is preserved.
The names of the copyright holders may not be used to endorse or
promote products derived from this software without their specific
prior written permission. This software is provided ``as is''
without express or implied warranty.
---
Portions 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.
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
Making and Installing the OpenLDAP 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.
This file provides brief instructions on how to build and install
OpenLDAP on UNIX (and UNIX-like) systems. More detailed information
and instructions can be found in The OpenLDAP Administrator's Guide
(available from http://www.openldap.org/doc/).
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.
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 simply want to build LDAP for a single machine platform, follow
these steps:
Making and Installing the OpenLDAP Distribution
-----------------------------------------------
1. untar the distribution and cd to the top:
1. Unpack the distribution and change directory:
% zcat ldap-3.3.tar.Z | tar xf -
% cd ldap-3.3
% tar xfz openldap-VERSION.tgz
% cd openldap-VERSION
If you are reading this file, you probably have already done this!
(replacing VERSION with the appropriate version string). If you
are reading this file, you probably have already done this!
2. Type:
2. edit the files Make-common and include/ldapconfig.h.edit to configure
the software for your site (the files are well-commented):
% ./configure --help
% vi Make-common
% vi include/ldapconfig.h.edit
to list available configuration options.
Note that you should NOT need to edit the Makefile located at the
top of the distribution.
The configure script also looks for compiler/linker options on
the command line and in the environment. These include:
If you just want to see if things will build, you can leave the
configuration alone and change it later.
Variable Description Example
CC C compiler gcc
CFLAGS C flags -O -g
CPPFLAGS cpp flags -I/path/include -D__FOO__=42
LDFLAGS ld flags -L/usr/local/lib
LIBS libraries -llib
PATH command path /usr/local/bin:/usr/bin:/bin
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.
See doc/install/configure for generic configure documentation.
3. make the software:
3. Configure the build system:
% make
% ./configure [options] [var=value ...]
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.
If all goes well, the configure script will automatically detect
the appropriate settings. If the configure script fails, you
should read the config.log file that it generated to see what it
was trying to do and exactly what failed. You may need to
specify additional options and/or variables besides those listed
above to obtain desired results, depending on your operating
system.
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:
4. Build dependencies:
% sh
$ make
% make depend
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:
5. Build the system:
% make platform
% vi .make-platform
% make
% 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:
If all goes well, the system will build as configured. If not,
return to step 3 after reviewing the configuration settings.
% cd build/platforms/sunos4-cc
% make
6. Test the standalone system:
If you want to run some simple tests after the build is complete, you
can do this:
This step requires the standalone LDAP server, slapd(8), with MDB
support.
% make test
% 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):
If all goes well, the system has been built as configured. If
not, return to step 2 after reviewing your configuration
settings.
% su
# make install
7. Install the software. You may need to become the super-user
(e.g. root) to do this (depending on where you are installing
things):
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:
% su root -c 'make install'
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
8. That's it. Enjoy!
There are section 5 man pages for all of these files.
See the OpenLDAP Administrator's Guide and the manual pages for the
individual applications for configuration and use information. You may
also want to edit the configuration files used by the various
components. These configuration files are located in the OpenLDAP
configuration directory (normally /usr/local/etc/openldap).
ldap.conf client defaults
slapd.conf Standalone LDAP daemon
lload.conf LDAP Load Balancer daemon
schema/*.schema Schema Definitions
Building LDAP For More Than One Platform
---
This work is part of OpenLDAP Software <http://www.openldap.org/>.
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.
Copyright 1998-2022 The OpenLDAP Foundation.
All rights reserved.
Follow these steps for each different platform:
Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP
Public License.
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:
A copy of this license is available in the file LICENSE in the
top-level directory of the distribution or, alternatively, at
<http://www.OpenLDAP.org/license.html>.
% 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.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
The OpenLDAP Public License
Version 2.8, 17 August 2003
Redistribution and use of this software and associated documentation
("Software"), with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions in source form must retain copyright statements
and notices,
2. Redistributions in binary form must reproduce applicable copyright
statements and notices, this list of conditions, and the following
disclaimer in the documentation and/or other materials provided
with the distribution, and
3. Redistributions must contain a verbatim copy of this document.
The OpenLDAP Foundation may revise this license from time to time.
Each revision is distinguished by a version number. You may use
this Software under terms of this license revision or under the
terms of any subsequent revision of the license.
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
The names of the authors and copyright holders must not be used in
advertising or otherwise to promote the sale, use or other dealing
in this Software without specific, written prior permission. Title
to copyright in this Software shall at all times remain with copyright
holders.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
California, USA. All Rights Reserved. Permission to copy and
distribute verbatim copies of this document is granted.
#-----------------------------------------------------------------------------
# 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
# software without specific prior written permission. This software
# is provided ``as is'' without express or implied warranty.
#
# LDAP lightweight X.500 Directory access top level makefile
#
#-----------------------------------------------------------------------------
#
############################################################################
# #
# Usually you will not need to edit anything in this file #
# #
############################################################################
#
# Note that these definitions of standard Unix utilities are only used
# in this Makefile. The Make-common (and .make-platform) files have a
# similar set of definitions that are used in all the other LDAP Makefiles.
#
RM=rm -f
MV=mv -f
CP=cp
CAT=cat
PWD=pwd
TAIL=tail
CHMOD=chmod
FIND=find
SED=sed
LN=ln -s
MKDIR=mkdir
GREP=grep
DIRNAME=dirname
BASENAME=basename
TAR=tar
COMPRESS=compress
CO=co
CI=ci
SRCDIRS= include libraries clients servers doc
TESTDIR= tests
#
# LDAPSRC is used by the links rule
#
LDAPSRC= ..
#
# rules to make the software
#
all: makeconfig
@echo "making all"
@for i in $(SRCDIRS); do \
echo; echo " cd $$i; $(MAKE) $(MFLAGS) all"; \
( cd $$i; $(MAKE) $(MFLAGS) all ); \
done
lib-only: makeconfig
@echo "making libraries only"
@echo " cd include; $(MAKE) $(MFLAGS) all"; \
cd include; $(MAKE) $(MFLAGS) all
@echo " cd libraries; $(MAKE) $(MFLAGS) all"; \
cd libraries; $(MAKE) $(MFLAGS) all
#
# rules to install the software
#
install: makeconfig
@for i in $(SRCDIRS); do \
echo; echo "cd $$i; $(MAKE) $(MFLAGS) install"; \
( cd $$i; $(MAKE) $(MFLAGS) install ); \
done
inst-lib: makeconfig
@echo "cd libraries; $(MAKE) $(MFLAGS) install"
@( cd libraries; $(MAKE) $(MFLAGS) install )
#
# rules to test the LDAP software
#
test: all
@echo " cd $(TESTDIR); $(MAKE) $(MFLAGS) all"; \
( cd $(TESTDIR); $(MAKE) $(MFLAGS) all );
#
# rules to make clean
#
clean: FORCE
@if [ -f .makefiles ]; then \
for i in $(SRCDIRS) $(TESTDIR); do \
echo; echo "cd $$i; $(MAKE) $(MFLAGS) clean"; \
( cd $$i; $(MAKE) $(MFLAGS) clean ); \
done; \
fi; \
( for d in ./obj-*; do \
if [ $$d != "./obj-*" ]; then \
( echo "making clean in $$d..."; \
cd $$d; $(MAKE) $(MFLAGS) clean; ) \
else \
exit 0; \
fi; \
done )
veryclean: FORCE
@echo; echo "cd build; $(MAKE) $(MFLAGS) -f Make-template veryclean"; \
( cd build; $(MAKE) $(MFLAGS) -f Make-template veryclean ); \
if [ -f .makefiles ]; then \
for i in $(SRCDIRS) $(TESTDIR); do \
echo; echo "cd $$i; $(MAKE) $(MFLAGS) veryclean"; \
( cd $$i; $(MAKE) $(MFLAGS) veryclean ); \
done; \
echo "finding and removing Makefiles..."; \
for i in `$(FIND) . -type d -print`; do \
if [ -f $$i/Make-template ]; then \
echo "removing file $$i/Makefile"; \
$(RM) $$i/Makefile; \
fi; \
done; \
echo "removing file .makefiles"; \
$(RM) .makefiles; \
fi; \
( for d in ./obj-*; do \
if [ $$d != "./obj-*" ]; then \
echo "removing $$d..."; $(RM) -r $$d; \
else \
exit 0; \
fi; \
done ); \
if [ -f .make-platform ]; then \
echo "removing link .make-platform"; \
$(RM) .make-platform; \
else \
exit 0; \
fi
#
# rules to make depend
#
#
depend: makeconfig
@echo "making depend everywhere"; \
echo " cd include; $(MAKE) $(MFLAGS) all"; \
( cd include; $(MAKE) $(MFLAGS) all ); \
for i in $(SRCDIRS); do \
echo; echo "cd $$i; $(MAKE) $(MFLAGS) depend"; \
( cd $$i; $(MAKE) $(MFLAGS) depend ); \
done; \
$(MAKE) $(MFLAGS) makefiles
#
# rules to check out and in Make-template files
#
co-mktmpls: FORCE
@echo "checking out Make-template files..."; \
for mkfile in `$(FIND) . -name Make-template -type f -print`; do \
$(CO) -l $$mkfile; \
done
ci-mktmpls: FORCE
@echo "enter a one-word log message:"; \
read logmsg; \
echo "checking in Make-template files..."; \
for mkfile in `$(FIND) . -name Make-template -type f -print`; do \
$(CI) -m$$logmsg -u $$mkfile; \
done
lib-depend: makeconfig
@echo "cd libraries; $(MAKE) $(MFLAGS) depend"
@( cd libraries; $(MAKE) $(MFLAGS) depend )"
#
# rules to cut a new ldap distribution
#
distribution: makeconfig checkin tar
checkin: FORCE
@-VERSION=V`cat ./build/version | $(SED) -e 's/\.//'` ; \
echo "Checking in version $$VERSION"; \
for i in `$(FIND) . -name \*,v -print | \
$(SED) -e 's%RCS/%%' -e 's%,v%%'`; \
do ( \
ci -m"pre-version $$VERSION check-in" -u $$i; \
rcs -N$$VERSION: $$i ) \
done
tar: veryclean
@PWD=`pwd`; \
$(RM) ./Make-common; \
$(CP) ./Make-common.dist ./Make-common; \
$(CHMOD) 644 ./Make-common; \
$(RM) ./include/ldapconfig.h.edit; \
$(CP) ./include/ldapconfig.h.dist ./include/ldapconfig.h.edit; \
$(CHMOD) 644 ./include/ldapconfig.h.edit; \
BASE=`$(BASENAME) $$PWD`; XFILE=/tmp/ldap-x.$$$$; \
( cd .. ; $(CAT) $$BASE/exclude >$$XFILE; \
$(FIND) $$BASE -name RCS -print >> $$XFILE ; \
$(FIND) $$BASE -name obj-\* -print >> $$XFILE ; \
$(FIND) $$BASE -name tags -print >> $$XFILE ; \
$(TAR) cvfX ./$$BASE.tar $$XFILE $$BASE; \
); \
$(RM) $$XFILE; \
echo "compressing ../$$BASE.tar..."; \
$(COMPRESS) ../$$BASE.tar
#
# rule to force check for change of platform
#
platform: FORCE
@if [ -f .make-platform ]; then \
echo "removing old link .make-platform"; \
$(RM) .make-platform; \
fi; \
$(MAKE) $(MFLAGS) .make-platform
makeconfig: .makefiles buildtools
.make-platform:
@if [ -f /usr/bin/swconfig ]; then \
UNAME=./build/uname.sh; \
elif [ -f /bin/uname ]; then \
UNAME=/bin/uname; \
elif [ -f /usr/bin/uname ]; then \
UNAME=/usr/bin/uname; \
else \
UNAME=./build/uname.sh; \
fi; \
if [ -z "$$UNAME" ]; then \
echo "unknown platform (no $$UNAME or /usr/bin/uname)"; \
echo "see the file build/PORTS for more information."; \
exit 1; \
else \
OS=`$$UNAME -s` ; OSRELEASE=`$$UNAME -r` ; \
OSVERSION=`$$UNAME -v` ; \
case $$OS in \
SunOS) \
if [ $$OSRELEASE -gt "5" -o $$OSRELEASE -lt "4" ]; then \
echo "SunOS release $$OSRELEASE unknown..."; exit 1; \
fi; \
if [ $$OSRELEASE -ge "5" ]; then \
PLATFORM="sunos5"; \
else \
PLATFORM="sunos4"; \
fi; \
;; \
ULTRIX) \
PLATFORM="ultrix" \
;; \
OSF1) \
PLATFORM="osf1" \
;; \
AIX) \
PLATFORM="aix" \
;; \
HP-UX) \
PLATFORM="hpux" \
;; \
Linux) \
PLATFORM="linux" \
;; \
NetBSD) \
PLATFORM="netbsd" \
;; \
FreeBSD) \
PLATFORM="freebsd" \
;; \
NeXTSTEP) \
PLATFORM="nextstep" \
;; \
SCO) \
PLATFORM="sco" \
;; \
IRIX|IRIX64) \
PLATFORM="irix" \
;; \
*) echo "unknown platform ($$OS $$OSVERSION $$OSRELEASE)..."; \
echo "see the file build/PORTS for more information."; \
exit 1; \
;; \
esac; \
fi; \
CC=$(CC); \
OLDIFS="$$IFS"; \
IFS=":"; \
for dir in $$PATH; do \
if [ -f $$dir/gcc ]; then \
CC=gcc; \
break; \
fi; \
done; \
IFS="$$OLDIFS"; \
$(LN) ./build/platforms/$$PLATFORM-$$CC/Make-platform .make-platform; \
echo ""; \
echo "** Set platform to $$PLATFORM with compiler $$CC..."; \
echo ""
#
# rule to build Makefiles by concatenating Make-template file in each
# subdirectory with global Make-common, .make-platform, and
# build/Make-append files
#
.makefiles: Make-common .make-platform build/Make-append
@echo "making Makefiles..."; \
HDRFILE=/tmp/Makehdr.$$$$; \
DEFSFILE=/tmp/Makedefs.$$$$; \
$(CAT) build/Make-append ./.make-platform ./Make-common > $$DEFSFILE; \
echo "# --------------------------------------------------------" > $$HDRFILE; \
echo "# This file was automatically generated. Do not edit it." >> $$HDRFILE; \
echo "# Instead, edit the Make-common file (located in the root" >> $$HDRFILE; \
echo "# (of the LDAP distribution). See the LDAP INSTALL file" >> $$HDRFILE; \
echo "# for more information." >> $$HDRFILE; \
echo "# --------------------------------------------------------" >> $$HDRFILE; \
echo "#" >> $$HDRFILE; \
for i in `$(FIND) . -type d -print`; do \
if [ -f $$i/Make-template ]; then \
echo " creating $$i/Makefile"; \
$(RM) $$i/Makefile; \
$(CAT) $$HDRFILE $$i/Make-template $$DEFSFILE > $$i/Makefile; \
$(CHMOD) 444 $$i/Makefile; \
fi; \
done; \
$(RM) .makefiles; \
touch .makefiles; \
$(RM) $$HDRFILE $$DEFSFILE
#
# rule to always build makefiles
#
makefiles: FORCE
$(RM) .makefiles
$(MAKE) $(MFLAGS) .makefiles
#
# rule to create any tools we need to build everything else
#
buildtools: FORCE
@echo "making buildtools"
@echo " cd build; $(MAKE) $(MFLAGS)"
@( cd build; $(MAKE) $(MFLAGS) )
#
# rule to make a shadow (linked) build area
#
links: FORCE
@if [ -f /usr/bin/swconfig ]; then \
UNAME=./build/uname.sh; \
elif [ -f /bin/uname ]; then \
UNAME=/bin/uname; \
elif [ -f /usr/bin/uname ]; then \
UNAME=/usr/bin/uname; \
else \
UNAME=./build/uname.sh; \
fi; \
if [ ! -z "$(DEST)" ]; then \
DEST="$(DEST)"; \
else \
DEST=./obj-`$$UNAME -s`-`$$UNAME -r` ; \
fi; \
echo "making links in $$DEST..."; \
LINKLIST=/tmp/ldaplinklist.$$$$; \
$(RM) $$LINKLIST; \
$(MKDIR) $$DEST; \
cd $$DEST; $(LN) $(LDAPSRC) .src; \
$(LN) .src/Makefile . ; \
$(CP) .src/Make-common . ; $(CHMOD) 644 ./Make-common; \
for d in build $(SRCDIRS) $(TESTDIR); do \
( $(MKDIR) $$d; cd $$d; $(LN) ../.src/$$d .src; \
$(LN) .src/Make-template . ; \
$(MAKE) $(MFLAGS) MKDIR="$(MKDIR)" LN="$(LN)" \
-f Make-template links ) ; \
done; \
echo ""; echo "Now type:"; echo " cd $$DEST"; echo "and make there"
FORCE:
# Master Makefile for OpenLDAP
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2022 The OpenLDAP Foundation.
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## <http://www.OpenLDAP.org/license.html>.
SUBDIRS= include libraries clients servers tests doc
CLEANDIRS=
INSTALLDIRS=
makefiles: FORCE
./config.status
# force a make all before make install
# only done at the top-level
install-common: all FORCE
clean-local: FORCE
$(RM) config.cache config.log configure.lineno
$(RM) -r autom4te.cache
veryclean-local: FORCE
$(RM) config.status libtool stamp-h stamp-h.in libraries/libldap/ldap.pc libraries/liblber/lber.pc
distclean: veryclean FORCE
check: test
test: FORCE
cd tests && $(MAKE) test
UM-LDAP 3.3 README file
This is the UM-LDAP version 3.3 distribution. For a description of
what this distribution contains, see the ANNOUNCEMENT file in this
directory. For a description of changes from previous releases,
see the CHANGES file in this directory. For a more detailed
description of how to make and install the distribution, see the
INSTALL file in this directory. For more information on making and
installing slapd, see the "SLAPD and SLURPD Administrator's Guide"
in the doc/guides/ directory.
MAKING AND INSTALLING THE DISTRIBUTION
You should be able to make and install the distribution with a pretty
standard default configuration by typing the following commands
% make
% su
# make install
in this directory. This should produce something that basically
works.
You will probably want to do a little configuration to suit your
site, though. There are two files you might want to edit:
Make-common This file contains definitions for
where things will be installed, where
to find various things, etc. If you
want to build an ldap server, you'll
definitely need to edit this file
include/ldapconfig.h.edit This file contains #defines used
by many parts of the distribution.
You'll at least want to change
DEFAULT_BASE.
See the INSTALL file in this directory for more information.
DOCUMENTATION
There are man pages for most programs in the distribution and
routines in the various libraries. See ldap(3) for details.
There is a postscript version of an administrator's guide for
slapd in doc/guides/slapd.ps.
There is an LDAP homepage available that contains the latest
LDAP news, releases announcements, pointers to other LDAP resources,
etc. You can access it at this URL:
http://www.umich.edu/~rsug/ldap/
FEEDBACK / PROBLEM REPORTS
We would appreciate any feedback you can provide. If you have
problems, report them to this address:
ldap-support@umich.edu
OpenLDAP Devel README
This software was obtained from a development branch of the
OpenLDAP Software Repository. This copy is likely already
not current, the development branch changes frequently. These
changes include code implementing experimental features and
unproven bug fixes. Please do NOT redistribute copies of the
development branch.
The OpenLDAP Developer's FAQ is available at:
<http://www.openldap.org/faq/index.cgi?file=4>
Client developers seeking a suitable development platform
should use "release" or "stable" versions.
<http://www.openldap.org/software/>
Contributing
See <http://www.openldap.org/devel/contributing.html> for how to
contribute code or documentation to OpenLDAP. Use the Issue Tracking
System <http://www.openldap.org/its/> to submit contributions.
While you are encouraged to coordinate and discuss the development
activities on the openldap-devel@openldap.org mailing list prior
to submission, it is noted that contributions must be submitted
using the Issue Tracking System to be considered.
---
$OpenLDAP$
This work is part of OpenLDAP Software <http://www.openldap.org/>.
Copyright 1998-2022 The OpenLDAP Foundation.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP
Public License.
A copy of this license is available in the file LICENSE in the
top-level directory of the distribution or, alternatively, at
<http://www.OpenLDAP.org/license.html>.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 12 (pkg-config-0.29.2)
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
dnl PKG_PREREQ(MIN-VERSION)
dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])dnl PKG_PROG_PKG_CONFIG
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------------------------------
dnl Since: 0.18
dnl
dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])dnl _PKG_CONFIG
dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl --------------------------------------------------------------
dnl Since: 0.4.0
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
$3
fi[]dnl
])dnl PKG_CHECK_MODULES
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl ---------------------------------------------------------------------
dnl Since: 0.29
dnl
dnl Checks for existence of MODULES and gathers its build flags with
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_INSTALLDIR
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
dnl --------------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
dnl module should install arch-independent pkg-config .pc files. By
dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
m4_include([build/libtool.m4])
m4_include([build/ltoptions.m4])
m4_include([build/ltsugar.m4])
m4_include([build/ltversion.m4])
m4_include([build/lt~obsolete.m4])
m4_include([build/openldap.m4])
A number of files contained in OpenLDAP Software contain
a statement:
USE, MODIFICATION, AND REDISTRIBUTION OF THIS WORK IS SUBJECT
TO VERSION 2.0.1 OF THE OPENLDAP PUBLIC LICENSE, A COPY OF
WHICH IS AVAILABLE AT HTTP://WWW.OPENLDAP.ORG/LICENSE.HTML OR
IN THE FILE "LICENSE" IN THE TOP-LEVEL DIRECTORY OF THE
DISTRIBUTION.
The following is a verbatim copy of version 2.0.1 of the OpenLDAP
Public License referenced in the above statement.
The OpenLDAP Public License
Version 2.0.1, 21 December 1999
Copyright 1999, The OpenLDAP Foundation, Redwood City, California, USA.
All Rights Reserved.
Redistribution and use of this software and associated documentation
("Software"), with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain copyright
statements and notices. Redistributions must also contain a
copy of this document.
2. Redistributions in binary form must reproduce the
above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
3. The name "OpenLDAP" must not be used to endorse or promote
products derived from this Software without prior written
permission of the OpenLDAP Foundation. For written permission,
please contact foundation@openldap.org.
4. Products derived from this Software may not be called "OpenLDAP"
nor may "OpenLDAP" appear in their names without prior written
permission of the OpenLDAP Foundation. OpenLDAP is a trademark
of the OpenLDAP Foundation.
5. Due credit should be given to the OpenLDAP Project
(http://www.openldap.org/).
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Do NOT edit this file -- it is automatically appended to all Makefiles
# except the LDAP top-level Makefile. 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
# software without specific prior written permission. This software
# is provided ``as is'' without express or implied warranty.
#
# LDAP standard Make defines (appended to all but top-level Makefile)
#
#-----------------------------------------------------------------------------
# DEFS are included in CFLAGS
DEFS = $(PLATFORMCFLAGS) $(LDAP_DEBUG) $(KERBEROS) $(AFSKERBEROS) \
$(UOFM) $(UOFA) $(NO_USERINTERFACE) $(CLDAP) $(NO_CACHE) \
$(LDAP_REFERRALS) $(LDAP_DNS) $(STR_TRANSLATION) \
$(LIBLDAP_CHARSETS) $(LIBLDAP_DEF_CHARSET) \
$(SLAPD_BACKENDS) $(LDBMBACKEND) $(LDBMINCLUDE) $(PHONETIC)
# SERVERDEFS are added to server builds CFLAGS (in addition to DEFS)
SERVERDEFS = $(ISODEPACKAGE) $(ICRELEASE) $(LDAP_USE_PP) \
$(NO_SETPROCTITLE) $(PEPSY_DUMP)
#
# ISODELIBS are used in server/ldapd builds
#
ISODELIBS = $(ISODEBASELIBS) -lm $(ISODETURBOLIBS)
# ACFLAGS are added to CFLAGS but not passed to mkdep, lint, etc
ACFLAGS = $(EXTRACFLAGS) $(UNPROTOCFLAGS)
# ALDFLAGS are always placed near the beginning of all linker (cc -o) commands
ALDFLAGS = $(EXTRALDFLAGS) $(PLATFORMLDFLAGS)
# ALIBS are always placed at the end of all linker (cc -o) commands
ALIBS = $(PLATFORMLIBS)
#
# default definitions for Unix utilities (may be over-ridden in Make-platform)
CC = cc
MAKE = make
RANLIB = ranlib
AR = ar
RM = rm -f
MV = mv -f
CP = cp
CHMOD = chmod
CAT = cat
LN = ln -s
HARDLN = ln
TAIL = tail
SED = sed
LINT = lint
5LINT = lint
MKDIR = mkdir
INSTALL = install
INSTALLFLAGS = -c
BASENAME= basename
DIRNAME = dirname
MKDEP = $(LDAPSRC)/build/mkdep -s -f Make-template
PWD = pwd
DATE = date
HOSTNAME= hostname
#
# empty target used to force rules to be invoked
#
FORCE:
#-----------------------------------------------------------------------------
# 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 buildtools makefile
#
#-----------------------------------------------------------------------------
all: FORCE
@if [ ! -z "$(NEEDUNPROTO)" ]; then \
cd unproto; $(MAKE) $(MFLAGS) CC=$(CC); \
else \
exit 0; \
fi
install: FORCE
clean:
cd unproto; $(MAKE) $(MFLAGS) clean
cd platforms; $(MAKE) $(MFLAGS) clean
veryclean:
cd unproto; $(MAKE) $(MFLAGS) clean
cd platforms; $(MAKE) $(MFLAGS) veryclean
links:
@echo "making links in `$(PWD)`"; \
$(LN) .src/version .src/platforms .src/Make-append .src/install.sh . ; \
( $(MKDIR) unproto; cd unproto; $(LN) ../.src/unproto .src; \
$(LN) .src/Makefile .src/*.[ch] . )
This file gives some helpful hints for building LDAP on various machines.
LDAP has been built and tested on the following platforms. It will
probably build fine under similar versions of the OS (e.g. it has
been built and tested under SunOS 4.1.4, but probably builds fine
under all SunOS 4.1.x systems).
If you port LDAP to a new platform, let us know so we can add it here.
See the end of this file for some hints on doing a port. The following
tables give some indication of the level of support there is for various
platforms where the LDAP release has been built. Key:
X - all pieces are known to build and work
B - all pieces build and are believed to work
S - some pieces build and work
O - an older LDAP release has been ported here; current status unknown
? - unknown
- - does not build and/or work at all
** Unix and Unix-like platforms:
OS Version libraries clients ldapd slapd slurpd
---------- --------- ------- ----- ----- ------
AIX 3.2.5 X X B B -(1)
HP-UX 9.05 X X ? B -(1)
Linux 1.3.76 X X O X -(1)
FreeBSD 2.0.5 X X ? B ?
NETBSD 0.9a O O ? ? ?
NeXTSTEP 3.2 O O ? ? ?
SunOS 4.1.4 X X X X X
SunOS 5.5 X X B X X
(Solaris 2.5)
Ultrix 4.3 X X B B ?
OSF/1 3.2 X X X X ?
IRIX 5.x/6.x B B ? B ?
NCR MP-RAS 2.3 X X ? ? ?
(1) - required threads support not provided by vendor
** Non-Unix Platforms:
OS Version libraries clients ldapd slapd slurpd
---------- --------- ------- ----- ----- ------
MacOS 7.5 X - - - -
(see the file libraries/macintosh/README for build instructions)
MSDOS O S - - -
(see the file libraries/msdos/README for build instructions)
MS-Windows 3.x O - - - -
(see the file libraries/msdos/README.WSA for build instructions)
MS-Win NT & 95 O ? ? ? ?
VMS X S X X ?
(see the file libraries/vms/README.VMS for build instructions)
** Hints on Porting LDAP to a New Platform
If your platform is not listed here, you will need to do a port. The
place to start for Unix systems is by creating a new directory under
the LDAP build/platforms directory and creating an appropriate
Make-platform file. It is probably easiest to start by duplicating a
directory there that is for a platform similar to yours.
Variables commonly set in the Make-platform files include:
CC - compiler to use, e.g. CC=cc or CC=gcc
PLATFORMCFLAGS - flags added to every compile
PLATFORMLDFLAGS - flags added to every link
PLATFORMLIBS - extra libraries needed (added to the end of all link commands)
LDBMLIB - ndbm library, needed if not in libc (e.g. LDBMLIB=-lndbm)
NEEDUNPROTO=yes - set if your compiler doesn't understand prototypes; see the
sunos4-cc and hpux-cc files for example usage
INSTALL - BSD-like install command; if necessary, you can use a script
we provide: INSTALL=$(LDAPSRC)/build/install.sh
RANLIB - command to convert libraries for efficient random access;
if your system has no ranlib, use RANLIB = ""
other commands - see the file build/Make-append for a list
You will also need to modify the top-level LDAP Makefile .make-platform
rule to know about your platform. Finally, you should look through the
include/portable.h file and make any necessary adjustments.
Please send changes via e-mail to: ldap-support@umich.edu so they can be
incorporated into future releases.
The OpenLDAP build environment relies on non-standard versions of
configuration tools:
Autoconf 2.13.1
Automake 1.4a
Libtool 1.4.3
The autoconf/automake releases used are available at:
ftp://ftp.openldap.org/pub/tools/
The libtool release used is available from:
ftp://ftp.gnu.org/
but with ltmain.sh replaced with versions found in this directory.
The unproto code was obtained from:
ftp://ftp.win.tue.nl/pub/unix/unproto5.shar.Z