Compare commits

..

15 Commits

Author SHA1 Message Date
5099de1c42 bumped version to 1.21.4.3. 2023-10-23 23:06:55 +08:00
f07cb6a7f0 bugfix: applied the patch for secrity advisory to NGINX cores (CVE-2023-44487). (#931) 2023-10-23 17:43:46 +08:00
cd976f9286 bumped ngx_lua to 0.10.25, lua-resty-core to 0.1.27.
bumped version to 1.21.4.2.
2023-06-21 21:19:59 +08:00
dfbc003724 bugfix: dist-check: avoid killall nginx. 2023-04-17 10:24:06 -07:00
a1730aba13 upgraded luajit2 to 2.1-20230410. (#903) 2023-04-14 17:02:57 +08:00
055e86bff2 rc1 comes first. 2023-03-30 15:44:48 -07:00
f8e47102b7 bumped ngx_lua to 0.10.24, ngx_stream_lua to 0.0.13, lua-resty-core to 0.1.26. (#898)
* bumped lua-resty-upstream-healthcheck version to 0.08.

* tests: disable ipv6 for linux s390x.

* bumped version to 1.21.4.2.
2023-03-23 18:23:03 +08:00
0d32bd9bdb win32: upgraded deps openssl, zlib, and pcre. 2023-03-08 15:23:08 -08:00
9fcf59d7b2 bumped ngx_lua version to 0.10.23. (#897) 2023-03-08 15:10:14 +08:00
3c838ca999 upgraded ngx_lua to 0.10.23rc3. (#896) 2023-03-07 16:23:52 +08:00
222b48ab61 bumped version to 1.21.4.2rc1. (#895) 2023-03-07 12:25:28 +08:00
3e4114a5f6 updated the default index page and 50x error page. 2023-03-04 13:39:35 -08:00
7a923b387d upgraded ngx_lua to 0.10.23. (#890)
* upgraded stream_ngx_lua to 0.0.12.
* upgraded srcache-nginx-module to 0.33.
* upgraded lua-resty-memcached to 0.17.
* upgraded lua-resty-mysql to 0.26.
* upgraded lua-resty-upload to 0.11.
* upgraded lua-resty-websocket to 0.10.
* upgraded lua-resty-core to 0.1.25.
2023-02-16 11:10:23 +08:00
d5c5ccbad2 upgraded ngx_lua to 0.10.23rc2. (#889)
upgraded lua-resty-core to 0.1.25rc2.
2023-02-09 11:23:08 +08:00
21eb0377ac travis: upgraded OpenSSL to 1.1.1s. 2023-01-19 22:01:10 +08:00
9 changed files with 1093 additions and 757 deletions

View File

@ -12,7 +12,6 @@ addons:
packages:
- axel
- dos2unix
- cpanminus
- libgd-dev
_linux-s390x: &linux-s390x
@ -26,14 +25,15 @@ _linux-s390x: &linux-s390x
packages:
- axel
- dos2unix
- cpanminus
- libgd-dev
- libpcre3
- libpcre3-dev
- mercurial
- libpq-dev
before_install:
- sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
install:
- sudo cpanm --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -P download-cache https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz || wget -P download-cache https://www.openssl.org/source/old/${OPENSSL_VER//[a-z]/}/openssl-$OPENSSL_VER.tar.gz; fi
- tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz
- cd openssl-$OPENSSL_VER/
@ -66,14 +66,13 @@ _linux-ppc64le: &linux-ppc64le
packages:
- axel
- dos2unix
- cpanminus
- libgd-dev
- libpcre3
- libpcre3-dev
- mercurial
- libpq-dev
install:
- sudo cpanm --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -P download-cache https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz || wget -P download-cache https://www.openssl.org/source/old/${OPENSSL_VER//[a-z]/}/openssl-$OPENSSL_VER.tar.gz; fi
- tar zxf download-cache/openssl-$OPENSSL_VER.tar.gz
- cd openssl-$OPENSSL_VER/
@ -111,7 +110,7 @@ env:
- OPENRESTY_PREFIX=/opt/openresty
jobs:
- OPENSSL_VER=1.1.0l OPENSSL_PATCH_VER=1.1.0d
- OPENSSL_VER=1.1.1p OPENSSL_PATCH_VER=1.1.1f
- OPENSSL_VER=1.1.1s OPENSSL_PATCH_VER=1.1.1f
jobs:
include:
@ -120,10 +119,10 @@ jobs:
- <<: *linux-s390x
env: OPENSSL_VER=1.1.1l OPENSSL_PATCH_VER=1.1.1f
- <<: *linux-ppc64le
env: OPENSSL_VER=1.1.1p OPENSSL_PATCH_VER=1.1.1f
env: OPENSSL_VER=1.1.1s OPENSSL_PATCH_VER=1.1.1f
install:
- sudo cpanm --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- cpanm --sudo --notest Test::Nginx IPC::Run3 > build.log 2>&1 || (cat build.log && exit 1)
- if [ ! -f download-cache/pcre-$PCRE_VER.tar.gz ]; then wget -P download-cache https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VER}/pcre-${PCRE_VER}.tar.gz; fi
- if [ ! -f download-cache/openssl-$OPENSSL_VER.tar.gz ]; then wget -P download-cache https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz || wget -P download-cache https://www.openssl.org/source/old/${OPENSSL_VER//[a-z]/}/openssl-$OPENSSL_VER.tar.gz; fi
- tar zxf download-cache/pcre-$PCRE_VER.tar.gz

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

51
patches/patch.2023.h2.txt Normal file
View File

@ -0,0 +1,51 @@
diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c
--- a/src/http/v2/ngx_http_v2.c
+++ b/src/http/v2/ngx_http_v2.c
@@ -347,6 +347,7 @@ ngx_http_v2_read_handler(ngx_event_t *re
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http2 read handler");
h2c->blocked = 1;
+ h2c->new_streams = 0;
if (c->close) {
c->close = 0;
@@ -1284,6 +1285,14 @@ ngx_http_v2_state_headers(ngx_http_v2_co
goto rst_stream;
}
+ if (h2c->new_streams++ >= 2 * h2scf->concurrent_streams) {
+ ngx_log_error(NGX_LOG_INFO, h2c->connection->log, 0,
+ "client sent too many streams at once");
+
+ status = NGX_HTTP_V2_REFUSED_STREAM;
+ goto rst_stream;
+ }
+
if (!h2c->settings_ack
&& !(h2c->state.flags & NGX_HTTP_V2_END_STREAM_FLAG)
&& h2scf->preread_size < NGX_HTTP_V2_DEFAULT_WINDOW)
@@ -1349,6 +1358,12 @@ ngx_http_v2_state_headers(ngx_http_v2_co
rst_stream:
+ if (h2c->refused_streams++ > ngx_max(h2scf->concurrent_streams, 100)) {
+ ngx_log_error(NGX_LOG_INFO, h2c->connection->log, 0,
+ "client sent too many refused streams");
+ return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_NO_ERROR);
+ }
+
if (ngx_http_v2_send_rst_stream(h2c, h2c->state.sid, status) != NGX_OK) {
return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_INTERNAL_ERROR);
}
diff --git a/src/http/v2/ngx_http_v2.h b/src/http/v2/ngx_http_v2.h
--- a/src/http/v2/ngx_http_v2.h
+++ b/src/http/v2/ngx_http_v2.h
@@ -131,6 +131,8 @@ struct ngx_http_v2_connection_s {
ngx_uint_t processing;
ngx_uint_t frames;
ngx_uint_t idle;
+ ngx_uint_t new_streams;
+ ngx_uint_t refused_streams;
ngx_uint_t priority_limit;
size_t send_window;

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
#!/bin/bash
PCRE=pcre-8.44
ZLIB=zlib-1.2.12
OPENSSL=openssl-1.1.1p
PCRE=pcre-8.45
ZLIB=zlib-1.2.13
OPENSSL=openssl-1.1.1t
JOBS=12
# wget https://www.openssl.org/source/openssl-1.1.1p.tar.gz

View File

@ -86,7 +86,7 @@ sh "sudo $make install";
sh "sudo cp /tmp/nginx.conf $prefix/nginx/conf/nginx.conf";
sh "$prefix/nginx/sbin/nginx -V 2>&1 |grep $ver";
sh "$prefix/nginx/sbin/nginx -V 2>&1 |grep -v 'stream_proxy'";
system "sudo killall nginx > /dev/null 2>&1";
#system "sudo killall nginx > /dev/null 2>&1";
sh "sudo $prefix/nginx/sbin/nginx";
sh "curl -si localhost/lua|grep $lua";
sh "curl -si localhost/lua|grep $ver";

View File

@ -503,6 +503,16 @@ if [ "$answer" = "Y" ]; then
fi
fi
answer=`$root/util/ver-ge "$main_ver" 1.9.5`
if [ "$answer" = "Y" ]; then
answer=`$root/util/ver-ge "$main_ver" 1.25.2`
if [ "$answer" = "N" ]; then
echo "$info_txt applying the patch for nginx security advisory (CVE-2023-44487)"
patch -p1 < $root/patches/patch.2023.h2.txt || exit 1
echo
fi
fi
echo "$info_txt applying the upstream_timeout_fields patch for nginx"
patch -p1 < $root/patches/nginx-$main_ver-upstream_timeout_fields.patch || exit 1
echo
@ -589,7 +599,7 @@ mv openresty-drizzle-nginx-module-* drizzle-nginx-module-$ver || exit 1
#################################
ver=0.10.23rc1
ver=0.10.25
$root/util/get-tarball "https://github.com/openresty/lua-nginx-module/archive/v$ver.tar.gz" -O lua-nginx-module-$ver.tar.gz || exit 1
tar -xzf lua-nginx-module-$ver.tar.gz || exit 1
mv lua-nginx-module-$ver ngx_lua-$ver || exit 1
@ -603,7 +613,7 @@ mv openresty-lua-upstream-nginx-module-* ngx_lua_upstream-$ver || exit 1
#################################
ver=0.0.12rc1
ver=0.0.13
$root/util/get-tarball "https://github.com/openresty/stream-lua-nginx-module/tarball/v$ver" -O stream-lua-nginx-module-$ver.tar.gz || exit 1
tar -xzf stream-lua-nginx-module-$ver.tar.gz || exit 1
mv openresty-stream-lua-nginx-module-* ngx_stream_lua-$ver || exit 1
@ -624,7 +634,7 @@ mv openresty-memc-nginx-module-* memc-nginx-module-$ver || exit 1
#################################
ver=0.33rc1
ver=0.33
$root/util/get-tarball "https://github.com/openresty/srcache-nginx-module/tarball/v$ver" -O srcache-nginx-module-$ver.tar.gz || exit 1
tar -xzf srcache-nginx-module-$ver.tar.gz || exit 1
mv openresty-srcache-nginx-module-* srcache-nginx-module-$ver || exit 1
@ -714,7 +724,7 @@ mv openresty-opm-* opm-$ver || exit 1
#################################
ver=2.1-20230119
ver=2.1-20230410
$root/util/get-tarball "https://github.com/openresty/luajit2/archive/v$ver.tar.gz" -O "LuaJIT-$ver.tar.gz" || exit 1
tar -xzf LuaJIT-$ver.tar.gz || exit 1
mv luajit2-* LuaJIT-$ver || exit 1
@ -761,7 +771,7 @@ cd ..
#################################
ver=0.17rc1
ver=0.17
$root/util/get-tarball "https://github.com/openresty/lua-resty-memcached/tarball/v$ver" -O "lua-resty-memcached-$ver.tar.gz" || exit 1
tar -xzf lua-resty-memcached-$ver.tar.gz || exit 1
mv openresty-lua-resty-memcached-* lua-resty-memcached-$ver || exit 1
@ -779,7 +789,7 @@ mv openresty-lua-resty-redis-* lua-resty-redis-$ver || exit 1
#################################
ver=0.26rc1
ver=0.26
$root/util/get-tarball "https://github.com/openresty/lua-resty-mysql/tarball/v$ver" -O "lua-resty-mysql-$ver.tar.gz" || exit 1
tar -xzf lua-resty-mysql-$ver.tar.gz || exit 1
mv openresty-lua-resty-mysql-* lua-resty-mysql-$ver || exit 1
@ -801,7 +811,7 @@ cd ..
#################################
ver=0.11rc1
ver=0.11
$root/util/get-tarball "https://github.com/openresty/lua-resty-upload/tarball/v$ver" -O "lua-resty-upload-$ver.tar.gz" || exit 1
tar -xzf lua-resty-upload-$ver.tar.gz || exit 1
mv openresty-lua-resty-upload-* lua-resty-upload-$ver || exit 1
@ -823,7 +833,7 @@ cd ..
#################################
ver=0.10rc1
ver=0.10
$root/util/get-tarball "https://github.com/openresty/lua-resty-websocket/tarball/v$ver" -O "lua-resty-websocket-$ver.tar.gz" || exit 1
tar -xzf lua-resty-websocket-$ver.tar.gz || exit 1
mv openresty-lua-resty-websocket-* lua-resty-websocket-$ver || exit 1
@ -856,14 +866,14 @@ cd ..
#################################
ver=0.1.25rc1
ver=0.1.27
$root/util/get-tarball "https://github.com/openresty/lua-resty-core/tarball/v$ver" -O "lua-resty-core-$ver.tar.gz" || exit 1
tar -xzf lua-resty-core-$ver.tar.gz || exit 1
mv openresty-lua-resty-core-* lua-resty-core-$ver || exit 1
#################################
ver=0.07
ver=0.08
$root/util/get-tarball "https://github.com/openresty/lua-resty-upstream-healthcheck/tarball/v$ver" -O "lua-resty-upstream-healthcheck-$ver.tar.gz" || exit 1
tar -xzf lua-resty-upstream-healthcheck-$ver.tar.gz || exit 1
mv openresty-lua-resty-upstream-healthcheck-* lua-resty-upstream-healthcheck-$ver || exit 1

View File

@ -1,7 +1,7 @@
#!/bin/bash
main_ver=1.21.4
minor_ver=2
minor_ver=3
version=$main_ver.$minor_ver
echo $version