nginx-0.3.10-RELEASE import
*) Change: the "valid_referers" directive and the "$invalid_referer"
variable were moved to the new ngx_http_referer_module from the
ngx_http_rewrite_module.
*) Change: the "$apache_bytes_sent" variable name was changed to
"$body_bytes_sent".
*) Feature: the "$sent_http_..." variables.
*) Feature: the "if" directive supports the "=" and "!=" operations.
*) Feature: the "proxy_pass" directive supports the HTTPS protocol.
*) Feature: the "proxy_set_body" directive.
*) Feature: the "post_action" directive.
*) Feature: the ngx_http_empty_gif_module.
*) Feature: the "worker_cpu_affinity" directive for Linux.
*) Bugfix: the "rewrite" directive did not unescape URI part in
redirect, now it is unescaped except the %00-%25 and %7F-%FF
characters.
*) Bugfix: nginx could not be built by the icc 9.0 compiler.
*) Bugfix: if the SSI was enabled for zero size static file, then the
chunked response was encoded incorrectly.
diff --git a/auto/cc/gcc b/auto/cc/gcc
index 17bb138..6f1a953 100644
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -19,7 +19,7 @@
CC_TEST_FLAGS="-pipe"
-ngx_feature="gcc -pipe switch"
+ngx_feature="gcc -pipe switch"
ngx_feature_name=
ngx_feature_run=no
ngx_feature_incs=
@@ -125,7 +125,7 @@
CFLAGS="$CFLAGS ${NGX_GCC_OPT:-O} -W"
CFLAGS="$CFLAGS -Wall -Wpointer-arith"
-#CFLAGS="$CFLAGS -Wconversion"
+#CFLAGS="$CFLAGS -Wconversion"
#CFLAGS="$CFLAGS -Winline"
diff --git a/auto/cc/icc b/auto/cc/icc
index 6af9713..16cb2bb 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -106,7 +106,7 @@
case "$NGX_ICC_VER" in
9.*)
- # "cc" clobber ignored, warnings for Liunx's htons()
+ # "cc" clobber ignored, warnings for Liunx's htonl()/htons()
CFLAGS="$CFLAGS -wd1469"
# explicit conversion of a 64-bit integral type to a smaller
# integral type
@@ -114,19 +114,11 @@
# conversion from pointer to same-sized integral type,
# warning on offsetof()
CFLAGS="$CFLAGS -wd1684"
-
- # STUB
- # non-POD class type passed through ellipsis, Linux only ?
- CFLAGS="$CFLAGS -wd1595"
;;
8.*)
- # "cc" clobber ignored, warnings for Liunx's htons()
+ # "cc" clobber ignored, warnings for Liunx's htonl()/htons()
CFLAGS="$CFLAGS -wd1469"
-
- # STUB
- # non-POD class type passed through ellipsis, Linux only ?
- CFLAGS="$CFLAGS -wd1595"
;;
*)
diff --git a/auto/cc/name b/auto/cc/name
index 7202aaa..aa3440c 100644
--- a/auto/cc/name
+++ b/auto/cc/name
@@ -5,7 +5,7 @@
echo $ngx_n "checking for C compiler ...$ngx_c"
-if [ $CC = cl ]; then
+if [ "$CC" = cl ]; then
if `$NGX_WINE $CC -v 2>&1 \
| grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13' \
2>&1 >/dev/null`; then
@@ -19,12 +19,12 @@
fi
else
-if [ $CC = wcl386 ]; then
+if [ "$CC" = wcl386 ]; then
NGX_CC_NAME=owc
echo " Open Watcom C compiler"
else
-if [ $CC = bcc32 ]; then
+if [ "$CC" = bcc32 ]; then
NGX_CC_NAME=bcc
echo " Borland C++ compiler"
diff --git a/auto/cc/owc b/auto/cc/owc
index c2ab8f7..c8088d2 100644
--- a/auto/cc/owc
+++ b/auto/cc/owc
@@ -8,7 +8,7 @@
# maximize speed
CFLAGS="$CFLAGS -ot"
-# reorder instructions for best pipeline usage
+# reorder instructions for best pipeline usage
CFLAGS="$CFLAGS -op"
# inline intrinsic functions
CFLAGS="$CFLAGS -oi"
@@ -24,7 +24,7 @@
CPU_OPT="-5r"
# stack-based arguments passing conventions
#CPU_OPT="-5s"
- ;;
+ ;;
pentiumpro)
# optimize for Pentium Pro, Pentium II and Pentium III
@@ -63,7 +63,7 @@
#have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
-# the precompiled headers
+# the precompiled headers
CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
NGX_PCH="$NGX_OBJS/ngx_config.pch"
NGX_BUILD_PCH="-fhq=$NGX_OBJS/ngx_config.pch"
diff --git a/auto/endianess b/auto/endianess
index 578dd45..db6420d 100644
--- a/auto/endianess
+++ b/auto/endianess
@@ -20,7 +20,10 @@
END
-eval "${CC} -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
+ngx_test="$CC $CC_TEST_FLAGS $CC_WARN $CC_AUX_FLAGS \
+ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
+
+eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
if [ -x $NGX_AUTOTEST ]; then
if $NGX_AUTOTEST 2>&1 > /dev/null; then
diff --git a/auto/include b/auto/include
index 7ed3086..7a098d9 100644
--- a/auto/include
+++ b/auto/include
@@ -43,7 +43,7 @@
eval "NGX_INCLUDE_$ngx_name='#include <$ngx_include>'"
- #STUB
+ #STUB
eval "NGX_$ngx_name='#include <$ngx_include>'"
else
diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
index 0370fe0..3356689 100644
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -8,6 +8,7 @@
case "$CC" in
*)
have=NGX_OPENSSL . auto/have
+ have=NGX_SSL . auto/have
LINK_DEPS="$LINK_DEPS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
;;
@@ -34,6 +35,7 @@
. auto/feature
if [ $ngx_found = yes ]; then
+ have=NGX_SSL . auto/have
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
OPENSSL=YES
diff --git a/auto/lib/pcre/conf b/auto/lib/pcre/conf
index 946b26e..460325c 100644
--- a/auto/lib/pcre/conf
+++ b/auto/lib/pcre/conf
@@ -66,7 +66,7 @@
# FreeBSD PCRE port requires --with-cc-opt="-I /usr/local/include"
# --with-ld-opt="-L /usr/local/lib"
-
+
ngx_feature="PCRE library"
ngx_feature_name="NGX_PCRE"
ngx_feature_run=no
diff --git a/auto/modules b/auto/modules
index 26b1087..c94b6e5 100644
--- a/auto/modules
+++ b/auto/modules
@@ -65,6 +65,9 @@
# ngx_http_autoindex_module
# ngx_http_index_module
#
+# ngx_http_access_module
+# ngx_http_realip_module
+#
#
# the filter order is important
# ngx_http_write_filter
@@ -157,6 +160,11 @@
HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
fi
+if [ $HTTP_REFERER = YES ]; then
+ HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
+fi
+
if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
have=NGX_HTTP_REWRITE . auto/have
USE_PCRE=YES
@@ -186,6 +194,11 @@
HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
fi
+if [ $HTTP_EMPTY_GIF = YES ]; then
+ HTTP_MODULES="$HTTP_MODULES $HTTP_EMPTY_GIF_MODULE"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_EMPTY_GIF_SRCS"
+fi
+
# STUB
#USE_MD5=YES
#HTTP_SRCS="$HTTP_SRCS $HTPP_CACHE_SRCS"
@@ -243,6 +256,7 @@
if [ $HTTP = YES ]; then
modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
$HTTP_HEADERS_FILTER_MODULE \
+ $HTTP_AUX_FILTER_MODULES \
$HTTP_COPY_FILTER_MODULE \
$HTTP_RANGE_BODY_FILTER_MODULE \
$HTTP_NOT_MODIFIED_FILTER_MODULE"
diff --git a/auto/options b/auto/options
index 35c7ad3..2dccb73 100644
--- a/auto/options
+++ b/auto/options
@@ -57,9 +57,11 @@
HTTP_AUTOINDEX=YES
HTTP_STATUS=NO
HTTP_GEO=YES
+HTTP_REFERER=YES
HTTP_REWRITE=YES
HTTP_PROXY=YES
HTTP_FASTCGI=YES
+HTTP_EMPTY_GIF=YES
# STUB
HTTP_STUB_STATUS=NO
@@ -136,9 +138,11 @@
--without-http_autoindex_module) HTTP_AUTOINDEX=NO ;;
--without-http_status_module) HTTP_STATUS=NO ;;
--without-http_geo_module) HTTP_GEO=NO ;;
+ --without-http_referer) HTTP_REFERER=NO ;;
--without-http_rewrite_module) HTTP_REWRITE=NO ;;
--without-http_proxy_module) HTTP_PROXY=NO ;;
--without-http_fastcgi_module) HTTP_FASTCGI=NO ;;
+ --without-http_epmty_gif_module) HTTP_EMPTY_GIF=NO ;;
# STUB
--with-http_stub_status_module) HTTP_STUB_STATUS=YES ;;
diff --git a/auto/os/features b/auto/os/features
index 3ec9110..848e483 100644
--- a/auto/os/features
+++ b/auto/os/features
@@ -14,7 +14,7 @@
if grep nogroup /etc/group 2>&1 >/dev/null; then
echo "checking for nogroup group ... found"
NGX_GROUP=nogroup
- else
+ else
echo "checking for nogroup group ... not found"
NGX_GROUP=nobody
fi
@@ -23,7 +23,7 @@
else
NGX_GROUP=$NGX_USER
fi
-
+
ngx_feature="poll()"
ngx_feature_name=
@@ -31,17 +31,17 @@
ngx_feature_incs="#include <poll.h>"
ngx_feature_libs=
ngx_feature_test="int n, dp; struct pollfd pl;
- dp = 0;
+ dp = 0;
pl.fd = 0;
pl.events = 0;
pl.revents = 0;
n = poll(&pl, 1, 0)"
. auto/feature
-
+
if [ $ngx_found = no ]; then
EVENT_POLL=NONE
fi
-
+
ngx_feature="/dev/poll"
ngx_feature_name="NGX_HAVE_DEVPOLL"
diff --git a/auto/os/linux b/auto/os/linux
index c31f848..6354bed 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -100,3 +100,15 @@
ngx_feature_libs=
ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1"
. auto/feature
+
+
+# sched_setaffinity()
+
+ngx_feature="sched_setaffinity()"
+ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY"
+ngx_feature_run=no
+ngx_feature_incs="#include <sched.h>"
+ngx_feature_libs=
+ngx_feature_test="long mask = 0;
+ sched_setaffinity(0, 32, &mask)"
+. auto/feature
diff --git a/auto/sources b/auto/sources
index 8aa596c..c4316d7 100644
--- a/auto/sources
+++ b/auto/sources
@@ -334,6 +334,10 @@
HTTP_GEO_SRCS=src/http/modules/ngx_http_geo_module.c
+HTTP_REFERER_MODULE=ngx_http_referer_module
+HTTP_REFERER_SRCS=src/http/modules/ngx_http_referer_module.c
+
+
HTTP_REWRITE_MODULE=ngx_http_rewrite_module
HTTP_REWRITE_SRCS=src/http/modules/ngx_http_rewrite_module.c
@@ -351,6 +355,10 @@
HTTP_FASTCGI_SRCS=src/http/modules/ngx_http_fastcgi_module.c
+HTTP_EMPTY_GIF_MODULE=ngx_http_empty_gif_module
+HTTP_EMPTY_GIF_SRCS=src/http/modules/ngx_http_empty_gif_module.c
+
+
IMAP_INCS="src/imap"
IMAP_DEPS="src/imap/ngx_imap.h"
diff --git a/auto/types/sizeof b/auto/types/sizeof
index a7094e4..796aed1 100644
--- a/auto/types/sizeof
+++ b/auto/types/sizeof
@@ -31,7 +31,9 @@
END
-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS -o $NGX_AUTOTEST $NGX_AUTOTEST.c"
+ngx_test="$CC $CC_TEST_FLAGS $CC_WARN $CC_AUX_FLAGS \
+ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
+
eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"