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
+
+
+