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 2005/04/19 01:18:12 UTC

svn commit: r161813 - in httpd/httpd/trunk: CHANGES NWGNUmakefile build/mkconfNW.awk docs/manual/platform/netware.xml modules/NWGNUmakefile modules/ssl/NWGNUmakefile

Author: bnicholes
Date: Mon Apr 18 16:18:10 2005
New Revision: 161813

URL: http://svn.apache.org/viewcvs?view=rev&rev=161813
Log:
Build mod_ssl for the NetWare platform

Submitted by: Guenter Knauf <fu...@apache.org>

Added:
    httpd/httpd/trunk/modules/ssl/NWGNUmakefile
Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/NWGNUmakefile
    httpd/httpd/trunk/build/mkconfNW.awk
    httpd/httpd/trunk/docs/manual/platform/netware.xml
    httpd/httpd/trunk/modules/NWGNUmakefile

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/CHANGES?view=diff&r1=161812&r2=161813
==============================================================================
--- httpd/httpd/trunk/CHANGES (original)
+++ httpd/httpd/trunk/CHANGES Mon Apr 18 16:18:10 2005
@@ -2,6 +2,9 @@
 
   [Remove entries to the current 2.0 section below, when backported]
   
+  *) Added makefile and doc for building mod_ssl on the NetWare 
+     platform. [Guenter Knauf, Brad Nicholes]
+  
   *) mod_deflate: Merge the Vary header, isntead of Setting it. Fixes
      applications that send the Vary Header themselves, and also apply 
      mod_defalte as an output filter. [Paul Querna]

Modified: httpd/httpd/trunk/NWGNUmakefile
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/NWGNUmakefile?view=diff&r1=161812&r2=161813
==============================================================================
--- httpd/httpd/trunk/NWGNUmakefile (original)
+++ httpd/httpd/trunk/NWGNUmakefile Mon Apr 18 16:18:10 2005
@@ -288,7 +288,7 @@
 	GetCurrentAddressSpace \
 	$(EOLIST)
 
-# Build in mod_nw_ssl if Winsock is being used
+# Don't link with Winsock if standard sockets are being used
 ifndef USE_STDSOCKETS
 FILES_nlm_Ximports += @ws2nlm.imp \
 	       $(EOLIST)
@@ -329,7 +329,11 @@
 	-copy CHANGES                   $(INSTALL)\Apache2\*.*
 	-copy support\dbmmanage.in      $(INSTALL)\Apache2\bin\dbmmanage.pl
 	-copy support\logresolve.pl.in  $(INSTALL)\Apache2\bin\logresolve.pl
+ifdef USE_STDSOCKETS	
 	-awk  -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\Apache2\conf\httpd.conf
+else
+	-awk  -v SSL=1 -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\Apache2\conf\httpd.conf
+endif	
 	$(CHKNOT) $(INSTALL)\Apache2\conf\extra\nul mkdir $(INSTALL)\Apache2\conf\extra
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-autoindex.conf
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-dav.conf
@@ -339,7 +343,7 @@
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-manual.conf
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-mpm.conf
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-multilang-errordoc.conf
-	-awk  -v SSL=1 -f build\mkconfnw.awk <nul >$(INSTALL)\Apache2\conf\extra\httpd-ssl.conf
+	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-ssl.conf
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-userdir.conf
 	-awk  -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\Apache2\conf\extra\httpd-vhosts.conf
 	-copy docs\conf\magic           $(INSTALL)\Apache2\conf\magic

Modified: httpd/httpd/trunk/build/mkconfNW.awk
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/build/mkconfNW.awk?view=diff&r1=161812&r2=161813
==============================================================================
--- httpd/httpd/trunk/build/mkconfNW.awk (original)
+++ httpd/httpd/trunk/build/mkconfNW.awk Mon Apr 18 16:18:10 2005
@@ -116,6 +116,6 @@
        print "# Change this to SecureListen on specific IP addresses as shown below to "
        print "# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)"
        print "#"
-       print "SecureListen 443 \"SSL CertificateDNS\""
+       print "#SecureListen 443 \"SSL CertificateDNS\""
     }
 }

Modified: httpd/httpd/trunk/docs/manual/platform/netware.xml
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/docs/manual/platform/netware.xml?view=diff&r1=161812&r2=161813
==============================================================================
--- httpd/httpd/trunk/docs/manual/platform/netware.xml (original)
+++ httpd/httpd/trunk/docs/manual/platform/netware.xml Mon Apr 18 16:18:10 2005
@@ -600,6 +600,53 @@
 
     </section>
 
