Mercurial > hg > nginx
view auto/cc/gcc @ 7738:554c6ae25ffc
SSL: fixed non-working SSL shutdown on lingering close.
When doing lingering close, the socket was first shut down for writing,
so SSL shutdown initiated after lingering close was not able to send
the close_notify alerts (ticket #2056).
The fix is to call ngx_ssl_shutdown() before shutting down the socket.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 06 Nov 2020 23:44:54 +0300 |
parents | 9eefb38f0005 |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2 # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2 # 4.0.0, 4.0.1, 4.1.0 NGX_GCC_VER=`$CC -v 2>&1 | grep 'gcc version' 2>&1 \ | sed -e 's/^.* version \(.*\)/\1/'` echo " + gcc version: $NGX_GCC_VER" have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define # Solaris 7's /usr/ccs/bin/as does not support "-pipe" CC_TEST_FLAGS="-pipe" ngx_feature="gcc -pipe switch" ngx_feature_name= ngx_feature_run=no ngx_feature_incs= ngx_feature_path= ngx_feature_libs= ngx_feature_test= . auto/feature CC_TEST_FLAGS= if [ $ngx_found = yes ]; then PIPE="-pipe" fi case "$NGX_MACHINE" in sun4u | sun4v | sparc | sparc64 ) # "-mcpu=v9" enables the "casa" assembler instruction CFLAGS="$CFLAGS -mcpu=v9" ;; esac # optimizations #NGX_GCC_OPT="-O2" #NGX_GCC_OPT="-Os" NGX_GCC_OPT="-O" #CFLAGS="$CFLAGS -fomit-frame-pointer" case $CPU in pentium) # optimize for Pentium and Athlon CPU_OPT="-march=pentium" NGX_CPU_CACHE_LINE=32 ;; pentiumpro | pentium3) # optimize for Pentium Pro, Pentium II and Pentium III CPU_OPT="-march=pentiumpro" NGX_CPU_CACHE_LINE=32 ;; pentium4) # optimize for Pentium 4, gcc 3.x CPU_OPT="-march=pentium4" NGX_CPU_CACHE_LINE=128 ;; athlon) # optimize for Athlon, gcc 3.x CPU_OPT="-march=athlon" NGX_CPU_CACHE_LINE=64 ;; opteron) # optimize for Opteron, gcc 3.x CPU_OPT="-march=opteron" NGX_CPU_CACHE_LINE=64 ;; sparc32) # build 32-bit UltraSparc binary CPU_OPT="-m32" CORE_LINK="$CORE_LINK -m32" NGX_CPU_CACHE_LINE=64 ;; sparc64) # build 64-bit UltraSparc binary CPU_OPT="-m64" CORE_LINK="$CORE_LINK -m64" NGX_CPU_CACHE_LINE=64 ;; ppc64) # build 64-bit PowerPC binary CPU_OPT="-m64" CPU_OPT="$CPU_OPT -falign-functions=32 -falign-labels=32" CPU_OPT="$CPU_OPT -falign-loops=32 -falign-jumps=32" CORE_LINK="$CORE_LINK -m64" NGX_CPU_CACHE_LINE=128 ;; esac CC_AUX_FLAGS="$CC_AUX_FLAGS $CPU_OPT" case "$NGX_GCC_VER" in 2.7*) # batch build CPU_OPT= ;; esac CFLAGS="$CFLAGS $PIPE $CPU_OPT" if [ ".$PCRE_OPT" = "." ]; then PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" else PCRE_OPT="$PCRE_OPT $PIPE" fi if [ ".$ZLIB_OPT" = "." ]; then ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" else ZLIB_OPT="$ZLIB_OPT $PIPE" fi # warnings # -W requires at least -O CFLAGS="$CFLAGS ${NGX_GCC_OPT:--O} -W" CFLAGS="$CFLAGS -Wall -Wpointer-arith" #CFLAGS="$CFLAGS -Wconversion" #CFLAGS="$CFLAGS -Winline" #CFLAGS="$CFLAGS -Wmissing-prototypes" case "$NGX_GCC_VER" in 2.*) # we have a lot of the unused function arguments CFLAGS="$CFLAGS -Wno-unused" ;; *) # we have a lot of the unused function arguments CFLAGS="$CFLAGS -Wno-unused-parameter" # 4.2.1 shows the warning in wrong places #CFLAGS="$CFLAGS -Wunreachable-code" # deprecated system OpenSSL library on OS X if [ "$NGX_SYSTEM" = "Darwin" ]; then CFLAGS="$CFLAGS -Wno-deprecated-declarations" fi ;; esac # stop on warning CFLAGS="$CFLAGS -Werror" # debug CFLAGS="$CFLAGS -g" # DragonFly's gcc3 generates DWARF #CFLAGS="$CFLAGS -g -gstabs" if [ ".$CPP" = "." ]; then CPP="$CC -E" fi