Mercurial > hg > nginx-quic
view auto/lib/pcre/conf @ 7870:e169cce912c7 quic
Avoid retransmitting of packets with discarded keys.
Sections 4.10.1 and 4.10.2 of quic transport describe discarding of initial
and handshake keys. Since the keys are discarded, we no longer need
to retransmit packets and corresponding queues should be emptied.
This patch removes previously added workaround that did not require
acknowledgement for initial packets, resulting in avoiding retransmission,
which is wrong because a packet could be lost and we have to retransmit it.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Mon, 18 May 2020 13:54:53 +0300 |
parents | 78f8ac479735 |
children | 8007ea138d6a |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. if [ $PCRE != NONE ]; then CORE_INCS="$CORE_INCS $PCRE" case "$NGX_CC_NAME" in msvc | owc | bcc) have=NGX_PCRE . auto/have have=PCRE_STATIC . auto/have CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib" CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib" ;; icc) have=NGX_PCRE . auto/have CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" echo $ngx_n "checking for PCRE library ...$ngx_c" if [ -f $PCRE/pcre.h ]; then ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \ | sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'` else if [ -f $PCRE/configure.in ]; then ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \ | sed -e 's/^.*=\(.*\)$/\1/'` else ngx_pcre_ver=`grep pcre_major, $PCRE/configure.ac \ | sed -e 's/^.*pcre_major,.*\[\(.*\)\].*$/\1/'` fi fi echo " $ngx_pcre_ver major version found" # to allow -ipo optimization we link with the *.o but not library case "$ngx_pcre_ver" in 4|5) CORE_LIBS="$CORE_LIBS $PCRE/pcre.o" ;; 6) CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o" ;; *) CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o" CORE_LIBS="$CORE_LIBS $PCRE/pcre_newline.o" ;; esac ;; *) have=NGX_PCRE . auto/have if [ "$NGX_PLATFORM" = win32 ]; then have=PCRE_STATIC . auto/have fi CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a" ;; esac if [ $PCRE_JIT = YES ]; then have=NGX_HAVE_PCRE_JIT . auto/have PCRE_CONF_OPT="$PCRE_CONF_OPT --enable-jit" fi else if [ "$NGX_PLATFORM" != win32 ]; then PCRE=NO ngx_feature="PCRE library" ngx_feature_name="NGX_PCRE" ngx_feature_run=no ngx_feature_incs="#include <pcre.h>" ngx_feature_path= ngx_feature_libs="-lpcre" ngx_feature_test="pcre *re; re = pcre_compile(NULL, 0, NULL, 0, NULL); if (re == NULL) return 1" . auto/feature if [ $ngx_found = no ]; then # FreeBSD port ngx_feature="PCRE library in /usr/local/" ngx_feature_path="/usr/local/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpcre" else ngx_feature_libs="-L/usr/local/lib -lpcre" fi . auto/feature fi if [ $ngx_found = no ]; then # RedHat RPM, Solaris package ngx_feature="PCRE library in /usr/include/pcre/" ngx_feature_path="/usr/include/pcre" ngx_feature_libs="-lpcre" . auto/feature fi if [ $ngx_found = no ]; then # NetBSD port ngx_feature="PCRE library in /usr/pkg/" ngx_feature_path="/usr/pkg/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpcre" else ngx_feature_libs="-L/usr/pkg/lib -lpcre" fi . auto/feature fi if [ $ngx_found = no ]; then # MacPorts ngx_feature="PCRE library in /opt/local/" ngx_feature_path="/opt/local/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpcre" else ngx_feature_libs="-L/opt/local/lib -lpcre" fi . auto/feature fi if [ $ngx_found = yes ]; then CORE_INCS="$CORE_INCS $ngx_feature_path" CORE_LIBS="$CORE_LIBS $ngx_feature_libs" PCRE=YES fi if [ $PCRE = YES ]; then ngx_feature="PCRE JIT support" ngx_feature_name="NGX_HAVE_PCRE_JIT" ngx_feature_test="int jit = 0; pcre_free_study(NULL); pcre_config(PCRE_CONFIG_JIT, &jit); if (jit != 1) return 1;" . auto/feature if [ $ngx_found = yes ]; then PCRE_JIT=YES fi fi fi if [ $PCRE != YES ]; then cat << END $0: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option. END exit 1 fi fi