view auto/lib/md5/make @ 6543:302ff40c9bc9

Added overflow checks for version numbers (ticket #762). Both minor and major versions are now limited to 999 maximum. In case of r->http_minor, this limit is already implied by the code. Major version, r->http_major, in theory can be up to 65535 with current code, but such values are very unlikely to become real (and, additionally, such values are not allowed by RFC 7230), so the same test was used for r->http_major.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 18 May 2016 16:21:32 +0300
parents 78f8ac479735
children
line wrap: on
line source


# 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