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 (817)
Showing with 4610 additions and 5452 deletions
A N N O U N C E M E N T -- OpenLDAP 2.4
The OpenLDAP Project is pleased to announce the availability
of OpenLDAP Software 2.4, a suite of the Lightweight Directory
Access Protocol (v3) servers, clients, utilities, and
development tools.
This release contains the following major enhancements:
* Slapd(8) enhancements
- Syncrepl enhancements, including push-mode and
Multi-Master support
- Dynamic configuration enhancements, including
online schema editing and full access control
- Dynamic monitoring enhancements, including
cache usage information
* New overlays
- Attribute value constraints
- Dynamic Directory Services (RFC2589)
- Reverse Group Membership maintenance (memberof)
* Clients and tools
- Full support of request/response controls
- New ldapexop tool for arbitrary extend operations
- Support of DNS SRV records for default server
* Significant performance enhancements throughout
the client and server code base
* Multiple new features in libldap and liblber
* Expanded documentation
- Function-complete manual pages
- Numerous new examples in the Admin Guide
This release includes the following major components:
* slapd - a stand-alone LDAP directory server
* -lldap - a LDAP client library
* -llber - a lightweight BER/DER encoding/decoding library
* LDIF tools - data conversion tools for use with slapd
* LDAP tools - A collection of command line LDAP utilities
* Admin Guide, Manual Pages - associated documentation
In addition, there are some contributed components:
* LDAPC++ - a LDAP C++ SDK
* Various slapd modules and slapi plugins
ACKNOWLEDGEMENTS
OpenLDAP Software is developed by the OpenLDAP Project. The
Project consists of a team of volunteers who use the
Internet to coordinate their activities. The Project is
an organized activity of the OpenLDAP Foundation.
OpenLDAP Software is derived from University of Michigan LDAP,
release 3.3.
AVAILABILITY
This software is available under the OpenLDAP Public License,
an non-restrictive, "free", open-source license. Download
information is available at:
http://www.OpenLDAP.org/software/download/
SUPPORT
OpenLDAP Software is user supported:
http://www.openldap.org/support/
The OpenLDAP Administrator's Guide, which includes quick
start instructions, is available at:
http://www.openldap.org/doc/admin/
The project maintains a FAQ which you may find useful:
http://www.openldap.org/faq/
In addition, there are also a number of discussion lists
related to OpenLDAP Software. A list of mailing lists is
available at:
http://www.OpenLDAP.org/lists/
To report bugs, please use project's Issue Tracking System:
http://www.openldap.org/its/
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 Darwin, FreeBSD, Linux, NetBSD, OpenBSD
and most commercial UNIX systems. The release has also been
ported (in part or in whole) to other platforms including
Apple MacOS X, IBM zOS, and Microsoft Windows NT/2000/etc.
---
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Copyright 1999-2008 The OpenLDAP Foundation, Redwood City,
California, USA. All Rights Reserved. Permission to copy and
distribute verbatim copies of this document is granted.
OpenLDAP 2.4 Change Log
OpenLDAP 2.4.13 Engineering
Fixed liblutil hex conversion (ITS#5699)
Fixed slapd database open with real structure (ITS#5724)
Fixed slapd rewriting undefined filter (ITS#5731)
Added slapd GSSAPI refactoring (ITS#5369)
Added slapd private databases to be instantiated by global overlays (ITS#5735,ITS#5736)
Added slapd support for certificateListExactMatch from RFC4523 (ITS#5700)
Fixed slapd-bdb/hdb invalid db crash (ITS#5698)
Fixed slapo-chain/translucent back-config support (ITS#5736)
Added slapo-constraint parameter to allow LDAP URI constraints (ITS#5704)
Added slapo-constraint support for constraining rename (ITS#5703)
Added slapo-constraint support for relax control (ITS#5705)
Added slapo-constraint "set" type (ITS#5702)
Fixed slapo-rwm reusing freed filter (ITS#5732)
Added slapo-translucent try local bind when remote fails (ITS#5656)
Added slapo-translucent support for RFC3062 password mod extended op (ITS#5656)
OpenLDAP 2.4.12 Release (2008/10/12)
Fixed libldap ldap_utf8_strchar arguments (ITS#5720)
Fixed libldap TLS_CRLFILE (ITS#5677)
Fixed liblutil executables on Windows (ITS#5604)
Fixed liblutil microsecond overflows on Windows (ITS#5668)
Fixed librewrite memory handling (ITS#5691)
Fixed slapd aci performance (ITS#5636)
Fixed slapd aci's with sets (ITS#5627)
Fixed slapd attribute leak (ITS#5683)
Fixed slapd config backend with index greater than sibs (ITS#5684)
Fixed slapd custom attribute inheritance (ITS#5642)
Fixed slapd dynacl mask handling (ITS#5637)
Fixed slapd firstComponentMatch normalization (ITS#5634)
Added slapd caseIgnoreListMatch (ITS#5608)
Fixed slapd connection events enabled twice (ITS#5725)
Fixed slapd memory handling (ITS#5691)
Fixed slapd objectClass canonicalization (ITS#5681)
Fixed slapd objectClass termination (ITS#5682)
Fixed slapd overlay control registration (ITS#5649)
Fixed slapd runqueue checking (ITS#5726)
Fixed slapd spurious text output (ITS#5688)
Fixed slapd socket closing on Windows (ITS#5606)
Fixed slapd sortvals comparison (ITS#5578)
Added slapd substitute syntax support (ITS#5663)
Fixed slapd syncrepl contextCSN detection (ITS#5675)
Fixed slapd syncrepl error logging (ITS#5618)
Fixed slapd syncrepl runqueue interval (ITS#5719)
Fixed slapd-bdb entry return if attr not present (ITS#5650)
Fixed slapd-bdb olcDbMode syntax (ITS#5713)
Fixed slapd-bdb/hdb release search entries earlier (ITS#5728,ITS#5730)
Fixed slapd-bdb/hdb subtree search with empty suffix (ITS#5729)
Fixed slapd-dnssrv memory handling (ITS#5691)
Fixed slapd-ldap,slapd-meta invalid filter behavior (ITS#5614)
Fixed slapd-meta memory handling (ITS#5691)
Fixed slapd-meta objectClass filtering (ITS#5647)
Fixed slapd-meta quarantine behavior (ITS#5592)
Added slapd-ndb experimental backend
Fixed slapd-relay initialization (ITS#5643)
Fixed slapd-sql freeing of connection (ITS#5607)
Fixed slapd-sql fault on NULL fields (ITS#5653)
Fixed slapo-accesslog entryCSN generation on purge (ITS#5694)
Fixed slapo-constraint string termination (ITS#5609)
Fixed slapo-dynlist expansion with mapped attributes (ITS#5717)
Fixed slapo-memberof internal operations DN (ITS#5622)
Fixed slapo-pcache attrset crash (ITS#5665)
Fixed slapo-pcache caching with invalid schema (ITS#5680)
Fixed slapo-ppolicy control return on password modify exop (ITS#5711)
Fixed slapo-rwm callback cleanup (ITS#5601,ITS#5687)
Fixed slapo-rwm attr mapping and merging (ITS#5624)
Fixed slapo-rwm objectClass filtering (ITS#5647)
Fixed slapo-translucent back-config support (ITS#5689)
Fixed slapo-translucent filter usage on merged entries (ITS#5679)
Fixed slapo-unique filter validation (ITS#5581)
Fixed slapo-unique suffix testing (ITS#5641)
Build Environment
Fixed ODBC library detection (ITS#5602)
Removed pre-BerkeleyDB 4.4 support
Added BerkeleyDB 4.7 support (ITS#5523)
Included patch for BerkeleyDB 4.7.25 (build/db.4.7.25.patch)
Added slapo-collect overlay with enhancements(ITS#5659)
Documentation
Added slapd-ldap(5), slapd-meta(5) noundeffilter (ITS#5614)
Fixed slapd-ldap(5), slapd-meta(5), slapo-pcache(5) schema requirements (ITS#5680)
Added slapo-collect(5) man page (ITS#5706)
Added slapo-pcache(5) proxycheckcacheability option (ITS#5680)
Added slapo-retcode(5) retcode.conf location (ITS#5633)
admin24 dontusecopy control update (ITS#5718)
admin24 guide updates (ITS#5616)
admin24 octetString fix (ITS#5670)
OpenLDAP 2.4.11 Release (2008/07/16)
Fixed liblber ber_get_next length decoding (ITS#5580)
Added libldap assertion control (ITS#5560)
Fixed libldap GnuTLS CRL result handling (ITS#5577)
Fixed libldap GnuTLS SSF computation (ITS#5585)
Fixed liblutil missing return code (ITS#5615)
Fixed slapd cert serial number parsing (ITS#5588)
Fixed slapd check for structural_class failures (ITS#5540)
Fixed slapd config backend renumbering (ITS#5571)
Fixed slapd configContext OID (ITS#5383)
Fixed slapd crash with no listeners (ITS#5563)
Fixed slapd equality rules for olcRootDN/olcSchemaDN (ITS#5540)
Fixed slapd sets memory leak (ITS#5557)
Fixed slapd sortvals binary search (ITS#5578)
Fixed slapd syncrepl updates with multiple masters (ITS#5597)
Fixed slapd syncrepl superior objectClass delete/add (ITS#5600)
Fixed slapd syncrepl/slapo-syncprov contextCSN updates as internal ops (ITS#5596)
Added slapd-ldap/slapd-meta option to filter out search references (ITS#5593)
Fixed slapd-meta link to slapd-ldap (ITS#5355)
Fixed slapd-sock, back-shell buffer count (ITS#5558)
Fixed slapo-dynlist dg attrs lookup (ITS#5583)
Fixed slapo-dynlist entry release (ITS#5135)
Fixed slapo-memberof replace handling (ITS#5584)
Added slapo-nssov contrib module
Fixed slapo-pcache handling of negative search caches (ITS#5546)
Fixed slapo-ppolicy DNs with whitespaces (ITS#5552)
Fixed slapo-ppolicy modify with internal ops (ITS#5569)
Fixed slapo-syncprov ACL evaluation (ITS#5548)
Fixed slapo-syncprov crash with delcsn (ITS#5589)
Fixed slapo-syncprov full reload (ITS#5564)
Fixed slapo-syncprov missing olcSpReloadHint attr(ITS#5591)
Fixed slapo-unique filter normalization (ITS#5581)
Fixed contrib smbk5pwd terminator (ITS#5575)
Build Environment
Fixed test048 to skip if threads is not available (ITS#5529)
Documentation
Added slapo-pcache(5) sizelimit caching (ITS#5559)
Added slapd-access(5) add and delete privs (ITS#5566)
admin24 GnuTLS documentation (ITS#5554)
OpenLDAP 2.4.10 Release (2008/06/08)
Fixed libldap file descriptor leak with SELinux (ITS#5507)
Fixed libldap ld_defconn cleanup if it was freed (ITS#5518, ITS#5525)
Fixed libldap msgid handling (ITS#5318)
Fixed libldap t61 infinite loop (ITS#5542)
Fixed libldap_r missing stubs (ITS#5519)
Fixed slapd initialization of sr_msgid, rs->sr_tag (ITS#5461)
Fixed slapd missing termination of integerFilter keys (ITS#5503)
Fixed slapd multiple attrs in URI (ITS#5516)
Fixed slapd sasl_ssf retrieval (ITS#5403)
Fixed slapd socket assert (ITS#5489)
Fixed slapd syncrepl cookie (ITS#5536)
Fixed slapd-bdb/hdb MAXPATHLEN (ITS#5531)
Fixed slapd-bdb indexing in single ADD/MOD (ITS#5521)
Fixed slapd-ldap entry_get() op-dependent behavior (ITS#5513)
Fixed slapd-meta quarantine crasher (ITS#5522)
Fixed slapo-refint to allow setting modifiers name (ITS#5505)
Fixed slapo-syncprov contextCSN passing on syncprov consumers (ITS#5488)
Fixed slapo-syncprov csn update with delta-syncrepl (ITS#5493)
Fixed slapo-syncprov op2.o_extra reset (ITS#5501, #5506)
Fixed slapo-syncprov searching wrong backend (ITS#5487)
Fixed slapo-syncprov sending ops without queued CSNs (ITS#5465)
Fixed slapo-syncprov max csn search on startup (ITS#5537)
Fixed slapo-unique config structs (ITS#5526)
Fixed slapo-unique filter terminator (ITS#5511)
Documentation
Add search privileges documentation (ITS#5512)
admin24 security document updates (ITS#5524)
OpenLDAP 2.4.9 Release (2008/05/07)
Fixed libldap to use unsigned port (ITS#5436)
Fixed libldap error message for missing close paren (ITS#5458)
Fixed libldap_r tpool pause checks (ITS#5364, #5407)
Fixed slapcat error checking (ITS#5387)
Fixed slapd abstract objectClass inheritance check (ITS#5474)
Fixed slapd add operations requiring naming attrs (ITS#5412)
Fixed slapd connection handling (ITS#5469)
Fixed slapd delta-syncrepl resync (ITS#5378)
Fixed slapd frontendDB backend selection (ITS#5419)
Fixed slapd pagedresults stale state (ITS#5409)
Fixed slapd pointer dereference (ITS#5388)
Fixed slapd null argument dereference (ITS#5435)
Fixed slapd REP_ENTRY flags (ITS#5340)
Fixed slapd sets attribute description parsing (ITS#5402)
Fixed slapd syncrepl hang on back-config (ITS#5407)
Fixed slapd syncrepl compare_csns crash (ITS#5413)
Fixed slapd syncrepl contextCSN update clash (ITS#5426)
Fixed slapd syncrepl/glue failure (ITS#5430)
Fixed slapd syncrepl crash on empty CSN (ITS#5432)
Fixed slapd syncrepl refreshAndPersist (ITS#5454)
Fixed slapd syncrepl modrdn processing (ITS#5397)
Fixed slapd syncrepl MMR partial refresh (ITS#5470)
Fixed slapd value list termination (ITS#5450)
Fixed slapd/slapo-accesslog rq mutex usage (ITS#5442)
Fixed slapd-bdb ID_NOCACHE handling (ITS#5439)
Fixed slapd-bdb entryinfo state if db_lock fails (ITS#5455)
Fixed slapd-bdb referral rewrite (ITS#5339)
Fixed slapd-config overlay stacking (ITS#5346)
Fixed slapd-config attribute publishing (ITS#5383)
Fixed slapd-ldap connection handler (ITS#5404)
Fixed slapd-ldif file name handling & multi-suffix/dir catch (ITS#5408)
Fixed slapd-meta connections on error (ITS#5440)
Fixed slapd-meta crash on search (ITS#5481)
Fixed slapo-accesslog null callback stack crash (ITS#5490)
Fixed slapo-auditlog unnecessary syscall (ITS#5441)
Added slapo-dynlist mapping to dynamic attrs generation (ITS#5466)
Fixed slapo-refint dnSubtreeMatch (ITS#5427)
Fixed slapo-refint global referential integrity (ITS#5428)
Fixed slapo-syncprov psearch on closed connection (ITS#5401)
Fixed slapo-syncprov psearch task delay (ITS#5405)
Fixed slapo-syncprov psearch filter identity (ITS#5418, #5486)
Fixed slapo-syncprov/glue contextCSN update (ITS#5433)
Fixed slapo-syncprov/glue search ops (ITS#5434)
Fixed slapo-syncprov null cookie (ITS#5437,#5444)
Fixed slapo-syncprov double-free (ITS#5445)
Fixed slapo-syncprov free syncop correctly (ITS#5484)
Fixed slapo-syncprov glue deadlock (ITS#5451)
Build Environment
Fixed leave function naming for OSF1 (ITS#5411)
Documentation
Fixed slapd.access(5) authz-regexp documented behavior (ITS#5400)
Fixed slapd.meta(5) idassert-* documentation (ITS#5406)
admin24 delta-syncrepl documentation (ITS#5476)
admin24 set documentation (ITS#5278,ITS#5279,ITS#5281)
admin24 slapo-ppolicy documentation (ITS#5479)
admin24 syncrepl directives update (ITS#5425)
OpenLDAP 2.4.8 Release (2008/02/19)
Fixed ldapmodify verbose logging (ITS#5247)
Fixed ldapdelete with sizelimit (ITS#5294)
Fixed ldapdelete with subentries control (ITS#5293)
Fixed ldapsearch exit code init (ITS#5317)
Fixed libldap extended decoding (ITS#5304)
Fixed libldap filter abort (ITS#5300)
Fixed libldap ldap_parse_sasl_bind_result (ITS#5263)
Fixed libldap result codes for open (ITS#5338)
Fixed libldap search timeout crash (ITS#5291)
Fixed libldap paged results crash (ITS#5315)
Fixed libldap cipher suite with GnuTLS (ITS#5341)
Fixed slapd support for 2.1 CSN (ITS#5348)
Fixed slapd include handling (ITS#5276)
Fixed slapd modrdn check for valid new DN (ITS#5344)
Fixed slapd multi-step SASL binds (ITS#5298)
Fixed slapd non-atomic signal variables (ITS#5248)
Fixed slapd overlay ordering when moving to slapd.d (ITS#5284)
Fixed slapd NULL printf (ITS#5264)
Fixed slapd NULL set values (ITS#5286)
Fixed slapd segv with SASL/OTP (ITS#5259)
Fixed slapd timestamp race condition (ITS#5370)
Fixed slapd cn=config crash on delete (ITS#5343)
Fixed slapd cn=config global acls (ITS#5352)
Fixed slapd truncated cookie (ITS#5362)
Fixed slapd sasl with CLEARTEXT (ITS#5368)
Fixed slapd str2entry with no attrs (ITS#5308)
Fixed slapd TLSVerifyClient default (ITS#5360)
Fixed slapd HAVE_TLS dependency (ITS#5379)
Fixed slapd delta-syncrepl refresh mode (ITS#5376)
Fixed slapd ACL sets URI attrs (ITS#5384)
Fixed slapd invalid entryUUID filter (ITS#5386)
Fixed slapd-bdb idlcache on adds (ITS#5086)
Fixed slapd-bdb crash with modrdn (ITS#5358)
Fixed slapd-bdb segv with bdb4.6 (ITS#5322)
Fixed slapd-bdb modrdn to same dn (ITS#5319)
Fixed slapd-bdb MMR (ITS#5332)
Added slapd-bdb/slapd-hdb DB encryption (ITS#5359)
Fixed slapd-ldif delete (ITS#5265)
Fixed slapd-meta link to slapd-ldap (ITS#5355)
Fixed slapd-meta setting of sm_nvalues (ITS#5375)
Fixed slapd-monitor crash (ITS#5311)
Fixed slapd-relay compare (ITS#4937)
Added slapd-sock (ITS#4094)
Fixed slapo-accesslog cleanup on successful response (ITS#5374)
Added slapo-autogroup contrib module (ITS#5145)
Added slapo-constraint cross-attribute constraints (ITS#4987)
Fixed slapo-memberof objectClass inheritance (ITS#5299)
Added slapo-memberof global overlay support (ITS#5301)
Fixed slapo-memberof leak (ITS#5302)
Fixed slapo-ppolicy only password check with policy (ITS#5285)
Fixed slapo-ppolicy del/replace password without new one (ITS#5373)
Fixed slapo-syncprov hang on checkpoint (ITS#5261)
Added slapo-translucent local searching (ITS#5283)
Removed lint
Build Environment
Fixed libldap_r threaded library linking (ITS#4982)
Fixed libldap use of %n (ITS#5324)
Fixed test047 to skip if rwm is not available (ITS#5292)
Documentation
DB_CONFIG.example URL wrong in comments (ITS#5288)
Add cn=config example for auditlog (ITS#5245)
ldapmodify(1) clarification for RFC2849 (ITS#5312)
OpenLDAP 2.4.7 Release (2007/12/14)
Added slapd ordered indexing of integer attributes (ITS#5239)
Fixed slapd paged results control handling (ITS#5191)
Fixed slapd sasl-host parsing (ITS#5209)
Fixed slapd filter normalization (ITS#5212)
Fixed slapd multiple suffix checking (ITS#5186)
Fixed slapd paged results handling when using rootdn (ITS#5230)
Fixed slapd syncrepl presentlist handling (ITS#5231)
Fixed slapd core schema 'c' definition for RFC4519 (ITS#5236)
Fixed slapd 3-way Multi-Master Replication (ITS#5238)
Fixed slapd hash collisions in index slots (ITS#5183)
Fixed slapd replication of dSAOperation attributes (ITS#5268)
Fixed slapadd contextCSN updating (ITS#5225)
Fixed slapd-bdb/hdb to report and fail on internal errors (ITS#5232)
Fixed slapd-bdb/hdb dn2entry lock bug (ITS#5257)
Fixed slapd-bdb/hdb dn2id lock bug (ITS#5262)
Fixed slapd-hdb caching on rename ops (ITS#5221)
Fixed slapo-accesslog abandoned op cleanup (ITS#5161)
Fixed slapo-dds deleting from nonexistent db (ITS#5267)
Fixed slapo-memberOf deleted values saving (ITS#5258)
Fixed slapo-pcache op->o_abandon handling (ITS#5187)
Fixed slapo-ppolicy single password check on modify (ITS#5146)
Fixed slapo-ppolicy internal search (ITS#5235)
Fixed slapo-syncprov refresh and persist cookie sending (ITS#5210)
Fixed slapo-syncprov ignore invalid cookies (ITS#5211)
Fixed slapo-translucent interaction with slapo-rwm (ITS#4889)
Updated contrib addpartial module (ITS#3593)
Build Environment
Fixed liblber socket library linking (ITS#5224)
Fixed Windows slapd.def rules (ITS#5215)
Documentation
Fixed grammar errors (ITS#5223)
Refint overlay doc contribution (ITS#5217)
Dynamic Lists doc contribution to the admin guide (ITS#5216)
Fixed ldappasswd(1) and ldapmodify(1) typos (ITS#5269)
Fixed domain factor typos (ITS#5237)
Fixed slapd.conf(5) maxderefdepth default value typo (ITS#5200)
Clarified slapd.conf(5) limits issues in syncrepl (ITS#5243)
Fixed slapd-config(5) maxderefdepth default value typo (ITS#5200)
Patches for minor typos in man pages (ITS#5228)
admin24/replication.sdf spelling (ITS#5270)
OpenLDAP 2.4.6 Release (2007/10/31)
Initial release for "general use".
...@@ -36,11 +36,11 @@ Public License. ...@@ -36,11 +36,11 @@ Public License.
--- ---
Portions Copyright 1999-2007 Howard Y.H. Chu. Portions Copyright 1999-2008 Howard Y.H. Chu.
Portions Copyright 1999-2007 Symas Corporation. Portions Copyright 1999-2008 Symas Corporation.
Portions Copyright 1998-2003 Hallvard B. Furuseth. Portions Copyright 1998-2003 Hallvard B. Furuseth.
Portions Copyright 2008 Gavin Henry Portions Copyright 2008 Gavin Henry.
Portions Copyright 2008 Suretec Systems Portions Copyright 2008 Suretec Systems.
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
......
OpenLDAP Devel README OpenLDAP 2.4 README
This software was obtained from the development branch (HEAD) of For a description of what this distribution contains, see the
the OpenLDAP Software Repository. This copy is likely already ANNOUNCEMENT file in this directory. For a description of
not current, the development branch changes frequently. These changes from previous releases, see the CHANGES file in this
changes include code implementing experimental features and directory.
unproven bug fixes. Please do NOT redistribute copies of the
development branch. This is 2.4 release, it includes significant changes from prior
releases.
The OpenLDAP Developer's FAQ is available at:
<http://www.openldap.org/faq/index.cgi?file=4> REQUIRED SOFTWARE
Building OpenLDAP Software requires a number of software packages
Client developers seeking a suitable development platform to be preinstalled. Additional information regarding prerequisite
should use "release" or "stable" versions. software can be found in the OpenLDAP Administrator's Guide.
<http://www.openldap.org/software/>
Base system (libraries and tools):
Contributing Standard C compiler (required)
See <http://www.openldap.org/devel/contributing.html> for how to Cyrus SASL 2.1.21+ (recommended)
contribute code or documentation to OpenLDAP. Use the Issue Tracking OpenSSL 0.9.7+ (recommended)
System <http://www.openldap.org/its/> to submit contributions. POSIX REGEX software (required)
While you are encouraged to coordinate and discuss the development
activities on the openldap-devel@openldap.org mailing list prior SLAPD:
to submission, it is noted that contributions must be submitted BDB and HDB backends require Oracle Berkeley DB 4.4, 4.5,
using the Issue Tracking System to be considered. 4.6, or 4.7. It is highly recommended to apply the patches
from Oracle for a given release. In addition, for BDB 4.7,
it is advised to also use the supplied build/db.4.7.25.patch.
CLIENTS/CONTRIB ware:
Depends on package. See per package README.
MAKING AND INSTALLING THE DISTRIBUTION
Please see the INSTALL file for basic instructions. More
detailed instructions can be found in the OpenLDAP Admnistrator's
Guide (see DOCUMENTATION section).
DOCUMENTATION
The OpenLDAP Administrator's Guide is available in the
guide.html file in the doc/guide/admin directory. The
guide and a number of other documents are available at
<http://www.openldap.org/doc/admin/guide.html>.
The distribution also includes manual pages for most programs
and library APIs. See ldap(3) for details.
The OpenLDAP website is available and 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/>.
SUPPORT / FEEDBACK / PROBLEM REPORTS / DISCUSSIONS
OpenLDAP Software is user supported. If you have problems, please
review the OpenLDAP FAQ <http://www.openldap.org/faq/> and
archives of the OpenLDAP-software and OpenLDAP-bugs mailing lists
<http://www.openldap.org/lists/>. If you cannot find the answer,
please enquire on the OpenLDAP-software list.
Issues, such as bug reports, should be reported using our our
Issue Tracking System <http://www.OpenLDAP.org/its/>. Do not
use this system for software enquiries. Please direct these
to an appropriate mailing list.
CONTRIBUTING
See <http://www.openldap.org/devel/contributing.html> for
information regarding how to contribute code or documentation
to the OpenLDAP Project for inclusion in OpenLDAP Software.
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
<http://www.openldap.org/its/> to be considered.
--- ---
$OpenLDAP$ $OpenLDAP$
......
As posted to http://www.openldap.org/lists/openldap-devel/200610/msg00027.html
This is Sleepycat bug #14908. The provided patch is for 4.2.52. The
same bug is present in all versions up to 4.5.20 where it is fixed.
-------- Original Message --------
Subject: region size bug Re: [BDB-Alpha] Berkeley DB 4.5.8 ALPHA
Date: Mon, 10 Jul 2006 13:37:33 -0700
From: Howard Chu <hyc@symas.com>
To: support@sleepycat.com
CC: support@symas.com
References: <45A742B5-7DD5-4512-A204-A10FE8FC5DFC@oracle.com>
I just ran into this in 4.2.52 but the same calculation occurs in 4.4
and 4.5.8 alpha:
This computation gives the wrong results when the number of cache
regions is greater than the number of gigabytes (which we encounter on
Linux using shared memory regions, which are constrained to much smaller
than a gigabyte each).
in mp/mp_region.c:
roff_t reg_size;
/* Figure out how big each cache region is. */
reg_size = (roff_t)(dbenv->mp_gbytes / dbenv->mp_ncache) * GIGABYTE;
reg_size += ((roff_t)(dbenv->mp_gbytes %
dbenv->mp_ncache) * GIGABYTE) / dbenv->mp_ncache;
reg_size += dbenv->mp_bytes / dbenv->mp_ncache;
*reg_sizep = reg_size;
The first reg_size calculation always goes to zero when mp_ncache >
mp_gbytes.
This should have been, instead:
reg_size = GIGABYTE / dbenv->mp_ncache * dbenv->mp_gbytes;
--- mp/mp_region.c.O 2003-06-30 10:20:19.000000000 -0700
+++ mp/mp_region.c 2006-10-27 23:25:05.000000000 -0700
@@ -43,9 +43,7 @@
int htab_buckets, ret;
/* Figure out how big each cache region is. */
- reg_size = (dbenv->mp_gbytes / dbenv->mp_ncache) * GIGABYTE;
- reg_size += ((dbenv->mp_gbytes %
- dbenv->mp_ncache) * GIGABYTE) / dbenv->mp_ncache;
+ reg_size = GIGABYTE / dbenv->mp_ncache * dbenv->mp_gbytes;
reg_size += dbenv->mp_bytes / dbenv->mp_ncache;
/*
--- db-4.7.25/lock/lock.c.orig 2008-05-07 05:27:35.000000000 -0700
+++ db-4.7.25/lock/lock.c 2008-09-26 11:07:15.000000000 -0700
@@ -1274,10 +1274,12 @@
SH_TAILQ_REMOVE(
&lt->obj_tab[obj_ndx], sh_obj, links, __db_lockobj);
if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) {
- LOCK_REGION_LOCK(env);
+ if (region->part_t_size != 1)
+ LOCK_REGION_LOCK(env);
__env_alloc_free(&lt->reginfo,
SH_DBT_PTR(&sh_obj->lockobj));
- LOCK_REGION_UNLOCK(env);
+ if (region->part_t_size != 1)
+ LOCK_REGION_UNLOCK(env);
}
SH_TAILQ_INSERT_HEAD(
&FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj);
@@ -1467,15 +1469,21 @@
if (obj->size <= sizeof(sh_obj->objdata))
p = sh_obj->objdata;
else {
- LOCK_REGION_LOCK(env);
+ /*
+ * If we have only one partition, the region is locked.
+ */
+ if (region->part_t_size != 1)
+ LOCK_REGION_LOCK(env);
if ((ret =
__env_alloc(&lt->reginfo, obj->size, &p)) != 0) {
__db_errx(env,
"No space for lock object storage");
- LOCK_REGION_UNLOCK(env);
+ if (region->part_t_size != 1)
+ LOCK_REGION_UNLOCK(env);
goto err;
}
- LOCK_REGION_UNLOCK(env);
+ if (region->part_t_size != 1)
+ LOCK_REGION_UNLOCK(env);
}
memcpy(p, obj->data, obj->size);
...@@ -288,24 +288,6 @@ AC_DEFUN([OL_BERKELEY_DB_TRY], ...@@ -288,24 +288,6 @@ AC_DEFUN([OL_BERKELEY_DB_TRY],
#define NULL ((void*)0) #define NULL ((void*)0)
#endif #endif
]], [[ ]], [[
#if DB_VERSION_MAJOR > 1
{
char *version;
int major, minor, patch;
version = db_version( &major, &minor, &patch );
if( major != DB_VERSION_MAJOR ||
minor < DB_VERSION_MINOR )
{
printf("Berkeley DB version mismatch\n"
"\theader: %s\n\tlibrary: %s\n",
DB_VERSION_STRING, version);
return 1;
}
}
#endif
#if DB_VERSION_MAJOR > 2 #if DB_VERSION_MAJOR > 2
db_env_create( NULL, 0 ); db_env_create( NULL, 0 );
#elif DB_VERSION_MAJOR > 1 #elif DB_VERSION_MAJOR > 1
...@@ -325,209 +307,53 @@ fi ...@@ -325,209 +307,53 @@ fi
]) ])
dnl dnl
dnl -------------------------------------------------------------------- dnl --------------------------------------------------------------------
dnl Try to locate appropriate library dnl Get major and minor version from <db.h>
AC_DEFUN([OL_BERKELEY_DB_LINK], AC_DEFUN([OL_BDB_HEADER_VERSION],
[ol_cv_lib_db=no [AC_CACHE_CHECK([for Berkeley DB major version in db.h], [ol_cv_bdb_major],[
AC_LANG_CONFTEST([
dnl Determine major version
AC_CACHE_CHECK([for Berkeley DB major version], [ol_cv_bdb_major],[
ol_cv_bdb_major=0
if test $ol_cv_bdb_major = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MAJOR
# define DB_VERSION_MAJOR 1
#endif
#if DB_VERSION_MAJOR == 4
__db_version
#endif
], [ol_cv_bdb_major=4], [:])
fi
if test $ol_cv_bdb_major = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MAJOR
# define DB_VERSION_MAJOR 1
#endif
#if DB_VERSION_MAJOR == 3
__db_version
#endif
], [ol_cv_bdb_major=3], [:])
fi
if test $ol_cv_bdb_major = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h> #include <db.h>
#ifndef DB_VERSION_MAJOR #ifndef DB_VERSION_MAJOR
# define DB_VERSION_MAJOR 1 # define DB_VERSION_MAJOR 1
#endif #endif
#if DB_VERSION_MAJOR == 2 __db_version DB_VERSION_MAJOR
__db_version ])
#endif set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none
], [ol_cv_bdb_major=2], [:]) ol_cv_bdb_major=${3}
fi
if test $ol_cv_bdb_major = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MAJOR
# define DB_VERSION_MAJOR 1
#endif
#if DB_VERSION_MAJOR == 1
__db_version
#endif
], [ol_cv_bdb_major=1], [:])
fi
if test $ol_cv_bdb_major = 0 ; then
AC_MSG_ERROR([Unknown Berkeley DB major version])
fi
]) ])
case $ol_cv_bdb_major in [[1-9]]*) : ;; *)
AC_MSG_ERROR([Unknown Berkeley DB major version in db.h]) ;;
esac
dnl Determine minor version dnl Determine minor version
AC_CACHE_CHECK([for Berkeley DB minor version], [ol_cv_bdb_minor],[ AC_CACHE_CHECK([for Berkeley DB minor version in db.h], [ol_cv_bdb_minor],[
ol_cv_bdb_minor=0 AC_LANG_CONFTEST([
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 9
__db_version
#endif
], [ol_cv_bdb_minor=9], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 8
__db_version
#endif
], [ol_cv_bdb_minor=8], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 7
__db_version
#endif
], [ol_cv_bdb_minor=7], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 6
__db_version
#endif
], [ol_cv_bdb_minor=6], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h> #include <db.h>
#ifndef DB_VERSION_MINOR #ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0 # define DB_VERSION_MINOR 0
#endif #endif
#if DB_VERSION_MINOR == 5 __db_version DB_VERSION_MINOR
__db_version ])
#endif set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none
], [ol_cv_bdb_minor=5], [:]) ol_cv_bdb_minor=${3}
fi ])
if test $ol_cv_bdb_minor = 0 ; then case $ol_cv_bdb_minor in [[0-9]]*) : ;; *)
AC_EGREP_CPP(__db_version, [ AC_MSG_ERROR([Unknown Berkeley DB minor version in db.h]) ;;
#include <db.h> esac
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 4
__db_version
#endif
], [ol_cv_bdb_minor=4], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 3
__db_version
#endif
], [ol_cv_bdb_minor=3], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 2
__db_version
#endif
], [ol_cv_bdb_minor=2], [:])
fi
if test $ol_cv_bdb_minor = 0 ; then
AC_EGREP_CPP(__db_version, [
#include <db.h>
#ifndef DB_VERSION_MINOR
# define DB_VERSION_MINOR 0
#endif
#if DB_VERSION_MINOR == 1
__db_version
#endif
], [ol_cv_bdb_minor=1], [:])
fi
]) ])
dnl
dnl --------------------------------------------------------------------
dnl Try to locate appropriate library
AC_DEFUN([OL_BERKELEY_DB_LINK],
[ol_cv_lib_db=no
if test $ol_cv_bdb_major = 4 ; then if test $ol_cv_bdb_major = 4 ; then
if test $ol_cv_bdb_minor = 6 ; then OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_m,[-ldb-4.$ol_cv_bdb_minor])
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_6,[-ldb-4.6]) OL_BERKELEY_DB_TRY(ol_cv_db_db4m,[-ldb4$ol_cv_bdb_minor])
OL_BERKELEY_DB_TRY(ol_cv_db_db46,[-ldb46]) OL_BERKELEY_DB_TRY(ol_cv_db_db_4m,[-ldb-4$ol_cv_bdb_minor])
OL_BERKELEY_DB_TRY(ol_cv_db_db_46,[-ldb-46]) OL_BERKELEY_DB_TRY(ol_cv_db_db_4_m,[-ldb-4-$ol_cv_bdb_minor])
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_6,[-ldb-4-6])
elif test $ol_cv_bdb_minor = 5 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_5,[-ldb-4.5])
OL_BERKELEY_DB_TRY(ol_cv_db_db45,[-ldb45])
OL_BERKELEY_DB_TRY(ol_cv_db_db_45,[-ldb-45])
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_5,[-ldb-4-5])
elif test $ol_cv_bdb_minor = 4 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_4,[-ldb-4.4])
OL_BERKELEY_DB_TRY(ol_cv_db_db44,[-ldb44])
OL_BERKELEY_DB_TRY(ol_cv_db_db_44,[-ldb-44])
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_4,[-ldb-4-4])
elif test $ol_cv_bdb_minor = 3 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_3,[-ldb-4.3])
OL_BERKELEY_DB_TRY(ol_cv_db_db43,[-ldb43])
OL_BERKELEY_DB_TRY(ol_cv_db_db_43,[-ldb-43])
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_3,[-ldb-4-3])
elif test $ol_cv_bdb_minor = 2 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_2,[-ldb-4.2])
OL_BERKELEY_DB_TRY(ol_cv_db_db42,[-ldb42])
OL_BERKELEY_DB_TRY(ol_cv_db_db_42,[-ldb-42])
OL_BERKELEY_DB_TRY(ol_cv_db_db_4_2,[-ldb-4-2])
fi
OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4]) OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4])
OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4]) OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4])
OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb]) OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb])
elif test $ol_cv_bdb_major = 3 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3])
OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3])
elif test $ol_cv_bdb_major = 2 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2])
OL_BERKELEY_DB_TRY(ol_cv_db_db_2,[-ldb-2])
elif test $ol_cv_bdb_major = 1 ; then
OL_BERKELEY_DB_TRY(ol_cv_db_db1,[-ldb1])
OL_BERKELEY_DB_TRY(ol_cv_db_db_1,[-ldb-1])
fi fi
OL_BERKELEY_DB_TRY(ol_cv_db_none) OL_BERKELEY_DB_TRY(ol_cv_db_none)
]) ])
...@@ -535,7 +361,7 @@ dnl ...@@ -535,7 +361,7 @@ dnl
dnl -------------------------------------------------------------------- dnl --------------------------------------------------------------------
dnl Check if Berkeley DB version dnl Check if Berkeley DB version
AC_DEFUN([OL_BERKELEY_DB_VERSION], AC_DEFUN([OL_BERKELEY_DB_VERSION],
[AC_CACHE_CHECK([for Berkeley DB version match], [ol_cv_berkeley_db_version], [ [AC_CACHE_CHECK([for Berkeley DB library and header version match], [ol_cv_berkeley_db_version], [
ol_LIBS="$LIBS" ol_LIBS="$LIBS"
LIBS="$LTHREAD_LIBS $LIBS" LIBS="$LTHREAD_LIBS $LIBS"
if test $ol_cv_lib_db != yes ; then if test $ol_cv_lib_db != yes ; then
...@@ -674,6 +500,13 @@ AC_DEFUN([OL_BERKELEY_DB], ...@@ -674,6 +500,13 @@ AC_DEFUN([OL_BERKELEY_DB],
[ol_cv_berkeley_db=no [ol_cv_berkeley_db=no
AC_CHECK_HEADERS(db.h) AC_CHECK_HEADERS(db.h)
if test $ac_cv_header_db_h = yes; then if test $ac_cv_header_db_h = yes; then
OL_BDB_HEADER_VERSION
OL_BDB_COMPAT
if test $ol_cv_bdb_compat != yes ; then
AC_MSG_ERROR([BerkeleyDB version incompatible with BDB/HDB backends])
fi
OL_BERKELEY_DB_LINK OL_BERKELEY_DB_LINK
if test "$ol_cv_lib_db" != no ; then if test "$ol_cv_lib_db" != no ; then
ol_cv_berkeley_db=yes ol_cv_berkeley_db=yes
...@@ -685,7 +518,7 @@ fi ...@@ -685,7 +518,7 @@ fi
dnl -------------------------------------------------------------------- dnl --------------------------------------------------------------------
dnl Check for version compatility with back-bdb dnl Check for version compatility with back-bdb
AC_DEFUN([OL_BDB_COMPAT], AC_DEFUN([OL_BDB_COMPAT],
[AC_CACHE_CHECK([Berkeley DB version for BDB/HDB backends], [ol_cv_bdb_compat],[ [AC_CACHE_CHECK([if Berkeley DB version supported by BDB/HDB backends], [ol_cv_bdb_compat],[
AC_EGREP_CPP(__db_version_compat,[ AC_EGREP_CPP(__db_version_compat,[
#include <db.h> #include <db.h>
...@@ -697,44 +530,15 @@ AC_DEFUN([OL_BDB_COMPAT], ...@@ -697,44 +530,15 @@ AC_DEFUN([OL_BDB_COMPAT],
# define DB_VERSION_MINOR 0 # define DB_VERSION_MINOR 0
#endif #endif
/* require 4.2 or later, but exclude 4.3 */ #define DB_VERSION_MM ((DB_VERSION_MAJOR<<8)|DB_VERSION_MINOR)
#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 2) && (DB_VERSION_MINOR !=3)
/* require 4.4 or later */
#if DB_VERSION_MM >= 0x0404
__db_version_compat __db_version_compat
#endif #endif
], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])]) ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])])
]) ])
dnl --------------------------------------------------------------------
dnl Find old Berkeley DB 1.85/1.86
AC_DEFUN([OL_BERKELEY_COMPAT_DB],
[AC_CHECK_HEADERS(db_185.h db.h)
if test $ac_cv_header_db_185_h = yes || test $ac_cv_header_db_h = yes; then
AC_CACHE_CHECK([if Berkeley DB header compatibility], [ol_cv_header_db1],[
AC_EGREP_CPP(__db_version_1,[
#if HAVE_DB_185_H
# include <db_185.h>
#else
# include <db.h>
#endif
/* this check could be improved */
#ifndef DB_VERSION_MAJOR
# define DB_VERSION_MAJOR 1
#endif
#if DB_VERSION_MAJOR == 1
__db_version_1
#endif
], [ol_cv_header_db1=yes], [ol_cv_header_db1=no])])
if test $ol_cv_header_db1 = yes ; then
OL_BERKELEY_DB_LINK
if test "$ol_cv_lib_db" != no ; then
ol_cv_berkeley_db=yes
fi
fi
fi
])
dnl dnl
dnl ==================================================================== dnl ====================================================================
dnl Check POSIX Thread version dnl Check POSIX Thread version
......
...@@ -159,6 +159,7 @@ LUTIL_LIBS = @LUTIL_LIBS@ ...@@ -159,6 +159,7 @@ LUTIL_LIBS = @LUTIL_LIBS@
LTHREAD_LIBS = @LTHREAD_LIBS@ LTHREAD_LIBS = @LTHREAD_LIBS@
BDB_LIBS = @BDB_LIBS@ BDB_LIBS = @BDB_LIBS@
SLAPD_NDB_LIBS = @SLAPD_NDB_LIBS@
LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la LDAP_LIBLBER_LA = $(LDAP_LIBDIR)/liblber/liblber.la
LDAP_LIBLDAP_LA = $(LDAP_LIBDIR)/libldap/libldap.la LDAP_LIBLDAP_LA = $(LDAP_LIBDIR)/libldap/libldap.la
...@@ -185,9 +186,10 @@ KRB4_LIBS = @KRB4_LIBS@ ...@@ -185,9 +186,10 @@ KRB4_LIBS = @KRB4_LIBS@
KRB5_LIBS = @KRB5_LIBS@ KRB5_LIBS = @KRB5_LIBS@
KRB_LIBS = @KRB4_LIBS@ @KRB5_LIBS@ KRB_LIBS = @KRB4_LIBS@ @KRB5_LIBS@
SASL_LIBS = @SASL_LIBS@ SASL_LIBS = @SASL_LIBS@
GSSAPI_LIBS = @GSSAPI_LIBS@
TLS_LIBS = @TLS_LIBS@ TLS_LIBS = @TLS_LIBS@
AUTH_LIBS = @AUTH_LIBS@ AUTH_LIBS = @AUTH_LIBS@
SECURITY_LIBS = $(SASL_LIBS) $(KRB_LIBS) $(TLS_LIBS) $(AUTH_LIBS) SECURITY_LIBS = $(SASL_LIBS) $(KRB_LIBS) $(GSSAPI_LIBS) $(TLS_LIBS) $(AUTH_LIBS)
ICU_LIBS = @ICU_LIBS@ ICU_LIBS = @ICU_LIBS@
MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@ MODULES_CPPFLAGS = @SLAPD_MODULES_CPPFLAGS@
......
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
## <http://www.OpenLDAP.org/license.html>. ## <http://www.OpenLDAP.org/license.html>.
ol_package=OpenLDAP ol_package=OpenLDAP
ol_major=2 ol_major=2
ol_minor=X ol_minor=4
ol_patch=X ol_patch=X
ol_api_inc=000000 ol_api_inc=20412
ol_api_current=0 ol_api_current=4
ol_api_revision=0 ol_api_revision=0
ol_api_age=0 ol_api_age=2
ol_release_date="0000/00/00" ol_release_date="2008/10/12"
...@@ -93,6 +93,7 @@ char *sasl_secprops = NULL; ...@@ -93,6 +93,7 @@ char *sasl_secprops = NULL;
/* controls */ /* controls */
int assertctl; int assertctl;
char *assertion = NULL; char *assertion = NULL;
struct berval assertionvalue = BER_BVNULL;
char *authzid = NULL; char *authzid = NULL;
/* support deprecated early version of proxyAuthz */ /* support deprecated early version of proxyAuthz */
#define LDAP_CONTROL_OBSOLETE_PROXY_AUTHZ "2.16.840.1.113730.3.4.12" #define LDAP_CONTROL_OBSOLETE_PROXY_AUTHZ "2.16.840.1.113730.3.4.12"
...@@ -133,6 +134,7 @@ static int print_paged_results( LDAP *ld, LDAPControl *ctrl ); ...@@ -133,6 +134,7 @@ static int print_paged_results( LDAP *ld, LDAPControl *ctrl );
#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST #ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
static int print_ppolicy( LDAP *ld, LDAPControl *ctrl ); static int print_ppolicy( LDAP *ld, LDAPControl *ctrl );
#endif #endif
static int print_sss( LDAP *ld, LDAPControl *ctrl );
static struct tool_ctrls_t { static struct tool_ctrls_t {
const char *oid; const char *oid;
...@@ -145,6 +147,7 @@ static struct tool_ctrls_t { ...@@ -145,6 +147,7 @@ static struct tool_ctrls_t {
#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST #ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
{ LDAP_CONTROL_PASSWORDPOLICYRESPONSE, TOOL_ALL, print_ppolicy }, { LDAP_CONTROL_PASSWORDPOLICYRESPONSE, TOOL_ALL, print_ppolicy },
#endif #endif
{ LDAP_CONTROL_SORTRESPONSE, TOOL_SEARCH, print_sss },
{ NULL, 0, NULL } { NULL, 0, NULL }
}; };
...@@ -244,8 +247,8 @@ N_(" -c continuous operation mode (do not stop on errors)\n"), ...@@ -244,8 +247,8 @@ N_(" -c continuous operation mode (do not stop on errors)\n"),
N_(" -d level set LDAP debugging level to `level'\n"), N_(" -d level set LDAP debugging level to `level'\n"),
N_(" -D binddn bind DN\n"), N_(" -D binddn bind DN\n"),
N_(" -e [!]<ext>[=<extparam>] general extensions (! indicates criticality)\n") N_(" -e [!]<ext>[=<extparam>] general extensions (! indicates criticality)\n")
N_(" [!]assert=<filter> (a RFC 4515 Filter string)\n") N_(" [!]assert=<filter> (RFC 4528; a RFC 4515 Filter string)\n")
N_(" [!]authzid=<authzid> (\"dn:<dn>\" or \"u:<user>\")\n") N_(" [!]authzid=<authzid> (RFC 4370; \"dn:<dn>\" or \"u:<user>\")\n")
#ifdef LDAP_CONTROL_OBSOLETE_PROXY_AUTHZ #ifdef LDAP_CONTROL_OBSOLETE_PROXY_AUTHZ
#if 0 #if 0
/* non-advertized support for proxyDN */ /* non-advertized support for proxyDN */
...@@ -257,13 +260,13 @@ N_(" [!]chaining[=<resolveBehavior>[/<continuationBehavior>]]\n") ...@@ -257,13 +260,13 @@ N_(" [!]chaining[=<resolveBehavior>[/<continuationBehavior>]]\n")
N_(" one of \"chainingPreferred\", \"chainingRequired\",\n") N_(" one of \"chainingPreferred\", \"chainingRequired\",\n")
N_(" \"referralsPreferred\", \"referralsRequired\"\n") N_(" \"referralsPreferred\", \"referralsRequired\"\n")
#endif /* LDAP_CONTROL_X_CHAINING_BEHAVIOR */ #endif /* LDAP_CONTROL_X_CHAINING_BEHAVIOR */
N_(" [!]manageDSAit\n") N_(" [!]manageDSAit (RFC 3296)\n")
N_(" [!]noop\n") N_(" [!]noop\n")
#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST #ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
N_(" ppolicy\n") N_(" ppolicy\n")
#endif #endif
N_(" [!]postread[=<attrs>] (a comma-separated attribute list)\n") N_(" [!]postread[=<attrs>] (RFC 4527; comma-separated attr list)\n")
N_(" [!]preread[=<attrs>] (a comma-separated attribute list)\n") N_(" [!]preread[=<attrs>] (RFC 4527; comma-separated attr list)\n")
N_(" [!]relax\n") N_(" [!]relax\n")
#ifdef LDAP_CONTROL_X_SESSION_TRACKING #ifdef LDAP_CONTROL_X_SESSION_TRACKING
N_(" [!]sessiontracking\n") N_(" [!]sessiontracking\n")
...@@ -1485,29 +1488,18 @@ tool_server_controls( LDAP *ld, LDAPControl *extra_c, int count ) ...@@ -1485,29 +1488,18 @@ tool_server_controls( LDAP *ld, LDAPControl *extra_c, int count )
} }
if ( assertctl ) { if ( assertctl ) {
BerElementBuffer berbuf; if ( BER_BVISNULL( &assertionvalue ) ) {
BerElement *ber = (BerElement *)&berbuf; err = ldap_create_assertion_control_value( ld,
assertion, &assertionvalue );
if( assertion == NULL || *assertion == '\0' ) { if ( err ) {
fprintf( stderr, "Assertion=<empty>\n" ); fprintf( stderr,
exit( EXIT_FAILURE ); "Unable to create assertion value "
} "\"%s\" (%d)\n", assertion, err );
}
ber_init2( ber, NULL, LBER_USE_DER );
err = ldap_pvt_put_filter( ber, assertion );
if( err < 0 ) {
fprintf( stderr, "assertion encode failed (%d)\n", err );
exit( EXIT_FAILURE );
}
err = ber_flatten2( ber, &c[i].ldctl_value, 0 );
if( err < 0 ) {
fprintf( stderr, "assertion flatten failed (%d)\n", err );
exit( EXIT_FAILURE );
} }
c[i].ldctl_oid = LDAP_CONTROL_ASSERT; c[i].ldctl_oid = LDAP_CONTROL_ASSERT;
c[i].ldctl_value = assertionvalue;
c[i].ldctl_iscritical = assertctl > 1; c[i].ldctl_iscritical = assertctl > 1;
ctrls[i] = &c[i]; ctrls[i] = &c[i];
i++; i++;
...@@ -1874,6 +1866,26 @@ print_paged_results( LDAP *ld, LDAPControl *ctrl ) ...@@ -1874,6 +1866,26 @@ print_paged_results( LDAP *ld, LDAPControl *ctrl )
return 0; return 0;
} }
static int
print_sss( LDAP *ld, LDAPControl *ctrl )
{
int rc;
ber_int_t err;
char *attr;
rc = ldap_parse_sortresponse_control( ld, ctrl, &err, &attr );
if ( rc == LDAP_SUCCESS ) {
char buf[ BUFSIZ ];
rc = snprintf( buf, sizeof(buf), "(%d) %s %s",
err, ldap_err2string(err), attr ? attr : "" );
tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
"sortResult", buf, rc );
}
return rc;
}
#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST #ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
static int static int
print_ppolicy( LDAP *ld, LDAPControl *ctrl ) print_ppolicy( LDAP *ld, LDAPControl *ctrl )
......
...@@ -389,7 +389,6 @@ main( int argc, char *argv[] ) ...@@ -389,7 +389,6 @@ main( int argc, char *argv[] )
" new password expected", NULL, NULL, NULL ); " new password expected", NULL, NULL, NULL );
} }
skip:
if( verbose || code != LDAP_SUCCESS || if( verbose || code != LDAP_SUCCESS ||
matcheddn || text || refs || ctrls ) matcheddn || text || refs || ctrls )
{ {
......
...@@ -126,11 +126,13 @@ usage( void ) ...@@ -126,11 +126,13 @@ usage( void )
fprintf( stderr, _(" -E [!]<ext>[=<extparam>] search extensions (! indicates criticality)\n")); fprintf( stderr, _(" -E [!]<ext>[=<extparam>] search extensions (! indicates criticality)\n"));
fprintf( stderr, _(" [!]domainScope (domain scope)\n")); fprintf( stderr, _(" [!]domainScope (domain scope)\n"));
fprintf( stderr, _(" !dontUseCopy (Don't Use Copy)\n")); fprintf( stderr, _(" !dontUseCopy (Don't Use Copy)\n"));
fprintf( stderr, _(" [!]mv=<filter> (matched values filter)\n")); fprintf( stderr, _(" [!]mv=<filter> (RFC 3876 matched values filter)\n"));
fprintf( stderr, _(" [!]pr=<size>[/prompt|noprompt] (paged results/prompt)\n")); fprintf( stderr, _(" [!]pr=<size>[/prompt|noprompt] (RFC 2696 paged results/prompt)\n"));
fprintf( stderr, _(" [!]subentries[=true|false] (subentries)\n")); fprintf( stderr, _(" [!]sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...]\n"));
fprintf( stderr, _(" [!]sync=ro[/<cookie>] (LDAP Sync refreshOnly)\n")); fprintf( stderr, _(" (RFC 2891 server side sorting)\n"));
fprintf( stderr, _(" rp[/<cookie>][/<slimit>] (LDAP Sync refreshAndPersist)\n")); fprintf( stderr, _(" [!]subentries[=true|false] (RFC 3672 subentries)\n"));
fprintf( stderr, _(" [!]sync=ro[/<cookie>] (RFC 4533 LDAP Sync refreshOnly)\n"));
fprintf( stderr, _(" rp[/<cookie>][/<slimit>] (refreshAndPersist)\n"));
fprintf( stderr, _(" [!]<oid>=:<value> (generic control; no response handling)\n")); fprintf( stderr, _(" [!]<oid>=:<value> (generic control; no response handling)\n"));
fprintf( stderr, _(" -F prefix URL prefix for files (default: %s)\n"), def_urlpre); fprintf( stderr, _(" -F prefix URL prefix for files (default: %s)\n"), def_urlpre);
fprintf( stderr, _(" -l limit time limit (in seconds, or \"none\" or \"max\") for search\n")); fprintf( stderr, _(" -l limit time limit (in seconds, or \"none\" or \"max\") for search\n"));
...@@ -199,6 +201,9 @@ static int dontUseCopy = 0; ...@@ -199,6 +201,9 @@ static int dontUseCopy = 0;
static int domainScope = 0; static int domainScope = 0;
static int sss = 0;
static LDAPSortKey **sss_keys = NULL;
static int ldapsync = 0; static int ldapsync = 0;
static struct berval sync_cookie = { 0, NULL }; static struct berval sync_cookie = { 0, NULL };
static int sync_slimit = -1; static int sync_slimit = -1;
...@@ -395,6 +400,31 @@ handle_private_option( int i ) ...@@ -395,6 +400,31 @@ handle_private_option( int i )
domainScope = 1 + crit; domainScope = 1 + crit;
} else if ( strcasecmp( control, "sss" ) == 0 ) {
char *keyp;
if( sss ) {
fprintf( stderr,
_("server side sorting control previously specified\n"));
exit( EXIT_FAILURE );
}
if( cvalue == NULL ) {
fprintf( stderr,
_("missing specification of sss control\n") );
exit( EXIT_FAILURE );
}
keyp = cvalue;
while ( ( keyp = strchr(keyp, '/') ) != NULL ) {
*keyp++ = ' ';
}
if ( ldap_create_sort_keylist( &sss_keys, cvalue )) {
fprintf( stderr,
_("server side sorting control value \"%s\" invalid\n"),
cvalue );
exit( EXIT_FAILURE );
}
sss = 1 + crit;
} else if ( strcasecmp( control, "subentries" ) == 0 ) { } else if ( strcasecmp( control, "subentries" ) == 0 ) {
if( subentries ) { if( subentries ) {
fprintf( stderr, fprintf( stderr,
...@@ -754,6 +784,7 @@ getNextPage: ...@@ -754,6 +784,7 @@ getNextPage:
|| domainScope || domainScope
|| pagedResults || pagedResults
|| ldapsync || ldapsync
|| sss
|| subentries || subentries
|| valuesReturnFilter ) || valuesReturnFilter )
{ {
...@@ -886,6 +917,22 @@ getNextPage: ...@@ -886,6 +917,22 @@ getNextPage:
c[i].ldctl_iscritical = pagedResults > 1; c[i].ldctl_iscritical = pagedResults > 1;
i++; i++;
} }
if ( sss ) {
if ( ctrl_add() ) {
return EXIT_FAILURE;
}
if ( ldap_create_sort_control_value( ld,
sss_keys, &c[i].ldctl_value ) )
{
return EXIT_FAILURE;
}
c[i].ldctl_oid = LDAP_CONTROL_SORTREQUEST;
c[i].ldctl_iscritical = sss > 1;
i++;
}
} }
tool_server_controls( ld, c, i ); tool_server_controls( ld, c, i );
...@@ -968,6 +1015,10 @@ getNextPage: ...@@ -968,6 +1015,10 @@ getNextPage:
(pagedResults > 1) ? _("critical ") : "", (pagedResults > 1) ? _("critical ") : "",
pageSize ); pageSize );
} }
if ( sss ) {
printf(_("\n# with server side sorting %scontrol"),
sss > 1 ? _("critical ") : "" );
}
printf( _("\n#\n\n") ); printf( _("\n#\n\n") );
...@@ -1051,6 +1102,9 @@ getNextPage: ...@@ -1051,6 +1102,9 @@ getNextPage:
if ( control != NULL ) { if ( control != NULL ) {
ber_memfree( control ); ber_memfree( control );
} }
if ( sss_keys != NULL ) {
ldap_free_sort_keylist( sss_keys );
}
if ( c ) { if ( c ) {
for ( ; save_nctrls-- > 0; ) { for ( ; save_nctrls-- > 0; ) {
......
This diff is collapsed.
...@@ -242,6 +242,8 @@ OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support], ...@@ -242,6 +242,8 @@ OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
auto, [auto yes no] ) auto, [auto yes no] )
OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support], OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
auto, [auto yes no] ) auto, [auto yes no] )
OL_ARG_WITH(gssapi,[ --with-gssapi with GSSAPI support],
auto, [auto yes no] )
OL_ARG_WITH(threads,[ --with-threads with threads], OL_ARG_WITH(threads,[ --with-threads with threads],
auto, [auto nt posix mach pth lwp yes no manual] ) auto, [auto nt posix mach pth lwp yes no manual] )
OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls], OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls],
...@@ -253,8 +255,8 @@ OL_ARG_WITH(mp, ...@@ -253,8 +255,8 @@ OL_ARG_WITH(mp,
[ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp], [ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp],
auto, [auto longlong long bignum gmp yes no]) auto, [auto longlong long bignum gmp yes no])
OL_ARG_WITH(odbc, OL_ARG_WITH(odbc,
[ --with-odbc with specific ODBC support iodbc|unixodbc|auto], [ --with-odbc with specific ODBC support iodbc|unixodbc|odbc32|auto],
auto, [auto iodbc unixodbc] ) auto, [auto iodbc unixodbc odbc32] )
dnl ---------------------------------------------------------------- dnl ----------------------------------------------------------------
dnl Server options dnl Server options
...@@ -286,6 +288,7 @@ Backends="bdb \ ...@@ -286,6 +288,7 @@ Backends="bdb \
ldap \ ldap \
meta \ meta \
monitor \ monitor \
ndb \
null \ null \
passwd \ passwd \
perl \ perl \
...@@ -311,6 +314,8 @@ OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], ...@@ -311,6 +314,8 @@ OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
no, [no yes mod], ol_enable_backends)dnl no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
yes, [no yes mod], ol_enable_backends)dnl yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(null,[ --enable-null enable null backend], OL_ARG_ENABLE(null,[ --enable-null enable null backend],
no, [no yes mod], ol_enable_backends)dnl no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
...@@ -330,6 +335,7 @@ dnl ---------------------------------------------------------------- ...@@ -330,6 +335,7 @@ dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options dnl SLAPD Overlay Options
Overlays="accesslog \ Overlays="accesslog \
auditlog \ auditlog \
collect \
constraint \ constraint \
dds \ dds \
dyngroup \ dyngroup \
...@@ -355,6 +361,8 @@ OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging ov ...@@ -355,6 +361,8 @@ OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging ov
no, [no yes mod], ol_enable_overlays) no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay], OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
no, [no yes mod], ol_enable_overlays) no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay], OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
no, [no yes mod], ol_enable_overlays) no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay], OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
...@@ -460,6 +468,7 @@ elif test $ol_enable_modules != yes && ...@@ -460,6 +468,7 @@ elif test $ol_enable_modules != yes &&
test $ol_enable_ldap = no && test $ol_enable_ldap = no &&
test $ol_enable_meta = no && test $ol_enable_meta = no &&
test $ol_enable_monitor = no && test $ol_enable_monitor = no &&
test $ol_enable_ndb = no &&
test $ol_enable_null = no && test $ol_enable_null = no &&
test $ol_enable_passwd = no && test $ol_enable_passwd = no &&
test $ol_enable_perl = no && test $ol_enable_perl = no &&
...@@ -500,6 +509,8 @@ dnl ---------------------------------------------------------------- ...@@ -500,6 +509,8 @@ dnl ----------------------------------------------------------------
dnl Initialize vars dnl Initialize vars
LDAP_LIBS= LDAP_LIBS=
BDB_LIBS= BDB_LIBS=
SLAPD_NDB_LIBS=
SLAPD_NDB_INCS=
LTHREAD_LIBS= LTHREAD_LIBS=
LUTIL_LIBS= LUTIL_LIBS=
...@@ -518,6 +529,7 @@ BUILD_HDB=no ...@@ -518,6 +529,7 @@ BUILD_HDB=no
BUILD_LDAP=no BUILD_LDAP=no
BUILD_META=no BUILD_META=no
BUILD_MONITOR=no BUILD_MONITOR=no
BUILD_NDB=no
BUILD_NULL=no BUILD_NULL=no
BUILD_PASSWD=no BUILD_PASSWD=no
BUILD_PERL=no BUILD_PERL=no
...@@ -566,6 +578,7 @@ SLAPD_SQL_INCLUDES= ...@@ -566,6 +578,7 @@ SLAPD_SQL_INCLUDES=
KRB4_LIBS= KRB4_LIBS=
KRB5_LIBS= KRB5_LIBS=
SASL_LIBS= SASL_LIBS=
GSSAPI_LIBS=
TLS_LIBS= TLS_LIBS=
MODULES_LIBS= MODULES_LIBS=
SLAPI_LIBS= SLAPI_LIBS=
...@@ -1110,6 +1123,58 @@ if test $ol_enable_local != no ; then ...@@ -1110,6 +1123,58 @@ if test $ol_enable_local != no ; then
fi fi
fi fi
dnl ----------------------------------------------------------------
dnl GSSAPI
ol_link_gssapi=no
case $ol_with_gssapi in yes | auto)
ol_header_gssapi=no
AC_CHECK_HEADERS(gssapi/gssapi.h)
if test $ac_cv_header_gssapi_gssapi_h = yes ; then
ol_header_gssapi=yes
else
AC_CHECK_HEADERS(gssapi.h)
if test $ac_cv_header_gssapi_h = yes ; then
ol_header_gssapi=yes
fi
dnl## not every gssapi has gss_oid_to_str()
dnl## as it's not defined in the GSSAPI V2 API
dnl## anymore
saveLIBS="$LIBS"
LIBS="$LIBS $GSSAPI_LIBS"
AC_CHECK_FUNCS(gss_oid_to_str)
LIBS="$saveLIBS"
fi
if test $ol_header_gssapi = yes ; then
dnl## we check for gss_wrap
dnl## as it's new to the GSSAPI V2 API
AC_CHECK_LIB(gssapi, gss_wrap,
[ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi"],
[ol_link_gssapi=no])
if test $ol_link_gssapi != yes ; then
AC_CHECK_LIB(gssapi_krb5, gss_wrap,
[ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi_krb5"],
[ol_link_gssapi=no])
fi
fi
;;
esac
WITH_GSSAPI=no
if test $ol_link_gssapi = yes; then
AC_DEFINE(HAVE_GSSAPI, 1, [define if you have GSSAPI])
WITH_GSSAPI=yes
elif test $ol_with_gssapi = auto ; then
AC_MSG_WARN([Could not locate GSSAPI package])
AC_MSG_WARN([GSSAPI authentication not supported!])
elif test $ol_with_gssapi = yes ; then
AC_MSG_ERROR([GSSAPI detection failed])
fi
dnl ---------------------------------------------------------------- dnl ----------------------------------------------------------------
dnl TLS/SSL dnl TLS/SSL
...@@ -1840,12 +1905,6 @@ if test $ol_enable_bdb/$ol_enable_hdb != no/no; then ...@@ -1840,12 +1905,6 @@ if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
BDB_LIBS="$BDB_LIBS $ol_cv_lib_db" BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
fi fi
OL_BDB_COMPAT
if test $ol_cv_bdb_compat != yes ; then
AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
fi
SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)" SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
ol_link_bdb=yes ol_link_bdb=yes
...@@ -1929,7 +1988,7 @@ if test $ol_enable_sql != no ; then ...@@ -1929,7 +1988,7 @@ if test $ol_enable_sql != no ; then
LIBS="$LTHREAD_LIBS" LIBS="$LTHREAD_LIBS"
if test $ol_with_odbc = auto ; then if test $ol_with_odbc = auto ; then
ol_with_odbc="iodbc unixodbc" ol_with_odbc="iodbc unixodbc odbc32"
fi fi
for odbc in $ol_with_odbc ; do for odbc in $ol_with_odbc ; do
...@@ -1949,6 +2008,13 @@ if test $ol_enable_sql != no ; then ...@@ -1949,6 +2008,13 @@ if test $ol_enable_sql != no ; then
fi fi
;; ;;
odbc32)
AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
if test $have_odbc32 = yes ; then
ol_link_sql="-lodbc32"
fi
;;
*) *)
AC_MSG_ERROR([unknown ODBC library]) AC_MSG_ERROR([unknown ODBC library])
;; ;;
...@@ -1966,6 +2032,47 @@ if test $ol_enable_sql != no ; then ...@@ -1966,6 +2032,47 @@ if test $ol_enable_sql != no ; then
fi fi
fi fi
dnl ----------------------------------------------------------------
dnl MySQL NDBapi
dnl Note: uses C++, but we don't want to add C++ test overhead to
dnl the rest of the libtool machinery.
ol_link_ndb=no
if test $ol_enable_ndb != no ; then
AC_CHECK_PROG(MYSQL,mysql_config,yes)
if test "$MYSQL" != yes ; then
AC_MSG_ERROR([could not locate mysql_config])
fi
SQL_INC=`mysql_config --include`
SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$SLAPD_NDB_INCS"
AC_MSG_CHECKING(for NdbApi.hpp)
AC_PREPROC_IFELSE(
[AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
AC_MSG_RESULT(yes),
AC_MSG_ERROR([could not locate NdbApi headers])
)
CPPFLAGS="$save_CPPFLAGS"
SQL_LIB=`mysql_config --libs_r`
SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
save_LDFLAGS="$LDFLAGS"
save_LIBS="$LIBS"
LDFLAGS="$SQL_LIB"
AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
AC_MSG_ERROR([could not locate ndbclient library])
],[-lstdc++])
LIBS="$save_LIBS"
LDFLAGS="$save_LDFLAGS"
if test "$ol_enable_ndb" = yes ; then
SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
fi
fi
dnl ---------------------------------------------------------------- dnl ----------------------------------------------------------------
dnl International Components for Unicode dnl International Components for Unicode
OL_ICU OL_ICU
...@@ -2572,6 +2679,19 @@ if test "$ol_enable_meta" != no ; then ...@@ -2572,6 +2679,19 @@ if test "$ol_enable_meta" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend]) AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
fi fi
if test "$ol_enable_ndb" != no ; then
BUILD_SLAPD=yes
BUILD_NDB=$ol_enable_ndb
if test "$ol_enable_ndb" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
fi
if test "$ol_enable_null" != no ; then if test "$ol_enable_null" != no ; then
BUILD_SLAPD=yes BUILD_SLAPD=yes
BUILD_NULL=$ol_enable_null BUILD_NULL=$ol_enable_null
...@@ -2690,6 +2810,18 @@ if test "$ol_enable_auditlog" != no ; then ...@@ -2690,6 +2810,18 @@ if test "$ol_enable_auditlog" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay]) AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
fi fi
if test "$ol_enable_collect" != no ; then
BUILD_COLLECT=$ol_enable_collect
if test "$ol_enable_collect" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
else
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
fi
if test "$ol_enable_constraint" != no ; then if test "$ol_enable_constraint" != no ; then
BUILD_CONSTRAINT=$ol_enable_constraint BUILD_CONSTRAINT=$ol_enable_constraint
if test "$ol_enable_constraint" = mod ; then if test "$ol_enable_constraint" = mod ; then
...@@ -2916,6 +3048,7 @@ dnl backends ...@@ -2916,6 +3048,7 @@ dnl backends
AC_SUBST(BUILD_LDAP) AC_SUBST(BUILD_LDAP)
AC_SUBST(BUILD_META) AC_SUBST(BUILD_META)
AC_SUBST(BUILD_MONITOR) AC_SUBST(BUILD_MONITOR)
AC_SUBST(BUILD_NDB)
AC_SUBST(BUILD_NULL) AC_SUBST(BUILD_NULL)
AC_SUBST(BUILD_PASSWD) AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_RELAY) AC_SUBST(BUILD_RELAY)
...@@ -2926,6 +3059,7 @@ dnl backends ...@@ -2926,6 +3059,7 @@ dnl backends
dnl overlays dnl overlays
AC_SUBST(BUILD_ACCESSLOG) AC_SUBST(BUILD_ACCESSLOG)
AC_SUBST(BUILD_AUDITLOG) AC_SUBST(BUILD_AUDITLOG)
AC_SUBST(BUILD_COLLECT)
AC_SUBST(BUILD_CONSTRAINT) AC_SUBST(BUILD_CONSTRAINT)
AC_SUBST(BUILD_DDS) AC_SUBST(BUILD_DDS)
AC_SUBST(BUILD_DENYOP) AC_SUBST(BUILD_DENYOP)
...@@ -2947,6 +3081,8 @@ dnl overlays ...@@ -2947,6 +3081,8 @@ dnl overlays
AC_SUBST(LDAP_LIBS) AC_SUBST(LDAP_LIBS)
AC_SUBST(SLAPD_LIBS) AC_SUBST(SLAPD_LIBS)
AC_SUBST(BDB_LIBS) AC_SUBST(BDB_LIBS)
AC_SUBST(SLAPD_NDB_LIBS)
AC_SUBST(SLAPD_NDB_INCS)
AC_SUBST(LTHREAD_LIBS) AC_SUBST(LTHREAD_LIBS)
AC_SUBST(LUTIL_LIBS) AC_SUBST(LUTIL_LIBS)
AC_SUBST(WRAP_LIBS) AC_SUBST(WRAP_LIBS)
...@@ -2967,6 +3103,7 @@ AC_SUBST(MOD_PERL_LDFLAGS) ...@@ -2967,6 +3103,7 @@ AC_SUBST(MOD_PERL_LDFLAGS)
AC_SUBST(KRB4_LIBS) AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS) AC_SUBST(KRB5_LIBS)
AC_SUBST(SASL_LIBS) AC_SUBST(SASL_LIBS)
AC_SUBST(GSSAPI_LIBS)
AC_SUBST(TLS_LIBS) AC_SUBST(TLS_LIBS)
AC_SUBST(MODULES_LIBS) AC_SUBST(MODULES_LIBS)
AC_SUBST(SLAPI_LIBS) AC_SUBST(SLAPI_LIBS)
...@@ -3017,6 +3154,7 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk] ...@@ -3017,6 +3154,7 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk] [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk] [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk] [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
[servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
[servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk] [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
[servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk] [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
[servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk] [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
......
...@@ -2,3 +2,4 @@ List of OpenLDAP Configuration OIDs allocated to contrib modules ...@@ -2,3 +2,4 @@ List of OpenLDAP Configuration OIDs allocated to contrib modules
OLcfgCt{Oc|At}:1 smbk5pwd OLcfgCt{Oc|At}:1 smbk5pwd
OLcfgCt{Oc|At}:2 autogroup OLcfgCt{Oc|At}:2 autogroup
OLcfgCt{Oc|At}:3 nssov
# $OpenLDAP$ # $OpenLDAP$
## ##
# Copyright 2000-2003, OpenLDAP Foundation, All Rights Reserved. # Copyright 2000-2008, OpenLDAP Foundation, All Rights Reserved.
# COPYING RESTRICTIONS APPLY, see COPYRIGHT file # COPYING RESTRICTIONS APPLY, see COPYRIGHT file
## ##
EXTRA_DIST = BUGS EXTRA_DIST=COPYRIGHT doxygen.rc LICENSE version.var version.sh
SUBDIRS = src examples SUBDIRS = src examples
# Makefile.in generated by automake 1.10 from Makefile.am. # Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
# $OpenLDAP$ # $OpenLDAP$
# Copyright 2000-2003, OpenLDAP Foundation, All Rights Reserved. # Copyright 2000-2008, OpenLDAP Foundation, All Rights Reserved.
# COPYING RESTRICTIONS APPLY, see COPYRIGHT file # COPYING RESTRICTIONS APPLY, see COPYRIGHT file
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
...@@ -93,6 +93,7 @@ CXXFLAGS = @CXXFLAGS@ ...@@ -93,6 +93,7 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@ ECHO = @ECHO@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
...@@ -115,7 +116,9 @@ LN_S = @LN_S@ ...@@ -115,7 +116,9 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OPENLDAP_CPP_API_VERSION = @OPENLDAP_CPP_API_VERSION@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
...@@ -180,7 +183,7 @@ sysconfdir = @sysconfdir@ ...@@ -180,7 +183,7 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
top_builddir = @top_builddir@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
EXTRA_DIST = BUGS EXTRA_DIST = COPYRIGHT doxygen.rc LICENSE version.var version.sh
SUBDIRS = src examples SUBDIRS = src examples
all: all-recursive all: all-recursive
...@@ -303,8 +306,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ...@@ -303,8 +306,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { for (i in files) print i; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
...@@ -329,8 +332,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ...@@ -329,8 +332,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { for (i in files) print i; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
...@@ -340,13 +343,12 @@ ctags: CTAGS ...@@ -340,13 +343,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { for (i in files) print i; }'`; \ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$tags $$unique
...@@ -417,6 +419,10 @@ dist-bzip2: distdir ...@@ -417,6 +419,10 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir) $(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
dist-tarZ: distdir dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir) $(am__remove_distdir)
...@@ -443,6 +449,8 @@ distcheck: dist ...@@ -443,6 +449,8 @@ distcheck: dist
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \ *.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
...@@ -594,8 +602,8 @@ uninstall-am: ...@@ -594,8 +602,8 @@ uninstall-am:
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \ all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
distclean-generic distclean-libtool distclean-tags \ distclean distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \ distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \ html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \ install-data-am install-dvi install-dvi-am install-exec \
......
This diff is collapsed.
This diff is collapsed.
dnl $OpenLDAP$ dnl $OpenLDAP$
dnl Copyright 2000-2003, OpenLDAP Foundation, All Rights Reserved. dnl Copyright 2000-2008, OpenLDAP Foundation, All Rights Reserved.
dnl COPYING RESTRICTIONS APPLY, see COPYRIGHT file dnl COPYING RESTRICTIONS APPLY, see COPYRIGHT file
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl disable config.cache AC_COPYRIGHT([[Copyright 2000-2008 The OpenLDAP Foundation. All rights reserved.
dnl define([AC_CACHE_LOAD], ) Restrictions apply, see COPYRIGHT and LICENSE files.]])
dnl define([AC_CACHE_SAVE], ) AC_REVISION([$OpenLDAP$])
AC_INIT(ldapcpplib, [] , [http://www.openldap.org/its/] )
AC_INIT(ldapcpplib, 0.0.5)
AC_CONFIG_SRCDIR(src/LDAPConnection.h) AC_CONFIG_SRCDIR(src/LDAPConnection.h)
AM_INIT_AUTOMAKE(foreign) AM_INIT_AUTOMAKE(foreign)
AM_CONFIG_HEADER(src/config.h) AM_CONFIG_HEADER(src/config.h)
eval `$ac_aux_dir/version.sh`
if test -z "$OL_CPP_API_RELEASE"; then
AC_MSG_ERROR([could not determine version])
fi
VERSION=$OL_CPP_API_RELEASE
OPENLDAP_CPP_API_VERSION=$OL_CPP_API_VERSION
AC_SUBST(VERSION)
AC_SUBST(OPENLDAP_CPP_API_VERSION)
dnl Checks for programs. dnl Checks for programs.
AC_PROG_INSTALL AC_PROG_INSTALL
dnl AC_PROG_CC dnl AC_PROG_CC
...@@ -26,9 +33,7 @@ dnl AC_PROG_MAKE_SET ...@@ -26,9 +33,7 @@ dnl AC_PROG_MAKE_SET
AC_ARG_ENABLE(debug,[ --enable-debug],[ AC_ARG_ENABLE(debug,[ --enable-debug],[
CXXFLAGS="-g -O0 -Wall" CXXFLAGS="-g -O0 -Wall"
AC_DEFINE(WITH_DEBUG,[],[Define to 1 ot enable debug logging]) AC_DEFINE(WITH_DEBUG,[],[Define to 1 ot enable debug logging])
],[ ],
CXXFLAGS="-O0"
]
) )
AC_ARG_WITH(libldap,[ --with-libldap=DIR Path to the libldap library [/usr/local/lib]],[ AC_ARG_WITH(libldap,[ --with-libldap=DIR Path to the libldap library [/usr/local/lib]],[
......