Fixes
-----
* Apply the init_cycle_pool_release patches to NGINX cores >= 1.13.6
instead of == 1.13.6
Improvements to util/mirror-tarballs
------------------------------------
* Grouped all bundled components versions in `util/ver`
* Sped up with parallel downloads (45s vs 75s)
* Produced smaller tarballs (4.4Mb vs 4.7Mb)
* Reduced Perl usage to stay in Bash as much as possible
* Greatly reduced code duplication
* Ensured we include all OpenSSL patches automatically
* We now check for missing commands before running
Diff of openresty-tarball-master (prior) and openresty-tarball-refactor
(after this patch):
$ diff -qr openresty-tarball-master openresty-tarball-refactor
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto/cc: clang.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto/cc: conf.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto/cc: gcc.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto/cc: icc.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto: options.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto/os: linux.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto: sources.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/auto: unix.orig
diff -yr --suppress-common-lines ./openresty-tarball-master/bundle/nginx-1.17.1/src/core/nginx.c ./openresty-tarball-refactor/bundle/nginx-1.17.1/src/core/nginx.c
> ngx_pool_t *saved_init_cycle_pool = NULL;
>
> saved_init_cycle_pool = init_cycle.pool;
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/core: nginx.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/core: ngx_connection.c.orig
diff -yr --suppress-common-lines ./openresty-tarball-master/bundle/nginx-1.17.1/src/core/ngx_core.h ./openresty-tarball-refactor/bundle/nginx-1.17.1/src/core/ngx_core.h
> extern ngx_pool_t *saved_init_cycle_pool;
>
diff -yr --suppress-common-lines ./openresty-tarball-master/bundle/nginx-1.17.1/src/core/ngx_cycle.c ./openresty-tarball-refactor/bundle/nginx-1.17.1/src/core/ngx_cycle.c
> if (ngx_is_init_cycle(old_cycle)) {
> saved_init_cycle_pool = NULL;
> }
>
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/core: ngx_cycle.h.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/core: ngx_log.h.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/core: ngx_resolver.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/event: ngx_event_accept.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/event: ngx_event_connect.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/event: ngx_event.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/event: ngx_event_openssl.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http/modules: ngx_http_log_module.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http/modules: ngx_http_proxy_module.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http: ngx_http_core_module.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http: ngx_http_request.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http: ngx_http_special_response.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http: ngx_http_upstream.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http: ngx_http_upstream.h.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/http/v2: ngx_http_v2_filter_module.c.orig
diff -yr --suppress-common-lines ./openresty-tarball-master/bundle/nginx-1.17.1/src/os/unix/ngx_process_cycle.c ./openresty-tarball-refactor/bundle/nginx-1.17.1/src/os/unix/ngx_process_cycle.c
> if (saved_init_cycle_pool != NULL && saved_init_cycle_poo
> ngx_destroy_pool(saved_init_cycle_pool);
> saved_init_cycle_pool = NULL;
> }
>
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/os/unix: ngx_process_cycle.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/stream: ngx_stream.h.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/stream: ngx_stream_proxy_module.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/stream: ngx_stream_ssl_preread_module.c.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/stream: ngx_stream_upstream.h.orig
Only in ./openresty-tarball-master/bundle/nginx-1.17.1/src/stream: ngx_stream_upstream_round_robin.c.orig
Only in ./openresty-tarball-master/bundle: nginx-no_pool.patch
Only in ./openresty-tarball-master/bundle/redis-nginx-module-0.3.7: ngx_http_redis_module.c.orig
diff -yr --suppress-common-lines ./openresty-tarball-master/configure ./openresty-tarball-refactor/configure
shell "patch -p0 < nginx-no_pool.patch"; | shell "patch -p0 < ../patches/nginx-no_pool.patch";
Only in ./openresty-tarball-master: Makefile
Only in ./openresty-tarball-refactor/patches: nginx-no_pool.patch
Only in ./openresty-tarball-refactor/patches: openssl-1.1.1c-sess_set_get_cb_yield.patch
Other notes
-----------
* Removed all patches for NGINX cores 1.5.x and below (we only support 1.6.0+)
* Removed all patches for NGINX cores that were never part of an official OpenResty release
* Removed obsolete lua-cjson patch
* Removed all PUC-Rio Lua 5.1 patches
* Removed all unused patches
* Removed LuaJIT 2.0 patch
When `reuseport` is enabled in the `listen` directive, Nginx will create
a listening fd for each worker process in the master process.
These fds will be inherited by the worker processes, but most of them
are unused. For example, considering we have 32 listening ip:port
configurations and 64 worker processes, each worker process will inherit
2048 (32 * 64) listening fds, but only 32 fds are used. By closing the
unused fds, this change could save up to 2016 (32 * 63) fds in a worker
process.
It doesn't affect the listening socket, since there is only one used fd
which associates to the socket with or without this change.
Co-authored-by: Thibault Charbonnier <thibaultcha@me.com>
Its naming is now aligned with the `ssl_cert_cb_yield` patch.
See 08e9e50 for details on why this renaming was reverted for the 1.15.8
version of this patch.
This reverts commit 9e834398de.
Support for OpenSSL 1.1.1 will come with the 1.17.1 series of NGINX
patches. Since no other 1.15.8.* releases are planned, we are reverting
the state of the 1.15.8 patches to that of the 1.15.8.1 release.
The patch was also renamed from `ssl_pending_session.patch` to
`ssl_sess_cb_yield.patch` (similarly to the existing
`ssl_cert_cb_yield.patch` one).
Signed-off-by: Thibault Charbonnier <thibaultcha@me.com>