Skip to content

Commit

Permalink
merged changes between nginx-1.2.0 and nginx-1.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
yaoweibin committed Jul 6, 2012
1 parent a05e66f commit f4b1bd1
Show file tree
Hide file tree
Showing 54 changed files with 1,575 additions and 606 deletions.
105 changes: 105 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,109 @@

Changes with nginx 1.2.2 03 Jul 2012

*) Change: the "single" parameter of the "keepalive" directive is now
ignored.

*) Change: SSL compression is now disabled when using all versions of
OpenSSL, including ones prior to 1.0.0.

*) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
directives, and the "server" directive inside the "upstream" block,
now support IPv6 addresses.

*) Feature: the "resolver" directive now support IPv6 addresses and an
optional port specification.

*) Feature: the "least_conn" directive inside the "upstream" block.

*) Feature: it is now possible to specify a weight for servers while
using the "ip_hash" directive.

*) Feature: it is now possible to use the "ip_hash" directive to balance
IPv6 clients.

*) Feature: the $status variable can now be used not only in the
"log_format" directive.

*) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
had appeared in 1.1.12.

*) Bugfix: access to variables from SSI and embedded perl module might
not work after reconfiguration.
Thanks to Yichun Zhang.

*) Bugfix: in the ngx_http_xslt_filter_module.
Thanks to Kuramoto Eiji.

*) Bugfix: memory leak if $geoip_org variable was used.
Thanks to Denis F. Latypoff.

*) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
directives.

*) Bugfix: a segmentation fault might occur in a worker process on
shutdown if the "resolver" directive was used.

*) Bugfix: a segmentation fault might occur in a worker process if the
ngx_http_mp4_module was used.

*) Bugfix: in the ngx_http_mp4_module.

*) Bugfix: a segmentation fault might occur in a worker process if
conflicting wildcard server names were used.

*) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on
ARM platform.

*) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX
while reconfiguration.


Changes with nginx 1.2.1 05 Jun 2012

*) Security: now nginx/Windows ignores trailing dot in URI path
component, and does not allow URIs with ":$" in it.
Thanks to Vladimir Kochetkov, Positive Research Center.

*) Feature: the "debug_connection" directive now supports IPv6 addresses
and the "unix:" parameter.

*) Feature: the "set_real_ip_from" directive and the "proxy" parameter
of the "geo" directive now support IPv6 addresses.

*) Feature: the "real_ip_recursive", "geoip_proxy", and
"geoip_proxy_recursive" directives.

*) Feature: the "proxy_recursive" parameter of the "geo" directive.

*) Bugfix: a segmentation fault might occur in a worker process if the
"resolver" directive was used.

*) Bugfix: a segmentation fault might occur in a worker process if the
"fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and
backend returned incorrect response.

*) Bugfix: a segmentation fault might occur in a worker process if the
"rewrite" directive was used and new request arguments in a
replacement used variables.

*) Bugfix: nginx might hog CPU if the open file resource limit was
reached.

*) Bugfix: nginx might loop infinitely over backends if the
"proxy_next_upstream" directive with the "http_404" parameter was
used and there were backup servers specified in an upstream block.

*) Bugfix: adding the "down" parameter of the "server" directive might
cause unneeded client redistribution among backend servers if the
"ip_hash" directive was used.

*) Bugfix: socket leak.
Thanks to Yichun Zhang.

*) Bugfix: in the ngx_http_fastcgi_module.


Changes with nginx 1.2.0 23 Apr 2012

*) Bugfix: a segmentation fault might occur in a worker process if the
Expand Down
103 changes: 103 additions & 0 deletions CHANGES.ru
Original file line number Diff line number Diff line change
@@ -1,4 +1,107 @@

Изменения в nginx 1.2.2 03.07.2012

*) Изменение: параметр single директивы keepalive теперь игнорируется.

*) Изменение: сжатие SSL теперь отключено в том числе при использовании
OpenSSL cтарее 1.0.0.

*) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
и директива server в блоке upstream теперь поддерживают IPv6-адреса.

*) Добавление: в директиве resolver теперь можно указывать порт и
задавать IPv6-адреса DNS-серверов.

*) Добавление: директива least_conn в блоке upstream.

*) Добавление: при использовании директивы ip_hash теперь можно задавать
веса серверов.

*) Добавление: директиву "ip_hash" теперь можно использовать для
балансировки IPv6 клиентов.

