This reduces the number of moving parts in ABI compatibility checks.
Additionally, it also allows to use OpenSSL in FIPS mode while still
using md5 for non-security tasks.
PCRE_OPT="$PCRE_OPT -Ae"
ZLIB_OPT="$ZLIB_OPT -Ae"
-MD5_OPT="$MD5_OPT -Ae"
PCRE_OPT="$PCRE_OPT -pipe"
fi
-if [ ".$MD5_OPT" = "." ]; then
- MD5_OPT="-O2 -pipe $CPU_OPT"
-else
- MD5_OPT="$MD5_OPT -pipe"
-fi
-
if [ ".$ZLIB_OPT" = "." ]; then
ZLIB_OPT="-O2 -pipe $CPU_OPT"
else
PCRE_OPT="$PCRE_OPT $PIPE"
fi
-if [ ".$MD5_OPT" = "." ]; then
- MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
-else
- MD5_OPT="$MD5_OPT $PIPE"
-fi
-
if [ ".$ZLIB_OPT" = "." ]; then
ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
else
PCRE_OPT="-O $CPU_OPT"
fi
-if [ ".$MD5_OPT" = "." ]; then
- MD5_OPT="-O $CPU_OPT"
-fi
-
if [ ".$ZLIB_OPT" = "." ]; then
ZLIB_OPT="-O $CPU_OPT"
fi
PCRE_OPT="$ngx_fast $IPO $CPU_OPT"
fi
-if [ ".$MD5_OPT" = "." ]; then
- MD5_OPT="$ngx_fast $IPO $CPU_OPT"
-fi
-
if [ ".$ZLIB_OPT" = "." ]; then
ZLIB_OPT="$ngx_fast $IPO $CPU_OPT"
fi
. auto/lib/openssl/conf
fi
-if [ $USE_MD5 = YES ]; then
-
- if [ $USE_OPENSSL = YES ]; then
- have=NGX_HAVE_OPENSSL_MD5_H . auto/have
- have=NGX_OPENSSL_MD5 . auto/have
- have=NGX_HAVE_MD5 . auto/have
- MD5=YES
- MD5_LIB=OpenSSL
-
- else
- . auto/lib/md5/conf
- fi
-
-fi
-
-if [ $USE_SHA1 = YES ]; then
-
- if [ $USE_OPENSSL = YES ]; then
- have=NGX_HAVE_OPENSSL_SHA1_H . auto/have
- have=NGX_HAVE_SHA1 . auto/have
- SHA1=YES
- SHA1_LIB=OpenSSL
-
- else
- . auto/lib/sha1/conf
- fi
-
-fi
-
if [ $USE_ZLIB = YES ]; then
. auto/lib/zlib/conf
fi
. auto/lib/pcre/make
fi
-if [ $MD5 != NONE -a $MD5 != NO -a $MD5 != YES ]; then
- . auto/lib/md5/make
-fi
-
-if [ $SHA1 != NONE -a $SHA1 != NO -a $SHA1 != YES ]; then
- . auto/lib/sha1/make
-fi
-
if [ $OPENSSL != NONE -a $OPENSSL != NO -a $OPENSSL != YES ]; then
. auto/lib/openssl/make
fi
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-if [ $MD5 != NONE ]; then
-
- if grep MD5_Init $MD5/md5.h 2>&1 >/dev/null; then
- # OpenSSL md5
- OPENSSL_MD5=YES
- have=NGX_HAVE_OPENSSL_MD5 . auto/have
- have=NGX_OPENSSL_MD5 . auto/have
- else
- # rsaref md5
- OPENSSL_MD5=NO
- fi
-
- have=NGX_HAVE_MD5 . auto/have
- CORE_INCS="$CORE_INCS $MD5"
-
- case "$NGX_CC_NAME" in
-
- msvc | owc | bcc)
- LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
- CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
- ;;
-
- icc)
- LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
-
- # to allow -ipo optimization we link with the *.o but not library
- CORE_LIBS="$CORE_LIBS $MD5/md5_dgst.o"
-
- if [ $MD5_ASM = YES ]; then
- CORE_LIBS="$CORE_LIBS $MD5/asm/mx86-elf.o"
- fi
- ;;
-
- *)
- LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
- CORE_LIBS="$CORE_LIBS $MD5/libmd5.a"
- #CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
- ;;
-
- esac
-
-else
-
- if [ "$NGX_PLATFORM" != win32 ]; then
-
- MD5=NO
-
- # FreeBSD, Solaris 10
-
- ngx_feature="md5 in system md library"
- ngx_feature_name=NGX_HAVE_MD5
- ngx_feature_run=no
- ngx_feature_incs="#include <md5.h>"
- ngx_feature_path=
- ngx_feature_libs="-lmd"
- ngx_feature_test="MD5_CTX md5; MD5Init(&md5)"
- . auto/feature
-
- ngx_md5_lib="system md"
-
- if [ $ngx_found = no ]; then
-
- # Solaris 8/9
-
- ngx_feature="md5 in system md5 library"
- ngx_feature_libs="-lmd5"
- . auto/feature
-
- ngx_md5_lib="system md5"
- fi
-
- if [ $ngx_found = no ]; then
-
- # OpenSSL crypto library
-
- ngx_feature="md5 in system OpenSSL crypto library"
- ngx_feature_name="NGX_OPENSSL_MD5"
- ngx_feature_incs="#include <openssl/md5.h>"
- ngx_feature_libs="-lcrypto"
- ngx_feature_test="MD5_CTX md5; MD5_Init(&md5)"
- . auto/feature
-
- ngx_md5_lib="system crypto"
-
- if [ $ngx_found = yes ]; then
- have=NGX_HAVE_OPENSSL_MD5_H . auto/have
- have=NGX_HAVE_MD5 . auto/have
- fi
- fi
-
- if [ $ngx_found = yes ]; then
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
- MD5=YES
- MD5_LIB=$ngx_md5_lib
- fi
- fi
-
-fi
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-case "$NGX_CC_NAME" in
-
- msvc)
- ngx_makefile=makefile.msvc
- ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC MD5_ASM=$MD5_ASM"
- ngx_md5="MD5=\"$MD5\""
- ;;
-
- owc)
- ngx_makefile=makefile.owc
- ngx_opt="CPU_OPT=\"$CPU_OPT\""
- ngx_md5=`echo MD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"`
- ;;
-
- bcc)
- ngx_makefile=makefile.bcc
- ngx_opt="-DCPU_OPT=\"$CPU_OPT\" -DMD5_ASM=$MD5_ASM"
- ngx_md5=`echo \-DMD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"`
- ;;
-
-esac
-
-
-done=NO
-
-
-case "$NGX_PLATFORM" in
-
- win32)
- cat << END >> $NGX_MAKEFILE
-
-`echo "$MD5/md5.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
- \$(MAKE) -f auto/lib/md5/$ngx_makefile $ngx_opt $ngx_md5
-
-END
-
- done=YES
- ;;
-
- SunOS:*:i86pc)
- if [ $MD5_ASM = YES ]; then
-
- cat << END >> $NGX_MAKEFILE
-
-$MD5/libmd5.a: $NGX_MAKEFILE
- cd $MD5 \\
- && \$(MAKE) CFLAGS="$MD5_OPT -DSOL -DMD5_ASM -DL_ENDIAN" \\
- CC="\$(CC)" CPP="\$(CPP)" \\
- MD5_ASM_OBJ=asm/mx86-sol.o clean libmd5.a
-
-END
-
- done=YES
- fi
- ;;
-
- # FreeBSD: i386
- # Linux: i686
-
- *:i386 | *:i686)
- if [ $MD5_ASM = YES ]; then
-
- cat << END >> $NGX_MAKEFILE
-
-$MD5/libmd5.a: $NGX_MAKEFILE
- cd $MD5 \\
- && \$(MAKE) CFLAGS="$MD5_OPT -DELF -DMD5_ASM -DL_ENDIAN" \\
- CC="\$(CC)" CPP="\$(CPP)" \\
- MD5_ASM_OBJ=asm/mx86-elf.o clean libmd5.a
-
-END
-
- done=YES
- fi
- ;;
-
-esac
-
-
-if [ $done = NO ]; then
-
- cat << END >> $NGX_MAKEFILE
-
-$MD5/libmd5.a: $NGX_MAKEFILE
- cd $MD5 \\
- && \$(MAKE) CFLAGS="$MD5_OPT" \\
- CC="\$(CC)" MD5_ASM_OBJ= clean libmd5.a
-
-END
-
-fi
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-CFLAGS = -q -O2 -tWM $(CPU_OPT) -DL_ENDIAN
-
-!if "$(MD5_ASM)" == "YES"
-
-md5.lib:
- cd $(MD5)
- bcc32 -c $(CFLAGS) -DMD5_ASM md5_dgst.c
- tlib md5.lib +md5_dgst.obj +"asm\m-win32.obj"
-
-!else
-
-md5.lib:
- cd $(MD5)
- bcc32 -c $(CFLAGS) md5_dgst.c
- tlib md5.lib +md5_dgst.obj
-
-!endif
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-CFLAGS = -nologo -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT) -D L_ENDIAN
-
-!IF "$(MD5_ASM)" == "YES"
-
-md5.lib:
- cd $(MD5)
- cl -c $(CFLAGS) -D MD5_ASM md5_dgst.c
- link -lib -out:md5.lib md5_dgst.obj asm/m-win32.obj
-
-!ELSE
-
-md5.lib:
- cd $(MD5)
- cl -c $(CFLAGS) md5_dgst.c
- link -lib -out:md5.lib md5_dgst.obj
-
-!ENDIF
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-CFLAGS = -zq -bt=nt -bm -ot -op -oi -oe -s $(CPU_OPT)
-
-md5.lib:
- cd $(MD5)
- wcl386 -c $(CFLAGS) -dL_ENDIAN md5_dgst.c
- wlib -n md5.lib md5_dgst.obj
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-if [ $SHA1 != NONE ]; then
-
- have=NGX_HAVE_SHA1 . auto/have
- CORE_INCS="$CORE_INCS $SHA1"
-
- case "$NGX_CC_NAME" in
-
- msvc | owc | bcc)
- LINK_DEPS="$LINK_DEPS $SHA1/sha1.lib"
- CORE_LIBS="$CORE_LIBS $SHA1/sha1.lib"
- ;;
-
- icc)
- LINK_DEPS="$LINK_DEPS $SHA1/libsha.a"
-
- # to allow -ipo optimization we link with the *.o but not library
- CORE_LIBS="$CORE_LIBS $SHA1/sha1_dgst.o"
-
- if [ $SHA1_ASM = YES ]; then
- CORE_LIBS="$CORE_LIBS $SHA1/asm/sx86-elf.o"
- fi
- ;;
-
- *)
- LINK_DEPS="$LINK_DEPS $SHA1/libsha.a"
- CORE_LIBS="$CORE_LIBS $SHA1/libsha.a"
- #CORE_LIBS="$CORE_LIBS -L $SHA1 -lsha"
- ;;
-
- esac
-
-else
-
- if [ "$NGX_PLATFORM" != win32 ]; then
-
- SHA1=NO
-
- # FreeBSD
-
- ngx_feature="sha1 in system md library"
- ngx_feature_name=NGX_HAVE_SHA1
- ngx_feature_run=no
- ngx_feature_incs="#include <sha.h>"
- ngx_feature_path=
- ngx_feature_libs="-lmd"
- ngx_feature_test="SHA_CTX sha1; SHA1_Init(&sha1)"
- . auto/feature
-
- ngx_sha1_lib="system md"
-
- if [ $ngx_found = no ]; then
-
- # OpenSSL crypto library
-
- ngx_feature="sha1 in system OpenSSL crypto library"
- ngx_feature_incs="#include <openssl/sha.h>"
- ngx_feature_libs="-lcrypto"
- . auto/feature
-
- ngx_sha1_lib="system crypto"
-
- if [ $ngx_found = yes ]; then
- have=NGX_HAVE_OPENSSL_SHA1_H . auto/have
- fi
- fi
-
- if [ $ngx_found = yes ]; then
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
- SHA1=YES
- SHA1_LIB=$ngx_sha1_lib
- fi
- fi
-
-fi
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-case "$NGX_CC_NAME" in
-
- msvc)
- ngx_makefile=makefile.msvc
- ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC SHA1_ASM=$SHA1_ASM"
- ngx_sha1="SHA1=\"$SHA1\""
- ;;
-
- owc)
- ngx_makefile=makefile.owc
- ngx_opt="CPU_OPT=\"$CPU_OPT\""
- ngx_sha1=`echo SHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"`
- ;;
-
- bcc)
- ngx_makefile=makefile.bcc
- ngx_opt="-DCPU_OPT=\"$CPU_OPT\" -DSHA1_ASM=$SHA1_ASM"
- ngx_sha1=`echo \-DSHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"`
- ;;
-
-esac
-
-
-done=NO
-
-
-case "$NGX_PLATFORM" in
-
- win32)
- cat << END >> $NGX_MAKEFILE
-
-`echo "$SHA1/sha1.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
- \$(MAKE) -f auto/lib/sha1/$ngx_makefile $ngx_opt $ngx_sha1
-
-END
-
- done=YES
- ;;
-
- SunOS:*:i86pc)
- if [ $SHA1_ASM = YES ]; then
-
- cat << END >> $NGX_MAKEFILE
-
-$SHA1/libsha.a: $NGX_MAKEFILE
- cd $SHA1 \\
- && \$(MAKE) CFLAGS="$SHA1_OPT -DSOL -DSHA1_ASM -DL_ENDIAN" \\
- CC="\$(CC)" CPP="\$(CPP)" \\
- SHA_ASM_OBJ=asm/sx86-sol.o clean libsha.a
-
-END
-
- done=YES
- fi
- ;;
-
- # FreeBSD: i386
- # Linux: i686
-
- *:i386 | *:i686)
- if [ $SHA1_ASM = YES ]; then
-
- cat << END >> $NGX_MAKEFILE
-
-$SHA1/libsha.a: $NGX_MAKEFILE
- cd $SHA1 \\
- && \$(MAKE) CFLAGS="$SHA1_OPT -DELF -DSHA1_ASM -DL_ENDIAN" \\
- CC="\$(CC)" CPP="\$(CPP)" \\
- SHA_ASM_OBJ=asm/sx86-elf.o clean libsha.a
-
-END
-
- done=YES
- fi
- ;;
-
-esac
-
-
-if [ $done = NO ]; then
-
- cat << END >> $NGX_MAKEFILE
-
-$SHA1/libsha.a: $NGX_MAKEFILE
- cd $SHA1 \\
- && \$(MAKE) CFLAGS="$SHA1_OPT" \\
- CC="\$(CC)" SHA_ASM_OBJ= clean libsha.a
-
-END
-
-fi
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-CFLAGS = -q -O2 -tWM $(CPU_OPT) -DL_ENDIAN
-
-!if "$(SHA1_ASM)" == "YES"
-
-sha1.lib:
- cd $(SHA1)
- bcc32 -c $(CFLAGS) -DSHA1_ASM sha1dgst.c
- tlib sha1.lib +sha1dgst.obj +"asm\s-win32.obj"
-
-!else
-
-sha1.lib:
- cd $(SHA1)
- bcc32 -c $(CFLAGS) sha1dgst.c
- tlib sha1.lib +sha1dgst.obj
-
-!endif
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-CFLAGS = -nologo -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT) -D L_ENDIAN
-
-!IF "$(SHA1_ASM)" == "YES"
-
-sha1.lib:
- cd $(SHA1)
- cl -c $(CFLAGS) -D SHA1_ASM sha1dgst.c
- link -lib -out:sha1.lib sha1dgst.obj asm/s-win32.obj
-
-!ELSE
-
-sha1.lib:
- cd $(SHA1)
- cl -c $(CFLAGS) sha1dgst.c
- link -lib -out:sha1.lib sha1dgst.obj
-
-!ENDIF
+++ /dev/null
-
-# Copyright (C) Igor Sysoev
-# Copyright (C) Nginx, Inc.
-
-
-CFLAGS = -zq -bt=nt -bm -ot -op -oi -oe -s $(CPU_OPT)
-
-sha1.lib:
- cd $(SHA1)
- wcl386 -c $(CFLAGS) -dL_ENDIAN sha1dgst.c
- wlib -n sha1.lib sha1dgst.obj
fi
;;
- PCRE | OPENSSL | MD5 | SHA1 | ZLIB)
+ PCRE | OPENSSL | ZLIB)
eval USE_${lib}=YES
;;
+ MD5 | SHA1)
+ # obsolete
+ ;;
+
*)
libs="$libs $lib"
;;
do
case $lib in
- PCRE | OPENSSL | MD5 | SHA1 | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
+ PCRE | OPENSSL | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
eval USE_${lib}=YES
;;
+ MD5 | SHA1)
+ # obsolete
+ ;;
+
*)
CORE_LIBS="$CORE_LIBS $lib"
;;
do
case $lib in
- PCRE | OPENSSL | MD5 | SHA1 | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
+ PCRE | OPENSSL | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
eval USE_${lib}=YES
;;
+ MD5 | SHA1)
+ # obsolete
+ ;;
+
*)
CORE_LIBS="$CORE_LIBS $lib"
;;
if [ $HTTP_CACHE = YES ]; then
- USE_MD5=YES
have=NGX_HTTP_CACHE . auto/have
HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
fi
fi
if [ $HTTP_AUTH_BASIC = YES ]; then
- USE_MD5=YES
- USE_SHA1=YES
have=NGX_CRYPT . auto/have
ngx_module_name=ngx_http_auth_basic_module
if [ $HTTP_PROXY = YES ]; then
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
- #USE_MD5=YES
ngx_module_name=ngx_http_proxy_module
ngx_module_incs=
fi
if [ $HTTP_SECURE_LINK = YES ]; then
- USE_MD5=YES
-
ngx_module_name=ngx_http_secure_link_module
ngx_module_incs=
ngx_module_deps=
USE_OPENSSL=NO
OPENSSL=NONE
-USE_MD5=NO
-MD5=NONE
-MD5_OPT=
-MD5_ASM=NO
-
-USE_SHA1=NO
-SHA1=NONE
-SHA1_OPT=
-SHA1_ASM=NO
-
USE_ZLIB=NO
ZLIB=NONE
ZLIB_OPT=
--with-openssl=*) OPENSSL="$value" ;;
--with-openssl-opt=*) OPENSSL_OPT="$value" ;;
- --with-md5=*) MD5="$value" ;;
- --with-md5-opt=*) MD5_OPT="$value" ;;
- --with-md5-asm) MD5_ASM=YES ;;
+ --with-md5=*)
+ NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
+$0: warning: the \"--with-md5\" option is deprecated"
+ ;;
+ --with-md5-opt=*)
+ NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
+$0: warning: the \"--with-md5-opt\" option is deprecated"
+ ;;
+ --with-md5-asm)
+ NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
+$0: warning: the \"--with-md5-asm\" option is deprecated"
+ ;;
- --with-sha1=*) SHA1="$value" ;;
- --with-sha1-opt=*) SHA1_OPT="$value" ;;
- --with-sha1-asm) SHA1_ASM=YES ;;
+ --with-sha1=*)
+ NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
+$0: warning: the \"--with-sha1\" option is deprecated"
+ ;;
+ --with-sha1-opt=*)
+ NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
+$0: warning: the \"--with-sha1-opt\" option is deprecated"
+ ;;
+ --with-sha1-asm)
+ NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
+$0: warning: the \"--with-sha1-asm\" option is deprecated"
+ ;;
--with-zlib=*) ZLIB="$value" ;;
--with-zlib-opt=*) ZLIB_OPT="$value" ;;
--with-pcre-opt=OPTIONS set additional build options for PCRE
--with-pcre-jit build PCRE with JIT compilation support
- --with-md5=DIR set path to md5 library sources
- --with-md5-opt=OPTIONS set additional build options for md5
- --with-md5-asm use md5 assembler sources
-
- --with-sha1=DIR set path to sha1 library sources
- --with-sha1-opt=OPTIONS set additional build options for sha1
- --with-sha1-asm use sha1 assembler sources
-
--with-zlib=DIR set path to zlib library sources
--with-zlib-opt=OPTIONS set additional build options for zlib
--with-zlib-asm=CPU use zlib assembler sources optimized
*) echo " + using OpenSSL library: $OPENSSL" ;;
esac
-case $MD5 in
- YES) echo " + md5: using $MD5_LIB library" ;;
- NONE) echo " + md5 library is not used" ;;
- NO) echo " + using builtin md5 code" ;;
- *) echo " + using md5 library: $MD5" ;;
-esac
-
-case $SHA1 in
- YES) echo " + sha1: using $SHA1_LIB library" ;;
- NONE) echo " + sha1 library is not used" ;;
- NO) echo " + sha1 library is not found" ;;
- *) echo " + using sha1 library: $SHA1" ;;
-esac
-
case $ZLIB in
YES) echo " + using system zlib library" ;;
NONE) echo " + zlib library is not used" ;;
* An internal implementation, based on Alexander Peslyak's
* public domain implementation:
* http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
- * It is not expected to be optimal and is used only
- * if no MD5 implementation was found in system.
*/
#include <ngx_md5.h>
-#if !(NGX_HAVE_MD5)
-
static const u_char *ngx_md5_body(ngx_md5_t *ctx, const u_char *data,
size_t size);
return p;
}
-
-#endif
#include <ngx_core.h>
-#if (NGX_HAVE_MD5)
-
-#if (NGX_HAVE_OPENSSL_MD5_H)
-#include <openssl/md5.h>
-#else
-#include <md5.h>
-#endif
-
-
-typedef MD5_CTX ngx_md5_t;
-
-
-#if (NGX_OPENSSL_MD5)
-
-#define ngx_md5_init MD5_Init
-#define ngx_md5_update MD5_Update
-#define ngx_md5_final MD5_Final
-
-#else
-
-#define ngx_md5_init MD5Init
-#define ngx_md5_update MD5Update
-#define ngx_md5_final MD5Final
-
-#endif
-
-
-#else /* !NGX_HAVE_MD5 */
-
-
typedef struct {
uint64_t bytes;
uint32_t a, b, c, d;
void ngx_md5_final(u_char result[16], ngx_md5_t *ctx);
-#endif
-
#endif /* _NGX_MD5_H_INCLUDED_ */
#define NGX_MODULE_SIGNATURE_16 "0"
#endif
-#if (NGX_HAVE_MD5)
-#define NGX_MODULE_SIGNATURE_17 "1"
-#else
#define NGX_MODULE_SIGNATURE_17 "0"
-#endif
-
-#if (NGX_HAVE_SHA1)
-#define NGX_MODULE_SIGNATURE_18 "1"
-#else
#define NGX_MODULE_SIGNATURE_18 "0"
-#endif
#if (NGX_HAVE_OPENAT)
#define NGX_MODULE_SIGNATURE_19 "1"
* Copyright (C) Nginx, Inc.
*
* An internal SHA1 implementation.
- * It is not expected to be optimal and is used only
- * if no SHA1 implementation was found in system.
*/
#include <ngx_sha1.h>
-#if !(NGX_HAVE_SHA1)
-
static const u_char *ngx_sha1_body(ngx_sha1_t *ctx, const u_char *data,
size_t size);
return p;
}
-
-#endif
#include <ngx_core.h>
-#if (NGX_HAVE_SHA1)
-
-#if (NGX_HAVE_OPENSSL_SHA1_H)
-#include <openssl/sha.h>
-#else
-#include <sha.h>
-#endif
-
-
-typedef SHA_CTX ngx_sha1_t;
-
-
-#define ngx_sha1_init SHA1_Init
-#define ngx_sha1_update SHA1_Update
-#define ngx_sha1_final SHA1_Final
-
-
-#else /* !NGX_HAVE_SHA1 */
-
-
typedef struct {
uint64_t bytes;
uint32_t a, b, c, d, e, f;
void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx);
-#endif
-
#endif /* _NGX_SHA1_H_INCLUDED_ */