view auto/lib/openssl/make @ 9277:4a0cd107c0f1 default tip

HTTP/2: handling of connections initialized during shutdown. If an HTTP/2 connection opened before a graceful shutdown, but ngx_http_v2_init() is called after idle connections were closed, such a connection ended up being open till closed by the client (or up to keepalive_time), delaying shutdown. With this change, such connections are allowed to serve just one request, much like it happens in HTTP/1.x, and closed afterwards. Reported by Kasei Wang, https://freenginx.org/pipermail/nginx-devel/2024-May/000277.html
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 28 May 2024 20:43:50 +0300
parents 3c4d81ea1338
children
line wrap: on
line source


# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


case "$CC" in

    cl)

        case "$NGX_MACHINE" in

            amd64)
                OPENSSL_TARGET=VC-WIN64A
            ;;

            *)
                OPENSSL_TARGET=VC-WIN32
            ;;

        esac

        cat << END                                            >> $NGX_MAKEFILE

$OPENSSL/openssl/include/openssl/ssl.h:	$NGX_MAKEFILE
	\$(MAKE) -f auto/lib/openssl/makefile.msvc			\
		OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT"		\
		OPENSSL_TARGET="$OPENSSL_TARGET"

END

    ;;

    bcc32)

        ngx_opt=`echo "-DOPENSSL=\"$OPENSSL\" -DOPENSSL_OPT=\"$OPENSSL_OPT\"" \
            | sed -e "s/\//$ngx_regex_dirsep/g"`

        cat << END                                            >> $NGX_MAKEFILE

`echo "$OPENSSL\\openssl\\lib\\libeay32.lib:				\
	$OPENSSL\\openssl\\include\\openssl\\ssl.h"			\
	| sed -e "s/\//$ngx_regex_dirsep/g"`

`echo "$OPENSSL\\openssl\\lib\\ssleay32.lib:				\
	$OPENSSL\\openssl\\include\\openssl\\ssl.h"			\
	| sed -e "s/\//$ngx_regex_dirsep/g"`

`echo "$OPENSSL\\openssl\\include\\openssl\\ssl.h:	$NGX_MAKEFILE"	\
	| sed -e "s/\//$ngx_regex_dirsep/g"`
	\$(MAKE) -f auto/lib/openssl/makefile.bcc $ngx_opt

END

    ;;

    *)
        case $OPENSSL in
            /*) ngx_prefix="$OPENSSL/.openssl" ;;
            *)  ngx_prefix="$PWD/$OPENSSL/.openssl" ;;
        esac

        cat << END                                            >> $NGX_MAKEFILE

$OPENSSL/.openssl/include/openssl/ssl.h:	$NGX_MAKEFILE
	cd $OPENSSL \\
	&& if [ -f Makefile ]; then \$(MAKE) clean; fi \\
	&& ./config --prefix=$ngx_prefix no-shared no-threads $OPENSSL_OPT \\
	&& \$(MAKE) \\
	&& \$(MAKE) install_sw LIBDIR=lib

END

    ;;

esac