*) Добавление: переменную $status теперь можно использовать не только в
директиве log_format.

*) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
появилась в 1.1.12.

*) Исправление: доступ к переменным из SSI и встроенного перла мог не
работать после переконфигурации.
Спасибо Yichun Zhang.

*) Исправление: в модуле ngx_http_xslt_filter_module.
Спасибо Kuramoto Eiji.

*) Исправление: утечки памяти при использовании переменной $geoip_org.
Спасибо Денису Латыпову.

*) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.

*) Исправление: при завершении рабочего процесса мог произойти
segmentation fault, если использовалась директива resolver.

*) Исправление: в рабочем процессе мог произойти segmentation fault,
если использовался модуль ngx_http_mp4_module.

*) Исправление: в модуле ngx_http_mp4_module.

*) Исправление: в рабочем процессе мог произойти segmentation fault,
если использовались конфликтующие имена серверов с масками.

*) Исправление: на платформе ARM nginx мог аварийно завершаться по
сигналу SIGBUS.

*) Исправление: во время переконфигурации на HP-UX в лог записывался
alert "sendmsg() failed (9: Bad file number)".


Изменения в nginx 1.2.1 05.06.2012

*) Безопасность: теперь nginx/Windows игнорирует точку в конце
компонента URI и не разрешает URI, содержащие последовательность
":$".
Спасибо Владимиру Кочеткову, Positive Research Center.

*) Добавление: директива debug_connection теперь поддерживает
IPv6-адреса и параметр "unix:".

*) Добавление: директива set_real_ip_from и параметр proxy директивы geo
теперь поддерживают IPv6-адреса.

*) Добавление: директивы real_ip_recursive, geoip_proxy и
geoip_proxy_recursive.

*) Добавление: параметр proxy_recursive директивы geo.

*) Исправление: в рабочем процессе мог произойти segmentation fault,
если использовалась директива resolver.

*) Исправление: в рабочем процессе мог произойти segmentation fault,
если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
и бэкенд возвращал некорректный ответ.

*) Исправление: в рабочем процессе мог произойти segmentation fault,
если использовалась директива rewrite и в новых аргументах запроса в
строке замены использовались переменные.

*) Исправление: nginx мог нагружать процессор, если было достигнуто
ограничение на количество открытых файлов.

*) Исправление: при использовании директивы proxy_next_upstream с
параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
блоке upstream был хотя бы один сервер с флагом backup.

*) Исправление: при использовании директивы ip_hash установка параметра
down директивы server могла приводить к ненужному перераспределению
клиентов между бэкендами.

*) Исправление: утечки сокетов.
Спасибо Yichun Zhang.

*) Исправление: в модуле ngx_http_fastcgi_module.


Изменения в nginx 1.2.0 23.04.2012

*) Исправление: в рабочем процессе мог произойти segmentation fault,
Expand Down
10 changes: 5 additions & 5 deletions auto/endianess → auto/endianness
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
# Copyright (C) Nginx, Inc.


echo $ngx_n "checking for system endianess ...$ngx_c"
echo $ngx_n "checking for system byte ordering ...$ngx_c"
echo >> $NGX_ERR
echo "checking for system endianess" >> $NGX_ERR
echo "checking for system byte ordering" >> $NGX_ERR


cat << END > $NGX_AUTOTEST.c
Expand All @@ -28,10 +28,10 @@ eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"

if [ -x $NGX_AUTOTEST ]; then
if $NGX_AUTOTEST >/dev/null 2>&1; then
echo " little endianess"
echo " little endian"
have=NGX_HAVE_LITTLE_ENDIAN . auto/have
else
echo " big endianess"
echo " big endian"
fi

rm $NGX_AUTOTEST*
Expand All @@ -40,6 +40,6 @@ else
rm $NGX_AUTOTEST*

echo
echo "$0: error: can not detect system endianess"
echo "$0: error: cannot detect system byte ordering"
exit 1
fi
16 changes: 16 additions & 0 deletions auto/lib/google-perftools/conf
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,22 @@ if [ $ngx_found = no ]; then
fi


if [ $ngx_found = no ]; then

# MacPorts

ngx_feature="Google perftools in /opt/local/"

if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lprofiler"
else
ngx_feature_libs="-L/opt/local/lib -lprofiler"
fi

. auto/feature
fi


if [ $ngx_found = yes ]; then
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"

