Mercurial > hg > nginx
view auto/lib/conf @ 6356:f63dd04c1580 stable-1.8
Resolver: fixed crashes in timeout handler.
If one or more requests were waiting for a response, then after
getting a CNAME response, the timeout event on the first request
remained active, pointing to the wrong node with an empty
rn->waiting list, and that could cause either null pointer
dereference or use-after-free memory access if this timeout
expired.
If several requests were waiting for a response, and the first
request terminated (e.g., due to client closing a connection),
other requests were left without a timeout and could potentially
wait indefinitely.
This is fixed by introducing per-request independent timeouts.
This change also reverts 954867a2f0a6 and 5004210e8c78.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 26 Jan 2016 16:46:31 +0300 |
parents | d620f497c50f |
children | 85dea406e18f |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. if [ $USE_PCRE = YES -o $PCRE != NONE ]; then . auto/lib/pcre/conf else if [ $USE_PCRE = DISABLED -a $HTTP_REWRITE = 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 you have to enable the PCRE support. END exit 1 fi fi 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 if [ $USE_LIBXSLT = YES ]; then . auto/lib/libxslt/conf fi if [ $USE_LIBGD = YES ]; then . auto/lib/libgd/conf fi if [ $USE_PERL = YES ]; then . auto/lib/perl/conf fi if [ $HTTP_GEOIP = YES ]; then . auto/lib/geoip/conf fi if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then . auto/lib/google-perftools/conf fi if [ $NGX_LIBATOMIC != NO ]; then . auto/lib/libatomic/conf fi