+    <section id="comp-mod_ssl">
+
+      <title>Building mod_ssl for the NetWare platform</title>
+
+      <p>By default Apache for NetWare uses the built-in module 
+      <module>mod_nw_ssl</module> to provide SSL services.  This module
+      simply enables the native SSL services implemented in NetWare OS
+      to handle all encryption for a given port.  Alternatively, mod_ssl
+      can also be used in the same manner as on other platforms.</p>
+
+      <p>Before mod_ssl can be built for the NetWare platform, the OpenSSL
+      libraries must be provided.  This can be done through the following 
+      steps:</p>
+
+      <ul>
+          <li>Download the latest NetWare patch for OpenSSL from the 
+          <a href="http://www.openssl.org/contrib/">OpenSSL Contribution</a>
+          page.</li>
+
+          <li>Download the corresponding OpenSSL source code from the
+          <a href="http://www.openssl.org/source/">OpenSSL Source</a>
+          page.</li>
+
+          <li>At the root of the OpenSSL source directory, apply the NetWare 
+          patch using the "patch" utility, for example:
+          <example>patch -p 1 -i netwarepatch-0.9.7g.diff</example></li>
+
+          <li>Edit the file <code>NetWare/set_env.bat</code> and modify any 
+          tools and utilities paths so that they correspond to your build 
+          environment.</li>
+
+          <li>From the root of the OpenSSL source directory, run the following
+          scripts:
+          <example>
+              Netware/set_env netware-libc<br />
+              Netware/build netware-libc
+          </example></li>
+
+          <li>Before building Apache, set the environment variable
+          <code>OSSLSDK</code> to the full path to the root of the openssl
+          source code directory.
+          <example>Set OSSLSDK=d:\openssl-0.9.7x</example></li>
+
+      </ul>
+
+    </section>
+
   </section>
 
 </manualpage>

Modified: httpd/httpd/trunk/modules/NWGNUmakefile
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/NWGNUmakefile?view=diff&r1=161812&r2=161813
==============================================================================
--- httpd/httpd/trunk/modules/NWGNUmakefile (original)
+++ httpd/httpd/trunk/modules/NWGNUmakefile Mon Apr 18 16:18:10 2005
@@ -25,6 +25,13 @@
 	$(EOLIST)
 endif
 
+# If OSSLSDK has been defined then build the mod_ssl module
+ifndef USE_STDSOCKETS
+ifneq "$(OSSLSDK)" ""
+SUBDIRS += ssl \
+	$(EOLIST)
+endif
+endif
 
 #If the mod_edir directory exists then build the mod_edir module
 ifeq "$(wildcard $(AP_WORK)\modules\mod_edir)" "$(AP_WORK)\modules\mod_edir"

Added: httpd/httpd/trunk/modules/ssl/NWGNUmakefile
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/ssl/NWGNUmakefile?view=auto&rev=161813
==============================================================================
--- httpd/httpd/trunk/modules/ssl/NWGNUmakefile (added)
+++ httpd/httpd/trunk/modules/ssl/NWGNUmakefile Mon Apr 18 16:18:10 2005
@@ -0,0 +1,289 @@
+#
+# This Makefile requires the environment var OSSLSDK 
+# pointing to the base directory of your OpenSSL SDK.
+#
+
+#
+# Declare the sub-directories to be built here
+#
+
+SUBDIRS = \
+	$(EOLIST) 
+
+#
+# Get the 'head' of the build environment.  This includes default targets and
+# paths to tools
+#
+
+include $(AP_WORK)\build\NWGNUhead.inc
+
+#
+# build this level's files
+#
+# Make sure all needed macro's are defined
+#
+
+OSSLINC = $(OSSLSDK)/outinc_nw_libc
+OSSLLIB = $(OSSLSDK)/out_nw_libc
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS	+= \
+			$(OSSLINC) \
+			$(OSSLINC)/openssl \
+			$(AP_WORK)/include \
+			$(AP_WORK)/server/mpm/NetWare \
+			$(AP_WORK)/modules/arch/netware \
+			$(AP_WORK)/modules/generators \
+			$(APR)/include \
+			$(APRUTIL)/include \
+			$(APR) \
+			$(NWOS) \
+			$(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS		+= \
+			-relax_pointers \
+			$(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES	+= \
+			-DHAVE_OPENSSL \
+			$(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS		+= \
+			-l $(OSSLLIB) \
+			$(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	= mod_ssl
+
+#
+# This is used by the link '-desc ' directive. 
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION	= Apache $(VERSION_STR) SSL module
+
+#
+# This is used by the '-threadname' directive.  If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME	= mod_ssl
+
+#
+# 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 this is 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		= 
+
+#
+# Declare all target files (you must add your files here)
+#
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+	$(OBJDIR)/mod_ssl.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 := $(patsubst %.c,$(OBJDIR)/%.o,$(wildcard *.c))
+
+
+#
+# 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 \
+	$(OSSLLIB)/crypto.lib \
+	$(OSSLLIB)/ssl.lib \
+	$(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 = \
+	Apache2 \
+	Libc \
+	$(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 = \
+	@libc.imp \
+	@$(APR)/aprlib.imp \
+	@httpd.imp \
+	GetProcessSwitchCount \
+	RunningProcess \
+	GetSuperHighResolutionTimer \
+	$(EOLIST)
+ 
+# Don't link with Winsock if standard sockets are being used
+ifndef USE_STDSOCKETS
+FILES_nlm_Ximports += @ws2nlm.imp \
+	       $(EOLIST)
+endif
+ 
+#   
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+	ssl_module \
+	$(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)\mod_ssl.nlm $(INSTALL)\Apache2\modules\*.*
+    
+#
+# Any specialized rules here
+#
+vpath %.c $(AP_WORK)/modules/arch/netware
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(AP_WORK)\build\NWGNUtail.inc
+
+
+