📄 libssl.module
字号:
## _ _ ## _ __ ___ ___ __| | ___ ___| | mod_ssl## | '_ ` _ \ / _ \ / _` | / __/ __| | Apache Interface to OpenSSL## | | | | | | (_) | (_| | \__ \__ \ | www.modssl.org## |_| |_| |_|\___/ \__,_|___|___/___/_| ftp.modssl.org## |_____| ## libssl.module## Apache 1.3 Configuration mechanism module stub###### ====================================================================## Copyright (c) 1998-2006 Ralf S. Engelschall. All rights reserved.## ## Redistribution and use in source and binary forms, with or without## modification, are permitted provided that the following conditions## are met:## ## 1. Redistributions of source code must retain the above copyright## notice, this list of conditions and the following disclaimer. ## ## 2. Redistributions in binary form must reproduce the above copyright## notice, this list of conditions and the following## disclaimer in the documentation and/or other materials## provided with the distribution.## ## 3. All advertising materials mentioning features or use of this## software must display the following acknowledgment:## "This product includes software developed by ## Ralf S. Engelschall <rse@engelschall.com> for use in the## mod_ssl project (http://www.modssl.org/)."## ## 4. The names "mod_ssl" must not be used to endorse or promote## products derived from this software without prior written## permission. For written permission, please contact## rse@engelschall.com.## ## 5. Products derived from this software may not be called "mod_ssl"## nor may "mod_ssl" appear in their names without prior## written permission of Ralf S. Engelschall.## ## 6. Redistributions of any form whatsoever must retain the following## acknowledgment:## "This product includes software developed by ## Ralf S. Engelschall <rse@engelschall.com> for use in the## mod_ssl project (http://www.modssl.org/)."## ## THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``AS IS'' AND ANY## EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RALF S. ENGELSCHALL OR## HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT## NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,## STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED## OF THE POSSIBILITY OF SUCH DAMAGE.## ====================================================================## # ``What you are missing, I suppose, is that I'm not # prepared to give equal rights to Ralf on the basis # that he's spent a few hours doing what he thinks is # better than what I've spent the last 4 years on, # and so he isn't prepared to cooperate with me.'' # -- Ben Laurie, Apache-SSL authorName: ssl_moduleConfigStart # # interface to the src/Configure script # my_dir="`echo ${modfile} | sed -e 's:/[^/]*$::'`" my_version="$my_dir/libssl.version" my_outfile="Makefile.config" my_prefix=" +" my_prefixe=" " SSL_CFLAGS='' SSL_LDFLAGS='' SSL_LIBS='' # # find a reasonable Bourne Shell for sub-shell calls # SH=sh if [ -f /bin/bash ]; then SH=/bin/bash elif [ -f /bin/sh5 ]; then SH=/bin/sh5 elif [ -f /bin/sh ]; then SH=/bin/sh fi # # determine mod_ssl author version # A_ID=`cat $my_version | sed -e 's; .*;;'` A_NAME=`echo $A_ID | sed -e 's;/.*;;'` A_VER=`echo $A_ID | sed -e 's;.*/;;'` A_VER_STR=`echo $A_VER | sed -e 's;-.*;;'` case $A_VER_STR in *.*b* ) A_VER_HEX=`echo "$A_VER_STR" | sed -e 's/b.*//' | awk -F. '{ printf("%d%02d", $1, $2); }' && echo "$A_VER_STR" | sed -e 's/.*b//' | awk '{ printf("0%02d", $1); }'` ;; *.*.* ) A_VER_HEX=`echo "$A_VER_STR" | awk -F. '{ printf("%d%02d1%02d", $1, $2, $3); }'` ;; esac echo "$my_prefix SSL interface: $A_NAME/$A_VER_STR" SSL_VERSION="-DMOD_SSL_VERSION=\\\"$A_VER_STR\\\"" # # determine optional mod_ssl product version # if [ ".`egrep '.*/.* .*/.*' $my_version`" != . ]; then P_ID=`cat $my_version | sed -e 's;.* ;;'` P_NAME=`echo $P_ID | sed -e 's;/.*;;'` P_VER=`echo $P_ID | sed -e 's;.*/;;'` P_VER_STR=`echo $P_VER | sed -e 's;-.*;;'` case $P_VER_STR in *.*b* ) P_VER_HEX=`echo "$P_VER_STR" | sed -e 's/b.*//' | awk -F. '{ printf("%d%02d", $1, $2); }' && echo "$P_VER_STR" | sed -e 's/.*b//' | awk '{ printf("0%02d", $1); }'` ;; *.*.* ) P_VER_HEX=`echo "$P_VER_STR" | awk -F. '{ printf("%d%02d1%02d", $1, $2, $3); }'` ;; esac echo "$my_prefix SSL product: $P_NAME/$P_VER_STR" SSL_VERSION="$SSL_VERSION -DSSL_PRODUCT_NAME=\\\"$P_NAME\\\"" SSL_VERSION="$SSL_VERSION -DSSL_PRODUCT_VERSION=\\\"$P_VER_STR\\\"" fi # # determine object build type # case $modfile in *.so ) my_buildtype="DSO" ;; * ) my_buildtype="OBJ" ;; esac echo "$my_prefix SSL interface build type: $my_buildtype" # # determine SSL rules # if [ ".$APXS_MODE" = .YES ]; then my_rule_SSL_COMPAT=$SSL_COMPAT my_rule_SSL_SDBM=$SSL_SDBM my_rule_SSL_EXPERIMENTAL=$SSL_EXPERIMENTAL my_rule_SSL_CONSERVATIVE=$SSL_CONSERVATIVE my_rule_SSL_VENDOR=$SSL_VENDOR else my_rule_SSL_COMPAT=`$SH helpers/CutRule SSL_COMPAT $file` my_rule_SSL_SDBM=`$SH helpers/CutRule SSL_SDBM $file` my_rule_SSL_EXPERIMENTAL=`$SH helpers/CutRule SSL_EXPERIMENTAL $file` my_rule_SSL_CONSERVATIVE=`$SH helpers/CutRule SSL_CONSERVATIVE $file` my_rule_SSL_VENDOR=`$SH helpers/CutRule SSL_VENDOR $file` fi # # determine compatibility mode # if [ ".$my_rule_SSL_COMPAT" = .yes ]; then echo "$my_prefix SSL interface compatibility: enabled" SSL_CFLAGS="$SSL_CFLAGS -DSSL_COMPAT" else echo "$my_prefix SSL interface compatibility: disabled" fi # # determine experimental mode # if [ ".$my_rule_SSL_EXPERIMENTAL" = .yes ]; then echo "$my_prefix SSL interface experimental code: enabled" SSL_CFLAGS="$SSL_CFLAGS -DSSL_EXPERIMENTAL" else echo "$my_prefix SSL interface experimental code: disabled" fi # # determine conservative mode # if [ ".$my_rule_SSL_CONSERVATIVE" = .yes ]; then echo "$my_prefix SSL interface conservative code: enabled" SSL_CFLAGS="$SSL_CFLAGS -DSSL_CONSERVATIVE" else echo "$my_prefix SSL interface conservative code: disabled" fi # # determine vendor mode # SSL_VENDOR_OBJS='' SSL_VENDOR_OBJS_PIC='' if [ ".$my_rule_SSL_VENDOR" = .yes ]; then echo "$my_prefix SSL interface vendor extensions: enabled" SSL_CFLAGS="$SSL_CFLAGS -DSSL_VENDOR" my_src="`cd $my_dir && echo ssl_vendor*.c`" if [ ".$my_src" != . -a ".$my_src" != ".ssl_vendor*.c" ]; then SSL_CFLAGS="$SSL_CFLAGS -DSSL_VENDOR_OBJS" SSL_VENDOR_OBJS="`echo $my_src | sed -e 's;\.c;.o;g'`" SSL_VENDOR_OBJS_PIC="`echo $my_src | sed -e 's;\.c;.lo;g'`" echo "$my_prefix SSL interface vendor objects: $SSL_VENDOR_OBJS" fi else echo "$my_prefix SSL interface vendor extensions: disabled" fi # # determine DBM support library # (src/Configure has DBM_LIB predefined for some platforms) # if [ ".$APXS_MODE" != .YES ]; then SSL_DBM_NAME='' # 1. check for predefined DBM lib if [ ".$DBM_LIB" != . ]; then LIBS_ORIG="$LIBS" LIBS="$LIBS $DBM_LIB" if $SH helpers/TestCompile func dbm_open; then SSL_DBM_NAME="Configured DBM ($DBM_LIB)" SSL_DBM_FLAG="$DBM_LIB" fi LIBS="$LIBS_ORIG" fi # 2. check for various vendor DBM libs if [ ".$SSL_DBM_NAME" = . ]; then if $SH helpers/TestCompile func dbm_open; then SSL_DBM_NAME='Vendor DBM (libc)' SSL_DBM_FLAG='' elif $SH helpers/TestCompile lib dbm dbm_open; then SSL_DBM_NAME='Vendor DBM (libdbm)' SSL_DBM_FLAG='-ldbm' elif $SH helpers/TestCompile lib ndbm dbm_open; then SSL_DBM_NAME='Vendor DBM (libndbm)' SSL_DBM_FLAG='-lndbm' fi fi # 3. let the SSL_SDBM rule override decisions if [ ".$my_rule_SSL_SDBM" = .yes ]; then # force us to fallback to SDBM SSL_DBM_NAME='' fi if [ ".$my_rule_SSL_SDBM" = .no ]; then # for us to never use SDBM, but be # careful when no DBM was found at all if [ ".$SSL_DBM_NAME" = . ]; then echo "Error: SDBM is needed, because no custom or vendor DBM library available!" 1>&2 echo "Hint: Allow us to choose SDBM by changing the rule SSL_SDBM, please." 1>&2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -