[nginx] Internal md5 and sha1 implementations are now always used.

Maxim Dounin mdounin at mdounin.ru
Thu Jun 30 16:17:47 UTC 2016


details:   http://hg.nginx.org/nginx/rev/9eefb38f0005
branches:  
changeset: 6603:9eefb38f0005
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Thu Jun 30 18:57:39 2016 +0300
description:
Internal md5 and sha1 implementations are now always used.

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.

diffstat:

 auto/cc/acc                 |    1 -
 auto/cc/clang               |    6 --
 auto/cc/gcc                 |    6 --
 auto/cc/icc                 |    4 -
 auto/cc/sunc                |    4 -
 auto/lib/conf               |   29 ------------
 auto/lib/make               |    8 ---
 auto/lib/md5/conf           |  103 --------------------------------------------
 auto/lib/md5/make           |   96 -----------------------------------------
 auto/lib/md5/makefile.bcc   |   22 ---------
 auto/lib/md5/makefile.msvc  |   22 ---------
 auto/lib/md5/makefile.owc   |   11 ----
 auto/lib/sha1/conf          |   79 ---------------------------------
 auto/lib/sha1/make          |   96 -----------------------------------------
 auto/lib/sha1/makefile.bcc  |   22 ---------
 auto/lib/sha1/makefile.msvc |   22 ---------
 auto/lib/sha1/makefile.owc  |   11 ----
 auto/module                 |   18 ++++++-
 auto/modules                |    6 --
 auto/options                |   48 ++++++++++----------
 auto/summary                |   14 -----
 src/core/ngx_md5.c          |    6 --
 src/core/ngx_md5.h          |   32 -------------
 src/core/ngx_module.h       |    9 ---
 src/core/ngx_sha1.c         |    6 --
 src/core/ngx_sha1.h         |   22 ---------
 26 files changed, 39 insertions(+), 664 deletions(-)

diffs (truncated from 1003 to 1000 lines):

diff --git a/auto/cc/acc b/auto/cc/acc
--- a/auto/cc/acc
+++ b/auto/cc/acc
@@ -12,4 +12,3 @@ CC_TEST_FLAGS="-Ae"
 
 PCRE_OPT="$PCRE_OPT -Ae"
 ZLIB_OPT="$ZLIB_OPT -Ae"
-MD5_OPT="$MD5_OPT -Ae"
diff --git a/auto/cc/clang b/auto/cc/clang
--- a/auto/cc/clang
+++ b/auto/cc/clang
@@ -66,12 +66,6 @@ else
     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
diff --git a/auto/cc/gcc b/auto/cc/gcc
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -128,12 +128,6 @@ 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
diff --git a/auto/cc/icc b/auto/cc/icc
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -43,10 +43,6 @@ if [ ".$PCRE_OPT" = "." ]; then
     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
diff --git a/auto/cc/sunc b/auto/cc/sunc
--- a/auto/cc/sunc
+++ b/auto/cc/sunc
@@ -145,10 +145,6 @@ if [ ".$PCRE_OPT" = "." ]; then
     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
diff --git a/auto/lib/conf b/auto/lib/conf
--- a/auto/lib/conf
+++ b/auto/lib/conf
@@ -25,35 +25,6 @@ if [ $USE_OPENSSL = YES ]; then
     . 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
diff --git a/auto/lib/make b/auto/lib/make
--- a/auto/lib/make
+++ b/auto/lib/make
@@ -7,14 +7,6 @@ if [ $PCRE != NONE -a $PCRE != NO -a $PC
     . 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
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
deleted file mode 100644
--- a/auto/lib/md5/conf
+++ /dev/null
@@ -1,103 +0,0 @@
-
-# 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
diff --git a/auto/lib/md5/make b/auto/lib/md5/make
deleted file mode 100644
--- a/auto/lib/md5/make
+++ /dev/null
@@ -1,96 +0,0 @@
-
-# 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
diff --git a/auto/lib/md5/makefile.bcc b/auto/lib/md5/makefile.bcc
deleted file mode 100644
--- a/auto/lib/md5/makefile.bcc
+++ /dev/null
@@ -1,22 +0,0 @@
-
-# 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
diff --git a/auto/lib/md5/makefile.msvc b/auto/lib/md5/makefile.msvc
deleted file mode 100644
--- a/auto/lib/md5/makefile.msvc
+++ /dev/null
@@ -1,22 +0,0 @@
-
-# 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
diff --git a/auto/lib/md5/makefile.owc b/auto/lib/md5/makefile.owc
deleted file mode 100644
--- a/auto/lib/md5/makefile.owc
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# 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
diff --git a/auto/lib/sha1/conf b/auto/lib/sha1/conf
deleted file mode 100644
--- a/auto/lib/sha1/conf
+++ /dev/null
@@ -1,79 +0,0 @@
-
-# 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
diff --git a/auto/lib/sha1/make b/auto/lib/sha1/make
deleted file mode 100644
--- a/auto/lib/sha1/make
+++ /dev/null
@@ -1,96 +0,0 @@
-
-# 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
diff --git a/auto/lib/sha1/makefile.bcc b/auto/lib/sha1/makefile.bcc
deleted file mode 100644
--- a/auto/lib/sha1/makefile.bcc
+++ /dev/null
@@ -1,22 +0,0 @@
-
-# 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
diff --git a/auto/lib/sha1/makefile.msvc b/auto/lib/sha1/makefile.msvc
deleted file mode 100644
--- a/auto/lib/sha1/makefile.msvc
+++ /dev/null
@@ -1,22 +0,0 @@
-
-# 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
diff --git a/auto/lib/sha1/makefile.owc b/auto/lib/sha1/makefile.owc
deleted file mode 100644
--- a/auto/lib/sha1/makefile.owc
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# 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
diff --git a/auto/module b/auto/module
--- a/auto/module
+++ b/auto/module
@@ -48,10 +48,14 @@ if [ "$ngx_module_link" = DYNAMIC ]; the
                 fi
             ;;
 
-            PCRE | OPENSSL | MD5 | SHA1 | ZLIB)
+            PCRE | OPENSSL | ZLIB)
                 eval USE_${lib}=YES
             ;;
 
+            MD5 | SHA1)
+                # obsolete
+            ;;
+
             *)
                 libs="$libs $lib"
             ;;
@@ -79,10 +83,14 @@ elif [ "$ngx_module_link" = YES ]; then
     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"
             ;;
@@ -109,10 +117,14 @@ elif [ "$ngx_module_link" = ADDON ]; the
     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"
             ;;
diff --git a/auto/modules b/auto/modules
--- a/auto/modules
+++ b/auto/modules
@@ -101,7 +101,6 @@ fi
 
 
 if [ $HTTP_CACHE = YES ]; then
-    USE_MD5=YES
     have=NGX_HTTP_CACHE . auto/have
     HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
 fi
@@ -522,8 +521,6 @@ if [ $HTTP_AUTH_REQUEST = YES ]; then
 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
@@ -682,7 +679,6 @@ fi
 
 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=
@@ -772,8 +768,6 @@ if [ $HTTP_BROWSER = YES ]; then
 fi
 
 if [ $HTTP_SECURE_LINK = YES ]; then
-    USE_MD5=YES
-
     ngx_module_name=ngx_http_secure_link_module
     ngx_module_incs=
     ngx_module_deps=
diff --git a/auto/options b/auto/options
--- a/auto/options
+++ b/auto/options
@@ -136,16 +136,6 @@ PCRE_JIT=NO
 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=
@@ -333,13 +323,31 @@ use the \"--with-mail_ssl_module\" optio
         --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"          ;;
@@ -511,14 +519,6 @@ cat << END
   --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
diff --git a/auto/summary b/auto/summary
--- a/auto/summary
+++ b/auto/summary
@@ -28,20 +28,6 @@ case $OPENSSL in
     *)     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" ;;
diff --git a/src/core/ngx_md5.c b/src/core/ngx_md5.c
--- a/src/core/ngx_md5.c
+++ b/src/core/ngx_md5.c
@@ -3,8 +3,6 @@
  * 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.
  */
 
 
@@ -13,8 +11,6 @@
 #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);
 
@@ -285,5 +281,3 @@ ngx_md5_body(ngx_md5_t *ctx, const u_cha
 
     return p;
 }
-
-#endif
diff --git a/src/core/ngx_md5.h b/src/core/ngx_md5.h
--- a/src/core/ngx_md5.h
+++ b/src/core/ngx_md5.h
@@ -13,36 +13,6 @@
 #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;
@@ -55,6 +25,4 @@ void ngx_md5_update(ngx_md5_t *ctx, cons
 void ngx_md5_final(u_char result[16], ngx_md5_t *ctx);
 
 
-#endif
-
 #endif /* _NGX_MD5_H_INCLUDED_ */
diff --git a/src/core/ngx_module.h b/src/core/ngx_module.h
--- a/src/core/ngx_module.h
+++ b/src/core/ngx_module.h
@@ -119,17 +119,8 @@
 #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"
diff --git a/src/core/ngx_sha1.c b/src/core/ngx_sha1.c
--- a/src/core/ngx_sha1.c
+++ b/src/core/ngx_sha1.c
@@ -4,8 +4,6 @@
  * 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.
  */
 
 
@@ -14,8 +12,6 @@
 #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);
 
@@ -296,5 +292,3 @@ ngx_sha1_body(ngx_sha1_t *ctx, const u_c
 
     return p;
 }
-
-#endif
diff --git a/src/core/ngx_sha1.h b/src/core/ngx_sha1.h
--- a/src/core/ngx_sha1.h
+++ b/src/core/ngx_sha1.h
@@ -13,26 +13,6 @@
 #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;
@@ -45,6 +25,4 @@ void ngx_sha1_update(ngx_sha1_t *ctx, co
 void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx);
 
 



More information about the nginx-devel mailing list