basic structures for handing language tags and binary option
(but less actual code to actually support them). Provided
for reference only. Will not even compile.
and related AC_SUBST() so that when back-tcl is compiled as a dynamic module we link
-ltcl to the module and not slapd (this is the correct way to do this since the .la file
handles giving the correct libs when we pass the module to it in the linker line with
-dlopen). Also modified the perl backend in a similar way except that the PERL_CPPFLAGS
always go to the module and never to slapd (slapd doesn't need them).
* build/mod.mk: added $(MODLIBS) to the dynamic module link line to accomodate module
specific libraries. These should be defined in the back-*/Makefile.in file for each
module (so far only back-tcl and back-perl need it).
* build/top.mk: modified the perl ldflags and cppflags slightly
* servers/slapd/Makefile.in: same here
* servers/slapd/back-perl/Makefile.in: added MODLIBS=$(MOD_PERL_LDFLAGS) for when we are
using a dynamic module (problem, libtool wont allow linking static libs into a libtool
lib, so unless perl's libs are compiled dynamic, then back-perl can't be a dynamic
module. We need a test for this on perl and tcl).
* servers/slapd/back-tcl/Makefile.in: added MODLIBS=$(MOD_TCL_LIB)
* back-perl and back-tcl now compile
libwrap was a dynamic library). Added -lwrap to new subst var WRAP_LIBS
so we have more control over where it get's linked (dynamic libwrap
causes problems when we link to programs that don't define certains
globals that libwrap expects).
* build/top.mk: Added placeholder for WRAP_LIBS subst
* servers/slapd/Makefile.in: Added $(WRAP_LIBS) to the slapd and sslapd
link command line specifically so it doesn't get thrown in with the rest
of the LIBS.
* configure: rebuilt
Includes support for update referral for each replicated backend.
Reworked replication test to use update referral.
Includes major rewrite of response encoding codes (result.c).
Includes reworked alias support and eliminates old suffix alias codes
(can be emulated using named alias).
Includes (untested) support for the Manage DSA IT control.
Works in LDAPv2 world. Still testing in LDAPv3 world.
Added default referral (test009) test.
Likely broke things for non-posix threadings....
Update -lldap_r implementation to:
remove attribute support
hide thread detachment
provide concurrency accessors
provide initialization function
fix gethostby{addr,name}_r codes (not coverred by HAVE_REENTRANT_FUNCTIONS)
Update servers/libraries to use ldap_pvt_thread_ calls.
Cleanup server codes (no #ifdef HAVE_PTHREAD_THIS or _THATs)!
Removed -llthread
end of link. Basic order is:
$LDFLAGS internal-libs external-libs $LIBS $LTHREAD_LIBS
LTHREAD_LIBS is last as -lpthread (or equiv) must be last on many systems.
LIBS is next to last as some user might have put -lpthread (or equiv)
in $LIBS.
make depend, make tests, and make install all work when build directory
is not the $srcdir.
Also modified library handling such that -lpthread more likely to be last.
WARNING: new orderring requires use of LDFLAGS to set global loader options
such as -L/usr/local/lib. If you put this in LIBS, some libraries
may not be found a link time.
Likely broke Kerberos/LDAPD support. Don't have those in my testbed.
- slapd's pid/args file names are based on the servers binary file names,
providing for multiple servers beeing run on one host.
- slapd supports the -l command line parameter for selection of a
syslog LOCAL user (-lLOCAL0 .. -lLOCAL7)
- db_appinit() is called during first ldbm_open() in DB 2.x to initialize
DB debugging features (good to find bugs in the DB code :-)
- a patch for a non-initialized variable in DB's 2.x db_open is provided.