You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by bn...@apache.org on 2004/08/19 00:18:39 UTC

cvs commit: httpd-2.0/modules/ldap NWGNUmakefile README.ldap util_ldap.c util_ldap.dsp util_ldap_cache.c util_ldap_cache.h util_ldap_cache_mgr.c

bnicholes    2004/08/18 15:18:39

  Added:       modules/ldap NWGNUmakefile README.ldap util_ldap.c
                        util_ldap.dsp util_ldap_cache.c util_ldap_cache.h
                        util_ldap_cache_mgr.c
  Log:
  Move util_ldap out of experimental and into ldap.
  
  See Attic in experimental directory for previous change history.
  
  Revision  Changes    Path
  1.1                  httpd-2.0/modules/ldap/NWGNUmakefile
  
  Index: NWGNUmakefile
  ===================================================================
  #
  # Make sure all needed macro's are defined
  #
  
  #
  # Get the 'head' of the build environment if necessary.  This includes default
  # targets and paths to tools
  #
  
  ifndef EnvironmentDefined
  include $(AP_WORK)\build\NWGNUhead.inc
  endif
  
  #
  # These directories will be at the beginning of the include list, followed by
  # INCDIRS
  #
  XINCDIRS	+= \
  			$(AP_WORK)/include \
  			$(NWOS) \
  			$(AP_WORK)/srclib/apr/include \
  			$(AP_WORK)/srclib/apr-util/include \
  			$(AP_WORK)/srclib/apr \
  			$(LDAPSDK)/inc \
  			$(EOLIST)
  
  #
  # These flags will come after CFLAGS
  #
  XCFLAGS		+= \
  			-prefix pre_nw.h \
  			$(EOLIST)
  
  #
  # These defines will come after DEFINES
  #
  XDEFINES	+= \
  			$(EOLIST)
  
  #
  # These flags will be added to the link.opt file
  #
  XLFLAGS		+= \
  			$(EOLIST)
  
  #
  # These values will be appended to the correct variables based on the value of
  # RELEASE
  #
  ifeq "$(RELEASE)" "debug"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "noopt"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "release"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  			$(EOLIST)
  endif
  
  #
  # These are used by the link target if an NLM is being generated
  # This is used by the link 'name' directive to name the nlm.  If left blank
  # TARGET_nlm (see below) will be used.
  #
  NLM_NAME		= utilldap
  
  #
  # This is used by the link '-desc ' directive. 
  # If left blank, NLM_NAME will be used.
  #
  NLM_DESCRIPTION	= Apache $(VERSION_STR) LDAP Authentication Module
  
  #
  # This is used by the '-threadname' directive.  If left blank,
  # NLM_NAME Thread will be used.
  #
  NLM_THREAD_NAME	= UtilLDAP Module
  
  #
  # If this is specified, it will override VERSION value in 
  # $(AP_WORK)\build\NWGNUenvironment.inc
  #
  NLM_VERSION		=
  
  #
  # If this is specified, it will override the default of 64K
  #
  NLM_STACK_SIZE	= 8192
  
  
  #
  # If this is specified it will be used by the link '-entry' directive
  #
  NLM_ENTRY_SYM	= _LibCPrelude
  
  #
  # If this is specified it will be used by the link '-exit' directive
  #
  NLM_EXIT_SYM	= _LibCPostlude
  
  #
  # If this is specified it will be used by the link '-check' directive
  #
  NLM_CHECK_SYM	=
  
  #
  # If these are specified it will be used by the link '-flags' directive
  #
  NLM_FLAGS		=  AUTOUNLOAD, PSEUDOPREEMPTION
  
  #
  # If this is specified it will be linked in with the XDCData option in the def 
  # file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
  # by setting APACHE_UNIPROC in the environment
  #
  XDCDATA         = 
  
  #
  # If there is an NLM target, put it here
  #
  TARGET_nlm = \
  	$(OBJDIR)/utilldap.nlm \
  	$(EOLIST)
  
  #
  # If there is an LIB target, put it here
  #
  TARGET_lib = \
  	$(EOLIST)
  
  #
  # These are the OBJ files needed to create the NLM target above.
  # Paths must all use the '/' character
  #
  FILES_nlm_objs = \
  	$(OBJDIR)/util_ldap.o \
  	$(OBJDIR)/util_ldap_cache.o \
  	$(OBJDIR)/util_ldap_cache_mgr.o \
  	$(EOLIST)
  
  #
  # These are the LIB files needed to create the NLM target above.
  # These will be added as a library command in the link.opt file.
  #
  FILES_nlm_libs = \
     	libcpre.o \
  	$(EOLIST)
  
  #
  # These are the modules that the above NLM target depends on to load.
  # These will be added as a module command in the link.opt file.
  #
  FILES_nlm_modules = \
  	aprlib \
  	libc \
  	lldapsdk \
  	lldapssl \
  	lldapx \
  	$(EOLIST)
  
  #
  # If the nlm has a msg file, put it's path here
  #
  FILE_nlm_msg =
   
  #
  # If the nlm has a hlp file put it's path here
  #
  FILE_nlm_hlp =
  
  #
  # If this is specified, it will override $(NWOS)\copyright.txt.
  #
  FILE_nlm_copyright =
  
  #
  # Any additional imports go here
  #
  FILES_nlm_Ximports = \
  	@$(APR)/aprlib.imp \
  	@$(NWOS)/httpd.imp \
  	@libc.imp \
  	@$(LDAPSDK)/imports/lldapsdk.imp \
  	@$(LDAPSDK)/imports/lldapssl.imp \
  	$(EOLIST)
   
  #   
  # Any symbols exported to here
  #
  FILES_nlm_exports = \
  	ldap_module \
  	util_ldap_connection_find \
  	util_ldap_connection_close \
  	util_ldap_connection_unbind \
  	util_ldap_connection_cleanup \
  	util_ldap_cache_checkuserid \
  	util_ldap_cache_compare \
  	util_ldap_cache_comparedn \
  	util_ldap_ssl_supported \
  	$(EOLIST)
  	
  #   
  # These are the OBJ files needed to create the LIB target above.
  # Paths must all use the '/' character
  #
  FILES_lib_objs = \
  		$(EOLIST)
  
  #
  # implement targets and dependancies (leave this section alone)
  #
  
  libs :: $(OBJDIR) $(TARGET_lib)
  
  nlms :: libs $(TARGET_nlm)
  
  #
  # Updated this target to create necessary directories and copy files to the 
  # correct place.  (See $(AP_WORK)\build\NWGNUhead.inc for examples)
  #
  install :: nlms FORCE
  	copy $(OBJDIR)\*.nlm $(INSTALL)\Apache2\modules\*.*
  
  #
  # Any specialized rules here
  #
  
  #
  # Include the 'tail' makefile that has targets that depend on variables defined
  # in this makefile
  #
  
  include $(AP_WORK)\build\NWGNUtail.inc
  
  
  
  
  1.1                  httpd-2.0/modules/ldap/README.ldap
  
  Index: README.ldap
  ===================================================================
  Quick installation instructions (UNIX):
  
  - Building on generic Unix:
  
    Add generic ldap support and the TWO ldap modules to the build, like this:
  
    ./configure --with-ldap --enable-ldap --enable-auth-ldap
  
    The --with-ldap switches on LDAP library linking in apr-util. Make
    sure that you have an LDAP client library available such as those
    from Netscape/iPlanet/Sun One or the OpenLDAP project.
  
    The --enable-ldap option switches on the LDAP caching module. This
    module is a support module for other LDAP modules, and is not useful
    on its own.  This module is required, but caching can be disabled
    via the configuration directive LDAPCacheEntries.
  
    The --enable-auth-ldap option switches on the LDAP authentication
    module.
  
  - Building on AIX:
  
    The following ./configure line is reported to work for AIX:
  
      CC=cc_r; export CC
      CPPFLAGS=-qcpluscmt;export CPPFLAGS
      ./configure --with-mpm=worker --prefix=/usr/local/apache \
        --enable-dav=static --enable-dav_fs=static --enable-ssl=static
        --with-ldap=yes --with-ldap-include=/usr/local/include
        --with-ldap-lib=/usr/local/lib --enable-ldap=static
        --enable-auth_ldap=static
  
  
  Quick installation instructions (win32):
  
  1. copy the file srclib\apr-util\include\apr_ldap.hw to apr_ldap.h
  2. the netscape/iplanet ldap libraries are installed in srclib\ldap
  3. Compile the two modules util_ldap and mod_auth_ldap using the dsp files
  4. You get a mod_auth_ldap.so and a util_ldap.so module
  5. Put them in the modules directory, don't forget to copy the
     nsldap32v50.dll somewhere where apache.exe will find it
  6. Load the two modules in your httpd.conf, like below:
     LoadModule ldap_module modules/util_ldap.so
     LoadModule auth_ldap_module modules/mod_auth_ldap.so
  7. Configure the directories as described in the docus.
  
  
  
  
  
  1.7       +635 -404  httpd-2.0/modules/ldap/util_ldap.c
  
  
  
  
  1.1                  httpd-2.0/modules/ldap/util_ldap.dsp
  
  Index: util_ldap.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="util_ldap" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
  
  CFG=util_ldap - Win32 Release
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "util_ldap.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "util_ldap.mak" CFG="util_ldap - Win32 Release"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "util_ldap - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
  !MESSAGE "util_ldap - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  MTL=midl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "util_ldap - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
  # ADD CPP /nologo /MD /W3 /Zi /O2 /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "LDAP_DECLARE_EXPORT" /Fd"Release\util_ldap_src" /FD /c
  # ADD BASE MTL /nologo /D "NDEBUG" /win32
  # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"Release/util_ldap.so" /base:@..\..\os\win32\BaseAddr.ref,util_ldap.so
  # ADD LINK32 kernel32.lib wldap32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Release/util_ldap.so" /base:@..\..\os\win32\BaseAddr.ref,util_ldap.so /opt:ref
  
  !ELSEIF  "$(CFG)" == "util_ldap - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
  # ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "LDAP_DECLARE_EXPORT" /Fd"Debug\util_ldap_src" /FD /c
  # ADD BASE MTL /nologo /D "_DEBUG" /win32
  # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/util_ldap.so" /base:@..\..\os\win32\BaseAddr.ref,util_ldap.so
  # ADD LINK32 kernel32.lib wldap32.lib /nologo /subsystem:windows /dll /incremental:no /debug /machine:I386 /out:"Debug/util_ldap.so" /base:@..\..\os\win32\BaseAddr.ref,util_ldap.so
  
  !ENDIF 
  
  # Begin Target
  
  # Name "util_ldap - Win32 Release"
  # Name "util_ldap - Win32 Debug"
  # Begin Source File
  
  SOURCE=.\util_ldap.c
  # End Source File
  # Begin Source File
  
  SOURCE=.\util_ldap.rc
  # End Source File
  # Begin Source File
  
  SOURCE=.\util_ldap_cache.c
  # End Source File
  # Begin Source File
  
  SOURCE=.\util_ldap_cache.h
  # End Source File
  # Begin Source File
  
  SOURCE=.\util_ldap_cache_mgr.c
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\build\win32\win32ver.awk
  
  !IF  "$(CFG)" == "util_ldap - Win32 Release"
  
  # PROP Ignore_Default_Tool 1
  # Begin Custom Build - Creating Version Resource
  InputPath=..\..\build\win32\win32ver.awk
  
  ".\util_ldap.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	awk -f ../../build/win32/win32ver.awk util_ldap.so "LDAP Utility Module for Apache" ../../include/ap_release.h > .\util_ldap.rc
  
  # End Custom Build
  
  !ELSEIF  "$(CFG)" == "util_ldap - Win32 Debug"
  
  # PROP Ignore_Default_Tool 1
  # Begin Custom Build - Creating Version Resource
  InputPath=..\..\build\win32\win32ver.awk
  
  ".\util_ldap.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	awk -f ../../build/win32/win32ver.awk util_ldap.so "LDAP Utility Module for Apache" ../../include/ap_release.h > .\util_ldap.rc
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # End Target
  # End Project
  
  
  
  1.8       +231 -111  httpd-2.0/modules/ldap/util_ldap_cache.c
  
  
  
  
  1.7       +75 -98    httpd-2.0/modules/ldap/util_ldap_cache.h
  
  
  
  
  1.6       +369 -166  httpd-2.0/modules/ldap/util_ldap_cache_mgr.c