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 (23109)
configure.ac ident
.git* export-ignore
/doc/drafts/draft-*.xml export-ignore
name: Close Pull Request
on:
pull_request_target:
types: [opened]
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: superbrothers/close-pull-request@v3
with:
# Optional. Post a issue comment just before closing a pull request.
comment: "We do not accept PRs. Please use the [OpenLDAP Issue Tracker](https://bugs.openldap.org) to file issues."
# 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
OpenLDAP 1.1
The OpenLDAP Project is pleased to announce the availability
of OpenLDAP release 1.1, a suite of the Lightweight Weight
Directory Protocol servers, clients, utilities, and development tools.
OpenLDAP is derived from University of Michigan LDAP release 3.3.
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:
- gtk-tool - a demonstration ldap interface written gtk
- php3-tool - a demonstration ldap interface written php3
- saucer - a simple command-line oriented client program
- whois++d - a WHOIS++-to-LDAP gateway
CHANGES
Changes from OpenLDAP 1.0
- improved build environment with dynamic library support,
- externally configurable client library support: ldap.conf(5),
- improved password security features include SHA1, MD5, crypt(3)
user and root passwords instead of clear-text password
- integrated SDK and tools for MS NT,
- platforms updates, and
- numerous bug fixes and build changes.
Changes from U. Mich release 3.3
- TCP Wrappers support added to slapd,
- Berkeley DB2 compatibility added to slapd,
- ACL enhancements including Access by Group and POSIX regex(3) support,
- platforms updates, and
- numerous bug fixes and build changes.
See the CHANGES file in the distribution for more details.
AVAILABILITY
This software is available under the OpenLDAP Public License.
For download information is available at:
http://www.OpenLDAP.org/software/download/
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:
OpenLDAP-bugs@OpenLDAP.org
In addition, there are also a number of discussion lists
related OpenLDAP. A list of mailing lists is available at:
http://www.OpenLDAP.org/lists/
The OpenLDAP home page containing lots of interesting information
and online documentation is available at this URL:
http://www.OpenLDAP.org/
SUPPORTED PLATFORMS
This release has been ported to many UNIX (and UNIX-like) platforms
including AIX, Digital UNIX (OSF/1), FreeBSD, HP-UX, IRIX, Linux,
NetBSD, NexTSTEP, OpenBSD, SCO, Solaris, SunOS, and Ultrix.
The client libraries and some clients have also been ported to
MS Windows 95/NT.
OpenLDAP Change Log
Changes included in OpenLDAP Stable
CVS Tag: OPENLDAP_STABLE
Updated README, INSTALL files
Updated Linux platform defaults
Updated FreeBSD 2 & 3 platform defaults
Added SCHED_YIELD_MISSING flag
Added LDAP_ALLOW_NULL_SEARCH_BASE flag
Added core removal to tests/Make-template
Fixed slapd/acl debug trace problem
Fixed ud/auth.c bound_dn problem
Fixed back-ldbm/idl.c CLDAP include <sys/socket.h> problem.
Fixed Makefile $(CC) problem
Fixed LIBEXEC/SBIN creation problem
Fixed gmake RUNDIR not defaulting problem
Changes included in OpenLDAP 1.0.1
CVS Tag: OPENLDAP_STABLE_980907
Added GNU Make Support
Added OpenBSD Support
Added FreeBSD 2.x vs 3.x detection
Fixed slapd LDAP_TCP_WRAPPER build problem
Fixed slapd NO_THREADS busy loop problem
Fixed slurpd NULL termination problem
Fixed misc build/install problems
Removed junked binary files from repository/distribution
Changes included in OpenLDAP 1.0
CVS Tag: OPENLDAP_1-0
Added TCP Wrapper support to slapd
Added POSIX Threads (final) support
Added ACL enhancements including
Access by Groups
POSIX regex support
platform updates, and
numerous bug fixes and build changes.
Base Version: University of Michigan LDAP v3.3
CVS Tag: UMICH_3_3
Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
Copyright 1998-2024 The OpenLDAP Foundation
All rights reserved.
Redistribution and use in source and binary forms are permitted only
as authorized by the OpenLDAP Public License. A copy of this
license is available at http://www.OpenLDAP.org/license.html or
in file LICENSE in the top-level directory of the distribution.
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 is available at
http://www.umich.edu/~dirsvcs/ldap/ldap.html.
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/
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.
or by sending e-mail to:
info@OpenLDAP.org
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.
---
......@@ -25,7 +57,8 @@ 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 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.
**
** The OpenLDAP Installation FAQ is available at:
** http://www.openldap.org/faq/index.cgi?file=8
**
** You should also check for platform specific hints.
** These are located in doc/install/hints or:
** http://www.openldap.org/faq/index.cgi?file=9
**
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.
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:
1. untar the distribution and cd to the top:
% tar xfz openldap-VERSION.tgz
% cd ldap
If you are reading this file, you probably have already done this!
2. Type:
% ./configure --help
to list available configuration options. A description of
these options is provided in the 'CONFIGURE OPTIONS' section
below.
The configure script uses environmental variables for
determining compiler/linker options. See the HINTS
section for commonly used settings.
These environment variables are used:
CC C Compiler (cc, ecgs)
CFLAGS C Flags (-ansi)
CPPFLAGS CPP Flags (-I/path/include -Ddef)
LDFLAGS LDFLAGS (-L/path/lib)
LIBS LIBS (-llib)
See the 'USING ENVIRONMENT VARIABLES' section for information
on how to use the variables.
3. edit the file include/ldapconfig.h.edit to configure
the software for your site (the files are well-commented):
% vi include/ldapconfig.h.edit
4. Configure the build system
% [env settings] ./configure [options]
If all goes well, the configure script with auto-detect the
appropriate settings. Use configure enable/with options and/or
environment variables to obtain desired results.
5. Build dependencies
% make depend
6. Build the system
% make
If all goes well, the system will build as configured. If not,
return to step 4 after reviewing the configuration settings.
You may want to consult the doc/install/hints file for your
platform.
7. Test the standalone system
This step requires the standalone LDAP server (slapd) with
LDBM support.
% cd tests
% make
If all goes well, the system has been built as configured. If not,
return to step 4 after reviewing your configuration settings.
You may want to consult the doc/install/hints file for your
platform.
8. install the binaries and man pages. You may need to be superuser to
do this (depending on where you are installing things):
% su
# make install
That's it!
See the man pages for the individual applications for
information on configuring and using them. You may also want
to edit the configuration files used by the various clients.
These configuration files are located in the OpenLDAP
configuration directory (normally /usr/local/etc/openldap).
Client configuration files:
ldap.conf - client defaults
ldapfilter.conf - search filter configuration
ldapsearchprefs.conf - search object definitions
ldaptemplates.conf - display template definitions
Server configuration files:
ldapd.conf - LDAP - X.500 daemon
slapd.conf - Standalone LDAP daemon
There are section 5 man pages for all of these files.
Building LDAP For More Than One Platform
It is now possible to build LDAP for more than one platform from the same
source tree. This is accomplished by using make(1) VPATH support. If
your make(1) program is old and doesn't have VPATH support, install GNU
Make.
Follow these steps for each different platform:
1. Create a directory for the platform object files.
% mkdir obj-platform
2. Change your working directory to the platform object directory.
% cd obj-platform
3. Configure the build system
% [env settings] ../configure --src-dir=.. [options]
Making and Installing the OpenLDAP Distribution
-----------------------------------------------
( replace ".." with the appropriate path )
1. Unpack the distribution and change directory:
4. Continue as above (starting at step 6).
% tar xfz openldap-VERSION.tgz
% cd openldap-VERSION
Note: make depend in VPATH environment is not yet supported.
(replacing VERSION with the appropriate version string). If you
are reading this file, you probably have already done this!
2. Type:
CONFIGURE OPTIONS
% ./configure --help
Regrettably, this section has not been written (yet). See
"./configure --help" for current list of options. For general
information about how to use "configure", please read:
doc/install/configure
to list available configuration options.
The configure script also looks for compiler/linker options on
the command line and in the environment. These include:
USING ENVIRONMENT VARIABLES
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
The configure script will also use your environmental
variables for determining compiler/linker options. This can
be used to manual specify features and compilation options.
See doc/install/configure for generic configure documentation.
NOTE: If you change environment setting, be sure to remove
any config.cache before running ./configure.
3. Configure the build system:
Supported Environmental Variables
CC C compiler (cc, egcc)
CFLAGS C flags (-ansi)
CPPFLAGS cpp flags (-I/path/include -Ddef)
LDFLAGS ld flags (-L/usr/local/lib)
LIBS libraries (-llib)
PATH command path /usr/local/bin:/usr/bin:/bin
% ./configure [options] [var=value ...]
* Including alternative compilers
Use the CC environment variable to tell configure to
use a specific compiler. For example, to use ecgs
instead of the compiler configure choose, use:
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.
[env] CC=egcc ./configure
4. Build dependencies:
You can also use CC use specific flags with the
specified compiler. For example, to require strict
ANSI C using the GNU C Compiler, use:
% make depend
[env] CC="gcc -ansi -pedantic" ./configure
5. Build the system:
(you can use CFLAGS to specify compiler flags)
% make
* Preprocessor Flags
You may specify additional preprocessor flags by setting
CPPFLAGS. For example, if you would like to use headers
installed in /usr/local/include, use:
If all goes well, the system will build as configured. If not,
return to step 3 after reviewing the configuration settings.
[env] CPPFLAGS="-I/usr/local/include" ./configure
6. Test the standalone system:
You can also use CPPFLAGS to specify preprocessor macros.
This step requires the standalone LDAP server, slapd(8), with MDB
support.
[env] CPPFLAGS="-D__SPECIAL_FLAG__" ./configure
% make test
* Linker Flags
You may specify additional linker flags by setting LDFLAGS.
For example, if you would like to use libraries installed
in /usr/local/lib, use:
If all goes well, the system has been built as configured. If
not, return to step 2 after reviewing your configuration
settings.
[env] LDFLAGS="-L/usr/local/lib" ./configure
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):
You can also use CPPFLAGS to specify linker flags:
% su root -c 'make install'
[env] LDFLAGS="-Bstatic" ./configure
8. That's it. Enjoy!
* Path
You may alter your path to affect configure ability to
find (or not find) commands. For example, to have configure
additionally look in /usr/css/bin for commands, use:
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).
[env] PATH="/usr/css/bin:$PATH" ./configure
ldap.conf client defaults
slapd.conf Standalone LDAP daemon
lload.conf LDAP Load Balancer daemon
schema/*.schema Schema Definitions
HINTS
---
This work is part of OpenLDAP Software <http://www.openldap.org/>.
* Platform specific hints are available in doc/install/hints.
Copyright 1998-2024 The OpenLDAP Foundation.
All rights reserved.
* Use software under installed in /usr/local/{include,lib}
[env] \
CPPFLAGS="-I/usr/local/include" \
LDFLAGS="-L/usr/local/lib" \
./configure
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>.
End of OpenLDAP INSTALL file.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
The OpenLDAP Public License
Version 1.4, 18 January 1999
Copyright 1998-1999, The OpenLDAP Foundation.
All Rights Reserved.
Note:
This license is derived from the "Artistic License" as distributed
with the Perl Programming Language. As significant differences
exist, the complete license should be read.
PREAMBLE
The intent of this document is to state the conditions under which
a Package may be copied, such that the Copyright Holder maintains
some semblance of artistic control over the development of the
package, while giving the users of the package the right to use
and distribute the Package in a more-or-less customary fashion,
plus the right to make reasonable modifications.
Definitions:
"Package" refers to the collection of files distributed by the
Copyright Holder, and derivatives of that collection of files
created through textual modification.
"Standard Version" refers to such a Package if it has not been
modified, or has been modified in accordance with the wishes
of the Copyright Holder.
"Copyright Holder" is whoever is named in the copyright or
copyrights for the package.
"You" is you, if you're thinking about copying or distributing
this Package.
"Reasonable copying fee" is whatever you can justify on the
basis of media cost, duplication charges, time of people
involved, and so on. (You will not be required to justify it
to the Copyright Holder, but only to the computing community
at large as a market that must bear the fee.)
"Freely Available" means that no fee is charged for the item
itself, though there may be fees involved in handling the item.
It also means that recipients of the item may redistribute it
under the same conditions they received it.
1. You may make and give away verbatim copies of the source form
of the Standard Version of this Package without restriction, provided
that you duplicate all of the original copyright notices and
associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications
derived from the Public Domain or from the Copyright Holder. A
Package modified in such a way shall still be considered the Standard
Version.
3. You may otherwise modify your copy of this Package in any way,
provided that you insert a prominent notice in each changed file
stating how and when you changed that file, and provided that you
do at least ONE of the following:
a) place your modifications in the Public Domain or otherwise
make them Freely Available, such as by posting said modifications
to Usenet or an equivalent medium, or placing the modifications
on a major archive site such as uunet.uu.net, or by allowing
the Copyright Holder to include your modifications in the
Standard Version of the Package.
b) use the modified Package only within your corporation or
organization.
c) rename any non-standard executables so the names do not
conflict with standard executables, which must also be provided,
and provide a separate manual page for each non-standard
executable that clearly documents how it differs from the
Standard Version.
d) make other distribution arrangements with the Copyright
Holder.
4. You may distribute the programs of this Package in object code
or executable form, provided that you do at least ONE of the
following:
a) distribute a Standard Version of the executables and library
files, together with instructions (in the manual page or
equivalent) on where to get the Standard Version.
b) accompany the distribution with the machine-readable source
of the Package with your modifications.
c) accompany any non-standard executables with their corresponding
Standard Version executables, giving the non-standard executables
non-standard names, and clearly documenting the differences in
manual pages (or equivalent), together with instructions on
where to get the Standard Version.
d) make other distribution arrangements with the Copyright
Holder.
5. You may charge a reasonable copying fee for any distribution of
this Package. You may charge any fee you choose for support of
this Package. You may not charge a fee for this Package itself.
However, you may distribute this Package in aggregate with other
(possibly commercial) programs as part of a larger (possibly
commercial) software distribution provided that you do not advertise
this Package as a product of your own.
6. The scripts and library files supplied as input to or produced
as output from the programs of this Package do not automatically
fall under the copyright of this Package, but belong to whomever
generated them, and may be sold commercially, and may be aggregated
with this Package.
7. C subroutines supplied by you and linked into this Package in
order to emulate subroutines and variables defined by this Package
shall not be considered part of this Package, but are the equivalent
of input as in Paragraph 6, provided these subroutines do not change
the behavior of the Package in any way that would cause it to fail
the regression tests for the Package.
8. Software supplied by you and linked with this Package in order
to use subroutines and variables defined by this Package shall not
be considered part of this Package and do not automatically fall
under the copyright of this Package. Executables produced
by linking your software with this Package may be used and
redistributed without restriction and may be sold commercially
so long as the primary function of your software is different
than the package itself.
9. The name of the Copyright Holder may not be used to endorse or
promote products derived from this software without specific prior
written permission.
10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The End
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.
# Master Makefile for OpenLDAP
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
## Copyright 1998-2024 The OpenLDAP Foundation.
## All rights reserved.
##
## Redistribution and use in source and binary forms are permitted only
## as authorized by the OpenLDAP Public License. A copy of this
## license is available at http://www.OpenLDAP.org/license.html or
## in file LICENSE in the top-level directory of the distribution.
## 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 # contrib
CLEANDIRS= contrib
INSTALLDIRS=
SUBDIRS= include libraries clients servers tests doc
CLEANDIRS=
INSTALLDIRS=
makefiles: FORCE
./config.status
......@@ -21,9 +25,14 @@ makefiles: FORCE
install-common: all FORCE
clean-local: FORCE
$(RM) config.log
$(RM) config.cache config.log configure.lineno
$(RM) -r autom4te.cache
veryclean-local: FORCE
$(RM) config.cache config.status libtool stamp-h stamp-h.in
$(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
OpenLDAP Devel README
OpenLDAP -devel is for the development of OpenLDAP. As such,
it changes often. These changes include changes in functionality
and unproven bug fixes. Many of these changes will cause
previous working programs to fail.
Additional developer documents are available in doc/devel,
todo list
guidelines for developers
Client developers seeking a stable development platform
should use -stable or the latest OpenLDAP release.
OpenLDAP Release README
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 an install the
distribution, see the INSTALL file in this directory. Additional
installation information, such as per platform hints can be found
in the doc/install directory.
For more information:
http://www.OpenLDAP.org/software/
REQUIRED SOFTWARE
Build OpenLDAP requires the following software components:
Base system (libraries and tools):
Standard C compiler, headers, and libraries
POSIX REGEX headers and libraries
SLAPD:
LDBM compatible datastore
(Sleepycat Berkeley DB 2.3.16 or GDBM)
SLURPD:
LTHREAD compatible thread package
(POSIX pthreads, MIT pthreads, Mach Cthreads or Sun LWP)
LDAPD:
ISODE compatible X.500 distribution
CLIENTS/CONTRIB ware:
Depends on package. See per package README.
MAKING AND INSTALLING THE DISTRIBUTION
Please see the INSTALL file for details.
DOCUMENTATION
There are man pages for most programs in the distribution and
routines in the various libraries. See ldap(3) for details.
Additional documentation can be found in the doc directory.
doc/devel Developer Information
doc/drafts LDAP-related IETF drafts
doc/install Installation and Integration
doc/man Raw man(1) pages
doc/rfcs LDAP-related Request for Comments
There is an OpenLDAP home page available that contains the latest
LDAP news, releases announcements, pointers to other LDAP resources,
etc.. It is located at:
http://www.OpenLDAP.org/
The OpenLDAP Software FAQ is available at:
http://www.openldap.org/faq/index.cgi?file=2
FEEDBACK / PROBLEM REPORTS / DISCUSSIONS
We would appreciate any feedback you can provide. If you have
problems, report them using our Issue Tracking System:
http://www.OpenLDAP.com/its/
or by sending e-mail to:
OpenLDAP-its@OpenLDAP.org
Additional mailing lists are available. Please see:
http://www.OpenLDAP.com/lists/
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-2024 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.
/*
* Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted only
* as authorized by the OpenLDAP Public License. A copy of this
* license is available at http://www.OpenLDAP.org/license.html or
* in file LICENSE in the top-level directory of the distribution.
*/
#ifndef _LDAP_PORTABLE_H
#define _LDAP_PORTABLE_H
/* end of preamble */
@TOP@
/* define this if needed to get reentrant functions */
#ifndef REENTRANT
#undef REENTRANT
#endif
#ifndef _REENTRANT
#undef _REENTRANT
#endif
/* define this if needed to get threadsafe functions */
#ifndef THREADSAFE
#undef THREADSAFE
#endif
#ifndef _THREADSAFE
#undef _THREADSAFE
#endif
#ifndef THREAD_SAFE
#undef THREAD_SAFE
#endif
#ifndef _THREAD_SAFE
#undef _THREAD_SAFE
#endif
/* define this if cross compiling */
#undef CROSS_COMPILING
/* define this if toupper() requires tolower() check */
#undef C_UPPER_LOWER
/* define this to the number of arguments ctime_r() expects */
#undef CTIME_R_NARGS
/* define this to the number of arguments gethostbyaddr_r expects */
#undef GETHOSTBYADDR_R_NARGS
/* define this to the number of arguments gethostbyname_r expects */
#undef GETHOSTBYNAME_R_NARGS
/* define this if sys_errlist is not defined in stdio.h or errno.h */
#undef DECL_SYS_ERRLIST
/* define this if TIOCGWINSZ is defined in sys/ioctl.h */
#undef GWINSZ_IN_SYS_IOCTL
/* define if you have berkeley db */
#undef HAVE_BERKELEY_DB
/* define if you have berkeley db2 */
#undef HAVE_BERKELEY_DB2
/* define if you have crypt */
#undef HAVE_CRYPT
/* define if you have DSAP */
#undef HAVE_DSAP
/* define if you have GDBM */
#undef HAVE_GDBM
/* define if you have ISODE */
#undef HAVE_ISODE
/* define if you have Kerberos */
#undef HAVE_KERBEROS
/* define if you have LinuxThreads */
#undef HAVE_LINUX_THREADS
/* define if you have Sun LWP (SunOS style) */
#undef HAVE_LWP
/* define if you have -lncurses */
#undef HAVE_NCURSES
/* define if you have NDBM */
#undef HAVE_NDBM
/* define if you have Mach CThreads */
#undef HAVE_MACH_CTHREADS
/* define if you have POSIX termios */
#undef HAVE_POSIX_TERMIOS
/* define if you have PP */
#undef HAVE_PP
/* define if you have POSIX Threads */
#undef HAVE_PTHREADS
/* define if your POSIX Threads implementation is circa Final Draft */
#undef HAVE_PTHREADS_FINAL
/* define if your POSIX Threads implementation is circa Draft 4 */
#undef HAVE_PTHREADS_D4
/* define if you have ptrdiff_t */
#undef HAVE_PTRDIFF_T
/* define if you have res_search() */
#ifdef __notdef__
/* see second res_search define */
#undef HAVE_RES_SEARCH
#endif
/* define if you have sched_yield() */
#ifdef __notdef__
/* see second sched_yield define */
#undef HAVE_SCHED_YIELD
#endif
/* define if you have setproctitle() */
#undef HAVE_SETPROCTITLE
/* define if you have -lwrap */
#undef HAVE_TCPD
/* define if you have -ltermcap */
#undef HAVE_TERMCAP
/* define if you have Sun LWP (Solaris style) */
#undef HAVE_THR
/* define if you have XTPP */
#undef HAVE_XTPP
/* define this if select() implicitly yields in thread environments */
#undef HAVE_YIELDING_SELECT
/* define this for connectionless LDAP support */
#undef LDAP_CONNECTIONLESS
/* define this to add debugging code */
#undef LDAP_DEBUG
/* define this for LDAP DNS support */
#undef LDAP_DNS
/* define this to remove -lldap cache support */
#undef LDAP_NOCACHE
/* define this for LDAP process title support */
#undef LDAP_PROCTITLE
/* define this for LDAP User Interface support */
#undef LDAP_LIBUI
/* define this to add syslog code */
#undef LDAP_SYSLOG
/* define this to use DB2 in native mode */
#undef LDBM_USE_DB2
/* define this to use DB2 in compat185 mode */
#undef LDBM_USE_DB2_COMPAT185
/* define this to use DBBTREE w/ LDBM backend */
#undef LDBM_USE_DBBTREE
/* define this to use DBHASH w/ LDBM backend */
#undef LDBM_USE_DBHASH
/* define this to use GDBM w/ LDBM backend */
#undef LDBM_USE_GDBM
/* define this to use NDBM w/ LDBM backend */
#undef LDBM_USE_NDBM
/* define this if you want no termcap support */
#undef NO_TERMCAP
/* define this if you want no thread support */
#undef NO_THREADS
/* define this for ACL Group support */
#undef SLAPD_ACLGROUPS
/* define this to use SLAPD Berkeley DB2 backend */
#undef SLAPD_BDB2
/* define this for ClearText password support */
#undef SLAPD_CLEARTEXT
/* define this for crypt(3) password support */
#undef SLAPD_CRYPT
/* define this to use SLAPD LDBM backend */
#undef SLAPD_LDBM
/* define this to use SLAPD passwd backend */
#undef SLAPD_PASSWD
/* define this to use SLAPD Perl backend */
#undef SLAPD_PERL
/* define this for phonetic support */
#undef SLAPD_PHONETIC
/* define this for Reverse Lookup support */
#undef SLAPD_RLOOKUPS
/* define this to use SLAPD shell backend */
#undef SLAPD_SHELL
/* define this to use SLAPD TCL backend */
#undef SLAPD_TCL
/* define this to be empty if your compiler doesn't support volatile */
#undef volatile
/* define this if sig_atomic_t isn't defined in signal.h */
#undef sig_atomic_t
/* These are defined in ldap_features.h */
/*
LDAP_API_FEATURE_X_OPENLDAP_REENTRANT
LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE
LDAP_API_FEATURE_X_OPENLDAP_V2_DNS
LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS
*/
/* Leave that blank line there!! Autoheader needs it. */
@BOTTOM@
/* begin of postamble */
#ifdef HAVE_STDDEF_H
# include <stddef.h>
#endif
#if defined(LDAP_DEVEL) && !defined(LDAP_TEST)
#define LDAP_TEST
#endif
#if defined(LDAP_TEST) && !defined(LDAP_DEBUG)
#define LDAP_DEBUG
#endif
#include "ldap_cdefs.h"
#include "ldap_features.h"
#include "ac/assert.h"
#endif /* _LDAP_PORTABLE_H */
dnl Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
dnl COPYING RESTRICTIONS APPLY, See COPYRIGHT file
dnl
dnl OpenLDAP Autoconf Macros
dnl
builtin(include, build/openldap.m4)dnl
This diff is collapsed.
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.
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.
This diff is collapsed.
This diff is collapsed.
*** ./hash/hash.h.bak Fri May 12 11:00:42 1995
--- ./hash/hash.h Fri May 12 11:01:07 1995
***************
*** 103,109 ****
BUFHEAD *cpage; /* Current page */
int cbucket; /* Current bucket */
int cndx; /* Index of next item on cpage */
! int errno; /* Error Number -- for DBM
* compatability */
int new_file; /* Indicates if fd is backing store
* or no */
--- 103,109 ----
BUFHEAD *cpage; /* Current page */
int cbucket; /* Current bucket */
int cndx; /* Index of next item on cpage */
! int h_errno; /* Error Number -- for DBM
* compatability */
int new_file; /* Indicates if fd is backing store
* or no */
*** ./hash/hash.c.bak Fri May 12 11:02:03 1995
--- ./hash/hash.c Fri May 12 11:02:42 1995
***************
*** 505,511 ****
else
if (wsize != sizeof(HASHHDR)) {
errno = EFTYPE;
! hashp->errno = errno;
return (-1);
}
for (i = 0; i < NCACHED; i++)
--- 505,511 ----
else
if (wsize != sizeof(HASHHDR)) {
errno = EFTYPE;
! hashp->h_errno = errno;
return (-1);
}
for (i = 0; i < NCACHED; i++)
***************
*** 536,542 ****
hashp = (HTAB *)dbp->internal;
if (flag) {
! hashp->errno = errno = EINVAL;
return (ERROR);
}
return (hash_access(hashp, HASH_GET, (DBT *)key, data));
--- 536,542 ----
hashp = (HTAB *)dbp->internal;
if (flag) {
! hashp->h_errno = errno = EINVAL;
return (ERROR);
}
return (hash_access(hashp, HASH_GET, (DBT *)key, data));
***************
*** 553,563 ****
hashp = (HTAB *)dbp->internal;
if (flag && flag != R_NOOVERWRITE) {
! hashp->errno = errno = EINVAL;
return (ERROR);
}
if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
! hashp->errno = errno = EPERM;
return (ERROR);
}
return (hash_access(hashp, flag == R_NOOVERWRITE ?
--- 553,563 ----
hashp = (HTAB *)dbp->internal;
if (flag && flag != R_NOOVERWRITE) {
! hashp->h_errno = errno = EINVAL;
return (ERROR);
}
if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
! hashp->h_errno = errno = EPERM;
return (ERROR);
}
return (hash_access(hashp, flag == R_NOOVERWRITE ?
***************
*** 574,584 ****
hashp = (HTAB *)dbp->internal;
if (flag && flag != R_CURSOR) {
! hashp->errno = errno = EINVAL;
return (ERROR);
}
if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
! hashp->errno = errno = EPERM;
return (ERROR);
}
return (hash_access(hashp, HASH_DELETE, (DBT *)key, NULL));
--- 574,584 ----
hashp = (HTAB *)dbp->internal;
if (flag && flag != R_CURSOR) {
! hashp->h_errno = errno = EINVAL;
return (ERROR);
}
if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
! hashp->h_errno = errno = EPERM;
return (ERROR);
}
return (hash_access(hashp, HASH_DELETE, (DBT *)key, NULL));
***************
*** 729,735 ****
hashp = (HTAB *)dbp->internal;
if (flag && flag != R_FIRST && flag != R_NEXT) {
! hashp->errno = errno = EINVAL;
return (ERROR);
}
#ifdef HASH_STATISTICS
--- 729,735 ----
hashp = (HTAB *)dbp->internal;
if (flag && flag != R_FIRST && flag != R_NEXT) {
! hashp->h_errno = errno = EINVAL;
return (ERROR);
}
#ifdef HASH_STATISTICS
*** ./hash/ndbm.c.bak Fri May 12 11:02:06 1995
--- ./hash/ndbm.c Fri May 12 11:02:54 1995
***************
*** 180,186 ****
HTAB *hp;
hp = (HTAB *)db->internal;
! return (hp->errno);
}
extern int
--- 180,186 ----
HTAB *hp;
hp = (HTAB *)db->internal;
! return (hp->h_errno);
}
extern int
***************
*** 190,196 ****
HTAB *hp;
hp = (HTAB *)db->internal;
! hp->errno = 0;
return (0);
}
--- 190,196 ----
HTAB *hp;
hp = (HTAB *)db->internal;
! hp->h_errno = 0;
return (0);
}
Berkeley DB version 2.x and OpenLDAP running threads
====================================================
Special care has to be taken when building Berkeley DB 2.x
for use with OpenLDAP as an slapd backend. If OpenLDAP is with
threads, so must Berkeley DB. If OpenLDAP is built without
threads, so must Berkeley DB.
The configuration tool of Sleepycat's Berkeley DB will automatically
set appropriate options on IRIX, OSF/1, and SUN Solaris platforms
(version 2.3.16), as well as FreeBSD (version 2.6.4). The options
must be manually defined on other plaforms, e.g. on LINUX.
On PC-LINUX (kernel version 2.0.35, linux kernel threads as imple-
mented by libpthreads.so.1.60.4) with gcc as the standard compiler
the environment variable CPPFLAGS must define -D_REENTRANT, while
building the Berkeley DB package.
DO NOT USE THE -ansi CFLAG, SINCE THEN THE DB PACKAGE'S CONFIGURE
CANNOT FIND THE X86/GCC SPINLOCKS, WHICH ARE NEEDED FOR THREAD-
SUPPORT WITH THE BERKELEY DB.
Please check carefully if your platform is not mentioned above.
The OpenLDAP configure tool will most probably find the correct
configuration itself. No special action has to be taken
while building the OpenLDAP package.
Jan, 9th, 1999, /KSp (ksp@openldap.org)