Expand Down
10 changes: 10 additions & 0 deletions auto/modules
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,7 @@ fi

if [ $HTTP_REALIP = YES ]; then
have=NGX_HTTP_REALIP . auto/have
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
fi
Expand All @@ -256,11 +257,13 @@ fi

if [ $HTTP_GEO = YES ]; then
have=NGX_HTTP_GEO . auto/have
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
fi

if [ $HTTP_GEOIP = YES ]; then
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_GEOIP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GEOIP_SRCS"
fi
Expand Down Expand Up @@ -296,6 +299,7 @@ fi

if [ $HTTP_PROXY = YES ]; then
have=NGX_HTTP_PROXY . auto/have
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
#USE_MD5=YES
HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
Expand Down Expand Up @@ -396,6 +400,11 @@ if [ $HTTP_UPSTREAM_CHECK = YES ]; then
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_CHECK_SRCS"
fi

if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_LEAST_CONN_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_LEAST_CONN_SRCS"
fi

if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_KEEPALIVE_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_KEEPALIVE_SRCS"
Expand Down Expand Up @@ -513,6 +522,7 @@ fi

if [ $NGX_CPP_TEST = YES ]; then
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
CORE_LIBS="$CORE_LIBS -lstdc++"
fi


Expand Down
3 changes: 3 additions & 0 deletions auto/options
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ HTTP_UPSTREAM_IP_HASH=YES
HTTP_FOOTER=YES
HTTP_USER_AGENT=YES
HTTP_UPSTREAM_CHECK=NO
HTTP_UPSTREAM_LEAST_CONN=YES
HTTP_UPSTREAM_KEEPALIVE=YES

# STUB
Expand Down Expand Up @@ -271,6 +272,8 @@ use the \"--without-http_limit_conn_module\" option instead"
--without-http_browser_module) HTTP_BROWSER=NO ;;
--without-http_user_agent_module) HTTP_USER_AGENT=NO ;;
--without-http_upstream_ip_hash_module) HTTP_UPSTREAM_IP_HASH=NO ;;
--without-http_upstream_least_conn_module)
HTTP_UPSTREAM_LEAST_CONN=NO ;;
--without-http_upstream_keepalive_module) HTTP_UPSTREAM_KEEPALIVE=NO ;;

--with-http_perl_module) HTTP_PERL=YES ;;
Expand Down
2 changes: 2 additions & 0 deletions auto/os/conf
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ case "$NGX_PLATFORM" in
CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
CORE_SRCS="$UNIX_SRCS"
CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
CC_AUX_FLAGS="$CC_AUX_FLAGS -D_HPUX_ALT_XOPEN_SOCKET_API"
;;

OSF1:*)
Expand Down Expand Up @@ -93,6 +94,7 @@ case "$NGX_MACHINE" in
;;

*)
have=NGX_ALIGNMENT value=16 . auto/define
NGX_MACH_CACHE_LINE=32
;;

Expand Down
5 changes: 5 additions & 0 deletions auto/sources
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,11 @@ HTTP_UPSTREAM_CHECK_MODULE=ngx_http_upstream_check_module
HTTP_UPSTREAM_CHECK_SRCS=src/http/ngx_http_upstream_check_module.c


HTTP_UPSTREAM_LEAST_CONN_MODULE=ngx_http_upstream_least_conn_module
HTTP_UPSTREAM_LEAST_CONN_SRCS=" \
src/http/modules/ngx_http_upstream_least_conn_module.c"


HTTP_UPSTREAM_KEEPALIVE_MODULE=ngx_http_upstream_keepalive_module
HTTP_UPSTREAM_KEEPALIVE_SRCS=" \
src/http/modules/ngx_http_upstream_keepalive_module.c"
Expand Down
2 changes: 1 addition & 1 deletion auto/unix
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ ngx_type="rlim_t"; ngx_types="int"; . auto/types/typedef

. auto/types/uintptr_t

. auto/endianess
. auto/endianness

ngx_type="size_t"; . auto/types/sizeof
ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
Expand Down
4 changes: 2 additions & 2 deletions src/core/nginx.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_


#define nginx_version 1002000
#define NGINX_VERSION "1.2.0"
#define nginx_version 1002002
#define NGINX_VERSION "1.2.2"
#define NGINX_VER "nginx/" NGINX_VERSION

#define tengine_version 1004000
Expand Down
Loading

0 comments on commit f4b1bd1

Please sign in to comment.