Kentaro Hayashi
null+****@clear*****
Wed Sep 26 09:53:43 JST 2018
Kentaro Hayashi 2018-09-26 09:53:43 +0900 (Wed, 26 Sep 2018) Revision: d0c401492a44588b7a3a7cadbac21a438c529c91 https://github.com/groonga/groonga/commit/d0c401492a44588b7a3a7cadbac21a438c529c91 Message: nginx: update nginx $ ./update_nginx.sh 1.15.4 Modified files: nginx_version Renamed files: vendor/nginx-1.15.4/auto/cc/acc (from vendor/nginx-1.15.2/auto/cc/acc) vendor/nginx-1.15.4/auto/cc/bcc (from vendor/nginx-1.15.2/auto/cc/bcc) vendor/nginx-1.15.4/auto/cc/ccc (from vendor/nginx-1.15.2/auto/cc/ccc) vendor/nginx-1.15.4/auto/cc/clang (from vendor/nginx-1.15.2/auto/cc/clang) vendor/nginx-1.15.4/auto/cc/conf (from vendor/nginx-1.15.2/auto/cc/conf) vendor/nginx-1.15.4/auto/cc/gcc (from vendor/nginx-1.15.2/auto/cc/gcc) vendor/nginx-1.15.4/auto/cc/icc (from vendor/nginx-1.15.2/auto/cc/icc) vendor/nginx-1.15.4/auto/cc/msvc (from vendor/nginx-1.15.2/auto/cc/msvc) vendor/nginx-1.15.4/auto/cc/name (from vendor/nginx-1.15.2/auto/cc/name) vendor/nginx-1.15.4/auto/cc/owc (from vendor/nginx-1.15.2/auto/cc/owc) vendor/nginx-1.15.4/auto/cc/sunc (from vendor/nginx-1.15.2/auto/cc/sunc) vendor/nginx-1.15.4/auto/configure (from vendor/nginx-1.15.2/auto/configure) vendor/nginx-1.15.4/auto/define (from vendor/nginx-1.15.2/auto/define) vendor/nginx-1.15.4/auto/endianness (from vendor/nginx-1.15.2/auto/endianness) vendor/nginx-1.15.4/auto/feature (from vendor/nginx-1.15.2/auto/feature) vendor/nginx-1.15.4/auto/have (from vendor/nginx-1.15.2/auto/have) vendor/nginx-1.15.4/auto/have_headers (from vendor/nginx-1.15.2/auto/have_headers) vendor/nginx-1.15.4/auto/headers (from vendor/nginx-1.15.2/auto/headers) vendor/nginx-1.15.4/auto/include (from vendor/nginx-1.15.2/auto/include) vendor/nginx-1.15.4/auto/init (from vendor/nginx-1.15.2/auto/init) vendor/nginx-1.15.4/auto/install (from vendor/nginx-1.15.2/auto/install) vendor/nginx-1.15.4/auto/lib/conf (from vendor/nginx-1.15.2/auto/lib/conf) vendor/nginx-1.15.4/auto/lib/geoip/conf (from vendor/nginx-1.15.2/auto/lib/geoip/conf) vendor/nginx-1.15.4/auto/lib/google-perftools/conf (from vendor/nginx-1.15.2/auto/lib/google-perftools/conf) vendor/nginx-1.15.4/auto/lib/libatomic/conf (from vendor/nginx-1.15.2/auto/lib/libatomic/conf) vendor/nginx-1.15.4/auto/lib/libatomic/make (from vendor/nginx-1.15.2/auto/lib/libatomic/make) vendor/nginx-1.15.4/auto/lib/libgd/conf (from vendor/nginx-1.15.2/auto/lib/libgd/conf) vendor/nginx-1.15.4/auto/lib/libxslt/conf (from vendor/nginx-1.15.2/auto/lib/libxslt/conf) vendor/nginx-1.15.4/auto/lib/make (from vendor/nginx-1.15.2/auto/lib/make) vendor/nginx-1.15.4/auto/lib/openssl/conf (from vendor/nginx-1.15.2/auto/lib/openssl/conf) vendor/nginx-1.15.4/auto/lib/openssl/make (from vendor/nginx-1.15.2/auto/lib/openssl/make) vendor/nginx-1.15.4/auto/lib/openssl/makefile.bcc (from vendor/nginx-1.15.2/auto/lib/openssl/makefile.bcc) vendor/nginx-1.15.4/auto/lib/openssl/makefile.msvc (from vendor/nginx-1.15.2/auto/lib/openssl/makefile.msvc) vendor/nginx-1.15.4/auto/lib/pcre/conf (from vendor/nginx-1.15.2/auto/lib/pcre/conf) vendor/nginx-1.15.4/auto/lib/pcre/make (from vendor/nginx-1.15.2/auto/lib/pcre/make) vendor/nginx-1.15.4/auto/lib/pcre/makefile.bcc (from vendor/nginx-1.15.2/auto/lib/pcre/makefile.bcc) vendor/nginx-1.15.4/auto/lib/pcre/makefile.msvc (from vendor/nginx-1.15.2/auto/lib/pcre/makefile.msvc) vendor/nginx-1.15.4/auto/lib/pcre/makefile.owc (from vendor/nginx-1.15.2/auto/lib/pcre/makefile.owc) vendor/nginx-1.15.4/auto/lib/perl/conf (from vendor/nginx-1.15.2/auto/lib/perl/conf) vendor/nginx-1.15.4/auto/lib/perl/make (from vendor/nginx-1.15.2/auto/lib/perl/make) vendor/nginx-1.15.4/auto/lib/zlib/conf (from vendor/nginx-1.15.2/auto/lib/zlib/conf) vendor/nginx-1.15.4/auto/lib/zlib/make (from vendor/nginx-1.15.2/auto/lib/zlib/make) vendor/nginx-1.15.4/auto/lib/zlib/makefile.bcc (from vendor/nginx-1.15.2/auto/lib/zlib/makefile.bcc) vendor/nginx-1.15.4/auto/lib/zlib/makefile.msvc (from vendor/nginx-1.15.2/auto/lib/zlib/makefile.msvc) vendor/nginx-1.15.4/auto/lib/zlib/makefile.owc (from vendor/nginx-1.15.2/auto/lib/zlib/makefile.owc) vendor/nginx-1.15.4/auto/make (from vendor/nginx-1.15.2/auto/make) vendor/nginx-1.15.4/auto/module (from vendor/nginx-1.15.2/auto/module) vendor/nginx-1.15.4/auto/modules (from vendor/nginx-1.15.2/auto/modules) vendor/nginx-1.15.4/auto/nohave (from vendor/nginx-1.15.2/auto/nohave) vendor/nginx-1.15.4/auto/options (from vendor/nginx-1.15.2/auto/options) vendor/nginx-1.15.4/auto/os/conf (from vendor/nginx-1.15.2/auto/os/conf) vendor/nginx-1.15.4/auto/os/darwin (from vendor/nginx-1.15.2/auto/os/darwin) vendor/nginx-1.15.4/auto/os/freebsd (from vendor/nginx-1.15.2/auto/os/freebsd) vendor/nginx-1.15.4/auto/os/linux (from vendor/nginx-1.15.2/auto/os/linux) vendor/nginx-1.15.4/auto/os/solaris (from vendor/nginx-1.15.2/auto/os/solaris) vendor/nginx-1.15.4/auto/os/win32 (from vendor/nginx-1.15.2/auto/os/win32) vendor/nginx-1.15.4/auto/sources (from vendor/nginx-1.15.2/auto/sources) vendor/nginx-1.15.4/auto/stubs (from vendor/nginx-1.15.2/auto/stubs) vendor/nginx-1.15.4/auto/summary (from vendor/nginx-1.15.2/auto/summary) vendor/nginx-1.15.4/auto/threads (from vendor/nginx-1.15.2/auto/threads) vendor/nginx-1.15.4/auto/types/sizeof (from vendor/nginx-1.15.2/auto/types/sizeof) vendor/nginx-1.15.4/auto/types/typedef (from vendor/nginx-1.15.2/auto/types/typedef) vendor/nginx-1.15.4/auto/types/uintptr_t (from vendor/nginx-1.15.2/auto/types/uintptr_t) vendor/nginx-1.15.4/auto/types/value (from vendor/nginx-1.15.2/auto/types/value) vendor/nginx-1.15.4/auto/unix (from vendor/nginx-1.15.2/auto/unix) vendor/nginx-1.15.4/conf/fastcgi.conf (from vendor/nginx-1.15.2/conf/fastcgi.conf) vendor/nginx-1.15.4/conf/fastcgi_params (from vendor/nginx-1.15.2/conf/fastcgi_params) vendor/nginx-1.15.4/conf/koi-utf (from vendor/nginx-1.15.2/conf/koi-utf) vendor/nginx-1.15.4/conf/koi-win (from vendor/nginx-1.15.2/conf/koi-win) vendor/nginx-1.15.4/conf/mime.types (from vendor/nginx-1.15.2/conf/mime.types) vendor/nginx-1.15.4/conf/nginx.conf (from vendor/nginx-1.15.2/conf/nginx.conf) vendor/nginx-1.15.4/conf/scgi_params (from vendor/nginx-1.15.2/conf/scgi_params) vendor/nginx-1.15.4/conf/uwsgi_params (from vendor/nginx-1.15.2/conf/uwsgi_params) vendor/nginx-1.15.4/conf/win-utf (from vendor/nginx-1.15.2/conf/win-utf) vendor/nginx-1.15.4/contrib/README (from vendor/nginx-1.15.2/contrib/README) vendor/nginx-1.15.4/contrib/geo2nginx.pl (from vendor/nginx-1.15.2/contrib/geo2nginx.pl) vendor/nginx-1.15.4/contrib/unicode2nginx/koi-utf (from vendor/nginx-1.15.2/contrib/unicode2nginx/koi-utf) vendor/nginx-1.15.4/contrib/unicode2nginx/unicode-to-nginx.pl (from vendor/nginx-1.15.2/contrib/unicode2nginx/unicode-to-nginx.pl) vendor/nginx-1.15.4/contrib/unicode2nginx/win-utf (from vendor/nginx-1.15.2/contrib/unicode2nginx/win-utf) vendor/nginx-1.15.4/contrib/vim/ftdetect/nginx.vim (from vendor/nginx-1.15.2/contrib/vim/ftdetect/nginx.vim) vendor/nginx-1.15.4/contrib/vim/ftplugin/nginx.vim (from vendor/nginx-1.15.2/contrib/vim/ftplugin/nginx.vim) vendor/nginx-1.15.4/contrib/vim/indent/nginx.vim (from vendor/nginx-1.15.2/contrib/vim/indent/nginx.vim) vendor/nginx-1.15.4/contrib/vim/syntax/nginx.vim (from vendor/nginx-1.15.2/contrib/vim/syntax/nginx.vim) vendor/nginx-1.15.4/docs/GNUmakefile (from vendor/nginx-1.15.2/docs/GNUmakefile) vendor/nginx-1.15.4/docs/dtd/change_log_conf.dtd (from vendor/nginx-1.15.2/docs/dtd/change_log_conf.dtd) vendor/nginx-1.15.4/docs/dtd/changes.dtd (from vendor/nginx-1.15.2/docs/dtd/changes.dtd) vendor/nginx-1.15.4/docs/html/50x.html (from vendor/nginx-1.15.2/docs/html/50x.html) vendor/nginx-1.15.4/docs/html/index.html (from vendor/nginx-1.15.2/docs/html/index.html) vendor/nginx-1.15.4/docs/man/nginx.8 (from vendor/nginx-1.15.2/docs/man/nginx.8) vendor/nginx-1.15.4/docs/text/LICENSE (from vendor/nginx-1.15.2/docs/text/LICENSE) vendor/nginx-1.15.4/docs/text/README (from vendor/nginx-1.15.2/docs/text/README) vendor/nginx-1.15.4/docs/xml/change_log_conf.xml (from vendor/nginx-1.15.2/docs/xml/change_log_conf.xml) vendor/nginx-1.15.4/docs/xml/nginx/changes.xml (from vendor/nginx-1.15.2/docs/xml/nginx/changes.xml) vendor/nginx-1.15.4/docs/xsls/changes.xsls (from vendor/nginx-1.15.2/docs/xsls/changes.xsls) vendor/nginx-1.15.4/docs/xslt/changes.xslt (from vendor/nginx-1.15.2/docs/xslt/changes.xslt) vendor/nginx-1.15.4/misc/GNUmakefile (from vendor/nginx-1.15.2/misc/GNUmakefile) vendor/nginx-1.15.4/misc/README (from vendor/nginx-1.15.2/misc/README) vendor/nginx-1.15.4/src/core/nginx.c (from vendor/nginx-1.15.2/src/core/nginx.c) vendor/nginx-1.15.4/src/core/nginx.h (from vendor/nginx-1.15.2/src/core/nginx.h) vendor/nginx-1.15.4/src/core/ngx_array.c (from vendor/nginx-1.15.2/src/core/ngx_array.c) vendor/nginx-1.15.4/src/core/ngx_array.h (from vendor/nginx-1.15.2/src/core/ngx_array.h) vendor/nginx-1.15.4/src/core/ngx_buf.c (from vendor/nginx-1.15.2/src/core/ngx_buf.c) vendor/nginx-1.15.4/src/core/ngx_buf.h (from vendor/nginx-1.15.2/src/core/ngx_buf.h) vendor/nginx-1.15.4/src/core/ngx_conf_file.c (from vendor/nginx-1.15.2/src/core/ngx_conf_file.c) vendor/nginx-1.15.4/src/core/ngx_conf_file.h (from vendor/nginx-1.15.2/src/core/ngx_conf_file.h) vendor/nginx-1.15.4/src/core/ngx_config.h (from vendor/nginx-1.15.2/src/core/ngx_config.h) vendor/nginx-1.15.4/src/core/ngx_connection.c (from vendor/nginx-1.15.2/src/core/ngx_connection.c) vendor/nginx-1.15.4/src/core/ngx_connection.h (from vendor/nginx-1.15.2/src/core/ngx_connection.h) vendor/nginx-1.15.4/src/core/ngx_core.h (from vendor/nginx-1.15.2/src/core/ngx_core.h) vendor/nginx-1.15.4/src/core/ngx_cpuinfo.c (from vendor/nginx-1.15.2/src/core/ngx_cpuinfo.c) vendor/nginx-1.15.4/src/core/ngx_crc.h (from vendor/nginx-1.15.2/src/core/ngx_crc.h) vendor/nginx-1.15.4/src/core/ngx_crc32.c (from vendor/nginx-1.15.2/src/core/ngx_crc32.c) vendor/nginx-1.15.4/src/core/ngx_crc32.h (from vendor/nginx-1.15.2/src/core/ngx_crc32.h) vendor/nginx-1.15.4/src/core/ngx_crypt.c (from vendor/nginx-1.15.2/src/core/ngx_crypt.c) vendor/nginx-1.15.4/src/core/ngx_crypt.h (from vendor/nginx-1.15.2/src/core/ngx_crypt.h) vendor/nginx-1.15.4/src/core/ngx_cycle.c (from vendor/nginx-1.15.2/src/core/ngx_cycle.c) vendor/nginx-1.15.4/src/core/ngx_cycle.h (from vendor/nginx-1.15.2/src/core/ngx_cycle.h) vendor/nginx-1.15.4/src/core/ngx_file.c (from vendor/nginx-1.15.2/src/core/ngx_file.c) vendor/nginx-1.15.4/src/core/ngx_file.h (from vendor/nginx-1.15.2/src/core/ngx_file.h) vendor/nginx-1.15.4/src/core/ngx_hash.c (from vendor/nginx-1.15.2/src/core/ngx_hash.c) vendor/nginx-1.15.4/src/core/ngx_hash.h (from vendor/nginx-1.15.2/src/core/ngx_hash.h) vendor/nginx-1.15.4/src/core/ngx_inet.c (from vendor/nginx-1.15.2/src/core/ngx_inet.c) vendor/nginx-1.15.4/src/core/ngx_inet.h (from vendor/nginx-1.15.2/src/core/ngx_inet.h) vendor/nginx-1.15.4/src/core/ngx_list.c (from vendor/nginx-1.15.2/src/core/ngx_list.c) vendor/nginx-1.15.4/src/core/ngx_list.h (from vendor/nginx-1.15.2/src/core/ngx_list.h) vendor/nginx-1.15.4/src/core/ngx_log.c (from vendor/nginx-1.15.2/src/core/ngx_log.c) vendor/nginx-1.15.4/src/core/ngx_log.h (from vendor/nginx-1.15.2/src/core/ngx_log.h) vendor/nginx-1.15.4/src/core/ngx_md5.c (from vendor/nginx-1.15.2/src/core/ngx_md5.c) vendor/nginx-1.15.4/src/core/ngx_md5.h (from vendor/nginx-1.15.2/src/core/ngx_md5.h) vendor/nginx-1.15.4/src/core/ngx_module.c (from vendor/nginx-1.15.2/src/core/ngx_module.c) vendor/nginx-1.15.4/src/core/ngx_module.h (from vendor/nginx-1.15.2/src/core/ngx_module.h) vendor/nginx-1.15.4/src/core/ngx_murmurhash.c (from vendor/nginx-1.15.2/src/core/ngx_murmurhash.c) vendor/nginx-1.15.4/src/core/ngx_murmurhash.h (from vendor/nginx-1.15.2/src/core/ngx_murmurhash.h) vendor/nginx-1.15.4/src/core/ngx_open_file_cache.c (from vendor/nginx-1.15.2/src/core/ngx_open_file_cache.c) vendor/nginx-1.15.4/src/core/ngx_open_file_cache.h (from vendor/nginx-1.15.2/src/core/ngx_open_file_cache.h) vendor/nginx-1.15.4/src/core/ngx_output_chain.c (from vendor/nginx-1.15.2/src/core/ngx_output_chain.c) vendor/nginx-1.15.4/src/core/ngx_palloc.c (from vendor/nginx-1.15.2/src/core/ngx_palloc.c) vendor/nginx-1.15.4/src/core/ngx_palloc.h (from vendor/nginx-1.15.2/src/core/ngx_palloc.h) vendor/nginx-1.15.4/src/core/ngx_parse.c (from vendor/nginx-1.15.2/src/core/ngx_parse.c) vendor/nginx-1.15.4/src/core/ngx_parse.h (from vendor/nginx-1.15.2/src/core/ngx_parse.h) vendor/nginx-1.15.4/src/core/ngx_parse_time.c (from vendor/nginx-1.15.2/src/core/ngx_parse_time.c) vendor/nginx-1.15.4/src/core/ngx_parse_time.h (from vendor/nginx-1.15.2/src/core/ngx_parse_time.h) vendor/nginx-1.15.4/src/core/ngx_proxy_protocol.c (from vendor/nginx-1.15.2/src/core/ngx_proxy_protocol.c) vendor/nginx-1.15.4/src/core/ngx_proxy_protocol.h (from vendor/nginx-1.15.2/src/core/ngx_proxy_protocol.h) vendor/nginx-1.15.4/src/core/ngx_queue.c (from vendor/nginx-1.15.2/src/core/ngx_queue.c) vendor/nginx-1.15.4/src/core/ngx_queue.h (from vendor/nginx-1.15.2/src/core/ngx_queue.h) vendor/nginx-1.15.4/src/core/ngx_radix_tree.c (from vendor/nginx-1.15.2/src/core/ngx_radix_tree.c) vendor/nginx-1.15.4/src/core/ngx_radix_tree.h (from vendor/nginx-1.15.2/src/core/ngx_radix_tree.h) vendor/nginx-1.15.4/src/core/ngx_rbtree.c (from vendor/nginx-1.15.2/src/core/ngx_rbtree.c) vendor/nginx-1.15.4/src/core/ngx_rbtree.h (from vendor/nginx-1.15.2/src/core/ngx_rbtree.h) vendor/nginx-1.15.4/src/core/ngx_regex.c (from vendor/nginx-1.15.2/src/core/ngx_regex.c) vendor/nginx-1.15.4/src/core/ngx_regex.h (from vendor/nginx-1.15.2/src/core/ngx_regex.h) vendor/nginx-1.15.4/src/core/ngx_resolver.c (from vendor/nginx-1.15.2/src/core/ngx_resolver.c) vendor/nginx-1.15.4/src/core/ngx_resolver.h (from vendor/nginx-1.15.2/src/core/ngx_resolver.h) vendor/nginx-1.15.4/src/core/ngx_rwlock.c (from vendor/nginx-1.15.2/src/core/ngx_rwlock.c) vendor/nginx-1.15.4/src/core/ngx_rwlock.h (from vendor/nginx-1.15.2/src/core/ngx_rwlock.h) vendor/nginx-1.15.4/src/core/ngx_sha1.c (from vendor/nginx-1.15.2/src/core/ngx_sha1.c) vendor/nginx-1.15.4/src/core/ngx_sha1.h (from vendor/nginx-1.15.2/src/core/ngx_sha1.h) vendor/nginx-1.15.4/src/core/ngx_shmtx.c (from vendor/nginx-1.15.2/src/core/ngx_shmtx.c) vendor/nginx-1.15.4/src/core/ngx_shmtx.h (from vendor/nginx-1.15.2/src/core/ngx_shmtx.h) vendor/nginx-1.15.4/src/core/ngx_slab.c (from vendor/nginx-1.15.2/src/core/ngx_slab.c) vendor/nginx-1.15.4/src/core/ngx_slab.h (from vendor/nginx-1.15.2/src/core/ngx_slab.h) vendor/nginx-1.15.4/src/core/ngx_spinlock.c (from vendor/nginx-1.15.2/src/core/ngx_spinlock.c) vendor/nginx-1.15.4/src/core/ngx_string.c (from vendor/nginx-1.15.2/src/core/ngx_string.c) vendor/nginx-1.15.4/src/core/ngx_string.h (from vendor/nginx-1.15.2/src/core/ngx_string.h) vendor/nginx-1.15.4/src/core/ngx_syslog.c (from vendor/nginx-1.15.2/src/core/ngx_syslog.c) vendor/nginx-1.15.4/src/core/ngx_syslog.h (from vendor/nginx-1.15.2/src/core/ngx_syslog.h) vendor/nginx-1.15.4/src/core/ngx_thread_pool.c (from vendor/nginx-1.15.2/src/core/ngx_thread_pool.c) vendor/nginx-1.15.4/src/core/ngx_thread_pool.h (from vendor/nginx-1.15.2/src/core/ngx_thread_pool.h) vendor/nginx-1.15.4/src/core/ngx_times.c (from vendor/nginx-1.15.2/src/core/ngx_times.c) vendor/nginx-1.15.4/src/core/ngx_times.h (from vendor/nginx-1.15.2/src/core/ngx_times.h) vendor/nginx-1.15.4/src/event/modules/ngx_devpoll_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_devpoll_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_epoll_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_epoll_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_eventport_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_eventport_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_iocp_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_iocp_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_iocp_module.h (from vendor/nginx-1.15.2/src/event/modules/ngx_iocp_module.h) vendor/nginx-1.15.4/src/event/modules/ngx_kqueue_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_kqueue_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_poll_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_poll_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_select_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_select_module.c) vendor/nginx-1.15.4/src/event/modules/ngx_win32_select_module.c (from vendor/nginx-1.15.2/src/event/modules/ngx_win32_select_module.c) vendor/nginx-1.15.4/src/event/ngx_event.c (from vendor/nginx-1.15.2/src/event/ngx_event.c) vendor/nginx-1.15.4/src/event/ngx_event.h (from vendor/nginx-1.15.2/src/event/ngx_event.h) vendor/nginx-1.15.4/src/event/ngx_event_accept.c (from vendor/nginx-1.15.2/src/event/ngx_event_accept.c) vendor/nginx-1.15.4/src/event/ngx_event_acceptex.c (from vendor/nginx-1.15.2/src/event/ngx_event_acceptex.c) vendor/nginx-1.15.4/src/event/ngx_event_connect.c (from vendor/nginx-1.15.2/src/event/ngx_event_connect.c) vendor/nginx-1.15.4/src/event/ngx_event_connect.h (from vendor/nginx-1.15.2/src/event/ngx_event_connect.h) vendor/nginx-1.15.4/src/event/ngx_event_connectex.c (from vendor/nginx-1.15.2/src/event/ngx_event_connectex.c) vendor/nginx-1.15.4/src/event/ngx_event_openssl.c (from vendor/nginx-1.15.2/src/event/ngx_event_openssl.c) vendor/nginx-1.15.4/src/event/ngx_event_openssl.h (from vendor/nginx-1.15.2/src/event/ngx_event_openssl.h) vendor/nginx-1.15.4/src/event/ngx_event_openssl_stapling.c (from vendor/nginx-1.15.2/src/event/ngx_event_openssl_stapling.c) vendor/nginx-1.15.4/src/event/ngx_event_pipe.c (from vendor/nginx-1.15.2/src/event/ngx_event_pipe.c) vendor/nginx-1.15.4/src/event/ngx_event_pipe.h (from vendor/nginx-1.15.2/src/event/ngx_event_pipe.h) vendor/nginx-1.15.4/src/event/ngx_event_posted.c (from vendor/nginx-1.15.2/src/event/ngx_event_posted.c) vendor/nginx-1.15.4/src/event/ngx_event_posted.h (from vendor/nginx-1.15.2/src/event/ngx_event_posted.h) vendor/nginx-1.15.4/src/event/ngx_event_timer.c (from vendor/nginx-1.15.2/src/event/ngx_event_timer.c) vendor/nginx-1.15.4/src/event/ngx_event_timer.h (from vendor/nginx-1.15.2/src/event/ngx_event_timer.h) vendor/nginx-1.15.4/src/event/ngx_event_udp.c (from vendor/nginx-1.15.2/src/event/ngx_event_udp.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_access_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_access_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_addition_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_addition_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_auth_basic_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_auth_basic_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_auth_request_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_auth_request_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_autoindex_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_autoindex_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_browser_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_browser_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_charset_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_charset_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_chunked_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_chunked_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_dav_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_dav_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_degradation_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_degradation_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_empty_gif_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_empty_gif_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_fastcgi_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_fastcgi_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_flv_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_flv_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_geo_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_geo_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_geoip_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_geoip_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_grpc_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_grpc_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_gunzip_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_gunzip_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_gzip_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_gzip_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_gzip_static_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_gzip_static_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_headers_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_headers_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_image_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_image_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_index_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_index_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_limit_conn_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_limit_conn_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_limit_req_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_limit_req_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_log_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_log_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_map_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_map_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_memcached_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_memcached_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_mirror_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_mirror_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_mp4_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_mp4_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_not_modified_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_not_modified_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_proxy_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_proxy_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_random_index_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_random_index_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_range_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_range_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_realip_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_realip_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_referer_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_referer_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_rewrite_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_rewrite_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_scgi_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_scgi_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_secure_link_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_secure_link_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_slice_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_slice_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_split_clients_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_split_clients_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_ssi_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_ssi_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_ssi_filter_module.h (from vendor/nginx-1.15.2/src/http/modules/ngx_http_ssi_filter_module.h) vendor/nginx-1.15.4/src/http/modules/ngx_http_ssl_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_ssl_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_ssl_module.h (from vendor/nginx-1.15.2/src/http/modules/ngx_http_ssl_module.h) vendor/nginx-1.15.4/src/http/modules/ngx_http_static_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_static_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_stub_status_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_stub_status_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_sub_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_sub_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_try_files_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_try_files_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_hash_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_hash_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_ip_hash_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_ip_hash_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_keepalive_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_keepalive_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_least_conn_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_least_conn_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_random_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_random_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_zone_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_zone_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_userid_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_userid_filter_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_uwsgi_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_uwsgi_module.c) vendor/nginx-1.15.4/src/http/modules/ngx_http_xslt_filter_module.c (from vendor/nginx-1.15.2/src/http/modules/ngx_http_xslt_filter_module.c) vendor/nginx-1.15.4/src/http/modules/perl/Makefile.PL (from vendor/nginx-1.15.2/src/http/modules/perl/Makefile.PL) vendor/nginx-1.15.4/src/http/modules/perl/nginx.pm (from vendor/nginx-1.15.2/src/http/modules/perl/nginx.pm) vendor/nginx-1.15.4/src/http/modules/perl/nginx.xs (from vendor/nginx-1.15.2/src/http/modules/perl/nginx.xs) vendor/nginx-1.15.4/src/http/modules/perl/ngx_http_perl_module.c (from vendor/nginx-1.15.2/src/http/modules/perl/ngx_http_perl_module.c) vendor/nginx-1.15.4/src/http/modules/perl/ngx_http_perl_module.h (from vendor/nginx-1.15.2/src/http/modules/perl/ngx_http_perl_module.h) vendor/nginx-1.15.4/src/http/modules/perl/typemap (from vendor/nginx-1.15.2/src/http/modules/perl/typemap) vendor/nginx-1.15.4/src/http/ngx_http.c (from vendor/nginx-1.15.2/src/http/ngx_http.c) vendor/nginx-1.15.4/src/http/ngx_http.h (from vendor/nginx-1.15.2/src/http/ngx_http.h) vendor/nginx-1.15.4/src/http/ngx_http_cache.h (from vendor/nginx-1.15.2/src/http/ngx_http_cache.h) vendor/nginx-1.15.4/src/http/ngx_http_config.h (from vendor/nginx-1.15.2/src/http/ngx_http_config.h) vendor/nginx-1.15.4/src/http/ngx_http_copy_filter_module.c (from vendor/nginx-1.15.2/src/http/ngx_http_copy_filter_module.c) vendor/nginx-1.15.4/src/http/ngx_http_core_module.c (from vendor/nginx-1.15.2/src/http/ngx_http_core_module.c) vendor/nginx-1.15.4/src/http/ngx_http_core_module.h (from vendor/nginx-1.15.2/src/http/ngx_http_core_module.h) vendor/nginx-1.15.4/src/http/ngx_http_file_cache.c (from vendor/nginx-1.15.2/src/http/ngx_http_file_cache.c) vendor/nginx-1.15.4/src/http/ngx_http_header_filter_module.c (from vendor/nginx-1.15.2/src/http/ngx_http_header_filter_module.c) vendor/nginx-1.15.4/src/http/ngx_http_parse.c (from vendor/nginx-1.15.2/src/http/ngx_http_parse.c) vendor/nginx-1.15.4/src/http/ngx_http_postpone_filter_module.c (from vendor/nginx-1.15.2/src/http/ngx_http_postpone_filter_module.c) vendor/nginx-1.15.4/src/http/ngx_http_request.c (from vendor/nginx-1.15.2/src/http/ngx_http_request.c) vendor/nginx-1.15.4/src/http/ngx_http_request.h (from vendor/nginx-1.15.2/src/http/ngx_http_request.h) vendor/nginx-1.15.4/src/http/ngx_http_request_body.c (from vendor/nginx-1.15.2/src/http/ngx_http_request_body.c) vendor/nginx-1.15.4/src/http/ngx_http_script.c (from vendor/nginx-1.15.2/src/http/ngx_http_script.c) vendor/nginx-1.15.4/src/http/ngx_http_script.h (from vendor/nginx-1.15.2/src/http/ngx_http_script.h) vendor/nginx-1.15.4/src/http/ngx_http_special_response.c (from vendor/nginx-1.15.2/src/http/ngx_http_special_response.c) vendor/nginx-1.15.4/src/http/ngx_http_upstream.c (from vendor/nginx-1.15.2/src/http/ngx_http_upstream.c) vendor/nginx-1.15.4/src/http/ngx_http_upstream.h (from vendor/nginx-1.15.2/src/http/ngx_http_upstream.h) vendor/nginx-1.15.4/src/http/ngx_http_upstream_round_robin.c (from vendor/nginx-1.15.2/src/http/ngx_http_upstream_round_robin.c) vendor/nginx-1.15.4/src/http/ngx_http_upstream_round_robin.h (from vendor/nginx-1.15.2/src/http/ngx_http_upstream_round_robin.h) vendor/nginx-1.15.4/src/http/ngx_http_variables.c (from vendor/nginx-1.15.2/src/http/ngx_http_variables.c) vendor/nginx-1.15.4/src/http/ngx_http_variables.h (from vendor/nginx-1.15.2/src/http/ngx_http_variables.h) vendor/nginx-1.15.4/src/http/ngx_http_write_filter_module.c (from vendor/nginx-1.15.2/src/http/ngx_http_write_filter_module.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2.h (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2.h) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_encode.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_encode.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_filter_module.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_filter_module.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_huff_decode.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_huff_decode.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_huff_encode.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_huff_encode.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_module.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_module.c) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_module.h (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_module.h) vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_table.c (from vendor/nginx-1.15.2/src/http/v2/ngx_http_v2_table.c) vendor/nginx-1.15.4/src/mail/ngx_mail.c (from vendor/nginx-1.15.2/src/mail/ngx_mail.c) vendor/nginx-1.15.4/src/mail/ngx_mail.h (from vendor/nginx-1.15.2/src/mail/ngx_mail.h) vendor/nginx-1.15.4/src/mail/ngx_mail_auth_http_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_auth_http_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_core_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_core_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_handler.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_handler.c) vendor/nginx-1.15.4/src/mail/ngx_mail_imap_handler.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_imap_handler.c) vendor/nginx-1.15.4/src/mail/ngx_mail_imap_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_imap_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_imap_module.h (from vendor/nginx-1.15.2/src/mail/ngx_mail_imap_module.h) vendor/nginx-1.15.4/src/mail/ngx_mail_parse.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_parse.c) vendor/nginx-1.15.4/src/mail/ngx_mail_pop3_handler.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_pop3_handler.c) vendor/nginx-1.15.4/src/mail/ngx_mail_pop3_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_pop3_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_pop3_module.h (from vendor/nginx-1.15.2/src/mail/ngx_mail_pop3_module.h) vendor/nginx-1.15.4/src/mail/ngx_mail_proxy_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_proxy_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_smtp_handler.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_smtp_handler.c) vendor/nginx-1.15.4/src/mail/ngx_mail_smtp_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_smtp_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_smtp_module.h (from vendor/nginx-1.15.2/src/mail/ngx_mail_smtp_module.h) vendor/nginx-1.15.4/src/mail/ngx_mail_ssl_module.c (from vendor/nginx-1.15.2/src/mail/ngx_mail_ssl_module.c) vendor/nginx-1.15.4/src/mail/ngx_mail_ssl_module.h (from vendor/nginx-1.15.2/src/mail/ngx_mail_ssl_module.h) vendor/nginx-1.15.4/src/misc/ngx_cpp_test_module.cpp (from vendor/nginx-1.15.2/src/misc/ngx_cpp_test_module.cpp) vendor/nginx-1.15.4/src/misc/ngx_google_perftools_module.c (from vendor/nginx-1.15.2/src/misc/ngx_google_perftools_module.c) vendor/nginx-1.15.4/src/os/unix/ngx_alloc.c (from vendor/nginx-1.15.2/src/os/unix/ngx_alloc.c) vendor/nginx-1.15.4/src/os/unix/ngx_alloc.h (from vendor/nginx-1.15.2/src/os/unix/ngx_alloc.h) vendor/nginx-1.15.4/src/os/unix/ngx_atomic.h (from vendor/nginx-1.15.2/src/os/unix/ngx_atomic.h) vendor/nginx-1.15.4/src/os/unix/ngx_channel.c (from vendor/nginx-1.15.2/src/os/unix/ngx_channel.c) vendor/nginx-1.15.4/src/os/unix/ngx_channel.h (from vendor/nginx-1.15.2/src/os/unix/ngx_channel.h) vendor/nginx-1.15.4/src/os/unix/ngx_daemon.c (from vendor/nginx-1.15.2/src/os/unix/ngx_daemon.c) vendor/nginx-1.15.4/src/os/unix/ngx_darwin.h (from vendor/nginx-1.15.2/src/os/unix/ngx_darwin.h) vendor/nginx-1.15.4/src/os/unix/ngx_darwin_config.h (from vendor/nginx-1.15.2/src/os/unix/ngx_darwin_config.h) vendor/nginx-1.15.4/src/os/unix/ngx_darwin_init.c (from vendor/nginx-1.15.2/src/os/unix/ngx_darwin_init.c) vendor/nginx-1.15.4/src/os/unix/ngx_darwin_sendfile_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_darwin_sendfile_chain.c) vendor/nginx-1.15.4/src/os/unix/ngx_dlopen.c (from vendor/nginx-1.15.2/src/os/unix/ngx_dlopen.c) vendor/nginx-1.15.4/src/os/unix/ngx_dlopen.h (from vendor/nginx-1.15.2/src/os/unix/ngx_dlopen.h) vendor/nginx-1.15.4/src/os/unix/ngx_errno.c (from vendor/nginx-1.15.2/src/os/unix/ngx_errno.c) vendor/nginx-1.15.4/src/os/unix/ngx_errno.h (from vendor/nginx-1.15.2/src/os/unix/ngx_errno.h) vendor/nginx-1.15.4/src/os/unix/ngx_file_aio_read.c (from vendor/nginx-1.15.2/src/os/unix/ngx_file_aio_read.c) vendor/nginx-1.15.4/src/os/unix/ngx_files.c (from vendor/nginx-1.15.2/src/os/unix/ngx_files.c) vendor/nginx-1.15.4/src/os/unix/ngx_files.h (from vendor/nginx-1.15.2/src/os/unix/ngx_files.h) vendor/nginx-1.15.4/src/os/unix/ngx_freebsd.h (from vendor/nginx-1.15.2/src/os/unix/ngx_freebsd.h) vendor/nginx-1.15.4/src/os/unix/ngx_freebsd_config.h (from vendor/nginx-1.15.2/src/os/unix/ngx_freebsd_config.h) vendor/nginx-1.15.4/src/os/unix/ngx_freebsd_init.c (from vendor/nginx-1.15.2/src/os/unix/ngx_freebsd_init.c) vendor/nginx-1.15.4/src/os/unix/ngx_freebsd_sendfile_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_freebsd_sendfile_chain.c) vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_amd64.h (from vendor/nginx-1.15.2/src/os/unix/ngx_gcc_atomic_amd64.h) vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_ppc.h (from vendor/nginx-1.15.2/src/os/unix/ngx_gcc_atomic_ppc.h) vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_sparc64.h (from vendor/nginx-1.15.2/src/os/unix/ngx_gcc_atomic_sparc64.h) vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_x86.h (from vendor/nginx-1.15.2/src/os/unix/ngx_gcc_atomic_x86.h) vendor/nginx-1.15.4/src/os/unix/ngx_linux.h (from vendor/nginx-1.15.2/src/os/unix/ngx_linux.h) vendor/nginx-1.15.4/src/os/unix/ngx_linux_aio_read.c (from vendor/nginx-1.15.2/src/os/unix/ngx_linux_aio_read.c) vendor/nginx-1.15.4/src/os/unix/ngx_linux_config.h (from vendor/nginx-1.15.2/src/os/unix/ngx_linux_config.h) vendor/nginx-1.15.4/src/os/unix/ngx_linux_init.c (from vendor/nginx-1.15.2/src/os/unix/ngx_linux_init.c) vendor/nginx-1.15.4/src/os/unix/ngx_linux_sendfile_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_linux_sendfile_chain.c) vendor/nginx-1.15.4/src/os/unix/ngx_os.h (from vendor/nginx-1.15.2/src/os/unix/ngx_os.h) vendor/nginx-1.15.4/src/os/unix/ngx_posix_config.h (from vendor/nginx-1.15.2/src/os/unix/ngx_posix_config.h) vendor/nginx-1.15.4/src/os/unix/ngx_posix_init.c (from vendor/nginx-1.15.2/src/os/unix/ngx_posix_init.c) vendor/nginx-1.15.4/src/os/unix/ngx_process.c (from vendor/nginx-1.15.2/src/os/unix/ngx_process.c) vendor/nginx-1.15.4/src/os/unix/ngx_process.h (from vendor/nginx-1.15.2/src/os/unix/ngx_process.h) vendor/nginx-1.15.4/src/os/unix/ngx_process_cycle.c (from vendor/nginx-1.15.2/src/os/unix/ngx_process_cycle.c) vendor/nginx-1.15.4/src/os/unix/ngx_process_cycle.h (from vendor/nginx-1.15.2/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.15.4/src/os/unix/ngx_readv_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_readv_chain.c) vendor/nginx-1.15.4/src/os/unix/ngx_recv.c (from vendor/nginx-1.15.2/src/os/unix/ngx_recv.c) vendor/nginx-1.15.4/src/os/unix/ngx_send.c (from vendor/nginx-1.15.2/src/os/unix/ngx_send.c) vendor/nginx-1.15.4/src/os/unix/ngx_setaffinity.c (from vendor/nginx-1.15.2/src/os/unix/ngx_setaffinity.c) vendor/nginx-1.15.4/src/os/unix/ngx_setaffinity.h (from vendor/nginx-1.15.2/src/os/unix/ngx_setaffinity.h) vendor/nginx-1.15.4/src/os/unix/ngx_setproctitle.c (from vendor/nginx-1.15.2/src/os/unix/ngx_setproctitle.c) vendor/nginx-1.15.4/src/os/unix/ngx_setproctitle.h (from vendor/nginx-1.15.2/src/os/unix/ngx_setproctitle.h) vendor/nginx-1.15.4/src/os/unix/ngx_shmem.c (from vendor/nginx-1.15.2/src/os/unix/ngx_shmem.c) vendor/nginx-1.15.4/src/os/unix/ngx_shmem.h (from vendor/nginx-1.15.2/src/os/unix/ngx_shmem.h) vendor/nginx-1.15.4/src/os/unix/ngx_socket.c (from vendor/nginx-1.15.2/src/os/unix/ngx_socket.c) vendor/nginx-1.15.4/src/os/unix/ngx_socket.h (from vendor/nginx-1.15.2/src/os/unix/ngx_socket.h) vendor/nginx-1.15.4/src/os/unix/ngx_solaris.h (from vendor/nginx-1.15.2/src/os/unix/ngx_solaris.h) vendor/nginx-1.15.4/src/os/unix/ngx_solaris_config.h (from vendor/nginx-1.15.2/src/os/unix/ngx_solaris_config.h) vendor/nginx-1.15.4/src/os/unix/ngx_solaris_init.c (from vendor/nginx-1.15.2/src/os/unix/ngx_solaris_init.c) vendor/nginx-1.15.4/src/os/unix/ngx_solaris_sendfilev_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_solaris_sendfilev_chain.c) vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_amd64.il (from vendor/nginx-1.15.2/src/os/unix/ngx_sunpro_amd64.il) vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_atomic_sparc64.h (from vendor/nginx-1.15.2/src/os/unix/ngx_sunpro_atomic_sparc64.h) vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_sparc64.il (from vendor/nginx-1.15.2/src/os/unix/ngx_sunpro_sparc64.il) vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_x86.il (from vendor/nginx-1.15.2/src/os/unix/ngx_sunpro_x86.il) vendor/nginx-1.15.4/src/os/unix/ngx_thread.h (from vendor/nginx-1.15.2/src/os/unix/ngx_thread.h) vendor/nginx-1.15.4/src/os/unix/ngx_thread_cond.c (from vendor/nginx-1.15.2/src/os/unix/ngx_thread_cond.c) vendor/nginx-1.15.4/src/os/unix/ngx_thread_id.c (from vendor/nginx-1.15.2/src/os/unix/ngx_thread_id.c) vendor/nginx-1.15.4/src/os/unix/ngx_thread_mutex.c (from vendor/nginx-1.15.2/src/os/unix/ngx_thread_mutex.c) vendor/nginx-1.15.4/src/os/unix/ngx_time.c (from vendor/nginx-1.15.2/src/os/unix/ngx_time.c) vendor/nginx-1.15.4/src/os/unix/ngx_time.h (from vendor/nginx-1.15.2/src/os/unix/ngx_time.h) vendor/nginx-1.15.4/src/os/unix/ngx_udp_recv.c (from vendor/nginx-1.15.2/src/os/unix/ngx_udp_recv.c) vendor/nginx-1.15.4/src/os/unix/ngx_udp_send.c (from vendor/nginx-1.15.2/src/os/unix/ngx_udp_send.c) vendor/nginx-1.15.4/src/os/unix/ngx_udp_sendmsg_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_udp_sendmsg_chain.c) vendor/nginx-1.15.4/src/os/unix/ngx_user.c (from vendor/nginx-1.15.2/src/os/unix/ngx_user.c) vendor/nginx-1.15.4/src/os/unix/ngx_user.h (from vendor/nginx-1.15.2/src/os/unix/ngx_user.h) vendor/nginx-1.15.4/src/os/unix/ngx_writev_chain.c (from vendor/nginx-1.15.2/src/os/unix/ngx_writev_chain.c) vendor/nginx-1.15.4/src/os/win32/nginx.ico (from vendor/nginx-1.15.2/src/os/win32/nginx.ico) vendor/nginx-1.15.4/src/os/win32/nginx.rc (from vendor/nginx-1.15.2/src/os/win32/nginx.rc) vendor/nginx-1.15.4/src/os/win32/nginx_icon16.xpm (from vendor/nginx-1.15.2/src/os/win32/nginx_icon16.xpm) vendor/nginx-1.15.4/src/os/win32/nginx_icon32.xpm (from vendor/nginx-1.15.2/src/os/win32/nginx_icon32.xpm) vendor/nginx-1.15.4/src/os/win32/nginx_icon48.xpm (from vendor/nginx-1.15.2/src/os/win32/nginx_icon48.xpm) vendor/nginx-1.15.4/src/os/win32/ngx_alloc.c (from vendor/nginx-1.15.2/src/os/win32/ngx_alloc.c) vendor/nginx-1.15.4/src/os/win32/ngx_alloc.h (from vendor/nginx-1.15.2/src/os/win32/ngx_alloc.h) vendor/nginx-1.15.4/src/os/win32/ngx_atomic.h (from vendor/nginx-1.15.2/src/os/win32/ngx_atomic.h) vendor/nginx-1.15.4/src/os/win32/ngx_dlopen.c (from vendor/nginx-1.15.2/src/os/win32/ngx_dlopen.c) vendor/nginx-1.15.4/src/os/win32/ngx_dlopen.h (from vendor/nginx-1.15.2/src/os/win32/ngx_dlopen.h) vendor/nginx-1.15.4/src/os/win32/ngx_errno.c (from vendor/nginx-1.15.2/src/os/win32/ngx_errno.c) vendor/nginx-1.15.4/src/os/win32/ngx_errno.h (from vendor/nginx-1.15.2/src/os/win32/ngx_errno.h) vendor/nginx-1.15.4/src/os/win32/ngx_event_log.c (from vendor/nginx-1.15.2/src/os/win32/ngx_event_log.c) vendor/nginx-1.15.4/src/os/win32/ngx_files.c (from vendor/nginx-1.15.2/src/os/win32/ngx_files.c) vendor/nginx-1.15.4/src/os/win32/ngx_files.h (from vendor/nginx-1.15.2/src/os/win32/ngx_files.h) vendor/nginx-1.15.4/src/os/win32/ngx_os.h (from vendor/nginx-1.15.2/src/os/win32/ngx_os.h) vendor/nginx-1.15.4/src/os/win32/ngx_process.c (from vendor/nginx-1.15.2/src/os/win32/ngx_process.c) vendor/nginx-1.15.4/src/os/win32/ngx_process.h (from vendor/nginx-1.15.2/src/os/win32/ngx_process.h) vendor/nginx-1.15.4/src/os/win32/ngx_process_cycle.c (from vendor/nginx-1.15.2/src/os/win32/ngx_process_cycle.c) vendor/nginx-1.15.4/src/os/win32/ngx_process_cycle.h (from vendor/nginx-1.15.2/src/os/win32/ngx_process_cycle.h) vendor/nginx-1.15.4/src/os/win32/ngx_service.c (from vendor/nginx-1.15.2/src/os/win32/ngx_service.c) vendor/nginx-1.15.4/src/os/win32/ngx_shmem.c (from vendor/nginx-1.15.2/src/os/win32/ngx_shmem.c) vendor/nginx-1.15.4/src/os/win32/ngx_shmem.h (from vendor/nginx-1.15.2/src/os/win32/ngx_shmem.h) vendor/nginx-1.15.4/src/os/win32/ngx_socket.c (from vendor/nginx-1.15.2/src/os/win32/ngx_socket.c) vendor/nginx-1.15.4/src/os/win32/ngx_socket.h (from vendor/nginx-1.15.2/src/os/win32/ngx_socket.h) vendor/nginx-1.15.4/src/os/win32/ngx_stat.c (from vendor/nginx-1.15.2/src/os/win32/ngx_stat.c) vendor/nginx-1.15.4/src/os/win32/ngx_thread.c (from vendor/nginx-1.15.2/src/os/win32/ngx_thread.c) vendor/nginx-1.15.4/src/os/win32/ngx_thread.h (from vendor/nginx-1.15.2/src/os/win32/ngx_thread.h) vendor/nginx-1.15.4/src/os/win32/ngx_time.c (from vendor/nginx-1.15.2/src/os/win32/ngx_time.c) vendor/nginx-1.15.4/src/os/win32/ngx_time.h (from vendor/nginx-1.15.2/src/os/win32/ngx_time.h) vendor/nginx-1.15.4/src/os/win32/ngx_udp_wsarecv.c (from vendor/nginx-1.15.2/src/os/win32/ngx_udp_wsarecv.c) vendor/nginx-1.15.4/src/os/win32/ngx_user.c (from vendor/nginx-1.15.2/src/os/win32/ngx_user.c) vendor/nginx-1.15.4/src/os/win32/ngx_user.h (from vendor/nginx-1.15.2/src/os/win32/ngx_user.h) vendor/nginx-1.15.4/src/os/win32/ngx_win32_config.h (from vendor/nginx-1.15.2/src/os/win32/ngx_win32_config.h) vendor/nginx-1.15.4/src/os/win32/ngx_win32_init.c (from vendor/nginx-1.15.2/src/os/win32/ngx_win32_init.c) vendor/nginx-1.15.4/src/os/win32/ngx_wsarecv.c (from vendor/nginx-1.15.2/src/os/win32/ngx_wsarecv.c) vendor/nginx-1.15.4/src/os/win32/ngx_wsarecv_chain.c (from vendor/nginx-1.15.2/src/os/win32/ngx_wsarecv_chain.c) vendor/nginx-1.15.4/src/os/win32/ngx_wsasend.c (from vendor/nginx-1.15.2/src/os/win32/ngx_wsasend.c) vendor/nginx-1.15.4/src/os/win32/ngx_wsasend_chain.c (from vendor/nginx-1.15.2/src/os/win32/ngx_wsasend_chain.c) vendor/nginx-1.15.4/src/stream/ngx_stream.c (from vendor/nginx-1.15.2/src/stream/ngx_stream.c) vendor/nginx-1.15.4/src/stream/ngx_stream.h (from vendor/nginx-1.15.2/src/stream/ngx_stream.h) vendor/nginx-1.15.4/src/stream/ngx_stream_access_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_access_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_core_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_core_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_geo_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_geo_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_geoip_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_geoip_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_handler.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_handler.c) vendor/nginx-1.15.4/src/stream/ngx_stream_limit_conn_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_limit_conn_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_log_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_log_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_map_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_map_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_proxy_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_proxy_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_realip_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_realip_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_return_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_return_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_script.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_script.c) vendor/nginx-1.15.4/src/stream/ngx_stream_script.h (from vendor/nginx-1.15.2/src/stream/ngx_stream_script.h) vendor/nginx-1.15.4/src/stream/ngx_stream_split_clients_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_split_clients_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_ssl_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_ssl_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_ssl_module.h (from vendor/nginx-1.15.2/src/stream/ngx_stream_ssl_module.h) vendor/nginx-1.15.4/src/stream/ngx_stream_ssl_preread_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_ssl_preread_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream.c) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream.h (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream.h) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_hash_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream_hash_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_least_conn_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream_least_conn_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_random_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream_random_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_round_robin.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream_round_robin.c) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_round_robin.h (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream_round_robin.h) vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_zone_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_upstream_zone_module.c) vendor/nginx-1.15.4/src/stream/ngx_stream_variables.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_variables.c) vendor/nginx-1.15.4/src/stream/ngx_stream_variables.h (from vendor/nginx-1.15.2/src/stream/ngx_stream_variables.h) vendor/nginx-1.15.4/src/stream/ngx_stream_write_filter_module.c (from vendor/nginx-1.15.2/src/stream/ngx_stream_write_filter_module.c) Modified: nginx_version (+1 -1) =================================================================== --- nginx_version 2018-09-26 09:51:37 +0900 (42cf0675c) +++ nginx_version 2018-09-26 09:53:43 +0900 (e34208c93) @@ -1 +1 @@ -1.15.2 +1.15.4 Renamed: vendor/nginx-1.15.4/auto/cc/acc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/ccc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/clang (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/gcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/icc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/name (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/cc/sunc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/configure (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/define (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/endianness (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/feature (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/have (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/have_headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/include (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/init (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/install (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/geoip/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/google-perftools/conf (+2 -1) 92% =================================================================== --- vendor/nginx-1.15.2/auto/lib/google-perftools/conf 2018-09-26 09:51:37 +0900 (5d5ddaef6) +++ vendor/nginx-1.15.4/auto/lib/google-perftools/conf 2018-09-26 09:53:43 +0900 (7f1a91139) @@ -9,7 +9,8 @@ ngx_feature_incs= ngx_feature_path= ngx_feature_libs="-lprofiler" - ngx_feature_test="ProfilerStop()" + ngx_feature_test="void ProfilerStop(void); + ProfilerStop()" . auto/feature Renamed: vendor/nginx-1.15.4/auto/lib/libatomic/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/libatomic/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/libgd/conf (+4 -2) 95% =================================================================== --- vendor/nginx-1.15.2/auto/lib/libgd/conf 2018-09-26 09:51:37 +0900 (87761f14d) +++ vendor/nginx-1.15.4/auto/lib/libgd/conf 2018-09-26 09:53:43 +0900 (678639767) @@ -9,7 +9,8 @@ ngx_feature_incs="#include <gd.h>" ngx_feature_path= ngx_feature_libs="-lgd" - ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);" + ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL); + (void) img" . auto/feature @@ -76,7 +77,8 @@ if [ $ngx_found = yes ]; then ngx_feature="GD WebP support" ngx_feature_name="NGX_HAVE_GD_WEBP" - ngx_feature_test="gdImagePtr img = gdImageCreateFromWebpPtr(1, NULL);" + ngx_feature_test="gdImagePtr img = gdImageCreateFromWebpPtr(1, NULL); + (void) img" . auto/feature else Renamed: vendor/nginx-1.15.4/auto/lib/libxslt/conf (+2 -2) 97% =================================================================== --- vendor/nginx-1.15.2/auto/lib/libxslt/conf 2018-09-26 09:51:37 +0900 (3a0f37be5) +++ vendor/nginx-1.15.4/auto/lib/libxslt/conf 2018-09-26 09:53:43 +0900 (3063ac7ce) @@ -16,8 +16,8 @@ ngx_feature_libs="-lxml2 -lxslt" ngx_feature_test="xmlParserCtxtPtr ctxt = NULL; xsltStylesheetPtr sheet = NULL; - xmlDocPtr doc; - doc = xmlParseChunk(ctxt, NULL, 0, 0); + xmlDocPtr doc = NULL; + xmlParseChunk(ctxt, NULL, 0, 0); xsltApplyStylesheet(sheet, doc, NULL);" . auto/feature Renamed: vendor/nginx-1.15.4/auto/lib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/openssl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/openssl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/openssl/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/openssl/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/pcre/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/pcre/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/pcre/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/pcre/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/pcre/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/perl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/perl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/zlib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/zlib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/zlib/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/zlib/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/lib/zlib/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/module (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/modules (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/nohave (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/options (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/os/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/os/darwin (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/os/freebsd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/os/linux (+2 -0) 98% =================================================================== --- vendor/nginx-1.15.2/auto/os/linux 2018-09-26 09:51:37 +0900 (2c8a9bb8e) +++ vendor/nginx-1.15.4/auto/os/linux 2018-09-26 09:53:43 +0900 (5e280eca7) @@ -185,6 +185,8 @@ ngx_feature_test="struct __user_cap_data_struct data; data.effective = CAP_TO_MASK(CAP_NET_RAW); data.permitted = 0; + (void) header; + (void) data; (void) SYS_capset" . auto/feature Renamed: vendor/nginx-1.15.4/auto/os/solaris (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/os/win32 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/sources (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/stubs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/summary (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/threads (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/types/sizeof (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/types/typedef (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/types/uintptr_t (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/types/value (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/auto/unix (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/fastcgi.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/fastcgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/koi-win (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/mime.types (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/nginx.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/scgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/uwsgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/conf/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/geo2nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/unicode2nginx/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/unicode2nginx/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/vim/ftdetect/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/vim/ftplugin/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/vim/indent/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/contrib/vim/syntax/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/GNUmakefile (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/dtd/change_log_conf.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/dtd/changes.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/html/50x.html (+1 -1) 86% =================================================================== --- vendor/nginx-1.15.2/docs/html/50x.html 2018-09-26 09:51:37 +0900 (f60f5e72d) +++ vendor/nginx-1.15.4/docs/html/50x.html 2018-09-26 09:53:43 +0900 (9071e0a24) @@ -15,7 +15,7 @@ <p>Sorry, the page you are looking for is currently unavailable.<br/> Please try again later.</p> <p>If you are the system administrator of this resource then you should check -the <a href="http://nginx.org/r/error_log">error log</a> for details.</p> +the error log for details.</p> <p><em>Faithfully yours, nginx.</em></p> </body> </html> Renamed: vendor/nginx-1.15.4/docs/html/index.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/man/nginx.8 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/text/LICENSE (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/text/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/xml/change_log_conf.xml (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/xml/nginx/changes.xml (+187 -0) 99% =================================================================== --- vendor/nginx-1.15.2/docs/xml/nginx/changes.xml 2018-09-26 09:51:37 +0900 (bb8948d77) +++ vendor/nginx-1.15.4/docs/xml/nginx/changes.xml 2018-09-26 09:53:43 +0900 (02c4b3c24) @@ -5,6 +5,193 @@ <change_log title="nginx"> +<changes ver="1.15.4" date="2018-09-25"> + +<change type="feature"> +<para lang="ru"> +теперь директиву ssl_early_data можно использовать с OpenSSL. +</para> +<para lang="en"> +now the "ssl_early_data" directive can be used with OpenSSL. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_uwsgi_module.<br/> +Спасибо Chris Caputo. +</para> +<para lang="en"> +in the ngx_http_uwsgi_module.<br/> +Thanks to Chris Caputo. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +соединения к некоторым gRPC-бэкендам могли не кэшироваться +при использовании директивы keepalive. +</para> +<para lang="en"> +connections with some gRPC backends might not be cached +when using the "keepalive" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы error_page для перенаправления ошибок, +возникающих на ранних этапах обработки запроса, +в частности ошибок с кодом 400, +могла происходить утечка сокетов. +</para> +<para lang="en"> +a socket leak might occur +when using the "error_page" directive +to redirect early request processing errors, +notably errors with code 400. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива return при возврате ошибок не изменяла код ответа, +если запрос был перенаправлен с помощью директивы error_page. +</para> +<para lang="en"> +the "return" directive did not change the response code when returning errors +if the request was redirected by the "error_page" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +стандартные сообщения об ошибках и ответы модуля ngx_http_autoindex_module +содержали атрибут bgcolor, что могло приводить к их некорректному отображению +при использовании пользовательских настроек цветов в браузерах.<br/> +Спасибо Nova DasSarma. +</para> +<para lang="en"> +standard error pages and responses of the ngx_http_autoindex_module module +used the "bgcolor" attribute, and might be displayed incorrectly when using +custom color settings in browsers.<br/> +Thanks to Nova DasSarma. +</para> +</change> + +<change type="change"> +<para lang="ru"> +уровень логгирования ошибок SSL "no suitable key share" и +"no suitable signature algorithm" +понижен с уровня crit до info. +</para> +<para lang="en"> +the logging level of the "no suitable key share" and +"no suitable signature algorithm" SSL errors +has been lowered from "crit" to "info". +</para> +</change> + +</changes> + + +<changes ver="1.15.3" date="2018-08-28"> + +<change type="feature"> +<para lang="ru"> +теперь TLSv1.3 можно использовать с BoringSSL. +</para> +<para lang="en"> +now TLSv1.3 can be used with BoringSSL. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_early_data, +сейчас доступна при использовании BoringSSL. +</para> +<para lang="en"> +the "ssl_early_data" directive, +currently available with BoringSSL. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы keepalive_timeout и keepalive_requests +в блоке upstream. +</para> +<para lang="en"> +the "keepalive_timeout" and "keepalive_requests" directives +in the "upstream" block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_dav_module +при копировании файла поверх существующего файла с помощью метода COPY +не обнулял целевой файл. +</para> +<para lang="en"> +the ngx_http_dav_module +did not truncate destination file when copying a file over an existing one +with the COPY method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_dav_module +при перемещении файла между файловыми системами с помощью метода MOVE +устанавливал нулевые права доступа на результирующий файл +и не сохранял время изменения файла. +</para> +<para lang="en"> +the ngx_http_dav_module +used zero access rights on the destination file +and did not preserve file modification time +when moving a file between different file systems with the MOVE method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_dav_module +при копировании файла с помощью метода COPY +для результирующего файла использовал права доступа по умолчанию. +</para> +<para lang="en"> +the ngx_http_dav_module +used default access rights +when copying a file with the COPY method. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +некоторые клиенты могли не работать при использовании HTTP/2; +ошибка появилась в 1.13.5. +</para> +<para lang="en"> +some clients might not work when using HTTP/2; +the bug had appeared in 1.13.5. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с LibreSSL 2.8.0. +</para> +<para lang="en"> +nginx could not be built with LibreSSL 2.8.0. +</para> +</change> + +</changes> + + <changes ver="1.15.2" date="2018-07-24"> <change type="feature"> Renamed: vendor/nginx-1.15.4/docs/xsls/changes.xsls (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/docs/xslt/changes.xslt (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/misc/GNUmakefile (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.2/misc/GNUmakefile 2018-09-26 09:51:37 +0900 (243a18e73) +++ vendor/nginx-1.15.4/misc/GNUmakefile 2018-09-26 09:53:43 +0900 (73d8bd922) @@ -6,7 +6,7 @@ TEMP = tmp CC = cl OBJS = objs.msvc8 -OPENSSL = openssl-1.0.2o +OPENSSL = openssl-1.0.2p ZLIB = zlib-1.2.11 PCRE = pcre-8.42 Renamed: vendor/nginx-1.15.4/misc/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/nginx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/nginx.h (+2 -2) 85% =================================================================== --- vendor/nginx-1.15.2/src/core/nginx.h 2018-09-26 09:51:37 +0900 (d563a6a39) +++ vendor/nginx-1.15.4/src/core/nginx.h 2018-09-26 09:53:43 +0900 (9f66765f6) @@ -9,8 +9,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1015002 -#define NGINX_VERSION "1.15.2" +#define nginx_version 1015004 +#define NGINX_VERSION "1.15.4" #define NGINX_VER "nginx/" NGINX_VERSION #ifdef NGX_BUILD Renamed: vendor/nginx-1.15.4/src/core/ngx_array.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_array.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_buf.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_buf.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_conf_file.c (+4 -3) 99% =================================================================== --- vendor/nginx-1.15.2/src/core/ngx_conf_file.c 2018-09-26 09:51:37 +0900 (ba454dea8) +++ vendor/nginx-1.15.4/src/core/ngx_conf_file.c 2018-09-26 09:53:43 +0900 (e92cd33c9) @@ -656,13 +656,14 @@ ngx_conf_read_token(ngx_conf_t *cf) } if (last_space) { - if (ch == ' ' || ch == '\t' || ch == CR || ch == LF) { - continue; - } start = b->pos - 1; start_line = cf->conf_file->line; + if (ch == ' ' || ch == '\t' || ch == CR || ch == LF) { + continue; + } + switch (ch) { case ';': Renamed: vendor/nginx-1.15.4/src/core/ngx_conf_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_connection.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_connection.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_core.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_cpuinfo.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_crc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_crc32.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_crc32.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_crypt.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_crypt.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_file.c (+13 -10) 97% =================================================================== --- vendor/nginx-1.15.2/src/core/ngx_file.c 2018-09-26 09:51:37 +0900 (3a94089de) +++ vendor/nginx-1.15.4/src/core/ngx_file.c 2018-09-26 09:53:43 +0900 (56780303b) @@ -796,10 +796,12 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) { char *buf; off_t size; + time_t time; size_t len; ssize_t n; ngx_fd_t fd, nfd; ngx_int_t rc; + ngx_uint_t access; ngx_file_info_t fi; rc = NGX_ERROR; @@ -814,8 +816,10 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) goto failed; } - if (cf->size != -1) { + if (cf->size != -1 && cf->access != 0 && cf->time != -1) { size = cf->size; + access = cf->access; + time = cf->time; } else { if (ngx_fd_info(fd, &fi) == NGX_FILE_ERROR) { @@ -825,7 +829,9 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) goto failed; } - size = ngx_file_size(&fi); + size = (cf->size != -1) ? cf->size : ngx_file_size(&fi); + access = cf->access ? cf->access : ngx_file_access(&fi); + time = (cf->time != -1) ? cf->time : ngx_file_mtime(&fi); } len = cf->buf_size ? cf->buf_size : 65536; @@ -839,8 +845,7 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) goto failed; } - nfd = ngx_open_file(to, NGX_FILE_WRONLY, NGX_FILE_CREATE_OR_OPEN, - cf->access); + nfd = ngx_open_file(to, NGX_FILE_WRONLY, NGX_FILE_TRUNCATE, access); if (nfd == NGX_INVALID_FILE) { ngx_log_error(NGX_LOG_CRIT, cf->log, ngx_errno, @@ -887,12 +892,10 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) size -= n; } - if (cf->time != -1) { - if (ngx_set_file_time(to, nfd, cf->time) != NGX_OK) { - ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, - ngx_set_file_time_n " \"%s\" failed", to); - goto failed; - } + if (ngx_set_file_time(to, nfd, time) != NGX_OK) { + ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, + ngx_set_file_time_n " \"%s\" failed", to); + goto failed; } rc = NGX_OK; Renamed: vendor/nginx-1.15.4/src/core/ngx_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_hash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_hash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_inet.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_inet.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_list.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_list.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_log.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_md5.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_md5.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_murmurhash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_murmurhash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_open_file_cache.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_open_file_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_output_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_palloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_palloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_parse.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_parse_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_parse_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_proxy_protocol.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_proxy_protocol.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_queue.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_queue.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_radix_tree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_radix_tree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_rbtree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_rbtree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_regex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_regex.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_resolver.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_resolver.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_rwlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_rwlock.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_sha1.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_sha1.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_shmtx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_shmtx.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_slab.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_slab.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_spinlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_string.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_string.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_syslog.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_syslog.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_thread_pool.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_thread_pool.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_times.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/core/ngx_times.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_devpoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_epoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_eventport_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_iocp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_iocp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_kqueue_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_poll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/modules/ngx_win32_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_accept.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_acceptex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_connect.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_connect.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_connectex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_openssl.c (+546 -47) 89% =================================================================== --- vendor/nginx-1.15.2/src/event/ngx_event_openssl.c 2018-09-26 09:51:37 +0900 (96ee10543) +++ vendor/nginx-1.15.4/src/event/ngx_event_openssl.c 2018-09-26 09:53:43 +0900 (3a0e150d2) @@ -26,9 +26,23 @@ static void ngx_ssl_info_callback(const ngx_ssl_conn_t *ssl_conn, int where, static void ngx_ssl_passwords_cleanup(void *data); static int ngx_ssl_new_client_session(ngx_ssl_conn_t *ssl_conn, ngx_ssl_session_t *sess); +#ifdef SSL_READ_EARLY_DATA_SUCCESS +static ngx_int_t ngx_ssl_try_early_data(ngx_connection_t *c); +#endif +#if (NGX_DEBUG) +static void ngx_ssl_handshake_log(ngx_connection_t *c); +#endif static void ngx_ssl_handshake_handler(ngx_event_t *ev); +#ifdef SSL_READ_EARLY_DATA_SUCCESS +static ssize_t ngx_ssl_recv_early(ngx_connection_t *c, u_char *buf, + size_t size); +#endif static ngx_int_t ngx_ssl_handle_recv(ngx_connection_t *c, int n); static void ngx_ssl_write_handler(ngx_event_t *wev); +#ifdef SSL_READ_EARLY_DATA_SUCCESS +static ssize_t ngx_ssl_write_early(ngx_connection_t *c, u_char *data, + size_t size); +#endif static void ngx_ssl_read_handler(ngx_event_t *rev); static void ngx_ssl_shutdown_handler(ngx_event_t *ev); static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, @@ -331,10 +345,19 @@ ngx_ssl_create(ngx_ssl_t *ssl, ngx_uint_t protocols, void *data) } #endif +#ifdef TLS1_3_VERSION + SSL_CTX_set_min_proto_version(ssl->ctx, 0); + SSL_CTX_set_max_proto_version(ssl->ctx, TLS1_3_VERSION); +#endif + #ifdef SSL_OP_NO_COMPRESSION SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_COMPRESSION); #endif +#ifdef SSL_OP_NO_ANTI_REPLAY + SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_ANTI_REPLAY); +#endif + #ifdef SSL_MODE_RELEASE_BUFFERS SSL_CTX_set_mode(ssl->ctx, SSL_MODE_RELEASE_BUFFERS); #endif @@ -838,6 +861,8 @@ ngx_ssl_info_callback(const ngx_ssl_conn_t *ssl_conn, int where, int ret) BIO *rbio, *wbio; ngx_connection_t *c; +#ifndef SSL_OP_NO_RENEGOTIATION + if ((where & SSL_CB_HANDSHAKE_START) && SSL_is_server((ngx_ssl_conn_t *) ssl_conn)) { @@ -849,6 +874,8 @@ ngx_ssl_info_callback(const ngx_ssl_conn_t *ssl_conn, int where, int ret) } } +#endif + if ((where & SSL_CB_ACCEPT_LOOP) == SSL_CB_ACCEPT_LOOP) { c = ngx_ssl_get_connection((ngx_ssl_conn_t *) ssl_conn); @@ -1164,6 +1191,35 @@ ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name) ngx_int_t +ngx_ssl_early_data(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_uint_t enable) +{ + if (!enable) { + return NGX_OK; + } + +#ifdef SSL_ERROR_EARLY_DATA_REJECTED + + /* BoringSSL */ + + SSL_CTX_set_early_data_enabled(ssl->ctx, 1); + +#elif defined SSL_READ_EARLY_DATA_SUCCESS + + /* OpenSSL */ + + SSL_CTX_set_max_early_data(ssl->ctx, NGX_SSL_BUFSIZE); + +#else + ngx_log_error(NGX_LOG_WARN, ssl->log, 0, + "\"ssl_early_data\" is not supported on this platform, " + "ignored"); +#endif + + return NGX_OK; +} + + +ngx_int_t ngx_ssl_client_session_cache(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_uint_t enable) { if (!enable) { @@ -1214,6 +1270,12 @@ ngx_ssl_create_connection(ngx_ssl_t *ssl, ngx_connection_t *c, ngx_uint_t flags) sc->session_ctx = ssl->ctx; +#ifdef SSL_READ_EARLY_DATA_SUCCESS + if (SSL_CTX_get_max_early_data(ssl->ctx)) { + sc->try_early_data = 1; + } +#endif + sc->connection = SSL_new(ssl->ctx); if (sc->connection == NULL) { @@ -1293,6 +1355,12 @@ ngx_ssl_handshake(ngx_connection_t *c) int n, sslerr; ngx_err_t err; +#ifdef SSL_READ_EARLY_DATA_SUCCESS + if (c->ssl->try_early_data) { + return ngx_ssl_try_early_data(c); + } +#endif + ngx_ssl_clear_error(c->log); n = SSL_do_handshake(c->ssl->connection); @@ -1310,73 +1378,145 @@ ngx_ssl_handshake(ngx_connection_t *c) } #if (NGX_DEBUG) - { - char buf[129], *s, *d; -#if OPENSSL_VERSION_NUMBER >= 0x10000000L - const + ngx_ssl_handshake_log(c); #endif - SSL_CIPHER *cipher; - cipher = SSL_get_current_cipher(c->ssl->connection); + c->ssl->handshaked = 1; - if (cipher) { - SSL_CIPHER_description(cipher, &buf[1], 128); + c->recv = ngx_ssl_recv; + c->send = ngx_ssl_write; + c->recv_chain = ngx_ssl_recv_chain; + c->send_chain = ngx_ssl_send_chain; - for (s = &buf[1], d = buf; *s; s++) { - if (*s == ' ' && *d == ' ') { - continue; - } +#ifndef SSL_OP_NO_RENEGOTIATION +#if OPENSSL_VERSION_NUMBER < 0x10100000L +#ifdef SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS - if (*s == LF || *s == CR) { - continue; - } + /* initial handshake done, disable renegotiation (CVE-2009-3555) */ + if (c->ssl->connection->s3 && SSL_is_server(c->ssl->connection)) { + c->ssl->connection->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS; + } - *++d = *s; - } +#endif +#endif +#endif - if (*d != ' ') { - d++; - } + return NGX_OK; + } - *d = '\0'; + sslerr = SSL_get_error(c->ssl->connection, n); - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, - "SSL: %s, cipher: \"%s\"", - SSL_get_version(c->ssl->connection), &buf[1]); + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr); - if (SSL_session_reused(c->ssl->connection)) { - ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, - "SSL reused session"); - } + if (sslerr == SSL_ERROR_WANT_READ) { + c->read->ready = 0; + c->read->handler = ngx_ssl_handshake_handler; + c->write->handler = ngx_ssl_handshake_handler; - } else { - ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, - "SSL no shared ciphers"); + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; + } + + if (ngx_handle_write_event(c->write, 0) != NGX_OK) { + return NGX_ERROR; + } + + return NGX_AGAIN; + } + + if (sslerr == SSL_ERROR_WANT_WRITE) { + c->write->ready = 0; + c->read->handler = ngx_ssl_handshake_handler; + c->write->handler = ngx_ssl_handshake_handler; + + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; + } + + if (ngx_handle_write_event(c->write, 0) != NGX_OK) { + return NGX_ERROR; + } + + return NGX_AGAIN; + } + + err = (sslerr == SSL_ERROR_SYSCALL) ? ngx_errno : 0; + + c->ssl->no_wait_shutdown = 1; + c->ssl->no_send_shutdown = 1; + c->read->eof = 1; + + if (sslerr == SSL_ERROR_ZERO_RETURN || ERR_peek_error() == 0) { + ngx_connection_error(c, err, + "peer closed connection in SSL handshake"); + + return NGX_ERROR; + } + + c->read->error = 1; + + ngx_ssl_connection_error(c, sslerr, err, "SSL_do_handshake() failed"); + + return NGX_ERROR; +} + + +#ifdef SSL_READ_EARLY_DATA_SUCCESS + +static ngx_int_t +ngx_ssl_try_early_data(ngx_connection_t *c) +{ + int n, sslerr; + u_char buf; + size_t readbytes; + ngx_err_t err; + + ngx_ssl_clear_error(c->log); + + readbytes = 0; + + n = SSL_read_early_data(c->ssl->connection, &buf, 1, &readbytes); + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL_read_early_data: %d, %uz", n, readbytes); + + if (n == SSL_READ_EARLY_DATA_FINISH) { + c->ssl->try_early_data = 0; + return ngx_ssl_handshake(c); + } + + if (n == SSL_READ_EARLY_DATA_SUCCESS) { + + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; } + + if (ngx_handle_write_event(c->write, 0) != NGX_OK) { + return NGX_ERROR; } + +#if (NGX_DEBUG) + ngx_ssl_handshake_log(c); #endif + c->ssl->try_early_data = 0; + + c->ssl->early_buf = buf; + c->ssl->early_preread = 1; + c->ssl->handshaked = 1; + c->ssl->in_early = 1; c->recv = ngx_ssl_recv; c->send = ngx_ssl_write; c->recv_chain = ngx_ssl_recv_chain; c->send_chain = ngx_ssl_send_chain; -#if OPENSSL_VERSION_NUMBER < 0x10100000L -#ifdef SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS - - /* initial handshake done, disable renegotiation (CVE-2009-3555) */ - if (c->ssl->connection->s3 && SSL_is_server(c->ssl->connection)) { - c->ssl->connection->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS; - } - -#endif -#endif - return NGX_OK; } + /* SSL_READ_EARLY_DATA_ERROR */ + sslerr = SSL_get_error(c->ssl->connection, n); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr); @@ -1428,11 +1568,65 @@ ngx_ssl_handshake(ngx_connection_t *c) c->read->error = 1; - ngx_ssl_connection_error(c, sslerr, err, "SSL_do_handshake() failed"); + ngx_ssl_connection_error(c, sslerr, err, "SSL_read_early_data() failed"); return NGX_ERROR; } +#endif + + +#if (NGX_DEBUG) + +static void +ngx_ssl_handshake_log(ngx_connection_t *c) +{ + char buf[129], *s, *d; +#if OPENSSL_VERSION_NUMBER >= 0x10000000L + const +#endif + SSL_CIPHER *cipher; + + cipher = SSL_get_current_cipher(c->ssl->connection); + + if (cipher) { + SSL_CIPHER_description(cipher, &buf[1], 128); + + for (s = &buf[1], d = buf; *s; s++) { + if (*s == ' ' && *d == ' ') { + continue; + } + + if (*s == LF || *s == CR) { + continue; + } + + *++d = *s; + } + + if (*d != ' ') { + d++; + } + + *d = '\0'; + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL: %s, cipher: \"%s\"", + SSL_get_version(c->ssl->connection), &buf[1]); + + if (SSL_session_reused(c->ssl->connection)) { + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL reused session"); + } + + } else { + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL no shared ciphers"); + } +} + +#endif + static void ngx_ssl_handshake_handler(ngx_event_t *ev) @@ -1521,6 +1715,12 @@ ngx_ssl_recv(ngx_connection_t *c, u_char *buf, size_t size) { int n, bytes; +#ifdef SSL_READ_EARLY_DATA_SUCCESS + if (c->ssl->in_early) { + return ngx_ssl_recv_early(c, buf, size); + } +#endif + if (c->ssl->last == NGX_ERROR) { c->read->error = 1; return NGX_ERROR; @@ -1594,12 +1794,131 @@ ngx_ssl_recv(ngx_connection_t *c, u_char *buf, size_t size) } +#ifdef SSL_READ_EARLY_DATA_SUCCESS + +static ssize_t +ngx_ssl_recv_early(ngx_connection_t *c, u_char *buf, size_t size) +{ + int n, bytes; + size_t readbytes; + + if (c->ssl->last == NGX_ERROR) { + c->read->error = 1; + return NGX_ERROR; + } + + if (c->ssl->last == NGX_DONE) { + c->read->ready = 0; + c->read->eof = 1; + return 0; + } + + bytes = 0; + + ngx_ssl_clear_error(c->log); + + if (c->ssl->early_preread) { + + if (size == 0) { + c->read->ready = 0; + c->read->eof = 1; + return 0; + } + + *buf = c->ssl->early_buf; + + c->ssl->early_preread = 0; + + bytes = 1; + size -= 1; + buf += 1; + } + + /* + * SSL_read_early_data() may return data in parts, so try to read + * until SSL_read_early_data() would return no data + */ + + for ( ;; ) { + + readbytes = 0; + + n = SSL_read_early_data(c->ssl->connection, buf, size, &readbytes); + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL_read_early_data: %d, %uz", n, readbytes); + + if (n == SSL_READ_EARLY_DATA_SUCCESS) { + + c->ssl->last = ngx_ssl_handle_recv(c, 1); + + bytes += readbytes; + size -= readbytes; + + if (size == 0) { + c->read->ready = 1; + return bytes; + } + + buf += readbytes; + + continue; + } + + if (n == SSL_READ_EARLY_DATA_FINISH) { + + c->ssl->last = ngx_ssl_handle_recv(c, 1); + c->ssl->in_early = 0; + + if (bytes) { + c->read->ready = 1; + return bytes; + } + + return ngx_ssl_recv(c, buf, size); + } + + /* SSL_READ_EARLY_DATA_ERROR */ + + c->ssl->last = ngx_ssl_handle_recv(c, 0); + + if (bytes) { + if (c->ssl->last != NGX_AGAIN) { + c->read->ready = 1; + } + + return bytes; + } + + switch (c->ssl->last) { + + case NGX_DONE: + c->read->ready = 0; + c->read->eof = 1; + return 0; + + case NGX_ERROR: + c->read->error = 1; + + /* fall through */ + + case NGX_AGAIN: + return c->ssl->last; + } + } +} + +#endif + + static ngx_int_t ngx_ssl_handle_recv(ngx_connection_t *c, int n) { int sslerr; ngx_err_t err; +#ifndef SSL_OP_NO_RENEGOTIATION + if (c->ssl->renegotiation) { /* * disable renegotiation (CVE-2009-3555): @@ -1622,6 +1941,8 @@ ngx_ssl_handle_recv(ngx_connection_t *c, int n) return NGX_ERROR; } +#endif + if (n > 0) { if (c->ssl->saved_write_handler) { @@ -1647,14 +1968,28 @@ ngx_ssl_handle_recv(ngx_connection_t *c, int n) ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr); if (sslerr == SSL_ERROR_WANT_READ) { + + if (c->ssl->saved_write_handler) { + + c->write->handler = c->ssl->saved_write_handler; + c->ssl->saved_write_handler = NULL; + c->write->ready = 1; + + if (ngx_handle_write_event(c->write, 0) != NGX_OK) { + return NGX_ERROR; + } + + ngx_post_event(c->write, &ngx_posted_events); + } + c->read->ready = 0; return NGX_AGAIN; } if (sslerr == SSL_ERROR_WANT_WRITE) { - ngx_log_error(NGX_LOG_INFO, c->log, 0, - "peer started SSL renegotiation"); + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL_read: want write"); c->write->ready = 0; @@ -1696,6 +2031,8 @@ ngx_ssl_write_handler(ngx_event_t *wev) c = wev->data; + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL write handler"); + c->read->handler(c->read); } @@ -1869,6 +2206,12 @@ ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size) int n, sslerr; ngx_err_t err; +#ifdef SSL_READ_EARLY_DATA_SUCCESS + if (c->ssl->in_early) { + return ngx_ssl_write_early(c, data, size); + } +#endif + ngx_ssl_clear_error(c->log); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL to write: %uz", size); @@ -1904,14 +2247,28 @@ ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size) ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr); if (sslerr == SSL_ERROR_WANT_WRITE) { + + if (c->ssl->saved_read_handler) { + + c->read->handler = c->ssl->saved_read_handler; + c->ssl->saved_read_handler = NULL; + c->read->ready = 1; + + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; + } + + ngx_post_event(c->read, &ngx_posted_events); + } + c->write->ready = 0; return NGX_AGAIN; } if (sslerr == SSL_ERROR_WANT_READ) { - ngx_log_error(NGX_LOG_INFO, c->log, 0, - "peer started SSL renegotiation"); + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL_write: want read"); c->read->ready = 0; @@ -1942,6 +2299,107 @@ ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size) } +#ifdef SSL_READ_EARLY_DATA_SUCCESS + +ssize_t +ngx_ssl_write_early(ngx_connection_t *c, u_char *data, size_t size) +{ + int n, sslerr; + size_t written; + ngx_err_t err; + + ngx_ssl_clear_error(c->log); + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL to write: %uz", size); + + written = 0; + + n = SSL_write_early_data(c->ssl->connection, data, size, &written); + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL_write_early_data: %d, %uz", n, written); + + if (n > 0) { + + if (c->ssl->saved_read_handler) { + + c->read->handler = c->ssl->saved_read_handler; + c->ssl->saved_read_handler = NULL; + c->read->ready = 1; + + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; + } + + ngx_post_event(c->read, &ngx_posted_events); + } + + c->sent += written; + + return written; + } + + sslerr = SSL_get_error(c->ssl->connection, n); + + err = (sslerr == SSL_ERROR_SYSCALL) ? ngx_errno : 0; + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d", sslerr); + + if (sslerr == SSL_ERROR_WANT_WRITE) { + + if (c->ssl->saved_read_handler) { + + c->read->handler = c->ssl->saved_read_handler; + c->ssl->saved_read_handler = NULL; + c->read->ready = 1; + + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; + } + + ngx_post_event(c->read, &ngx_posted_events); + } + + c->write->ready = 0; + return NGX_AGAIN; + } + + if (sslerr == SSL_ERROR_WANT_READ) { + + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, + "SSL_write_early_data: want read"); + + c->read->ready = 0; + + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + return NGX_ERROR; + } + + /* + * we do not set the timer because there is already + * the write event timer + */ + + if (c->ssl->saved_read_handler == NULL) { + c->ssl->saved_read_handler = c->read->handler; + c->read->handler = ngx_ssl_read_handler; + } + + return NGX_AGAIN; + } + + c->ssl->no_wait_shutdown = 1; + c->ssl->no_send_shutdown = 1; + c->write->error = 1; + + ngx_ssl_connection_error(c, sslerr, err, "SSL_write_early_data() failed"); + + return NGX_ERROR; +} + +#endif + + static void ngx_ssl_read_handler(ngx_event_t *rev) { @@ -1949,6 +2407,8 @@ ngx_ssl_read_handler(ngx_event_t *rev) c = rev->data; + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL read handler"); + c->write->handler(c->write); } @@ -2125,6 +2585,12 @@ ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, ngx_err_t err, /* handshake failures */ if (n == SSL_R_BAD_CHANGE_CIPHER_SPEC /* 103 */ +#ifdef SSL_R_NO_SUITABLE_KEY_SHARE + || n == SSL_R_NO_SUITABLE_KEY_SHARE /* 101 */ +#endif +#ifdef SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM + || n == SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM /* 118 */ +#endif || n == SSL_R_BLOCK_CIPHER_PAD_IS_WRONG /* 129 */ || n == SSL_R_DIGEST_CHECK_FAILED /* 149 */ || n == SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST /* 151 */ @@ -2146,7 +2612,13 @@ ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, ngx_err_t err, || n == SSL_R_UNEXPECTED_RECORD /* 245 */ || n == SSL_R_UNKNOWN_ALERT_TYPE /* 246 */ || n == SSL_R_UNKNOWN_PROTOCOL /* 252 */ +#ifdef SSL_R_NO_COMMON_SIGNATURE_ALGORITHMS + || n == SSL_R_NO_COMMON_SIGNATURE_ALGORITHMS /* 253 */ +#endif || n == SSL_R_UNSUPPORTED_PROTOCOL /* 258 */ +#ifdef SSL_R_NO_SHARED_GROUP + || n == SSL_R_NO_SHARED_GROUP /* 266 */ +#endif || n == SSL_R_WRONG_VERSION_NUMBER /* 267 */ || n == SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC /* 281 */ #ifdef SSL_R_RENEGOTIATE_EXT_TOO_LONG @@ -3619,6 +4091,33 @@ ngx_ssl_get_session_reused(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s) ngx_int_t +ngx_ssl_get_early_data(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s) +{ + s->len = 0; + +#ifdef SSL_ERROR_EARLY_DATA_REJECTED + + /* BoringSSL */ + + if (SSL_in_early_data(c->ssl->connection)) { + ngx_str_set(s, "1"); + } + +#elif defined SSL_READ_EARLY_DATA_SUCCESS + + /* OpenSSL */ + + if (!SSL_is_init_finished(c->ssl->connection)) { + ngx_str_set(s, "1"); + } + +#endif + + return NGX_OK; +} + + +ngx_int_t ngx_ssl_get_server_name(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s) { #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME Renamed: vendor/nginx-1.15.4/src/event/ngx_event_openssl.h (+13 -0) 95% =================================================================== --- vendor/nginx-1.15.2/src/event/ngx_event_openssl.h 2018-09-26 09:51:37 +0900 (22350d54b) +++ vendor/nginx-1.15.4/src/event/ngx_event_openssl.h 2018-09-26 09:53:43 +0900 (abd84ccf0) @@ -36,8 +36,12 @@ #if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L) #undef OPENSSL_VERSION_NUMBER +#if (LIBRESSL_VERSION_NUMBER >= 0x2080000fL) +#define OPENSSL_VERSION_NUMBER 0x1010000fL +#else #define OPENSSL_VERSION_NUMBER 0x1000107fL #endif +#endif #if (OPENSSL_VERSION_NUMBER >= 0x10100001L) @@ -83,12 +87,17 @@ struct ngx_ssl_connection_s { ngx_event_handler_pt saved_read_handler; ngx_event_handler_pt saved_write_handler; + u_char early_buf; + unsigned handshaked:1; unsigned renegotiation:1; unsigned buffer:1; unsigned no_wait_shutdown:1; unsigned no_send_shutdown:1; unsigned handshake_buffer_set:1; + unsigned try_early_data:1; + unsigned in_early:1; + unsigned early_preread:1; }; @@ -171,6 +180,8 @@ RSA *ngx_ssl_rsa512_key_callback(ngx_ssl_conn_t *ssl_conn, int is_export, ngx_array_t *ngx_ssl_read_password_file(ngx_conf_t *cf, ngx_str_t *file); ngx_int_t ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file); ngx_int_t ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name); +ngx_int_t ngx_ssl_early_data(ngx_conf_t *cf, ngx_ssl_t *ssl, + ngx_uint_t enable); ngx_int_t ngx_ssl_client_session_cache(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_uint_t enable); ngx_int_t ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, @@ -213,6 +224,8 @@ ngx_int_t ngx_ssl_get_session_id(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s); ngx_int_t ngx_ssl_get_session_reused(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s); +ngx_int_t ngx_ssl_get_early_data(ngx_connection_t *c, ngx_pool_t *pool, + ngx_str_t *s); ngx_int_t ngx_ssl_get_server_name(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s); ngx_int_t ngx_ssl_get_raw_certificate(ngx_connection_t *c, ngx_pool_t *pool, Renamed: vendor/nginx-1.15.4/src/event/ngx_event_openssl_stapling.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_pipe.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_pipe.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_posted.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_posted.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_timer.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_timer.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/event/ngx_event_udp.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_addition_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_auth_basic_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_auth_request_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_autoindex_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_autoindex_module.c 2018-09-26 09:51:37 +0900 (94b91db80) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_autoindex_module.c 2018-09-26 09:53:43 +0900 (d59fba237) @@ -452,7 +452,7 @@ ngx_http_autoindex_html(ngx_http_request_t *r, ngx_array_t *entries) static u_char header[] = "</title></head>" CRLF - "<body bgcolor=\"white\">" CRLF + "<body>" CRLF "<h1>Index of " ; Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_browser_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_charset_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_chunked_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_dav_module.c (+1 -3) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_dav_module.c 2018-09-26 09:51:37 +0900 (55ad9eb19) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_dav_module.c 2018-09-26 09:53:43 +0900 (95c7b3299) @@ -841,11 +841,9 @@ overwrite_done: return NGX_HTTP_INTERNAL_SERVER_ERROR; } - dlcf = ngx_http_get_module_loc_conf(r, ngx_http_dav_module); - cf.size = ngx_file_size(&fi); cf.buf_size = 0; - cf.access = dlcf->access; + cf.access = ngx_file_access(&fi); cf.time = ngx_file_mtime(&fi); cf.log = r->connection->log; Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_degradation_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_empty_gif_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_fastcgi_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_flv_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_grpc_module.c (+79 -33) 98% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_grpc_module.c 2018-09-26 09:51:37 +0900 (7fbf7366f) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_grpc_module.c 2018-09-26 09:53:43 +0900 (17b0a267c) @@ -109,8 +109,10 @@ typedef struct { unsigned header_sent:1; unsigned output_closed:1; + unsigned output_blocked:1; unsigned parsing_headers:1; unsigned end_stream:1; + unsigned done:1; unsigned status:1; ngx_http_request_t *request; @@ -1072,8 +1074,10 @@ ngx_http_grpc_reinit_request(ngx_http_request_t *r) ctx->state = 0; ctx->header_sent = 0; ctx->output_closed = 0; + ctx->output_blocked = 0; ctx->parsing_headers = 0; ctx->end_stream = 0; + ctx->done = 0; ctx->status = 0; ctx->connection = NULL; @@ -1093,6 +1097,7 @@ ngx_http_grpc_body_output_filter(void *data, ngx_chain_t *in) ngx_int_t rc; ngx_uint_t next, last; ngx_chain_t *cl, *out, **ll; + ngx_http_upstream_t *u; ngx_http_grpc_ctx_t *ctx; ngx_http_grpc_frame_t *f; @@ -1407,6 +1412,36 @@ ngx_http_grpc_body_output_filter(void *data, ngx_chain_t *in) rc = NGX_AGAIN; } + if (rc == NGX_AGAIN) { + ctx->output_blocked = 1; + + } else { + ctx->output_blocked = 0; + } + + if (ctx->done) { + + /* + * We have already got the response and were sending some additional + * control frames. Even if there is still something unsent, stop + * here anyway. + */ + + u = r->upstream; + u->length = 0; + + if (ctx->in == NULL + && ctx->out == NULL + && ctx->output_closed + && !ctx->output_blocked + && ctx->state == ngx_http_grpc_st_start) + { + u->keepalive = 1; + } + + ngx_post_event(u->peer.connection->read, &ngx_posted_events); + } + return rc; } @@ -1749,6 +1784,7 @@ ngx_http_grpc_process_header(ngx_http_request_t *r) if (ctx->in == NULL && ctx->out == NULL && ctx->output_closed + && !ctx->output_blocked && b->last == b->pos) { u->keepalive = 1; @@ -1832,6 +1868,34 @@ ngx_http_grpc_filter(void *data, ssize_t bytes) rc = ngx_http_grpc_parse_frame(r, ctx, b); if (rc == NGX_AGAIN) { + + if (ctx->done) { + + /* + * We have finished parsing the response and the + * remaining control frames. If there are unsent + * control frames, post a write event to send them. + */ + + if (ctx->out) { + ngx_post_event(u->peer.connection->write, + &ngx_posted_events); + return NGX_AGAIN; + } + + u->length = 0; + + if (ctx->in == NULL + && ctx->output_closed + && !ctx->output_blocked + && ctx->state == ngx_http_grpc_st_start) + { + u->keepalive = 1; + } + + break; + } + return NGX_AGAIN; } @@ -1898,6 +1962,13 @@ ngx_http_grpc_filter(void *data, ssize_t bytes) return NGX_ERROR; } + if (ctx->stream_id && ctx->done) { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, + "upstream sent frame for closed stream %ui", + ctx->stream_id); + return NGX_ERROR; + } + ctx->padding = 0; } @@ -1914,17 +1985,7 @@ ngx_http_grpc_filter(void *data, ssize_t bytes) ctx->state = ngx_http_grpc_st_start; if (ctx->flags & NGX_HTTP_V2_END_STREAM_FLAG) { - u->length = 0; - - if (ctx->in == NULL - && ctx->out == NULL - && ctx->output_closed - && b->last == b->pos) - { - u->keepalive = 1; - } - - break; + ctx->done = 1; } continue; @@ -2094,17 +2155,8 @@ ngx_http_grpc_filter(void *data, ssize_t bytes) "grpc trailer done"); if (ctx->end_stream) { - u->length = 0; - - if (ctx->in == NULL - && ctx->out == NULL - && ctx->output_closed - && b->last == b->pos) - { - u->keepalive = 1; - } - - return NGX_OK; + ctx->done = 1; + break; } ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, @@ -2121,6 +2173,10 @@ ngx_http_grpc_filter(void *data, ssize_t bytes) return NGX_ERROR; } + if (rc == NGX_HTTP_PARSE_HEADER_DONE) { + continue; + } + /* rc == NGX_AGAIN */ if (ctx->rest == 0) { @@ -2237,17 +2293,7 @@ ngx_http_grpc_filter(void *data, ssize_t bytes) ctx->state = ngx_http_grpc_st_start; if (ctx->flags & NGX_HTTP_V2_END_STREAM_FLAG) { - u->length = 0; - - if (ctx->in == NULL - && ctx->out == NULL - && ctx->output_closed - && b->last == b->pos) - { - u->keepalive = 1; - } - - break; + ctx->done = 1; } } Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_gunzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_gzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_gzip_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_headers_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_image_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_limit_req_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_memcached_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_mirror_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_mp4_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_not_modified_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_random_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_range_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_referer_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_rewrite_module.c (+1 -9) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_rewrite_module.c 2018-09-26 09:51:37 +0900 (a6f1fc820) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_rewrite_module.c 2018-09-26 09:53:43 +0900 (3b49c455c) @@ -180,15 +180,7 @@ ngx_http_rewrite_handler(ngx_http_request_t *r) code(e); } - if (e->status < NGX_HTTP_BAD_REQUEST) { - return e->status; - } - - if (r->err_status == 0) { - return e->status; - } - - return r->err_status; + return e->status; } Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_scgi_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_secure_link_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_slice_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_ssi_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_ssi_filter_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_ssl_module.c (+18 -0) 98% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_ssl_module.c 2018-09-26 09:51:37 +0900 (7e9544127) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_ssl_module.c 2018-09-26 09:53:43 +0900 (9e243ea05) @@ -239,6 +239,13 @@ static ngx_command_t ngx_http_ssl_commands[] = { offsetof(ngx_http_ssl_srv_conf_t, stapling_verify), NULL }, + { ngx_string("ssl_early_data"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_FLAG, + ngx_conf_set_flag_slot, + NGX_HTTP_SRV_CONF_OFFSET, + offsetof(ngx_http_ssl_srv_conf_t, early_data), + NULL }, + ngx_null_command }; @@ -294,6 +301,10 @@ static ngx_http_variable_t ngx_http_ssl_vars[] = { { ngx_string("ssl_session_reused"), NULL, ngx_http_ssl_variable, (uintptr_t) ngx_ssl_get_session_reused, NGX_HTTP_VAR_CHANGEABLE, 0 }, + { ngx_string("ssl_early_data"), NULL, ngx_http_ssl_variable, + (uintptr_t) ngx_ssl_get_early_data, + NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE, 0 }, + { ngx_string("ssl_server_name"), NULL, ngx_http_ssl_variable, (uintptr_t) ngx_ssl_get_server_name, NGX_HTTP_VAR_CHANGEABLE, 0 }, @@ -552,6 +563,7 @@ ngx_http_ssl_create_srv_conf(ngx_conf_t *cf) sscf->enable = NGX_CONF_UNSET; sscf->prefer_server_ciphers = NGX_CONF_UNSET; + sscf->early_data = NGX_CONF_UNSET; sscf->buffer_size = NGX_CONF_UNSET_SIZE; sscf->verify = NGX_CONF_UNSET_UINT; sscf->verify_depth = NGX_CONF_UNSET_UINT; @@ -594,6 +606,8 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_value(conf->prefer_server_ciphers, prev->prefer_server_ciphers, 0); + ngx_conf_merge_value(conf->early_data, prev->early_data, 0); + ngx_conf_merge_bitmask_value(conf->protocols, prev->protocols, (NGX_CONF_BITMASK_SET|NGX_SSL_TLSv1 |NGX_SSL_TLSv1_1|NGX_SSL_TLSv1_2)); @@ -809,6 +823,10 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) } + if (ngx_ssl_early_data(cf, &conf->ssl, conf->early_data) != NGX_OK) { + return NGX_CONF_ERROR; + } + return NGX_CONF_OK; } Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_ssl_module.h (+1 -0) 97% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_ssl_module.h 2018-09-26 09:51:37 +0900 (57f5941d4) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_ssl_module.h 2018-09-26 09:53:43 +0900 (fb3219b63) @@ -20,6 +20,7 @@ typedef struct { ngx_ssl_t ssl; ngx_flag_t prefer_server_ciphers; + ngx_flag_t early_data; ngx_uint_t protocols; Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_stub_status_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_sub_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_try_files_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_ip_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_keepalive_module.c (+36 -5) 93% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_upstream_keepalive_module.c 2018-09-26 09:51:37 +0900 (90a226d91) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_keepalive_module.c 2018-09-26 09:53:43 +0900 (bdc4ae5c7) @@ -12,6 +12,8 @@ typedef struct { ngx_uint_t max_cached; + ngx_uint_t requests; + ngx_msec_t timeout; ngx_queue_t cache; ngx_queue_t free; @@ -84,6 +86,20 @@ static ngx_command_t ngx_http_upstream_keepalive_commands[] = { 0, NULL }, + { ngx_string("keepalive_timeout"), + NGX_HTTP_UPS_CONF|NGX_CONF_TAKE1, + ngx_conf_set_msec_slot, + NGX_HTTP_SRV_CONF_OFFSET, + offsetof(ngx_http_upstream_keepalive_srv_conf_t, timeout), + NULL }, + + { ngx_string("keepalive_requests"), + NGX_HTTP_UPS_CONF|NGX_CONF_TAKE1, + ngx_conf_set_num_slot, + NGX_HTTP_SRV_CONF_OFFSET, + offsetof(ngx_http_upstream_keepalive_srv_conf_t, requests), + NULL }, + ngx_null_command }; @@ -133,6 +149,9 @@ ngx_http_upstream_init_keepalive(ngx_conf_t *cf, kcf = ngx_http_conf_upstream_srv_conf(us, ngx_http_upstream_keepalive_module); + ngx_conf_init_msec_value(kcf->timeout, 60000); + ngx_conf_init_uint_value(kcf->requests, 100); + if (kcf->original_init_upstream(cf, us) != NGX_OK) { return NGX_ERROR; } @@ -261,6 +280,10 @@ found: c->write->log = pc->log; c->pool->log = pc->log; + if (c->read->timer_set) { + ngx_del_timer(c->read); + } + pc->connection = c; pc->cached = 1; @@ -298,6 +321,10 @@ ngx_http_upstream_free_keepalive_peer(ngx_peer_connection_t *pc, void *data, goto invalid; } + if (c->requests >= kp->conf->requests) { + goto invalid; + } + if (!u->keepalive) { goto invalid; } @@ -339,10 +366,9 @@ ngx_http_upstream_free_keepalive_peer(ngx_peer_connection_t *pc, void *data, pc->connection = NULL; - if (c->read->timer_set) { - c->read->delayed = 0; - ngx_del_timer(c->read); - } + c->read->delayed = 0; + ngx_add_timer(c->read, kp->conf->timeout); + if (c->write->timer_set) { ngx_del_timer(c->write); } @@ -393,7 +419,7 @@ ngx_http_upstream_keepalive_close_handler(ngx_event_t *ev) c = ev->data; - if (c->close) { + if (c->close || c->read->timedout) { goto close; } @@ -486,6 +512,9 @@ ngx_http_upstream_keepalive_create_conf(ngx_conf_t *cf) * conf->max_cached = 0; */ + conf->timeout = NGX_CONF_UNSET_MSEC; + conf->requests = NGX_CONF_UNSET_UINT; + return conf; } @@ -518,6 +547,8 @@ ngx_http_upstream_keepalive(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) kcf->max_cached = n; + /* init upstream handler */ + uscf = ngx_http_conf_get_module_srv_conf(cf, ngx_http_upstream_module); kcf->original_init_upstream = uscf->peer.init_upstream Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_random_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_userid_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_uwsgi_module.c (+8 -2) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/modules/ngx_http_uwsgi_module.c 2018-09-26 09:51:37 +0900 (0959133d1) +++ vendor/nginx-1.15.4/src/http/modules/ngx_http_uwsgi_module.c 2018-09-26 09:53:43 +0900 (d0adbdbf2) @@ -954,12 +954,18 @@ ngx_http_uwsgi_create_request(ngx_http_request_t *r) #if 0 /* allow custom uwsgi packet */ if (len > 0 && len < 2) { - ngx_log_error (NGX_LOG_ALERT, r->connection->log, 0, - "uwsgi request is too little: %uz", len); + ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, + "uwsgi request is too little: %uz", len); return NGX_ERROR; } #endif + if (len > 65535) { + ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, + "uwsgi request is too big: %uz", len); + return NGX_ERROR; + } + b = ngx_create_temp_buf(r->pool, len + 4); if (b == NULL) { return NGX_ERROR; Renamed: vendor/nginx-1.15.4/src/http/modules/ngx_http_xslt_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/perl/Makefile.PL (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/perl/nginx.pm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/perl/nginx.xs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/perl/ngx_http_perl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/perl/ngx_http_perl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/modules/perl/typemap (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_copy_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_core_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_core_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_file_cache.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/ngx_http_file_cache.c 2018-09-26 09:51:37 +0900 (56866fa4e) +++ vendor/nginx-1.15.4/src/http/ngx_http_file_cache.c 2018-09-26 09:53:43 +0900 (330833df6) @@ -2669,7 +2669,7 @@ ngx_http_file_cache_valid_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, } else { status = ngx_atoi(value[i].data, value[i].len); - if (status < 100) { + if (status < 100 || status > 599) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "invalid status \"%V\"", &value[i]); return NGX_CONF_ERROR; Renamed: vendor/nginx-1.15.4/src/http/ngx_http_header_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_postpone_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_request.c (+30 -24) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/ngx_http_request.c 2018-09-26 09:51:37 +0900 (979009158) +++ vendor/nginx-1.15.4/src/http/ngx_http_request.c 2018-09-26 09:53:43 +0900 (c80df6e66) @@ -959,7 +959,7 @@ ngx_http_process_request_line(ngx_event_t *rev) n = ngx_http_read_request_header(r); if (n == NGX_AGAIN || n == NGX_ERROR) { - return; + break; } } @@ -984,7 +984,7 @@ ngx_http_process_request_line(ngx_event_t *rev) } if (ngx_http_process_request_uri(r) != NGX_OK) { - return; + break; } if (r->schema_end) { @@ -1003,16 +1003,16 @@ ngx_http_process_request_line(ngx_event_t *rev) ngx_log_error(NGX_LOG_INFO, c->log, 0, "client sent invalid host in request line"); ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); - return; + break; } if (rc == NGX_ERROR) { ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return; + break; } if (ngx_http_set_virtual_server(r, &host) == NGX_ERROR) { - return; + break; } r->headers_in.server = host; @@ -1024,11 +1024,11 @@ ngx_http_process_request_line(ngx_event_t *rev) && ngx_http_set_virtual_server(r, &r->headers_in.server) == NGX_ERROR) { - return; + break; } ngx_http_process_request(r); - return; + break; } @@ -1037,7 +1037,7 @@ ngx_http_process_request_line(ngx_event_t *rev) != NGX_OK) { ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return; + break; } c->log->action = "reading client request headers"; @@ -1045,7 +1045,7 @@ ngx_http_process_request_line(ngx_event_t *rev) rev->handler = ngx_http_process_request_headers; ngx_http_process_request_headers(rev); - return; + break; } if (rc != NGX_AGAIN) { @@ -1062,7 +1062,7 @@ ngx_http_process_request_line(ngx_event_t *rev) ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); } - return; + break; } /* NGX_AGAIN: a request line parsing is still incomplete */ @@ -1073,7 +1073,7 @@ ngx_http_process_request_line(ngx_event_t *rev) if (rv == NGX_ERROR) { ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return; + break; } if (rv == NGX_DECLINED) { @@ -1083,10 +1083,12 @@ ngx_http_process_request_line(ngx_event_t *rev) ngx_log_error(NGX_LOG_INFO, c->log, 0, "client sent too long URI"); ngx_http_finalize_request(r, NGX_HTTP_REQUEST_URI_TOO_LARGE); - return; + break; } } } + + ngx_http_run_posted_requests(c); } @@ -1248,7 +1250,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) if (rv == NGX_ERROR) { ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return; + break; } if (rv == NGX_DECLINED) { @@ -1261,7 +1263,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) "client sent too large request"); ngx_http_finalize_request(r, NGX_HTTP_REQUEST_HEADER_TOO_LARGE); - return; + break; } len = r->header_in->end - p; @@ -1276,14 +1278,14 @@ ngx_http_process_request_headers(ngx_event_t *rev) ngx_http_finalize_request(r, NGX_HTTP_REQUEST_HEADER_TOO_LARGE); - return; + break; } } n = ngx_http_read_request_header(r); if (n == NGX_AGAIN || n == NGX_ERROR) { - return; + break; } } @@ -1313,7 +1315,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) h = ngx_list_push(&r->headers_in.headers); if (h == NULL) { ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return; + break; } h->hash = r->header_hash; @@ -1329,7 +1331,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) h->lowcase_key = ngx_pnalloc(r->pool, h->key.len); if (h->lowcase_key == NULL) { ngx_http_close_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return; + break; } if (h->key.len == r->lowcase_index) { @@ -1343,7 +1345,7 @@ ngx_http_process_request_headers(ngx_event_t *rev) h->lowcase_key, h->key.len); if (hh && hh->handler(r, h, hh->offset) != NGX_OK) { - return; + break; } ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, @@ -1367,12 +1369,12 @@ ngx_http_process_request_headers(ngx_event_t *rev) rc = ngx_http_process_request_header(r); if (rc != NGX_OK) { - return; + break; } ngx_http_process_request(r); - return; + break; } if (rc == NGX_AGAIN) { @@ -1388,8 +1390,10 @@ ngx_http_process_request_headers(ngx_event_t *rev) "client sent invalid header line"); ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); - return; + break; } + + ngx_http_run_posted_requests(c); } @@ -1944,8 +1948,6 @@ ngx_http_process_request(ngx_http_request_t *r) r->read_event_handler = ngx_http_block_reading; ngx_http_handler(r); - - ngx_http_run_posted_requests(c); } @@ -3311,6 +3313,10 @@ ngx_http_lingering_close_handler(ngx_event_t *rev) ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "lingering read: %z", n); + if (n == NGX_AGAIN) { + break; + } + if (n == NGX_ERROR || n == 0) { ngx_http_close_request(r, 0); return; Renamed: vendor/nginx-1.15.4/src/http/ngx_http_request.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_request_body.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_special_response.c (+34 -34) 95% =================================================================== --- vendor/nginx-1.15.2/src/http/ngx_http_special_response.c 2018-09-26 09:51:37 +0900 (2c1ff1743) +++ vendor/nginx-1.15.4/src/http/ngx_http_special_response.c 2018-09-26 09:53:43 +0900 (4ffb2cc8a) @@ -60,7 +60,7 @@ static u_char ngx_http_msie_refresh_tail[] = static char ngx_http_error_301_page[] = "<html>" CRLF "<head><title>301 Moved Permanently</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>301 Moved Permanently</h1></center>" CRLF ; @@ -68,7 +68,7 @@ static char ngx_http_error_301_page[] = static char ngx_http_error_302_page[] = "<html>" CRLF "<head><title>302 Found</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>302 Found</h1></center>" CRLF ; @@ -76,7 +76,7 @@ static char ngx_http_error_302_page[] = static char ngx_http_error_303_page[] = "<html>" CRLF "<head><title>303 See Other</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>303 See Other</h1></center>" CRLF ; @@ -84,7 +84,7 @@ static char ngx_http_error_303_page[] = static char ngx_http_error_307_page[] = "<html>" CRLF "<head><title>307 Temporary Redirect</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>307 Temporary Redirect</h1></center>" CRLF ; @@ -92,7 +92,7 @@ static char ngx_http_error_307_page[] = static char ngx_http_error_308_page[] = "<html>" CRLF "<head><title>308 Permanent Redirect</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>308 Permanent Redirect</h1></center>" CRLF ; @@ -100,7 +100,7 @@ static char ngx_http_error_308_page[] = static char ngx_http_error_400_page[] = "<html>" CRLF "<head><title>400 Bad Request</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>400 Bad Request</h1></center>" CRLF ; @@ -108,7 +108,7 @@ static char ngx_http_error_400_page[] = static char ngx_http_error_401_page[] = "<html>" CRLF "<head><title>401 Authorization Required</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>401 Authorization Required</h1></center>" CRLF ; @@ -116,7 +116,7 @@ static char ngx_http_error_401_page[] = static char ngx_http_error_402_page[] = "<html>" CRLF "<head><title>402 Payment Required</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>402 Payment Required</h1></center>" CRLF ; @@ -124,7 +124,7 @@ static char ngx_http_error_402_page[] = static char ngx_http_error_403_page[] = "<html>" CRLF "<head><title>403 Forbidden</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>403 Forbidden</h1></center>" CRLF ; @@ -132,7 +132,7 @@ static char ngx_http_error_403_page[] = static char ngx_http_error_404_page[] = "<html>" CRLF "<head><title>404 Not Found</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>404 Not Found</h1></center>" CRLF ; @@ -140,7 +140,7 @@ static char ngx_http_error_404_page[] = static char ngx_http_error_405_page[] = "<html>" CRLF "<head><title>405 Not Allowed</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>405 Not Allowed</h1></center>" CRLF ; @@ -148,7 +148,7 @@ static char ngx_http_error_405_page[] = static char ngx_http_error_406_page[] = "<html>" CRLF "<head><title>406 Not Acceptable</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>406 Not Acceptable</h1></center>" CRLF ; @@ -156,7 +156,7 @@ static char ngx_http_error_406_page[] = static char ngx_http_error_408_page[] = "<html>" CRLF "<head><title>408 Request Time-out</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>408 Request Time-out</h1></center>" CRLF ; @@ -164,7 +164,7 @@ static char ngx_http_error_408_page[] = static char ngx_http_error_409_page[] = "<html>" CRLF "<head><title>409 Conflict</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>409 Conflict</h1></center>" CRLF ; @@ -172,7 +172,7 @@ static char ngx_http_error_409_page[] = static char ngx_http_error_410_page[] = "<html>" CRLF "<head><title>410 Gone</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>410 Gone</h1></center>" CRLF ; @@ -180,7 +180,7 @@ static char ngx_http_error_410_page[] = static char ngx_http_error_411_page[] = "<html>" CRLF "<head><title>411 Length Required</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>411 Length Required</h1></center>" CRLF ; @@ -188,7 +188,7 @@ static char ngx_http_error_411_page[] = static char ngx_http_error_412_page[] = "<html>" CRLF "<head><title>412 Precondition Failed</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>412 Precondition Failed</h1></center>" CRLF ; @@ -196,7 +196,7 @@ static char ngx_http_error_412_page[] = static char ngx_http_error_413_page[] = "<html>" CRLF "<head><title>413 Request Entity Too Large</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>413 Request Entity Too Large</h1></center>" CRLF ; @@ -204,7 +204,7 @@ static char ngx_http_error_413_page[] = static char ngx_http_error_414_page[] = "<html>" CRLF "<head><title>414 Request-URI Too Large</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>414 Request-URI Too Large</h1></center>" CRLF ; @@ -212,7 +212,7 @@ static char ngx_http_error_414_page[] = static char ngx_http_error_415_page[] = "<html>" CRLF "<head><title>415 Unsupported Media Type</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>415 Unsupported Media Type</h1></center>" CRLF ; @@ -220,7 +220,7 @@ static char ngx_http_error_415_page[] = static char ngx_http_error_416_page[] = "<html>" CRLF "<head><title>416 Requested Range Not Satisfiable</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>416 Requested Range Not Satisfiable</h1></center>" CRLF ; @@ -228,7 +228,7 @@ static char ngx_http_error_416_page[] = static char ngx_http_error_421_page[] = "<html>" CRLF "<head><title>421 Misdirected Request</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>421 Misdirected Request</h1></center>" CRLF ; @@ -236,7 +236,7 @@ static char ngx_http_error_421_page[] = static char ngx_http_error_429_page[] = "<html>" CRLF "<head><title>429 Too Many Requests</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>429 Too Many Requests</h1></center>" CRLF ; @@ -245,7 +245,7 @@ static char ngx_http_error_494_page[] = "<html>" CRLF "<head><title>400 Request Header Or Cookie Too Large</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>400 Bad Request</h1></center>" CRLF "<center>Request Header Or Cookie Too Large</center>" CRLF ; @@ -255,7 +255,7 @@ static char ngx_http_error_495_page[] = "<html>" CRLF "<head><title>400 The SSL certificate error</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>400 Bad Request</h1></center>" CRLF "<center>The SSL certificate error</center>" CRLF ; @@ -265,7 +265,7 @@ static char ngx_http_error_496_page[] = "<html>" CRLF "<head><title>400 No required SSL certificate was sent</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>400 Bad Request</h1></center>" CRLF "<center>No required SSL certificate was sent</center>" CRLF ; @@ -275,7 +275,7 @@ static char ngx_http_error_497_page[] = "<html>" CRLF "<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>400 Bad Request</h1></center>" CRLF "<center>The plain HTTP request was sent to HTTPS port</center>" CRLF ; @@ -284,7 +284,7 @@ CRLF static char ngx_http_error_500_page[] = "<html>" CRLF "<head><title>500 Internal Server Error</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>500 Internal Server Error</h1></center>" CRLF ; @@ -292,7 +292,7 @@ static char ngx_http_error_500_page[] = static char ngx_http_error_501_page[] = "<html>" CRLF "<head><title>501 Not Implemented</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>501 Not Implemented</h1></center>" CRLF ; @@ -300,7 +300,7 @@ static char ngx_http_error_501_page[] = static char ngx_http_error_502_page[] = "<html>" CRLF "<head><title>502 Bad Gateway</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>502 Bad Gateway</h1></center>" CRLF ; @@ -308,7 +308,7 @@ static char ngx_http_error_502_page[] = static char ngx_http_error_503_page[] = "<html>" CRLF "<head><title>503 Service Temporarily Unavailable</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>503 Service Temporarily Unavailable</h1></center>" CRLF ; @@ -316,7 +316,7 @@ static char ngx_http_error_503_page[] = static char ngx_http_error_504_page[] = "<html>" CRLF "<head><title>504 Gateway Time-out</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>504 Gateway Time-out</h1></center>" CRLF ; @@ -324,7 +324,7 @@ static char ngx_http_error_504_page[] = static char ngx_http_error_505_page[] = "<html>" CRLF "<head><title>505 HTTP Version Not Supported</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>505 HTTP Version Not Supported</h1></center>" CRLF ; @@ -332,7 +332,7 @@ static char ngx_http_error_505_page[] = static char ngx_http_error_507_page[] = "<html>" CRLF "<head><title>507 Insufficient Storage</title></head>" CRLF -"<body bgcolor=\"white\">" CRLF +"<body>" CRLF "<center><h1>507 Insufficient Storage</h1></center>" CRLF ; Renamed: vendor/nginx-1.15.4/src/http/ngx_http_upstream.c (+3 -1) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/ngx_http_upstream.c 2018-09-26 09:51:37 +0900 (63fa5d998) +++ vendor/nginx-1.15.4/src/http/ngx_http_upstream.c 2018-09-26 09:53:43 +0900 (690194175) @@ -1546,6 +1546,8 @@ ngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u) c = u->peer.connection; + c->requests++; + c->data = r; c->write->handler = ngx_http_upstream_handler; @@ -2133,7 +2135,7 @@ ngx_http_upstream_send_request_body(ngx_http_request_t *r, out = u->request_bufs; if (r->request_body->bufs) { - for (cl = out; cl->next; cl = out->next) { /* void */ } + for (cl = out; cl->next; cl = cl->next) { /* void */ } cl->next = r->request_body->bufs; r->request_body->bufs = NULL; } Renamed: vendor/nginx-1.15.4/src/http/ngx_http_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_variables.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_variables.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/ngx_http_write_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2.c (+19 -6) 99% =================================================================== --- vendor/nginx-1.15.2/src/http/v2/ngx_http_v2.c 2018-09-26 09:51:37 +0900 (09737700a) +++ vendor/nginx-1.15.4/src/http/v2/ngx_http_v2.c 2018-09-26 09:53:43 +0900 (b916ebdf6) @@ -270,8 +270,6 @@ ngx_http_v2_init(ngx_event_t *rev) h2c->frame_size = NGX_HTTP_V2_DEFAULT_FRAME_SIZE; - h2c->table_update = 1; - h2scf = ngx_http_get_module_srv_conf(hc->conf_ctx, ngx_http_v2_module); h2c->concurrent_pushes = h2scf->concurrent_pushes; @@ -2075,6 +2073,11 @@ ngx_http_v2_state_settings_params(ngx_http_v2_connection_t *h2c, u_char *pos, h2c->concurrent_pushes = ngx_min(value, h2scf->concurrent_pushes); break; + case NGX_HTTP_V2_HEADER_TABLE_SIZE_SETTING: + + h2c->table_update = 1; + break; + default: break; } @@ -2670,11 +2673,13 @@ error: if (rc == NGX_ABORT) { /* header handler has already finalized request */ + ngx_http_run_posted_requests(fc); return NULL; } if (rc == NGX_DECLINED) { ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); + ngx_http_run_posted_requests(fc); return NULL; } @@ -3739,18 +3744,22 @@ ngx_http_v2_construct_cookie_header(ngx_http_request_t *r) static void ngx_http_v2_run_request(ngx_http_request_t *r) { + ngx_connection_t *fc; + + fc = r->connection; + if (ngx_http_v2_construct_request_line(r) != NGX_OK) { - return; + goto failed; } if (ngx_http_v2_construct_cookie_header(r) != NGX_OK) { - return; + goto failed; } r->http_state = NGX_HTTP_PROCESS_REQUEST_STATE; if (ngx_http_process_request_header(r) != NGX_OK) { - return; + goto failed; } if (r->headers_in.content_length_n > 0 && r->stream->in_closed) { @@ -3760,7 +3769,7 @@ ngx_http_v2_run_request(ngx_http_request_t *r) r->stream->skip_data = 1; ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); - return; + goto failed; } if (r->headers_in.content_length_n == -1 && !r->stream->in_closed) { @@ -3768,6 +3777,10 @@ ngx_http_v2_run_request(ngx_http_request_t *r) } ngx_http_process_request(r); + +failed: + + ngx_http_run_posted_requests(fc); } Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_huff_decode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_huff_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/http/v2/ngx_http_v2_table.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_auth_http_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_core_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_imap_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_imap_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_imap_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_pop3_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_pop3_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_pop3_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_smtp_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_smtp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_smtp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_ssl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/mail/ngx_mail_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/misc/ngx_cpp_test_module.cpp (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/misc/ngx_google_perftools_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_channel.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_channel.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_daemon.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_darwin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_darwin_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_darwin_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_darwin_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_file_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_freebsd.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_freebsd_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_freebsd_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_freebsd_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_amd64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_ppc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_gcc_atomic_x86.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_linux.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_linux_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_linux_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_linux_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_linux_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_posix_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_posix_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_readv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_setaffinity.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_setaffinity.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_setproctitle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_setproctitle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_solaris.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_solaris_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_solaris_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_solaris_sendfilev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_amd64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_sparc64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_sunpro_x86.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_thread_cond.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_thread_id.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_thread_mutex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_udp_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_udp_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_udp_sendmsg_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/unix/ngx_writev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/nginx.ico (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/nginx.rc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/nginx_icon16.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/nginx_icon32.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/nginx_icon48.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_event_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_service.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_stat.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_thread.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_udp_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_win32_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_win32_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_wsarecv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_wsasend.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/os/win32/ngx_wsasend_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_core_module.c (+21 -15) 97% =================================================================== --- vendor/nginx-1.15.2/src/stream/ngx_stream_core_module.c 2018-09-26 09:51:37 +0900 (96e7c9ac8) +++ vendor/nginx-1.15.4/src/stream/ngx_stream_core_module.c 2018-09-26 09:53:43 +0900 (3c4027b77) @@ -249,34 +249,40 @@ ngx_stream_core_preread_phase(ngx_stream_session_t *s, } if (!c->read->ready) { - if (ngx_handle_read_event(c->read, 0) != NGX_OK) { - rc = NGX_ERROR; - break; - } - - if (!c->read->timer_set) { - ngx_add_timer(c->read, cscf->preread_timeout); - } - - c->read->handler = ngx_stream_session_handler; - - return NGX_OK; + break; } n = c->recv(c, c->buffer->last, size); - if (n == NGX_ERROR) { + if (n == NGX_ERROR || n == 0) { rc = NGX_STREAM_OK; break; } - if (n > 0) { - c->buffer->last += n; + if (n == NGX_AGAIN) { + break; } + c->buffer->last += n; + rc = ph->handler(s); } + if (rc == NGX_AGAIN) { + if (ngx_handle_read_event(c->read, 0) != NGX_OK) { + ngx_stream_finalize_session(s, NGX_STREAM_INTERNAL_SERVER_ERROR); + return NGX_OK; + } + + if (!c->read->timer_set) { + ngx_add_timer(c->read, cscf->preread_timeout); + } + + c->read->handler = ngx_stream_session_handler; + + return NGX_OK; + } + if (c->read->timer_set) { ngx_del_timer(c->read); } Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_return_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_ssl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_ssl_preread_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_random_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_variables.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_variables.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.4/src/stream/ngx_stream_write_filter_module.c (+0 -0) 100% ===================================================================