From: Kurt Zeilenga Date: Sat, 29 Mar 2003 16:45:42 +0000 (+0000) Subject: New version management code X-Git-Tag: OPENLDAP_REL_ENG_2_1_17~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0aac8b5406c9b69b217dc73e5a306d3da9289273;p=thirdparty%2Fopenldap.git New version management code back-bdb cache/dbcache fixes oidm destroy fix --- diff --git a/build/lib.mk b/build/lib.mk index 6a4527c8c1..0f84b2016e 100644 --- a/build/lib.mk +++ b/build/lib.mk @@ -9,10 +9,12 @@ all-common: $(LIBRARY) $(PROGRAMS) -version.c: $(OBJS) +version.c: Makefile $(RM) $@ $(MKVERSION) $(LIBRARY) > $@ +version.o version.lo: version.c $(OBJS) + install-common: FORCE lint: lint-local FORCE diff --git a/build/mkrelease b/build/mkrelease index 906a78ab89..bbbcca4d91 100755 --- a/build/mkrelease +++ b/build/mkrelease @@ -42,7 +42,7 @@ if test ! -e $RELNAME/build/version.sh ; then exit 1 fi -. $RELNAME/build/version.sh +eval `$RELNAME/build/version.sh` tar cf $RELNAME.tar $RELNAME gzip -9 -c $RELNAME.tar > $RELNAME.tgz diff --git a/build/mkvers.bat b/build/mkvers.bat new file mode 100755 index 0000000000..fb943c6fc5 --- /dev/null +++ b/build/mkvers.bat @@ -0,0 +1,18 @@ +:: $OpenLDAP$ +:: Copyright 1998-2003 The OpenLDAP Foundation +:: COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory +:: of this package for details. +:: +:: Create a version.c file from build/version.h +:: + +:: usage: mkvers.bat , , , + +copy %1 %2 +(echo. ) >> %2 +(echo #include "portable.h") >> %2 +(echo. ) >> %2 +(echo %4 const char __Version[] =) >> %2 +(echo "@(#) $" OPENLDAP_PACKAGE ": %3 " OPENLDAP_VERSION) >> %2 +(echo " (" __DATE__ " " __TIME__ ") $\n") >> %2 +(echo "\t%USERNAME%@%COMPUTERNAME% %CD:\=/%\n";) >> %2 diff --git a/build/mkversion b/build/mkversion index 052a962416..efa6e65050 100755 --- a/build/mkversion +++ b/build/mkversion @@ -42,7 +42,6 @@ if test $# != 1 ; then fi APPLICATION=$1 -WHEN=`date` WHOWHERE="$USER@`uname -n`:`pwd`" cat << __EOF__ @@ -56,6 +55,6 @@ static const char copyright[] = "COPYING RESTRICTIONS APPLY\n"; $static $const char $SYMBOL[] = -"@(#) \$$PACKAGE: $APPLICATION $VERSION ($WHEN) \$\n\t$WHOWHERE\n"; +"@(#) \$$PACKAGE: $APPLICATION $VERSION (" __DATE__ " " __TIME__ ") \$\n\t$WHOWHERE\n"; __EOF__ diff --git a/build/mod.mk b/build/mod.mk index f8778179f6..0ccd2e424c 100644 --- a/build/mod.mk +++ b/build/mod.mk @@ -22,10 +22,12 @@ all-no lint-no 5lint-no depend-no install-no: FORCE all-common: all-$(BUILD_MOD) -version.c: $(OBJS) +version.c: Makefile $(RM) $@ $(MKVERSION) $(LIBBASE) > $@ +version.lo: version.c $(OBJS) + $(LIBRARY): version.lo $(LTLINK_MOD) -module -o $@ $(OBJS) version.lo $(LINK_LIBS) diff --git a/build/top.mk b/build/top.mk index 32de10d5a2..bcfb0d6088 100644 --- a/build/top.mk +++ b/build/top.mk @@ -66,7 +66,7 @@ LIBVERSION = @OPENLDAP_LIBVERSION@ LTVERSION = -version-info $(LIBVERSION) # libtool --only flag for libraries: platform specific -NT_LTONLY_LIB = --only-$(BUILD_LIBS_DYNAMIC) +NT_LTONLY_LIB = # --only-$(BUILD_LIBS_DYNAMIC) LTONLY_LIB = $(@PLAT@_LTONLY_LIB) # libtool --only flag for modules: depends on linkage of module diff --git a/build/version.h b/build/version.h new file mode 100644 index 0000000000..dc6dd3964b --- /dev/null +++ b/build/version.h @@ -0,0 +1,9 @@ +/* + * Copyright 1998-2003 The OpenLDAP Foundation + * COPYING RESTRICTIONS APPLY. See COPYRIGHT file in top level directory + * of this package for details. + */ + +static const char copyright[] = +"Copyright 1998-2003 The OpenLDAP Foundation\n" +"COPYING RESTRICTIONS APPLY\n"; diff --git a/build/version.sh b/build/version.sh index a6af31658d..f2cf16fea0 100755 --- a/build/version.sh +++ b/build/version.sh @@ -4,13 +4,8 @@ ## COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory ## of this package for details. # -ol_package=OpenLDAP -ol_major=2 -ol_minor=1 -ol_patch=X -ol_api_inc=20116 -ol_api_lib=2:116:0 -ol_release_date="03-15-2003" +DIR=`dirname $0` +. $DIR/version.var if test $ol_patch != X ; then ol_version=${ol_major}.${ol_minor}.${ol_patch} diff --git a/build/version.var b/build/version.var new file mode 100644 index 0000000000..6a13192a48 --- /dev/null +++ b/build/version.var @@ -0,0 +1,13 @@ +#! /bin/sh +# $OpenLDAP$ +## Copyright 2000-2003 The OpenLDAP Foundation +## COPYING RESTRICTIONS APPLY. See COPYRIGHT File in top level directory +## of this package for details. +# +ol_package=OpenLDAP +ol_major=2 +ol_minor=1 +ol_patch=X +ol_api_inc=20116 +ol_api_lib=2:116:0 +ol_release_date="03-15-2003" diff --git a/clients/tools/Makefile.in b/clients/tools/Makefile.in index 7685d1292e..4106c7f5ed 100644 --- a/clients/tools/Makefile.in +++ b/clients/tools/Makefile.in @@ -43,34 +43,47 @@ ldapwhoami: ldwversion.o ldapcompare: ldcversion.o $(LTLINK) -o $@ ldapcompare.o common.o ldcversion.o $(LIBS) -ldsversion.c: ldapsearch.o common.o $(XLIBS) +ldsversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldapsearch > $@ -ldmversion.c: ldapmodify.o common.o $(XLIBS) +ldsversion.o: ldapsearch.o common.o $(XLIBS) + +ldmversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldapmodify > $@ -lddversion.c: ldapdelete.o common.o $(XLIBS) +ldmversion.o: ldapmodify.o common.o $(XLIBS) + +lddversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldapdelete > $@ -ldpversion.c: ldappasswd.o common.o $(XLIBS) +lddversion.o: ldapdelete.o common.o $(XLIBS) + +ldpversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldappasswd > $@ -ldrversion.c: ldapmodrdn.o common.o $(XLIBS) +ldpversion.o: ldappasswd.o common.o $(XLIBS) + +ldrversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldapmodrdn > $@ -ldwversion.c: ldapwhoami.o common.o $(XLIBS) +ldrversion.o: ldapmodrdn.o common.o $(XLIBS) + +ldwversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldapwhoami > $@ -ldcversion.c: ldapcompare.o common.o $(XLIBS) +ldwversion.o: ldapwhoami.o common.o $(XLIBS) + +ldcversion.c: Makefile @-$(RM) $@ $(MKVERSION) $(MKVOPTS) ldapcompare > $@ +ldcversion.o: ldapcompare.o common.o $(XLIBS) install-local: FORCE -$(MKDIR) $(DESTDIR)$(bindir) diff --git a/clients/tools/ldapcompare.c b/clients/tools/ldapcompare.c index 18ea6efee7..ec865bf845 100644 --- a/clients/tools/ldapcompare.c +++ b/clients/tools/ldapcompare.c @@ -28,7 +28,6 @@ #include -#include "ldif.h" #include "lutil.h" #include "lutil_ldap.h" #include "ldap_defaults.h" @@ -159,9 +158,6 @@ main( int argc, char **argv ) } } - if ( debug ) - ldif_debug = debug; - ld = tool_conn_setup( 0, 0 ); if ( pw_file || want_bindpw ) { diff --git a/clients/tools/ldapcompare.dsp b/clients/tools/ldapcompare.dsp index ab31707cdc..3100f9c4ba 100644 --- a/clients/tools/ldapcompare.dsp +++ b/clients/tools/ldapcompare.dsp @@ -37,8 +37,8 @@ RSC=rc.exe # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ldapdele" -# PROP BASE Intermediate_Dir "ldapdele" +# PROP BASE Output_Dir "ldapcomp" +# PROP BASE Intermediate_Dir "ldapcomp" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 @@ -55,15 +55,15 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\SDebug" !ELSEIF "$(CFG)" == "ldapcompare - Win32 Single Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ldapdel0" -# PROP BASE Intermediate_Dir "ldapdel0" +# PROP BASE Output_Dir "ldapcom0" +# PROP BASE Intermediate_Dir "ldapcom0" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 @@ -80,15 +80,15 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\libraries\Release" -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"SRelease/ldapcompare.exe" /libpath:"..\..\SRelease" +# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\SRelease" !ELSEIF "$(CFG)" == "ldapcompare - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ldapdel1" -# PROP BASE Intermediate_Dir "ldapdel1" +# PROP BASE Output_Dir "ldapcom1" +# PROP BASE Intermediate_Dir "ldapcom1" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 @@ -105,15 +105,15 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\Debug" !ELSEIF "$(CFG)" == "ldapcompare - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ldapdel2" -# PROP BASE Intermediate_Dir "ldapdel2" +# PROP BASE Output_Dir "ldapcom2" +# PROP BASE Intermediate_Dir "ldapcom2" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 @@ -130,8 +130,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapcompare.exe" /libpath:"..\..\libraries\Release" -# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapcompare.exe" /libpath:"..\..\Release" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\Release" !ENDIF @@ -148,6 +148,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldapcompare.c +# End Source File +# Begin Source File + +SOURCE=.\ldcversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldapcompare.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\oldif32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldapcompare - Win32 Single Debug" + +# Begin Custom Build + +"ldcversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldcversion.c ldapcompare /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapcompare - Win32 Single Release" + +# Begin Custom Build + +"ldcversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldcversion.c ldapcompare /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapcompare - Win32 Release" + +# Begin Custom Build + +"ldcversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldcversion.c ldapcompare /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapcompare - Win32 Debug" + +# Begin Custom Build + +"ldcversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldcversion.c ldapcompare /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/clients/tools/ldapdelete.dsp b/clients/tools/ldapdelete.dsp index c136d67c8a..38576cc135 100644 --- a/clients/tools/ldapdelete.dsp +++ b/clients/tools/ldapdelete.dsp @@ -55,7 +55,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\SDebug" !ELSEIF "$(CFG)" == "ldapdelete - Win32 Single Release" @@ -80,8 +80,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\libraries\Release" -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"SRelease/ldapdelete.exe" /libpath:"..\..\SRelease" +# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\SRelease" !ELSEIF "$(CFG)" == "ldapdelete - Win32 Debug" @@ -105,7 +105,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\Debug" !ELSEIF "$(CFG)" == "ldapdelete - Win32 Release" @@ -130,8 +130,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapdelete.exe" /libpath:"..\..\libraries\Release" -# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapdelete.exe" /libpath:"..\..\Release" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\Release" !ENDIF @@ -148,6 +148,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldapdelete.c +# End Source File +# Begin Source File + +SOURCE=.\lddversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldapdelete.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldapdelete - Win32 Single Debug" + +# Begin Custom Build + +"lddversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) lddversion.c ldapdelete /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapdelete - Win32 Single Release" + +# Begin Custom Build + +"lddversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) lddversion.c ldapdelete /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapdelete - Win32 Release" + +# Begin Custom Build + +"lddversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) lddversion.c ldapdelete /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapdelete - Win32 Debug" + +# Begin Custom Build + +"lddversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) lddversion.c ldapdelete /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/clients/tools/ldapmodify.dsp b/clients/tools/ldapmodify.dsp index ffa4e68df8..9c4264405a 100644 --- a/clients/tools/ldapmodify.dsp +++ b/clients/tools/ldapmodify.dsp @@ -55,8 +55,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" -# ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"SDebug/ldapmodify.exe" /pdbtype:sept /libpath:"..\..\SDebug" +# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\SDebug" !ELSEIF "$(CFG)" == "ldapmodify - Win32 Single Release" @@ -80,8 +80,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\libraries\Release" -# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"SRelease/ldapmodify.exe" /libpath:"..\..\SRelease" +# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\SRelease" !ELSEIF "$(CFG)" == "ldapmodify - Win32 Debug" @@ -105,8 +105,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"Release/ldapmodify.exe" /pdbtype:sept /libpath:"..\..\libraries\Debug" -# ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"Debug/ldapmodify.exe" /pdbtype:sept /libpath:"..\..\Debug" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\Debug" !ELSEIF "$(CFG)" == "ldapmodify - Win32 Release" @@ -130,8 +130,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapmodify.exe" /libpath:"..\..\libraries\Release" -# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapmodify.exe" /libpath:"..\..\Release" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\Release" !ENDIF @@ -148,6 +148,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldapmodify.c +# End Source File +# Begin Source File + +SOURCE=.\ldmversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldapmodify.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\oldif32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldapmodify - Win32 Single Debug" + +# Begin Custom Build + +"ldmversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldmversion.c ldapmodify /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapmodify - Win32 Single Release" + +# Begin Custom Build + +"ldmversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldmversion.c ldapmodify /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapmodify - Win32 Release" + +# Begin Custom Build + +"ldmversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldmversion.c ldapmodify /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapmodify - Win32 Debug" + +# Begin Custom Build + +"ldmversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldmversion.c ldapmodify /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/clients/tools/ldapmodrdn.dsp b/clients/tools/ldapmodrdn.dsp index d1304ce84c..2e346502db 100644 --- a/clients/tools/ldapmodrdn.dsp +++ b/clients/tools/ldapmodrdn.dsp @@ -55,7 +55,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\SDebug" !ELSEIF "$(CFG)" == "ldapmodrdn - Win32 Single Release" @@ -80,8 +80,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\libraries\Release" -# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapmodrdn.exe" /libpath:"..\..\SRelease" +# ADD BASE LINK32 oldap32.lib olber32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\SRelease" !ELSEIF "$(CFG)" == "ldapmodrdn - Win32 Debug" @@ -105,7 +105,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\Debug" !ELSEIF "$(CFG)" == "ldapmodrdn - Win32 Release" @@ -130,8 +130,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapmodrdn.exe" /libpath:"..\..\libraries\Release" -# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapmodrdn.exe" /libpath:"..\..\Release" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\Release" !ENDIF @@ -148,6 +148,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldapmodrdn.c +# End Source File +# Begin Source File + +SOURCE=.\ldrversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldapmodrdn.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldapmodrdn - Win32 Single Debug" + +# Begin Custom Build + +"ldrversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldrversion.c ldapmodrdn /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapmodrdn - Win32 Single Release" + +# Begin Custom Build + +"ldrversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldrversion.c ldapmodrdn /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapmodrdn - Win32 Release" + +# Begin Custom Build + +"ldrversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldrversion.c ldapmodrdn /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapmodrdn - Win32 Debug" + +# Begin Custom Build + +"ldrversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldrversion.c ldapmodrdn /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/clients/tools/ldappasswd.dsp b/clients/tools/ldappasswd.dsp index 7aa142c7d4..397025a784 100644 --- a/clients/tools/ldappasswd.dsp +++ b/clients/tools/ldappasswd.dsp @@ -144,6 +144,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldappasswd.c +# End Source File +# Begin Source File + +SOURCE=.\ldpversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldappasswd.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldappasswd - Win32 Single Debug" + +# Begin Custom Build + +"ldpversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldpversion.c ldappasswd /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldappasswd - Win32 Single Release" + +# Begin Custom Build + +"ldpversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldpversion.c ldappasswd /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldappasswd - Win32 Release" + +# Begin Custom Build + +"ldpversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldpversion.c ldappasswd /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldappasswd - Win32 Debug" + +# Begin Custom Build + +"ldpversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldpversion.c ldappasswd /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/clients/tools/ldapsearch.dsp b/clients/tools/ldapsearch.dsp index de7f3e9723..51a30bb455 100644 --- a/clients/tools/ldapsearch.dsp +++ b/clients/tools/ldapsearch.dsp @@ -55,7 +55,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libraries\Debug" +# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\SDebug" !ELSEIF "$(CFG)" == "ldapsearch - Win32 Single Release" @@ -80,7 +80,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\libraries\Release" +# ADD BASE LINK32 oldap32.lib olber32.lib oldif32.lib olutil32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\SRelease" !ELSEIF "$(CFG)" == "ldapsearch - Win32 Release" @@ -105,7 +105,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapsearch.exe" /libpath:"..\..\libraries\SRelease" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 sasl.lib libsasl.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\Release" !ELSEIF "$(CFG)" == "ldapsearch - Win32 Debug" @@ -130,7 +130,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"Release/ldapsearch.exe" /libpath:"..\..\libraries\SRelease" +# ADD BASE LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 libsasl.lib ws2_32.lib /nologo /subsystem:console /incremental:yes /debug /machine:I386 /libpath:"..\..\Debug" !ENDIF @@ -148,6 +148,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldapsearch.c +# End Source File +# Begin Source File + +SOURCE=.\ldsversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldapsearch.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\oldif32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldapsearch - Win32 Single Debug" + +# Begin Custom Build + +"ldsversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldsversion.c ldapsearch /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapsearch - Win32 Single Release" + +# Begin Custom Build + +"ldsversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldsversion.c ldapsearch /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapsearch - Win32 Release" + +# Begin Custom Build + +"ldsversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldsversion.c ldapsearch /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapsearch - Win32 Debug" + +# Begin Custom Build + +"ldsversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldsversion.c ldapsearch /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/clients/tools/ldapwhoami.dsp b/clients/tools/ldapwhoami.dsp index c4bdaa014a..a0521f7cbe 100644 --- a/clients/tools/ldapwhoami.dsp +++ b/clients/tools/ldapwhoami.dsp @@ -37,8 +37,8 @@ RSC=rc.exe # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ldappass" -# PROP BASE Intermediate_Dir "ldappass" +# PROP BASE Output_Dir "ldapwhoa" +# PROP BASE Intermediate_Dir "ldapwhoa" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 @@ -61,8 +61,8 @@ LINK32=link.exe # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ldappas0" -# PROP BASE Intermediate_Dir "ldappas0" +# PROP BASE Output_Dir "ldapwho0" +# PROP BASE Intermediate_Dir "ldapwho0" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 @@ -144,6 +144,57 @@ SOURCE=.\common.c # Begin Source File SOURCE=.\ldapwhoami.c +# End Source File +# Begin Source File + +SOURCE=.\ldwversion.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\version.h + +USERDEP__VERSI="common.c" "ldapwhoami.c" "$(OUTDIR)\oldap32.lib" "$(OUTDIR)\olber32.lib" "$(OUTDIR)\olutil32.lib" +InputDir=..\..\build +InputPath=..\..\build\version.h + +!IF "$(CFG)" == "ldapwhoami - Win32 Single Debug" + +# Begin Custom Build + +"ldwversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldwversion.c ldapwhoami /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapwhoami - Win32 Single Release" + +# Begin Custom Build + +"ldwversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldwversion.c ldapwhoami /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapwhoami - Win32 Release" + +# Begin Custom Build + +"ldwversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldwversion.c ldapwhoami /**/ + +# End Custom Build + +!ELSEIF "$(CFG)" == "ldapwhoami - Win32 Debug" + +# Begin Custom Build + +"ldwversion.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(InputDir)\mkvers.bat $(InputPath) ldwversion.c ldapwhoami /**/ + +# End Custom Build + +!ENDIF + # End Source File # End Target # End Project diff --git a/include/setup.mak b/include/setup.mak index 1a4c8de916..532acae501 100644 --- a/include/setup.mak +++ b/include/setup.mak @@ -4,6 +4,20 @@ # COPYING RESTRICTIONS APPLY, see COPYRIGHT file # +!include ../build/version.var + +!if "$(ol_patch)" != "X" +ol_version=$(ol_major).$(ol_minor).$(ol_patch) +ol_type=Release +!elseif "$(ol_minor)" != "X" +ol_version=$(ol_major).$(ol_minor).$(ol_patch) +ol_type=Engineering +!else +ol_version=$(ol_major).$(ol_minor) +ol_type=Devel +!endif +ol_string="$(ol_package) $(ol_version)-$(ol_type)" + .SUFFIXES: .nt .nt.h: @@ -17,4 +31,25 @@ setup.txt: lber_types.h ldap_config.h ldap_features.h portable.h setup.mak lber_types.h: lber_types.nt ldap_config.h: ldap_config.nt ldap_features.h: ldap_features.nt + +# note - the edlin script has non-printable characters: +# you must use a Ctrl-C to terminate the (i)nput command portable.h: portable.nt + echo Setting up $(ol_string)... + copy portable.nt portable.h + edlin portable.h < << +1,#sOPENLDAP_PACKAGE +d +i +#define OPENLDAP_PACKAGE "$(ol_package)" + + +1,#sOPENLDAP_VERSION +d +i +#define OPENLDAP_VERSION "$(ol_version)" + + +e +< $@ +version.o: version.c $(OBJS) $(SLAPD_LIBDEPEND) + depend-local-srv: FORCE @for i in back-* shell-backends tools; do \ if test -d $$i -a -f $$i/Makefile ; then \ diff --git a/servers/slapd/back-bdb/back-bdb.h b/servers/slapd/back-bdb/back-bdb.h index 50f400688b..d5e2627423 100644 --- a/servers/slapd/back-bdb/back-bdb.h +++ b/servers/slapd/back-bdb/back-bdb.h @@ -110,7 +110,6 @@ struct bdb_info { int bi_ndatabases; struct bdb_db_info **bi_databases; - ldap_pvt_thread_mutex_t bi_database_mutex; int bi_db_opflags; /* db-specific flags */ slap_mask_t bi_defaultmask; diff --git a/servers/slapd/back-bdb/cache.c b/servers/slapd/back-bdb/cache.c index d7ebd7ba1b..7bbabf8457 100644 --- a/servers/slapd/back-bdb/cache.c +++ b/servers/slapd/back-bdb/cache.c @@ -1143,16 +1143,24 @@ bdb_locker_id( Operation *op, DB_ENV *env, int *locker ) { int i, rc, lockid; void *data; + void *ctx; - if ( !env || !op || !locker ) return -1; + if ( !env || !locker ) return -1; + + /* If no op was provided, try to find the ctx anyway... */ + if ( op ) { + ctx = op->o_threadctx; + } else { + ctx = ldap_pvt_thread_pool_context( &connection_pool ); + } /* Shouldn't happen unless we're single-threaded */ - if ( !op->o_threadctx ) { + if ( !ctx ) { *locker = 0; return 0; } - if ( ldap_pvt_thread_pool_getkey( op->o_threadctx, env, &data, NULL ) ) { + if ( ldap_pvt_thread_pool_getkey( ctx, env, &data, NULL ) ) { for ( i=0, rc=1; rc != 0 && i<4; i++ ) { rc = XLOCK_ID( env, &lockid ); if (rc) ldap_pvt_thread_yield(); @@ -1161,7 +1169,7 @@ bdb_locker_id( Operation *op, DB_ENV *env, int *locker ) return rc; } data = (void *)lockid; - if ( ( rc = ldap_pvt_thread_pool_setkey( op->o_threadctx, env, + if ( ( rc = ldap_pvt_thread_pool_setkey( ctx, env, data, bdb_locker_id_free ) ) ) { XLOCK_ID_FREE( env, lockid ); #ifdef NEW_LOGGING diff --git a/servers/slapd/back-bdb/dbcache.c b/servers/slapd/back-bdb/dbcache.c index 5a07911d6d..603815b929 100644 --- a/servers/slapd/back-bdb/dbcache.c +++ b/servers/slapd/back-bdb/dbcache.c @@ -56,6 +56,9 @@ bdb_db_cache( struct bdb_info *bdb = (struct bdb_info *) be->be_private; struct bdb_db_info *db; char *file; + DBT lockobj; + DB_LOCK lock; + u_int32_t locker = 0; *dbout = NULL; @@ -66,19 +69,33 @@ bdb_db_cache( } } - ldap_pvt_thread_mutex_lock( &bdb->bi_database_mutex ); + lockobj.data = "bdb_db_cache"; + lockobj.size = sizeof("bdb_db_cache"); + + if (tid) { + locker = TXN_ID( tid ); + } else { +#ifdef BDB_REUSE_LOCKERS +#define op NULL /* implicit arg in LOCK_ID */ +#endif + rc = LOCK_ID( bdb->bi_dbenv, &locker ); + if (rc) return rc; + } + rc = LOCK_GET( bdb->bi_dbenv, locker, 0, &lockobj, + DB_LOCK_WRITE, &lock ); + if (rc) return rc; /* check again! may have been added by another thread */ for( i=BDB_NDB; bdb->bi_databases[i]; i++ ) { if( !strcmp( bdb->bi_databases[i]->bdi_name, name) ) { *dbout = bdb->bi_databases[i]->bdi_db; - ldap_pvt_thread_mutex_unlock( &bdb->bi_database_mutex ); + LOCK_PUT( bdb->bi_dbenv, &lock); return 0; } } if( i >= BDB_INDICES ) { - ldap_pvt_thread_mutex_unlock( &bdb->bi_database_mutex ); + LOCK_PUT( bdb->bi_dbenv, &lock); return -1; } @@ -97,7 +114,7 @@ bdb_db_cache( "bdb_db_cache: db_create(%s) failed: %s (%d)\n", bdb->bi_dbenv_home, db_strerror(rc), rc ); #endif - ldap_pvt_thread_mutex_unlock( &bdb->bi_database_mutex ); + LOCK_PUT( bdb->bi_dbenv, &lock); return rc; } @@ -131,7 +148,7 @@ bdb_db_cache( "bdb_db_cache: db_open(%s) failed: %s (%d)\n", name, db_strerror(rc), rc ); #endif - ldap_pvt_thread_mutex_unlock( &bdb->bi_database_mutex ); + LOCK_PUT( bdb->bi_dbenv, &lock); return rc; } @@ -141,6 +158,6 @@ bdb_db_cache( *dbout = db->bdi_db; - ldap_pvt_thread_mutex_unlock( &bdb->bi_database_mutex ); + LOCK_PUT( bdb->bi_dbenv, &lock ); return 0; } diff --git a/servers/slapd/back-bdb/init.c b/servers/slapd/back-bdb/init.c index 039934c474..4b25f12124 100644 --- a/servers/slapd/back-bdb/init.c +++ b/servers/slapd/back-bdb/init.c @@ -98,7 +98,6 @@ bdb_db_init( BackendDB *be ) LDAP_LIST_INIT (&bdb->psearch_list); #endif - ldap_pvt_thread_mutex_init( &bdb->bi_database_mutex ); ldap_pvt_thread_mutex_init( &bdb->bi_lastid_mutex ); ldap_pvt_thread_mutex_init( &bdb->bi_cache.lru_mutex ); ldap_pvt_thread_rdwr_init ( &bdb->bi_cache.c_rwlock ); @@ -525,7 +524,6 @@ bdb_db_destroy( BackendDB *be ) ldap_pvt_thread_rdwr_destroy ( &bdb->bi_cache.c_rwlock ); ldap_pvt_thread_mutex_destroy( &bdb->bi_cache.lru_mutex ); ldap_pvt_thread_mutex_destroy( &bdb->bi_lastid_mutex ); - ldap_pvt_thread_mutex_destroy( &bdb->bi_database_mutex ); ch_free( bdb ); be->be_private = NULL; diff --git a/servers/slapd/oidm.c b/servers/slapd/oidm.c index 89895ad6c3..50ec781379 100644 --- a/servers/slapd/oidm.c +++ b/servers/slapd/oidm.c @@ -73,15 +73,14 @@ void oidm_destroy() { OidMacro *om; - while( !LDAP_SLIST_EMPTY( &om_list )) { om = LDAP_SLIST_FIRST( &om_list ); + LDAP_SLIST_REMOVE_HEAD( &om_list, som_next ); ldap_charray_free(om->som_names); free(om->som_oid.bv_val); free(om); - LDAP_SLIST_REMOVE_HEAD( &om_list, som_next ); } } diff --git a/servers/slapd/operation.c b/servers/slapd/operation.c index 499c884eae..9199e3310c 100644 --- a/servers/slapd/operation.c +++ b/servers/slapd/operation.c @@ -21,13 +21,13 @@ static ldap_pvt_thread_mutex_t slap_op_mutex; static LDAP_STAILQ_HEAD(s_o, slap_op) slap_free_ops; -void slap_op_init() +void slap_op_init(void) { ldap_pvt_thread_mutex_init( &slap_op_mutex ); LDAP_STAILQ_INIT(&slap_free_ops); } -void slap_op_destroy() +void slap_op_destroy(void) { Operation *o; diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index c9b34ecba0..94afcff34b 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -720,6 +720,8 @@ LDAP_SLAPD_F (int) parse_oidm LDAP_P(( /* * operation.c */ +LDAP_SLAPD_F (void) slap_op_init LDAP_P(( void )); +LDAP_SLAPD_F (void) slap_op_destroy LDAP_P(( void )); LDAP_SLAPD_F (void) slap_op_free LDAP_P(( Operation *op )); LDAP_SLAPD_F (Operation *) slap_op_alloc LDAP_P(( BerElement *ber, ber_int_t msgid, diff --git a/servers/slurpd/Makefile.in b/servers/slurpd/Makefile.in index b44f3b40ef..78844afe00 100644 --- a/servers/slurpd/Makefile.in +++ b/servers/slurpd/Makefile.in @@ -42,10 +42,12 @@ slurpd: version.o sslurpd: version.o $(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS) -version.c: $(OBJS) $(SLURPD_L) +version.c: Makefile @-$(RM) $@ $(MKVERSION) slurpd > $@ +version.o: version.c $(OBJS) $(SLURPD_L) + install-local-srv: FORCE -$(MKDIR) $(DESTDIR)$(libexecdir) @-$(INSTALL) -m 700 -d $(DESTDIR)$(localstatedir)/openldap-slurp