Kentaro Hayashi 2019-03-27 13:17:47 +0900 (Wed, 27 Mar 2019) Revision: 96e0e7c01c1b4bf046aee4edd75ea9732596118b https://github.com/groonga/groonga/commit/96e0e7c01c1b4bf046aee4edd75ea9732596118b Message: Revert "nginx: update nginx" This reverts commit bf4ac6b49647ab0281454337de9ee25cdc8504dd. We need to wait until ngx_mruby supports 1.15.10. See https://github.com/matsumotory/ngx_mruby/pull/419 Removed files: vendor/nginx-1.15.10/src/event/modules/ngx_win32_poll_module.c Modified files: nginx_version Renamed files: vendor/nginx-1.15.8/auto/cc/acc (from vendor/nginx-1.15.10/auto/cc/acc) vendor/nginx-1.15.8/auto/cc/bcc (from vendor/nginx-1.15.10/auto/cc/bcc) vendor/nginx-1.15.8/auto/cc/ccc (from vendor/nginx-1.15.10/auto/cc/ccc) vendor/nginx-1.15.8/auto/cc/clang (from vendor/nginx-1.15.10/auto/cc/clang) vendor/nginx-1.15.8/auto/cc/conf (from vendor/nginx-1.15.10/auto/cc/conf) vendor/nginx-1.15.8/auto/cc/gcc (from vendor/nginx-1.15.10/auto/cc/gcc) vendor/nginx-1.15.8/auto/cc/icc (from vendor/nginx-1.15.10/auto/cc/icc) vendor/nginx-1.15.8/auto/cc/msvc (from vendor/nginx-1.15.10/auto/cc/msvc) vendor/nginx-1.15.8/auto/cc/name (from vendor/nginx-1.15.10/auto/cc/name) vendor/nginx-1.15.8/auto/cc/owc (from vendor/nginx-1.15.10/auto/cc/owc) vendor/nginx-1.15.8/auto/cc/sunc (from vendor/nginx-1.15.10/auto/cc/sunc) vendor/nginx-1.15.8/auto/configure (from vendor/nginx-1.15.10/auto/configure) vendor/nginx-1.15.8/auto/define (from vendor/nginx-1.15.10/auto/define) vendor/nginx-1.15.8/auto/endianness (from vendor/nginx-1.15.10/auto/endianness) vendor/nginx-1.15.8/auto/feature (from vendor/nginx-1.15.10/auto/feature) vendor/nginx-1.15.8/auto/have (from vendor/nginx-1.15.10/auto/have) vendor/nginx-1.15.8/auto/have_headers (from vendor/nginx-1.15.10/auto/have_headers) vendor/nginx-1.15.8/auto/headers (from vendor/nginx-1.15.10/auto/headers) vendor/nginx-1.15.8/auto/include (from vendor/nginx-1.15.10/auto/include) vendor/nginx-1.15.8/auto/init (from vendor/nginx-1.15.10/auto/init) vendor/nginx-1.15.8/auto/install (from vendor/nginx-1.15.10/auto/install) vendor/nginx-1.15.8/auto/lib/conf (from vendor/nginx-1.15.10/auto/lib/conf) vendor/nginx-1.15.8/auto/lib/geoip/conf (from vendor/nginx-1.15.10/auto/lib/geoip/conf) vendor/nginx-1.15.8/auto/lib/google-perftools/conf (from vendor/nginx-1.15.10/auto/lib/google-perftools/conf) vendor/nginx-1.15.8/auto/lib/libatomic/conf (from vendor/nginx-1.15.10/auto/lib/libatomic/conf) vendor/nginx-1.15.8/auto/lib/libatomic/make (from vendor/nginx-1.15.10/auto/lib/libatomic/make) vendor/nginx-1.15.8/auto/lib/libgd/conf (from vendor/nginx-1.15.10/auto/lib/libgd/conf) vendor/nginx-1.15.8/auto/lib/libxslt/conf (from vendor/nginx-1.15.10/auto/lib/libxslt/conf) vendor/nginx-1.15.8/auto/lib/make (from vendor/nginx-1.15.10/auto/lib/make) vendor/nginx-1.15.8/auto/lib/openssl/conf (from vendor/nginx-1.15.10/auto/lib/openssl/conf) vendor/nginx-1.15.8/auto/lib/openssl/make (from vendor/nginx-1.15.10/auto/lib/openssl/make) vendor/nginx-1.15.8/auto/lib/openssl/makefile.bcc (from vendor/nginx-1.15.10/auto/lib/openssl/makefile.bcc) vendor/nginx-1.15.8/auto/lib/openssl/makefile.msvc (from vendor/nginx-1.15.10/auto/lib/openssl/makefile.msvc) vendor/nginx-1.15.8/auto/lib/pcre/conf (from vendor/nginx-1.15.10/auto/lib/pcre/conf) vendor/nginx-1.15.8/auto/lib/pcre/make (from vendor/nginx-1.15.10/auto/lib/pcre/make) vendor/nginx-1.15.8/auto/lib/pcre/makefile.bcc (from vendor/nginx-1.15.10/auto/lib/pcre/makefile.bcc) vendor/nginx-1.15.8/auto/lib/pcre/makefile.msvc (from vendor/nginx-1.15.10/auto/lib/pcre/makefile.msvc) vendor/nginx-1.15.8/auto/lib/pcre/makefile.owc (from vendor/nginx-1.15.10/auto/lib/pcre/makefile.owc) vendor/nginx-1.15.8/auto/lib/perl/conf (from vendor/nginx-1.15.10/auto/lib/perl/conf) vendor/nginx-1.15.8/auto/lib/perl/make (from vendor/nginx-1.15.10/auto/lib/perl/make) vendor/nginx-1.15.8/auto/lib/zlib/conf (from vendor/nginx-1.15.10/auto/lib/zlib/conf) vendor/nginx-1.15.8/auto/lib/zlib/make (from vendor/nginx-1.15.10/auto/lib/zlib/make) vendor/nginx-1.15.8/auto/lib/zlib/makefile.bcc (from vendor/nginx-1.15.10/auto/lib/zlib/makefile.bcc) vendor/nginx-1.15.8/auto/lib/zlib/makefile.msvc (from vendor/nginx-1.15.10/auto/lib/zlib/makefile.msvc) vendor/nginx-1.15.8/auto/lib/zlib/makefile.owc (from vendor/nginx-1.15.10/auto/lib/zlib/makefile.owc) vendor/nginx-1.15.8/auto/make (from vendor/nginx-1.15.10/auto/make) vendor/nginx-1.15.8/auto/module (from vendor/nginx-1.15.10/auto/module) vendor/nginx-1.15.8/auto/modules (from vendor/nginx-1.15.10/auto/modules) vendor/nginx-1.15.8/auto/nohave (from vendor/nginx-1.15.10/auto/nohave) vendor/nginx-1.15.8/auto/options (from vendor/nginx-1.15.10/auto/options) vendor/nginx-1.15.8/auto/os/conf (from vendor/nginx-1.15.10/auto/os/conf) vendor/nginx-1.15.8/auto/os/darwin (from vendor/nginx-1.15.10/auto/os/darwin) vendor/nginx-1.15.8/auto/os/freebsd (from vendor/nginx-1.15.10/auto/os/freebsd) vendor/nginx-1.15.8/auto/os/linux (from vendor/nginx-1.15.10/auto/os/linux) vendor/nginx-1.15.8/auto/os/solaris (from vendor/nginx-1.15.10/auto/os/solaris) vendor/nginx-1.15.8/auto/os/win32 (from vendor/nginx-1.15.10/auto/os/win32) vendor/nginx-1.15.8/auto/sources (from vendor/nginx-1.15.10/auto/sources) vendor/nginx-1.15.8/auto/stubs (from vendor/nginx-1.15.10/auto/stubs) vendor/nginx-1.15.8/auto/summary (from vendor/nginx-1.15.10/auto/summary) vendor/nginx-1.15.8/auto/threads (from vendor/nginx-1.15.10/auto/threads) vendor/nginx-1.15.8/auto/types/sizeof (from vendor/nginx-1.15.10/auto/types/sizeof) vendor/nginx-1.15.8/auto/types/typedef (from vendor/nginx-1.15.10/auto/types/typedef) vendor/nginx-1.15.8/auto/types/uintptr_t (from vendor/nginx-1.15.10/auto/types/uintptr_t) vendor/nginx-1.15.8/auto/types/value (from vendor/nginx-1.15.10/auto/types/value) vendor/nginx-1.15.8/auto/unix (from vendor/nginx-1.15.10/auto/unix) vendor/nginx-1.15.8/conf/fastcgi.conf (from vendor/nginx-1.15.10/conf/fastcgi.conf) vendor/nginx-1.15.8/conf/fastcgi_params (from vendor/nginx-1.15.10/conf/fastcgi_params) vendor/nginx-1.15.8/conf/koi-utf (from vendor/nginx-1.15.10/conf/koi-utf) vendor/nginx-1.15.8/conf/koi-win (from vendor/nginx-1.15.10/conf/koi-win) vendor/nginx-1.15.8/conf/mime.types (from vendor/nginx-1.15.10/conf/mime.types) vendor/nginx-1.15.8/conf/nginx.conf (from vendor/nginx-1.15.10/conf/nginx.conf) vendor/nginx-1.15.8/conf/scgi_params (from vendor/nginx-1.15.10/conf/scgi_params) vendor/nginx-1.15.8/conf/uwsgi_params (from vendor/nginx-1.15.10/conf/uwsgi_params) vendor/nginx-1.15.8/conf/win-utf (from vendor/nginx-1.15.10/conf/win-utf) vendor/nginx-1.15.8/contrib/README (from vendor/nginx-1.15.10/contrib/README) vendor/nginx-1.15.8/contrib/geo2nginx.pl (from vendor/nginx-1.15.10/contrib/geo2nginx.pl) vendor/nginx-1.15.8/contrib/unicode2nginx/koi-utf (from vendor/nginx-1.15.10/contrib/unicode2nginx/koi-utf) vendor/nginx-1.15.8/contrib/unicode2nginx/unicode-to-nginx.pl (from vendor/nginx-1.15.10/contrib/unicode2nginx/unicode-to-nginx.pl) vendor/nginx-1.15.8/contrib/unicode2nginx/win-utf (from vendor/nginx-1.15.10/contrib/unicode2nginx/win-utf) vendor/nginx-1.15.8/contrib/vim/ftdetect/nginx.vim (from vendor/nginx-1.15.10/contrib/vim/ftdetect/nginx.vim) vendor/nginx-1.15.8/contrib/vim/ftplugin/nginx.vim (from vendor/nginx-1.15.10/contrib/vim/ftplugin/nginx.vim) vendor/nginx-1.15.8/contrib/vim/indent/nginx.vim (from vendor/nginx-1.15.10/contrib/vim/indent/nginx.vim) vendor/nginx-1.15.8/contrib/vim/syntax/nginx.vim (from vendor/nginx-1.15.10/contrib/vim/syntax/nginx.vim) vendor/nginx-1.15.8/docs/GNUmakefile (from vendor/nginx-1.15.10/docs/GNUmakefile) vendor/nginx-1.15.8/docs/dtd/change_log_conf.dtd (from vendor/nginx-1.15.10/docs/dtd/change_log_conf.dtd) vendor/nginx-1.15.8/docs/dtd/changes.dtd (from vendor/nginx-1.15.10/docs/dtd/changes.dtd) vendor/nginx-1.15.8/docs/html/50x.html (from vendor/nginx-1.15.10/docs/html/50x.html) vendor/nginx-1.15.8/docs/html/index.html (from vendor/nginx-1.15.10/docs/html/index.html) vendor/nginx-1.15.8/docs/man/nginx.8 (from vendor/nginx-1.15.10/docs/man/nginx.8) vendor/nginx-1.15.8/docs/text/LICENSE (from vendor/nginx-1.15.10/docs/text/LICENSE) vendor/nginx-1.15.8/docs/text/README (from vendor/nginx-1.15.10/docs/text/README) vendor/nginx-1.15.8/docs/xml/change_log_conf.xml (from vendor/nginx-1.15.10/docs/xml/change_log_conf.xml) vendor/nginx-1.15.8/docs/xml/nginx/changes.xml (from vendor/nginx-1.15.10/docs/xml/nginx/changes.xml) vendor/nginx-1.15.8/docs/xsls/changes.xsls (from vendor/nginx-1.15.10/docs/xsls/changes.xsls) vendor/nginx-1.15.8/docs/xslt/changes.xslt (from vendor/nginx-1.15.10/docs/xslt/changes.xslt) vendor/nginx-1.15.8/misc/GNUmakefile (from vendor/nginx-1.15.10/misc/GNUmakefile) vendor/nginx-1.15.8/misc/README (from vendor/nginx-1.15.10/misc/README) vendor/nginx-1.15.8/src/core/nginx.c (from vendor/nginx-1.15.10/src/core/nginx.c) vendor/nginx-1.15.8/src/core/nginx.h (from vendor/nginx-1.15.10/src/core/nginx.h) vendor/nginx-1.15.8/src/core/ngx_array.c (from vendor/nginx-1.15.10/src/core/ngx_array.c) vendor/nginx-1.15.8/src/core/ngx_array.h (from vendor/nginx-1.15.10/src/core/ngx_array.h) vendor/nginx-1.15.8/src/core/ngx_buf.c (from vendor/nginx-1.15.10/src/core/ngx_buf.c) vendor/nginx-1.15.8/src/core/ngx_buf.h (from vendor/nginx-1.15.10/src/core/ngx_buf.h) vendor/nginx-1.15.8/src/core/ngx_conf_file.c (from vendor/nginx-1.15.10/src/core/ngx_conf_file.c) vendor/nginx-1.15.8/src/core/ngx_conf_file.h (from vendor/nginx-1.15.10/src/core/ngx_conf_file.h) vendor/nginx-1.15.8/src/core/ngx_config.h (from vendor/nginx-1.15.10/src/core/ngx_config.h) vendor/nginx-1.15.8/src/core/ngx_connection.c (from vendor/nginx-1.15.10/src/core/ngx_connection.c) vendor/nginx-1.15.8/src/core/ngx_connection.h (from vendor/nginx-1.15.10/src/core/ngx_connection.h) vendor/nginx-1.15.8/src/core/ngx_core.h (from vendor/nginx-1.15.10/src/core/ngx_core.h) vendor/nginx-1.15.8/src/core/ngx_cpuinfo.c (from vendor/nginx-1.15.10/src/core/ngx_cpuinfo.c) vendor/nginx-1.15.8/src/core/ngx_crc.h (from vendor/nginx-1.15.10/src/core/ngx_crc.h) vendor/nginx-1.15.8/src/core/ngx_crc32.c (from vendor/nginx-1.15.10/src/core/ngx_crc32.c) vendor/nginx-1.15.8/src/core/ngx_crc32.h (from vendor/nginx-1.15.10/src/core/ngx_crc32.h) vendor/nginx-1.15.8/src/core/ngx_crypt.c (from vendor/nginx-1.15.10/src/core/ngx_crypt.c) vendor/nginx-1.15.8/src/core/ngx_crypt.h (from vendor/nginx-1.15.10/src/core/ngx_crypt.h) vendor/nginx-1.15.8/src/core/ngx_cycle.c (from vendor/nginx-1.15.10/src/core/ngx_cycle.c) vendor/nginx-1.15.8/src/core/ngx_cycle.h (from vendor/nginx-1.15.10/src/core/ngx_cycle.h) vendor/nginx-1.15.8/src/core/ngx_file.c (from vendor/nginx-1.15.10/src/core/ngx_file.c) vendor/nginx-1.15.8/src/core/ngx_file.h (from vendor/nginx-1.15.10/src/core/ngx_file.h) vendor/nginx-1.15.8/src/core/ngx_hash.c (from vendor/nginx-1.15.10/src/core/ngx_hash.c) vendor/nginx-1.15.8/src/core/ngx_hash.h (from vendor/nginx-1.15.10/src/core/ngx_hash.h) vendor/nginx-1.15.8/src/core/ngx_inet.c (from vendor/nginx-1.15.10/src/core/ngx_inet.c) vendor/nginx-1.15.8/src/core/ngx_inet.h (from vendor/nginx-1.15.10/src/core/ngx_inet.h) vendor/nginx-1.15.8/src/core/ngx_list.c (from vendor/nginx-1.15.10/src/core/ngx_list.c) vendor/nginx-1.15.8/src/core/ngx_list.h (from vendor/nginx-1.15.10/src/core/ngx_list.h) vendor/nginx-1.15.8/src/core/ngx_log.c (from vendor/nginx-1.15.10/src/core/ngx_log.c) vendor/nginx-1.15.8/src/core/ngx_log.h (from vendor/nginx-1.15.10/src/core/ngx_log.h) vendor/nginx-1.15.8/src/core/ngx_md5.c (from vendor/nginx-1.15.10/src/core/ngx_md5.c) vendor/nginx-1.15.8/src/core/ngx_md5.h (from vendor/nginx-1.15.10/src/core/ngx_md5.h) vendor/nginx-1.15.8/src/core/ngx_module.c (from vendor/nginx-1.15.10/src/core/ngx_module.c) vendor/nginx-1.15.8/src/core/ngx_module.h (from vendor/nginx-1.15.10/src/core/ngx_module.h) vendor/nginx-1.15.8/src/core/ngx_murmurhash.c (from vendor/nginx-1.15.10/src/core/ngx_murmurhash.c) vendor/nginx-1.15.8/src/core/ngx_murmurhash.h (from vendor/nginx-1.15.10/src/core/ngx_murmurhash.h) vendor/nginx-1.15.8/src/core/ngx_open_file_cache.c (from vendor/nginx-1.15.10/src/core/ngx_open_file_cache.c) vendor/nginx-1.15.8/src/core/ngx_open_file_cache.h (from vendor/nginx-1.15.10/src/core/ngx_open_file_cache.h) vendor/nginx-1.15.8/src/core/ngx_output_chain.c (from vendor/nginx-1.15.10/src/core/ngx_output_chain.c) vendor/nginx-1.15.8/src/core/ngx_palloc.c (from vendor/nginx-1.15.10/src/core/ngx_palloc.c) vendor/nginx-1.15.8/src/core/ngx_palloc.h (from vendor/nginx-1.15.10/src/core/ngx_palloc.h) vendor/nginx-1.15.8/src/core/ngx_parse.c (from vendor/nginx-1.15.10/src/core/ngx_parse.c) vendor/nginx-1.15.8/src/core/ngx_parse.h (from vendor/nginx-1.15.10/src/core/ngx_parse.h) vendor/nginx-1.15.8/src/core/ngx_parse_time.c (from vendor/nginx-1.15.10/src/core/ngx_parse_time.c) vendor/nginx-1.15.8/src/core/ngx_parse_time.h (from vendor/nginx-1.15.10/src/core/ngx_parse_time.h) vendor/nginx-1.15.8/src/core/ngx_proxy_protocol.c (from vendor/nginx-1.15.10/src/core/ngx_proxy_protocol.c) vendor/nginx-1.15.8/src/core/ngx_proxy_protocol.h (from vendor/nginx-1.15.10/src/core/ngx_proxy_protocol.h) vendor/nginx-1.15.8/src/core/ngx_queue.c (from vendor/nginx-1.15.10/src/core/ngx_queue.c) vendor/nginx-1.15.8/src/core/ngx_queue.h (from vendor/nginx-1.15.10/src/core/ngx_queue.h) vendor/nginx-1.15.8/src/core/ngx_radix_tree.c (from vendor/nginx-1.15.10/src/core/ngx_radix_tree.c) vendor/nginx-1.15.8/src/core/ngx_radix_tree.h (from vendor/nginx-1.15.10/src/core/ngx_radix_tree.h) vendor/nginx-1.15.8/src/core/ngx_rbtree.c (from vendor/nginx-1.15.10/src/core/ngx_rbtree.c) vendor/nginx-1.15.8/src/core/ngx_rbtree.h (from vendor/nginx-1.15.10/src/core/ngx_rbtree.h) vendor/nginx-1.15.8/src/core/ngx_regex.c (from vendor/nginx-1.15.10/src/core/ngx_regex.c) vendor/nginx-1.15.8/src/core/ngx_regex.h (from vendor/nginx-1.15.10/src/core/ngx_regex.h) vendor/nginx-1.15.8/src/core/ngx_resolver.c (from vendor/nginx-1.15.10/src/core/ngx_resolver.c) vendor/nginx-1.15.8/src/core/ngx_resolver.h (from vendor/nginx-1.15.10/src/core/ngx_resolver.h) vendor/nginx-1.15.8/src/core/ngx_rwlock.c (from vendor/nginx-1.15.10/src/core/ngx_rwlock.c) vendor/nginx-1.15.8/src/core/ngx_rwlock.h (from vendor/nginx-1.15.10/src/core/ngx_rwlock.h) vendor/nginx-1.15.8/src/core/ngx_sha1.c (from vendor/nginx-1.15.10/src/core/ngx_sha1.c) vendor/nginx-1.15.8/src/core/ngx_sha1.h (from vendor/nginx-1.15.10/src/core/ngx_sha1.h) vendor/nginx-1.15.8/src/core/ngx_shmtx.c (from vendor/nginx-1.15.10/src/core/ngx_shmtx.c) vendor/nginx-1.15.8/src/core/ngx_shmtx.h (from vendor/nginx-1.15.10/src/core/ngx_shmtx.h) vendor/nginx-1.15.8/src/core/ngx_slab.c (from vendor/nginx-1.15.10/src/core/ngx_slab.c) vendor/nginx-1.15.8/src/core/ngx_slab.h (from vendor/nginx-1.15.10/src/core/ngx_slab.h) vendor/nginx-1.15.8/src/core/ngx_spinlock.c (from vendor/nginx-1.15.10/src/core/ngx_spinlock.c) vendor/nginx-1.15.8/src/core/ngx_string.c (from vendor/nginx-1.15.10/src/core/ngx_string.c) vendor/nginx-1.15.8/src/core/ngx_string.h (from vendor/nginx-1.15.10/src/core/ngx_string.h) vendor/nginx-1.15.8/src/core/ngx_syslog.c (from vendor/nginx-1.15.10/src/core/ngx_syslog.c) vendor/nginx-1.15.8/src/core/ngx_syslog.h (from vendor/nginx-1.15.10/src/core/ngx_syslog.h) vendor/nginx-1.15.8/src/core/ngx_thread_pool.c (from vendor/nginx-1.15.10/src/core/ngx_thread_pool.c) vendor/nginx-1.15.8/src/core/ngx_thread_pool.h (from vendor/nginx-1.15.10/src/core/ngx_thread_pool.h) vendor/nginx-1.15.8/src/core/ngx_times.c (from vendor/nginx-1.15.10/src/core/ngx_times.c) vendor/nginx-1.15.8/src/core/ngx_times.h (from vendor/nginx-1.15.10/src/core/ngx_times.h) vendor/nginx-1.15.8/src/event/modules/ngx_devpoll_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_devpoll_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_epoll_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_epoll_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_eventport_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_eventport_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_iocp_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_iocp_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_iocp_module.h (from vendor/nginx-1.15.10/src/event/modules/ngx_iocp_module.h) vendor/nginx-1.15.8/src/event/modules/ngx_kqueue_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_kqueue_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_poll_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_poll_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_select_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_select_module.c) vendor/nginx-1.15.8/src/event/modules/ngx_win32_select_module.c (from vendor/nginx-1.15.10/src/event/modules/ngx_win32_select_module.c) vendor/nginx-1.15.8/src/event/ngx_event.c (from vendor/nginx-1.15.10/src/event/ngx_event.c) vendor/nginx-1.15.8/src/event/ngx_event.h (from vendor/nginx-1.15.10/src/event/ngx_event.h) vendor/nginx-1.15.8/src/event/ngx_event_accept.c (from vendor/nginx-1.15.10/src/event/ngx_event_accept.c) vendor/nginx-1.15.8/src/event/ngx_event_acceptex.c (from vendor/nginx-1.15.10/src/event/ngx_event_acceptex.c) vendor/nginx-1.15.8/src/event/ngx_event_connect.c (from vendor/nginx-1.15.10/src/event/ngx_event_connect.c) vendor/nginx-1.15.8/src/event/ngx_event_connect.h (from vendor/nginx-1.15.10/src/event/ngx_event_connect.h) vendor/nginx-1.15.8/src/event/ngx_event_connectex.c (from vendor/nginx-1.15.10/src/event/ngx_event_connectex.c) vendor/nginx-1.15.8/src/event/ngx_event_openssl.c (from vendor/nginx-1.15.10/src/event/ngx_event_openssl.c) vendor/nginx-1.15.8/src/event/ngx_event_openssl.h (from vendor/nginx-1.15.10/src/event/ngx_event_openssl.h) vendor/nginx-1.15.8/src/event/ngx_event_openssl_stapling.c (from vendor/nginx-1.15.10/src/event/ngx_event_openssl_stapling.c) vendor/nginx-1.15.8/src/event/ngx_event_pipe.c (from vendor/nginx-1.15.10/src/event/ngx_event_pipe.c) vendor/nginx-1.15.8/src/event/ngx_event_pipe.h (from vendor/nginx-1.15.10/src/event/ngx_event_pipe.h) vendor/nginx-1.15.8/src/event/ngx_event_posted.c (from vendor/nginx-1.15.10/src/event/ngx_event_posted.c) vendor/nginx-1.15.8/src/event/ngx_event_posted.h (from vendor/nginx-1.15.10/src/event/ngx_event_posted.h) vendor/nginx-1.15.8/src/event/ngx_event_timer.c (from vendor/nginx-1.15.10/src/event/ngx_event_timer.c) vendor/nginx-1.15.8/src/event/ngx_event_timer.h (from vendor/nginx-1.15.10/src/event/ngx_event_timer.h) vendor/nginx-1.15.8/src/event/ngx_event_udp.c (from vendor/nginx-1.15.10/src/event/ngx_event_udp.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_access_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_access_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_addition_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_addition_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_auth_basic_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_auth_basic_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_auth_request_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_auth_request_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_autoindex_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_autoindex_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_browser_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_browser_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_charset_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_charset_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_chunked_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_chunked_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_dav_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_dav_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_degradation_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_degradation_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_empty_gif_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_empty_gif_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_fastcgi_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_fastcgi_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_flv_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_flv_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_geo_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_geo_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_geoip_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_geoip_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_grpc_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_grpc_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_gunzip_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_gunzip_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_gzip_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_gzip_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_gzip_static_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_gzip_static_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_headers_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_headers_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_image_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_image_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_index_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_index_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_limit_conn_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_limit_conn_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_limit_req_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_limit_req_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_log_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_log_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_map_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_map_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_memcached_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_memcached_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_mirror_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_mirror_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_mp4_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_mp4_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_not_modified_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_not_modified_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_proxy_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_proxy_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_random_index_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_random_index_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_range_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_range_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_realip_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_realip_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_referer_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_referer_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_rewrite_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_rewrite_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_scgi_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_scgi_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_secure_link_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_secure_link_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_slice_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_slice_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_split_clients_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_split_clients_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_ssi_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_ssi_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_ssi_filter_module.h (from vendor/nginx-1.15.10/src/http/modules/ngx_http_ssi_filter_module.h) vendor/nginx-1.15.8/src/http/modules/ngx_http_ssl_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_ssl_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_ssl_module.h (from vendor/nginx-1.15.10/src/http/modules/ngx_http_ssl_module.h) vendor/nginx-1.15.8/src/http/modules/ngx_http_static_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_static_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_stub_status_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_stub_status_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_sub_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_sub_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_try_files_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_try_files_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_hash_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_upstream_hash_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_ip_hash_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_upstream_ip_hash_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_keepalive_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_upstream_keepalive_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_least_conn_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_upstream_least_conn_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_random_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_upstream_random_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_zone_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_upstream_zone_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_userid_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_userid_filter_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_uwsgi_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_uwsgi_module.c) vendor/nginx-1.15.8/src/http/modules/ngx_http_xslt_filter_module.c (from vendor/nginx-1.15.10/src/http/modules/ngx_http_xslt_filter_module.c) vendor/nginx-1.15.8/src/http/modules/perl/Makefile.PL (from vendor/nginx-1.15.10/src/http/modules/perl/Makefile.PL) vendor/nginx-1.15.8/src/http/modules/perl/nginx.pm (from vendor/nginx-1.15.10/src/http/modules/perl/nginx.pm) vendor/nginx-1.15.8/src/http/modules/perl/nginx.xs (from vendor/nginx-1.15.10/src/http/modules/perl/nginx.xs) vendor/nginx-1.15.8/src/http/modules/perl/ngx_http_perl_module.c (from vendor/nginx-1.15.10/src/http/modules/perl/ngx_http_perl_module.c) vendor/nginx-1.15.8/src/http/modules/perl/ngx_http_perl_module.h (from vendor/nginx-1.15.10/src/http/modules/perl/ngx_http_perl_module.h) vendor/nginx-1.15.8/src/http/modules/perl/typemap (from vendor/nginx-1.15.10/src/http/modules/perl/typemap) vendor/nginx-1.15.8/src/http/ngx_http.c (from vendor/nginx-1.15.10/src/http/ngx_http.c) vendor/nginx-1.15.8/src/http/ngx_http.h (from vendor/nginx-1.15.10/src/http/ngx_http.h) vendor/nginx-1.15.8/src/http/ngx_http_cache.h (from vendor/nginx-1.15.10/src/http/ngx_http_cache.h) vendor/nginx-1.15.8/src/http/ngx_http_config.h (from vendor/nginx-1.15.10/src/http/ngx_http_config.h) vendor/nginx-1.15.8/src/http/ngx_http_copy_filter_module.c (from vendor/nginx-1.15.10/src/http/ngx_http_copy_filter_module.c) vendor/nginx-1.15.8/src/http/ngx_http_core_module.c (from vendor/nginx-1.15.10/src/http/ngx_http_core_module.c) vendor/nginx-1.15.8/src/http/ngx_http_core_module.h (from vendor/nginx-1.15.10/src/http/ngx_http_core_module.h) vendor/nginx-1.15.8/src/http/ngx_http_file_cache.c (from vendor/nginx-1.15.10/src/http/ngx_http_file_cache.c) vendor/nginx-1.15.8/src/http/ngx_http_header_filter_module.c (from vendor/nginx-1.15.10/src/http/ngx_http_header_filter_module.c) vendor/nginx-1.15.8/src/http/ngx_http_parse.c (from vendor/nginx-1.15.10/src/http/ngx_http_parse.c) vendor/nginx-1.15.8/src/http/ngx_http_postpone_filter_module.c (from vendor/nginx-1.15.10/src/http/ngx_http_postpone_filter_module.c) vendor/nginx-1.15.8/src/http/ngx_http_request.c (from vendor/nginx-1.15.10/src/http/ngx_http_request.c) vendor/nginx-1.15.8/src/http/ngx_http_request.h (from vendor/nginx-1.15.10/src/http/ngx_http_request.h) vendor/nginx-1.15.8/src/http/ngx_http_request_body.c (from vendor/nginx-1.15.10/src/http/ngx_http_request_body.c) vendor/nginx-1.15.8/src/http/ngx_http_script.c (from vendor/nginx-1.15.10/src/http/ngx_http_script.c) vendor/nginx-1.15.8/src/http/ngx_http_script.h (from vendor/nginx-1.15.10/src/http/ngx_http_script.h) vendor/nginx-1.15.8/src/http/ngx_http_special_response.c (from vendor/nginx-1.15.10/src/http/ngx_http_special_response.c) vendor/nginx-1.15.8/src/http/ngx_http_upstream.c (from vendor/nginx-1.15.10/src/http/ngx_http_upstream.c) vendor/nginx-1.15.8/src/http/ngx_http_upstream.h (from vendor/nginx-1.15.10/src/http/ngx_http_upstream.h) vendor/nginx-1.15.8/src/http/ngx_http_upstream_round_robin.c (from vendor/nginx-1.15.10/src/http/ngx_http_upstream_round_robin.c) vendor/nginx-1.15.8/src/http/ngx_http_upstream_round_robin.h (from vendor/nginx-1.15.10/src/http/ngx_http_upstream_round_robin.h) vendor/nginx-1.15.8/src/http/ngx_http_variables.c (from vendor/nginx-1.15.10/src/http/ngx_http_variables.c) vendor/nginx-1.15.8/src/http/ngx_http_variables.h (from vendor/nginx-1.15.10/src/http/ngx_http_variables.h) vendor/nginx-1.15.8/src/http/ngx_http_write_filter_module.c (from vendor/nginx-1.15.10/src/http/ngx_http_write_filter_module.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2.h (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2.h) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_encode.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_encode.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_filter_module.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_filter_module.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_huff_decode.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_huff_decode.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_huff_encode.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_huff_encode.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_module.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_module.c) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_module.h (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_module.h) vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_table.c (from vendor/nginx-1.15.10/src/http/v2/ngx_http_v2_table.c) vendor/nginx-1.15.8/src/mail/ngx_mail.c (from vendor/nginx-1.15.10/src/mail/ngx_mail.c) vendor/nginx-1.15.8/src/mail/ngx_mail.h (from vendor/nginx-1.15.10/src/mail/ngx_mail.h) vendor/nginx-1.15.8/src/mail/ngx_mail_auth_http_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_auth_http_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_core_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_core_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_handler.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_handler.c) vendor/nginx-1.15.8/src/mail/ngx_mail_imap_handler.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_imap_handler.c) vendor/nginx-1.15.8/src/mail/ngx_mail_imap_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_imap_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_imap_module.h (from vendor/nginx-1.15.10/src/mail/ngx_mail_imap_module.h) vendor/nginx-1.15.8/src/mail/ngx_mail_parse.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_parse.c) vendor/nginx-1.15.8/src/mail/ngx_mail_pop3_handler.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_pop3_handler.c) vendor/nginx-1.15.8/src/mail/ngx_mail_pop3_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_pop3_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_pop3_module.h (from vendor/nginx-1.15.10/src/mail/ngx_mail_pop3_module.h) vendor/nginx-1.15.8/src/mail/ngx_mail_proxy_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_proxy_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_smtp_handler.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_smtp_handler.c) vendor/nginx-1.15.8/src/mail/ngx_mail_smtp_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_smtp_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_smtp_module.h (from vendor/nginx-1.15.10/src/mail/ngx_mail_smtp_module.h) vendor/nginx-1.15.8/src/mail/ngx_mail_ssl_module.c (from vendor/nginx-1.15.10/src/mail/ngx_mail_ssl_module.c) vendor/nginx-1.15.8/src/mail/ngx_mail_ssl_module.h (from vendor/nginx-1.15.10/src/mail/ngx_mail_ssl_module.h) vendor/nginx-1.15.8/src/misc/ngx_cpp_test_module.cpp (from vendor/nginx-1.15.10/src/misc/ngx_cpp_test_module.cpp) vendor/nginx-1.15.8/src/misc/ngx_google_perftools_module.c (from vendor/nginx-1.15.10/src/misc/ngx_google_perftools_module.c) vendor/nginx-1.15.8/src/os/unix/ngx_alloc.c (from vendor/nginx-1.15.10/src/os/unix/ngx_alloc.c) vendor/nginx-1.15.8/src/os/unix/ngx_alloc.h (from vendor/nginx-1.15.10/src/os/unix/ngx_alloc.h) vendor/nginx-1.15.8/src/os/unix/ngx_atomic.h (from vendor/nginx-1.15.10/src/os/unix/ngx_atomic.h) vendor/nginx-1.15.8/src/os/unix/ngx_channel.c (from vendor/nginx-1.15.10/src/os/unix/ngx_channel.c) vendor/nginx-1.15.8/src/os/unix/ngx_channel.h (from vendor/nginx-1.15.10/src/os/unix/ngx_channel.h) vendor/nginx-1.15.8/src/os/unix/ngx_daemon.c (from vendor/nginx-1.15.10/src/os/unix/ngx_daemon.c) vendor/nginx-1.15.8/src/os/unix/ngx_darwin.h (from vendor/nginx-1.15.10/src/os/unix/ngx_darwin.h) vendor/nginx-1.15.8/src/os/unix/ngx_darwin_config.h (from vendor/nginx-1.15.10/src/os/unix/ngx_darwin_config.h) vendor/nginx-1.15.8/src/os/unix/ngx_darwin_init.c (from vendor/nginx-1.15.10/src/os/unix/ngx_darwin_init.c) vendor/nginx-1.15.8/src/os/unix/ngx_darwin_sendfile_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_darwin_sendfile_chain.c) vendor/nginx-1.15.8/src/os/unix/ngx_dlopen.c (from vendor/nginx-1.15.10/src/os/unix/ngx_dlopen.c) vendor/nginx-1.15.8/src/os/unix/ngx_dlopen.h (from vendor/nginx-1.15.10/src/os/unix/ngx_dlopen.h) vendor/nginx-1.15.8/src/os/unix/ngx_errno.c (from vendor/nginx-1.15.10/src/os/unix/ngx_errno.c) vendor/nginx-1.15.8/src/os/unix/ngx_errno.h (from vendor/nginx-1.15.10/src/os/unix/ngx_errno.h) vendor/nginx-1.15.8/src/os/unix/ngx_file_aio_read.c (from vendor/nginx-1.15.10/src/os/unix/ngx_file_aio_read.c) vendor/nginx-1.15.8/src/os/unix/ngx_files.c (from vendor/nginx-1.15.10/src/os/unix/ngx_files.c) vendor/nginx-1.15.8/src/os/unix/ngx_files.h (from vendor/nginx-1.15.10/src/os/unix/ngx_files.h) vendor/nginx-1.15.8/src/os/unix/ngx_freebsd.h (from vendor/nginx-1.15.10/src/os/unix/ngx_freebsd.h) vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_config.h (from vendor/nginx-1.15.10/src/os/unix/ngx_freebsd_config.h) vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_init.c (from vendor/nginx-1.15.10/src/os/unix/ngx_freebsd_init.c) vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_sendfile_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_freebsd_sendfile_chain.c) vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_amd64.h (from vendor/nginx-1.15.10/src/os/unix/ngx_gcc_atomic_amd64.h) vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_ppc.h (from vendor/nginx-1.15.10/src/os/unix/ngx_gcc_atomic_ppc.h) vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_sparc64.h (from vendor/nginx-1.15.10/src/os/unix/ngx_gcc_atomic_sparc64.h) vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_x86.h (from vendor/nginx-1.15.10/src/os/unix/ngx_gcc_atomic_x86.h) vendor/nginx-1.15.8/src/os/unix/ngx_linux.h (from vendor/nginx-1.15.10/src/os/unix/ngx_linux.h) vendor/nginx-1.15.8/src/os/unix/ngx_linux_aio_read.c (from vendor/nginx-1.15.10/src/os/unix/ngx_linux_aio_read.c) vendor/nginx-1.15.8/src/os/unix/ngx_linux_config.h (from vendor/nginx-1.15.10/src/os/unix/ngx_linux_config.h) vendor/nginx-1.15.8/src/os/unix/ngx_linux_init.c (from vendor/nginx-1.15.10/src/os/unix/ngx_linux_init.c) vendor/nginx-1.15.8/src/os/unix/ngx_linux_sendfile_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_linux_sendfile_chain.c) vendor/nginx-1.15.8/src/os/unix/ngx_os.h (from vendor/nginx-1.15.10/src/os/unix/ngx_os.h) vendor/nginx-1.15.8/src/os/unix/ngx_posix_config.h (from vendor/nginx-1.15.10/src/os/unix/ngx_posix_config.h) vendor/nginx-1.15.8/src/os/unix/ngx_posix_init.c (from vendor/nginx-1.15.10/src/os/unix/ngx_posix_init.c) vendor/nginx-1.15.8/src/os/unix/ngx_process.c (from vendor/nginx-1.15.10/src/os/unix/ngx_process.c) vendor/nginx-1.15.8/src/os/unix/ngx_process.h (from vendor/nginx-1.15.10/src/os/unix/ngx_process.h) vendor/nginx-1.15.8/src/os/unix/ngx_process_cycle.c (from vendor/nginx-1.15.10/src/os/unix/ngx_process_cycle.c) vendor/nginx-1.15.8/src/os/unix/ngx_process_cycle.h (from vendor/nginx-1.15.10/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.15.8/src/os/unix/ngx_readv_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_readv_chain.c) vendor/nginx-1.15.8/src/os/unix/ngx_recv.c (from vendor/nginx-1.15.10/src/os/unix/ngx_recv.c) vendor/nginx-1.15.8/src/os/unix/ngx_send.c (from vendor/nginx-1.15.10/src/os/unix/ngx_send.c) vendor/nginx-1.15.8/src/os/unix/ngx_setaffinity.c (from vendor/nginx-1.15.10/src/os/unix/ngx_setaffinity.c) vendor/nginx-1.15.8/src/os/unix/ngx_setaffinity.h (from vendor/nginx-1.15.10/src/os/unix/ngx_setaffinity.h) vendor/nginx-1.15.8/src/os/unix/ngx_setproctitle.c (from vendor/nginx-1.15.10/src/os/unix/ngx_setproctitle.c) vendor/nginx-1.15.8/src/os/unix/ngx_setproctitle.h (from vendor/nginx-1.15.10/src/os/unix/ngx_setproctitle.h) vendor/nginx-1.15.8/src/os/unix/ngx_shmem.c (from vendor/nginx-1.15.10/src/os/unix/ngx_shmem.c) vendor/nginx-1.15.8/src/os/unix/ngx_shmem.h (from vendor/nginx-1.15.10/src/os/unix/ngx_shmem.h) vendor/nginx-1.15.8/src/os/unix/ngx_socket.c (from vendor/nginx-1.15.10/src/os/unix/ngx_socket.c) vendor/nginx-1.15.8/src/os/unix/ngx_socket.h (from vendor/nginx-1.15.10/src/os/unix/ngx_socket.h) vendor/nginx-1.15.8/src/os/unix/ngx_solaris.h (from vendor/nginx-1.15.10/src/os/unix/ngx_solaris.h) vendor/nginx-1.15.8/src/os/unix/ngx_solaris_config.h (from vendor/nginx-1.15.10/src/os/unix/ngx_solaris_config.h) vendor/nginx-1.15.8/src/os/unix/ngx_solaris_init.c (from vendor/nginx-1.15.10/src/os/unix/ngx_solaris_init.c) vendor/nginx-1.15.8/src/os/unix/ngx_solaris_sendfilev_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_solaris_sendfilev_chain.c) vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_amd64.il (from vendor/nginx-1.15.10/src/os/unix/ngx_sunpro_amd64.il) vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_atomic_sparc64.h (from vendor/nginx-1.15.10/src/os/unix/ngx_sunpro_atomic_sparc64.h) vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_sparc64.il (from vendor/nginx-1.15.10/src/os/unix/ngx_sunpro_sparc64.il) vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_x86.il (from vendor/nginx-1.15.10/src/os/unix/ngx_sunpro_x86.il) vendor/nginx-1.15.8/src/os/unix/ngx_thread.h (from vendor/nginx-1.15.10/src/os/unix/ngx_thread.h) vendor/nginx-1.15.8/src/os/unix/ngx_thread_cond.c (from vendor/nginx-1.15.10/src/os/unix/ngx_thread_cond.c) vendor/nginx-1.15.8/src/os/unix/ngx_thread_id.c (from vendor/nginx-1.15.10/src/os/unix/ngx_thread_id.c) vendor/nginx-1.15.8/src/os/unix/ngx_thread_mutex.c (from vendor/nginx-1.15.10/src/os/unix/ngx_thread_mutex.c) vendor/nginx-1.15.8/src/os/unix/ngx_time.c (from vendor/nginx-1.15.10/src/os/unix/ngx_time.c) vendor/nginx-1.15.8/src/os/unix/ngx_time.h (from vendor/nginx-1.15.10/src/os/unix/ngx_time.h) vendor/nginx-1.15.8/src/os/unix/ngx_udp_recv.c (from vendor/nginx-1.15.10/src/os/unix/ngx_udp_recv.c) vendor/nginx-1.15.8/src/os/unix/ngx_udp_send.c (from vendor/nginx-1.15.10/src/os/unix/ngx_udp_send.c) vendor/nginx-1.15.8/src/os/unix/ngx_udp_sendmsg_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_udp_sendmsg_chain.c) vendor/nginx-1.15.8/src/os/unix/ngx_user.c (from vendor/nginx-1.15.10/src/os/unix/ngx_user.c) vendor/nginx-1.15.8/src/os/unix/ngx_user.h (from vendor/nginx-1.15.10/src/os/unix/ngx_user.h) vendor/nginx-1.15.8/src/os/unix/ngx_writev_chain.c (from vendor/nginx-1.15.10/src/os/unix/ngx_writev_chain.c) vendor/nginx-1.15.8/src/os/win32/nginx.ico (from vendor/nginx-1.15.10/src/os/win32/nginx.ico) vendor/nginx-1.15.8/src/os/win32/nginx.rc (from vendor/nginx-1.15.10/src/os/win32/nginx.rc) vendor/nginx-1.15.8/src/os/win32/nginx_icon16.xpm (from vendor/nginx-1.15.10/src/os/win32/nginx_icon16.xpm) vendor/nginx-1.15.8/src/os/win32/nginx_icon32.xpm (from vendor/nginx-1.15.10/src/os/win32/nginx_icon32.xpm) vendor/nginx-1.15.8/src/os/win32/nginx_icon48.xpm (from vendor/nginx-1.15.10/src/os/win32/nginx_icon48.xpm) vendor/nginx-1.15.8/src/os/win32/ngx_alloc.c (from vendor/nginx-1.15.10/src/os/win32/ngx_alloc.c) vendor/nginx-1.15.8/src/os/win32/ngx_alloc.h (from vendor/nginx-1.15.10/src/os/win32/ngx_alloc.h) vendor/nginx-1.15.8/src/os/win32/ngx_atomic.h (from vendor/nginx-1.15.10/src/os/win32/ngx_atomic.h) vendor/nginx-1.15.8/src/os/win32/ngx_dlopen.c (from vendor/nginx-1.15.10/src/os/win32/ngx_dlopen.c) vendor/nginx-1.15.8/src/os/win32/ngx_dlopen.h (from vendor/nginx-1.15.10/src/os/win32/ngx_dlopen.h) vendor/nginx-1.15.8/src/os/win32/ngx_errno.c (from vendor/nginx-1.15.10/src/os/win32/ngx_errno.c) vendor/nginx-1.15.8/src/os/win32/ngx_errno.h (from vendor/nginx-1.15.10/src/os/win32/ngx_errno.h) vendor/nginx-1.15.8/src/os/win32/ngx_event_log.c (from vendor/nginx-1.15.10/src/os/win32/ngx_event_log.c) vendor/nginx-1.15.8/src/os/win32/ngx_files.c (from vendor/nginx-1.15.10/src/os/win32/ngx_files.c) vendor/nginx-1.15.8/src/os/win32/ngx_files.h (from vendor/nginx-1.15.10/src/os/win32/ngx_files.h) vendor/nginx-1.15.8/src/os/win32/ngx_os.h (from vendor/nginx-1.15.10/src/os/win32/ngx_os.h) vendor/nginx-1.15.8/src/os/win32/ngx_process.c (from vendor/nginx-1.15.10/src/os/win32/ngx_process.c) vendor/nginx-1.15.8/src/os/win32/ngx_process.h (from vendor/nginx-1.15.10/src/os/win32/ngx_process.h) vendor/nginx-1.15.8/src/os/win32/ngx_process_cycle.c (from vendor/nginx-1.15.10/src/os/win32/ngx_process_cycle.c) vendor/nginx-1.15.8/src/os/win32/ngx_process_cycle.h (from vendor/nginx-1.15.10/src/os/win32/ngx_process_cycle.h) vendor/nginx-1.15.8/src/os/win32/ngx_service.c (from vendor/nginx-1.15.10/src/os/win32/ngx_service.c) vendor/nginx-1.15.8/src/os/win32/ngx_shmem.c (from vendor/nginx-1.15.10/src/os/win32/ngx_shmem.c) vendor/nginx-1.15.8/src/os/win32/ngx_shmem.h (from vendor/nginx-1.15.10/src/os/win32/ngx_shmem.h) vendor/nginx-1.15.8/src/os/win32/ngx_socket.c (from vendor/nginx-1.15.10/src/os/win32/ngx_socket.c) vendor/nginx-1.15.8/src/os/win32/ngx_socket.h (from vendor/nginx-1.15.10/src/os/win32/ngx_socket.h) vendor/nginx-1.15.8/src/os/win32/ngx_stat.c (from vendor/nginx-1.15.10/src/os/win32/ngx_stat.c) vendor/nginx-1.15.8/src/os/win32/ngx_thread.c (from vendor/nginx-1.15.10/src/os/win32/ngx_thread.c) vendor/nginx-1.15.8/src/os/win32/ngx_thread.h (from vendor/nginx-1.15.10/src/os/win32/ngx_thread.h) vendor/nginx-1.15.8/src/os/win32/ngx_time.c (from vendor/nginx-1.15.10/src/os/win32/ngx_time.c) vendor/nginx-1.15.8/src/os/win32/ngx_time.h (from vendor/nginx-1.15.10/src/os/win32/ngx_time.h) vendor/nginx-1.15.8/src/os/win32/ngx_udp_wsarecv.c (from vendor/nginx-1.15.10/src/os/win32/ngx_udp_wsarecv.c) vendor/nginx-1.15.8/src/os/win32/ngx_user.c (from vendor/nginx-1.15.10/src/os/win32/ngx_user.c) vendor/nginx-1.15.8/src/os/win32/ngx_user.h (from vendor/nginx-1.15.10/src/os/win32/ngx_user.h) vendor/nginx-1.15.8/src/os/win32/ngx_win32_config.h (from vendor/nginx-1.15.10/src/os/win32/ngx_win32_config.h) vendor/nginx-1.15.8/src/os/win32/ngx_win32_init.c (from vendor/nginx-1.15.10/src/os/win32/ngx_win32_init.c) vendor/nginx-1.15.8/src/os/win32/ngx_wsarecv.c (from vendor/nginx-1.15.10/src/os/win32/ngx_wsarecv.c) vendor/nginx-1.15.8/src/os/win32/ngx_wsarecv_chain.c (from vendor/nginx-1.15.10/src/os/win32/ngx_wsarecv_chain.c) vendor/nginx-1.15.8/src/os/win32/ngx_wsasend.c (from vendor/nginx-1.15.10/src/os/win32/ngx_wsasend.c) vendor/nginx-1.15.8/src/os/win32/ngx_wsasend_chain.c (from vendor/nginx-1.15.10/src/os/win32/ngx_wsasend_chain.c) vendor/nginx-1.15.8/src/stream/ngx_stream.c (from vendor/nginx-1.15.10/src/stream/ngx_stream.c) vendor/nginx-1.15.8/src/stream/ngx_stream.h (from vendor/nginx-1.15.10/src/stream/ngx_stream.h) vendor/nginx-1.15.8/src/stream/ngx_stream_access_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_access_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_core_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_core_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_geo_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_geo_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_geoip_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_geoip_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_handler.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_handler.c) vendor/nginx-1.15.8/src/stream/ngx_stream_limit_conn_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_limit_conn_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_log_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_log_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_map_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_map_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_proxy_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_proxy_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_realip_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_realip_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_return_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_return_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_script.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_script.c) vendor/nginx-1.15.8/src/stream/ngx_stream_script.h (from vendor/nginx-1.15.10/src/stream/ngx_stream_script.h) vendor/nginx-1.15.8/src/stream/ngx_stream_split_clients_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_split_clients_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_ssl_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_module.h (from vendor/nginx-1.15.10/src/stream/ngx_stream_ssl_module.h) vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_preread_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_ssl_preread_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream.c) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream.h (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream.h) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_hash_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream_hash_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_least_conn_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream_least_conn_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_random_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream_random_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_round_robin.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream_round_robin.c) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_round_robin.h (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream_round_robin.h) vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_zone_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_upstream_zone_module.c) vendor/nginx-1.15.8/src/stream/ngx_stream_variables.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_variables.c) vendor/nginx-1.15.8/src/stream/ngx_stream_variables.h (from vendor/nginx-1.15.10/src/stream/ngx_stream_variables.h) vendor/nginx-1.15.8/src/stream/ngx_stream_write_filter_module.c (from vendor/nginx-1.15.10/src/stream/ngx_stream_write_filter_module.c) Modified: nginx_version (+1 -1) =================================================================== --- nginx_version 2019-03-27 12:50:20 +0900 (fcf38d94d) +++ nginx_version 2019-03-27 13:17:47 +0900 (98e863cdf) @@ -1 +1 @@ -1.15.10 +1.15.8 Deleted: vendor/nginx-1.15.10/src/event/modules/ngx_win32_poll_module.c (+0 -435) 100644 =================================================================== --- vendor/nginx-1.15.10/src/event/modules/ngx_win32_poll_module.c 2019-03-27 12:50:20 +0900 (9fe867f79) +++ /dev/null @@ -1,435 +0,0 @@ - -/* - * Copyright (C) Igor Sysoev - * Copyright (C) Maxim Dounin - * Copyright (C) Nginx, Inc. - */ - - -#include <ngx_config.h> -#include <ngx_core.h> -#include <ngx_event.h> - - -static ngx_int_t ngx_poll_init(ngx_cycle_t *cycle, ngx_msec_t timer); -static void ngx_poll_done(ngx_cycle_t *cycle); -static ngx_int_t ngx_poll_add_event(ngx_event_t *ev, ngx_int_t event, - ngx_uint_t flags); -static ngx_int_t ngx_poll_del_event(ngx_event_t *ev, ngx_int_t event, - ngx_uint_t flags); -static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, - ngx_uint_t flags); -static char *ngx_poll_init_conf(ngx_cycle_t *cycle, void *conf); - - -static struct pollfd *event_list; -static ngx_connection_t **event_index; -static ngx_uint_t nevents; - - -static ngx_str_t poll_name = ngx_string("poll"); - -static ngx_event_module_t ngx_poll_module_ctx = { - &poll_name, - NULL, /* create configuration */ - ngx_poll_init_conf, /* init configuration */ - - { - ngx_poll_add_event, /* add an event */ - ngx_poll_del_event, /* delete an event */ - ngx_poll_add_event, /* enable an event */ - ngx_poll_del_event, /* disable an event */ - NULL, /* add an connection */ - NULL, /* delete an connection */ - NULL, /* trigger a notify */ - ngx_poll_process_events, /* process the events */ - ngx_poll_init, /* init the events */ - ngx_poll_done /* done the events */ - } - -}; - -ngx_module_t ngx_poll_module = { - NGX_MODULE_V1, - &ngx_poll_module_ctx, /* module context */ - NULL, /* module directives */ - NGX_EVENT_MODULE, /* module type */ - NULL, /* init master */ - NULL, /* init module */ - NULL, /* init process */ - NULL, /* init thread */ - NULL, /* exit thread */ - NULL, /* exit process */ - NULL, /* exit master */ - NGX_MODULE_V1_PADDING -}; - - - -static ngx_int_t -ngx_poll_init(ngx_cycle_t *cycle, ngx_msec_t timer) -{ - struct pollfd *list; - ngx_connection_t **index; - - if (event_list == NULL) { - nevents = 0; - } - - if (ngx_process >= NGX_PROCESS_WORKER - || cycle->old_cycle == NULL - || cycle->old_cycle->connection_n < cycle->connection_n) - { - list = ngx_alloc(sizeof(struct pollfd) * cycle->connection_n, - cycle->log); - if (list == NULL) { - return NGX_ERROR; - } - - if (event_list) { - ngx_memcpy(list, event_list, sizeof(struct pollfd) * nevents); - ngx_free(event_list); - } - - event_list = list; - - index = ngx_alloc(sizeof(ngx_connection_t *) * cycle->connection_n, - cycle->log); - if (index == NULL) { - return NGX_ERROR; - } - - if (event_index) { - ngx_memcpy(index, event_index, - sizeof(ngx_connection_t *) * nevents); - ngx_free(event_index); - } - - event_index = index; - } - - ngx_io = ngx_os_io; - - ngx_event_actions = ngx_poll_module_ctx.actions; - - ngx_event_flags = NGX_USE_LEVEL_EVENT; - - return NGX_OK; -} - - -static void -ngx_poll_done(ngx_cycle_t *cycle) -{ - ngx_free(event_list); - ngx_free(event_index); - - event_list = NULL; - event_index = NULL; -} - - -static ngx_int_t -ngx_poll_add_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags) -{ - ngx_event_t *e; - ngx_connection_t *c; - - c = ev->data; - - ev->active = 1; - - if (ev->index != NGX_INVALID_INDEX) { - ngx_log_error(NGX_LOG_ALERT, ev->log, 0, - "poll event fd:%d ev:%i is already set", c->fd, event); - return NGX_OK; - } - - if (event == NGX_READ_EVENT) { - e = c->write; -#if (NGX_READ_EVENT != POLLIN) - event = POLLIN; -#endif - - } else { - e = c->read; -#if (NGX_WRITE_EVENT != POLLOUT) - event = POLLOUT; -#endif - } - - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "poll add event: fd:%d ev:%i", c->fd, event); - - if (e == NULL || e->index == NGX_INVALID_INDEX) { - - event_list[nevents].fd = c->fd; - event_list[nevents].events = (short) event; - event_list[nevents].revents = 0; - - event_index[nevents] = c; - - ev->index = nevents; - nevents++; - - } else { - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "poll add index: %i", e->index); - - event_list[e->index].events |= (short) event; - ev->index = e->index; - } - - return NGX_OK; -} - - -static ngx_int_t -ngx_poll_del_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags) -{ - ngx_event_t *e; - ngx_connection_t *c; - - c = ev->data; - - ev->active = 0; - - if (ev->index == NGX_INVALID_INDEX) { - ngx_log_error(NGX_LOG_ALERT, ev->log, 0, - "poll event fd:%d ev:%i is already deleted", - c->fd, event); - return NGX_OK; - } - - if (event == NGX_READ_EVENT) { - e = c->write; -#if (NGX_READ_EVENT != POLLIN) - event = POLLIN; -#endif - - } else { - e = c->read; -#if (NGX_WRITE_EVENT != POLLOUT) - event = POLLOUT; -#endif - } - - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "poll del event: fd:%d ev:%i", c->fd, event); - - if (e == NULL || e->index == NGX_INVALID_INDEX) { - nevents--; - - if (ev->index < nevents) { - - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "index: copy event %ui to %i", nevents, ev->index); - - event_list[ev->index] = event_list[nevents]; - event_index[ev->index] = event_index[nevents]; - - c = event_index[ev->index]; - - if (c->fd == (ngx_socket_t) -1) { - ngx_log_error(NGX_LOG_ALERT, ev->log, 0, - "unexpected last event"); - - } else { - if (c->read->index == nevents) { - c->read->index = ev->index; - } - - if (c->write->index == nevents) { - c->write->index = ev->index; - } - } - } - - } else { - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "poll del index: %i", e->index); - - event_list[e->index].events &= (short) ~event; - } - - ev->index = NGX_INVALID_INDEX; - - return NGX_OK; -} - - -static ngx_int_t -ngx_poll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) -{ - int ready, revents; - ngx_err_t err; - ngx_uint_t i, found; - ngx_event_t *ev; - ngx_queue_t *queue; - ngx_connection_t *c; - - /* NGX_TIMER_INFINITE == INFTIM */ - -#if (NGX_DEBUG0) - if (cycle->log->log_level & NGX_LOG_DEBUG_ALL) { - for (i = 0; i < nevents; i++) { - ngx_log_debug3(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll: %ui: fd:%d ev:%04Xd", - i, event_list[i].fd, event_list[i].events); - } - } -#endif - - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "poll timer: %M", timer); - - ready = WSAPoll(event_list, (u_int) nevents, (int) timer); - - err = (ready == -1) ? ngx_errno : 0; - - if (flags & NGX_UPDATE_TIME || ngx_event_timer_alarm) { - ngx_time_update(); - } - - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll ready %d of %ui", ready, nevents); - - if (err) { - ngx_log_error(NGX_LOG_ALERT, cycle->log, err, "WSAPoll() failed"); - return NGX_ERROR; - } - - if (ready == 0) { - if (timer != NGX_TIMER_INFINITE) { - return NGX_OK; - } - - ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "WSAPoll() returned no events without timeout"); - return NGX_ERROR; - } - - for (i = 0; i < nevents && ready; i++) { - - revents = event_list[i].revents; - -#if 1 - ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll: %ui: fd:%d ev:%04Xd rev:%04Xd", - i, event_list[i].fd, event_list[i].events, revents); -#else - if (revents) { - ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll: %ui: fd:%d ev:%04Xd rev:%04Xd", - i, event_list[i].fd, event_list[i].events, revents); - } -#endif - - if (revents & POLLNVAL) { - ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "poll() error fd:%d ev:%04Xd rev:%04Xd", - event_list[i].fd, event_list[i].events, revents); - } - - if (revents & ~(POLLIN|POLLOUT|POLLERR|POLLHUP|POLLNVAL)) { - ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "strange poll() events fd:%d ev:%04Xd rev:%04Xd", - event_list[i].fd, event_list[i].events, revents); - } - - if (event_list[i].fd == (ngx_socket_t) -1) { - /* - * the disabled event, a workaround for our possible bug, - * see the comment below - */ - continue; - } - - c = event_index[i]; - - if (c->fd == (ngx_socket_t) -1) { - ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, "unexpected event"); - - /* - * it is certainly our fault and it should be investigated, - * in the meantime we disable this event to avoid a CPU spinning - */ - - if (i == nevents - 1) { - nevents--; - } else { - event_list[i].fd = (ngx_socket_t) -1; - } - - continue; - } - - if (revents & (POLLERR|POLLHUP|POLLNVAL)) { - - /* - * if the error events were returned, add POLLIN and POLLOUT - * to handle the events at least in one active handler - */ - - revents |= POLLIN|POLLOUT; - } - - found = 0; - - if ((revents & POLLIN) && c->read->active) { - found = 1; - - ev = c->read; - ev->ready = 1; - - queue = ev->accept ? &ngx_posted_accept_events - : &ngx_posted_events; - - ngx_post_event(ev, queue); - } - - if ((revents & POLLOUT) && c->write->active) { - found = 1; - - ev = c->write; - ev->ready = 1; - - ngx_post_event(ev, &ngx_posted_events); - } - - if (found) { - ready--; - continue; - } - } - - if (ready != 0) { - ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, "poll ready != events"); - } - - return NGX_OK; -} - - -static char * -ngx_poll_init_conf(ngx_cycle_t *cycle, void *conf) -{ - ngx_event_conf_t *ecf; - - ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); - - if (ecf->use != ngx_poll_module.ctx_index) { - return NGX_CONF_OK; - } - -#if (NGX_LOAD_WSAPOLL) - - if (!ngx_have_wsapoll) { - ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, - "poll is not available on this platform"); - return NGX_CONF_ERROR; - } - -#endif - - return NGX_CONF_OK; -} Renamed: vendor/nginx-1.15.8/auto/cc/acc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/ccc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/clang (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/gcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/icc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/name (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/cc/sunc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/configure (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/define (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/endianness (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/feature (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/have (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/have_headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/include (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/init (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/install (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/geoip/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/google-perftools/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/libatomic/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/libatomic/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/libgd/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/libxslt/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/openssl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/openssl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/openssl/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/openssl/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/pcre/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/pcre/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/pcre/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/pcre/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/pcre/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/perl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/perl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/zlib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/zlib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/zlib/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/zlib/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/lib/zlib/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/make (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.10/auto/make 2019-03-27 12:50:20 +0900 (34c40cdd5) +++ vendor/nginx-1.15.8/auto/make 2019-03-27 13:17:47 +0900 (7ddd1007b) @@ -229,7 +229,7 @@ build: binary modules manpage binary: $NGX_OBJS${ngx_dirsep}nginx$ngx_binext $NGX_OBJS${ngx_dirsep}nginx$ngx_binext: $ngx_deps$ngx_spacer - \$(LINK) $ngx_long_start$ngx_binout$NGX_OBJS${ngx_dirsep}nginx$ngx_binext$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link + \$(LINK) $ngx_long_start$ngx_binout$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link $ngx_rcc $ngx_long_end Renamed: vendor/nginx-1.15.8/auto/module (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/modules (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/nohave (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/options (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/os/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/os/darwin (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/os/freebsd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/os/linux (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/os/solaris (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/os/win32 (+6 -2) 84% =================================================================== --- vendor/nginx-1.15.10/auto/os/win32 2019-03-27 12:50:20 +0900 (b821ae6d8) +++ vendor/nginx-1.15.8/auto/os/win32 2019-03-27 13:17:47 +0900 (7a8277496) @@ -11,7 +11,6 @@ CORE_SRCS="$WIN32_SRCS $IOCP_SRCS" OS_CONFIG="$WIN32_CONFIG" NGX_ICONS="$NGX_WIN32_ICONS" SELECT_SRCS=$WIN32_SELECT_SRCS -POLL_SRCS=$WIN32_POLL_SRCS ngx_pic_opt= ngx_binext=".exe" @@ -32,7 +31,12 @@ case "$NGX_CC_NAME" in esac EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE" -#EVENT_FOUND=YES +EVENT_FOUND=YES + +if [ $EVENT_SELECT = NO ]; then + CORE_SRCS="$CORE_SRCS $SELECT_SRCS" + EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" +fi have=NGX_HAVE_INET6 . auto/have Renamed: vendor/nginx-1.15.8/auto/sources (+0 -1) 99% =================================================================== --- vendor/nginx-1.15.10/auto/sources 2019-03-27 12:50:20 +0900 (3dad11132) +++ vendor/nginx-1.15.8/auto/sources 2019-03-27 13:17:47 +0900 (9b425063e) @@ -106,7 +106,6 @@ WIN32_SELECT_SRCS=src/event/modules/ngx_win32_select_module.c POLL_MODULE=ngx_poll_module POLL_SRCS=src/event/modules/ngx_poll_module.c -WIN32_POLL_SRCS=src/event/modules/ngx_win32_poll_module.c KQUEUE_MODULE=ngx_kqueue_module KQUEUE_SRCS=src/event/modules/ngx_kqueue_module.c Renamed: vendor/nginx-1.15.8/auto/stubs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/summary (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/threads (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/types/sizeof (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/types/typedef (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/types/uintptr_t (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/types/value (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/auto/unix (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/fastcgi.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/fastcgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/koi-win (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/mime.types (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/nginx.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/scgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/uwsgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/conf/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/geo2nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/unicode2nginx/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/unicode2nginx/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/vim/ftdetect/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/vim/ftplugin/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/vim/indent/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/contrib/vim/syntax/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/GNUmakefile (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/dtd/change_log_conf.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/dtd/changes.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/html/50x.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/html/index.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/man/nginx.8 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/text/LICENSE (+2 -2) 94% =================================================================== --- vendor/nginx-1.15.10/docs/text/LICENSE 2019-03-27 12:50:20 +0900 (c63e0ba4e) +++ vendor/nginx-1.15.8/docs/text/LICENSE 2019-03-27 13:17:47 +0900 (9401174e1) @@ -1,6 +1,6 @@ /* - * Copyright (C) 2002-2019 Igor Sysoev - * Copyright (C) 2011-2019 Nginx, Inc. + * Copyright (C) 2002-2018 Igor Sysoev + * Copyright (C) 2011-2018 Nginx, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Renamed: vendor/nginx-1.15.8/docs/text/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/xml/change_log_conf.xml (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/xml/nginx/changes.xml (+0 -113) 99% =================================================================== --- vendor/nginx-1.15.10/docs/xml/nginx/changes.xml 2019-03-27 12:50:20 +0900 (de93e329b) +++ vendor/nginx-1.15.8/docs/xml/nginx/changes.xml 2019-03-27 13:17:47 +0900 (4c471d83f) @@ -5,119 +5,6 @@ <change_log title="nginx"> -<changes ver="1.15.10" date="2019-03-26"> - -<change type="change"> -<para lang="ru"> -теперь при использовании имени хоста в директиве listen -nginx создаёт listen-сокеты для всех адресов, -соответствующих этому имени -(ранее использовался только первый адрес). -</para> -<para lang="en"> -when using a hostname in the "listen" directive -nginx now creates listening sockets -for all addresses the hostname resolves to -(previously, only the first address was used). -</para> -</change> - -<change type="feature"> -<para lang="ru"> -диапазоны портов в директиве listen. -</para> -<para lang="en"> -port ranges in the "listen" directive. -</para> -</change> - -<change type="feature"> -<para lang="ru"> -возможность загрузки SSL-сертификатов и секретных ключей из переменных. -</para> -<para lang="en"> -loading of SSL certificates and secret keys from variables. -</para> -</change> - -<change type="workaround"> -<para lang="ru"> -переменная $ssl_server_name могла быть пустой -при использовании OpenSSL 1.1.1. -</para> -<para lang="en"> -the $ssl_server_name variable might be empty -when using OpenSSL 1.1.1. -</para> -</change> - -<change type="bugfix"> -<para lang="ru"> -nginx/Windows не собирался с Visual Studio 2015 и новее; -ошибка появилась в 1.15.9. -</para> -<para lang="en"> -nginx/Windows could not be built with Visual Studio 2015 or newer; -the bug had appeared in 1.15.9. -</para> -</change> - -</changes> - - -<changes ver="1.15.9" date="2019-02-26"> - -<change type="feature"> -<para lang="ru"> -директивы ssl_certificate и ssl_certificate_key -поддерживают переменные. -</para> -<para lang="en"> -variables support -in the "ssl_certificate" and "ssl_certificate_key" directives. -</para> -</change> - -<change type="feature"> -<para lang="ru"> -метод poll теперь доступен на Windows -при использовании Windows Vista и новее. -</para> -<para lang="en"> -the "poll" method is now available on Windows -when using Windows Vista or newer. -</para> -</change> - -<change type="bugfix"> -<para lang="ru"> -если при использовании метода select на Windows -происходила ошибка при установлении соединения с бэкендом, -nginx ожидал истечения таймаута на установление соединения. -</para> -<para lang="en"> -if the "select" method was used on Windows -and an error occurred while establishing a backend connection, -nginx waited for the connection establishment timeout to expire. -</para> -</change> - -<change type="bugfix"> -<para lang="ru"> -директивы proxy_upload_rate и proxy_download_rate -в модуле stream -работали некорректно при проксировании UDP-пакетов. -</para> -<para lang="en"> -the "proxy_upload_rate" and "proxy_download_rate" directives -in the stream module -worked incorrectly when proxying UDP datagrams. -</para> -</change> - -</changes> - - <changes ver="1.15.8" date="2018-12-25"> <change type="feature"> Renamed: vendor/nginx-1.15.8/docs/xsls/changes.xsls (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/docs/xslt/changes.xslt (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/misc/GNUmakefile (+2 -1) 98% =================================================================== --- vendor/nginx-1.15.10/misc/GNUmakefile 2019-03-27 12:50:20 +0900 (bf91174eb) +++ vendor/nginx-1.15.8/misc/GNUmakefile 2019-03-27 13:17:47 +0900 (d68ceca00) @@ -6,7 +6,7 @@ TEMP = tmp CC = cl OBJS = objs.msvc8 -OPENSSL = openssl-1.1.1b +OPENSSL = openssl-1.0.2q ZLIB = zlib-1.2.11 PCRE = pcre-8.42 @@ -65,6 +65,7 @@ win32: --with-cc-opt=-DFD_SETSIZE=1024 \ --with-pcre=$(OBJS)/lib/$(PCRE) \ --with-zlib=$(OBJS)/lib/$(ZLIB) \ + --with-select_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ Renamed: vendor/nginx-1.15.8/misc/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/nginx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/nginx.h (+2 -2) 84% =================================================================== --- vendor/nginx-1.15.10/src/core/nginx.h 2019-03-27 12:50:20 +0900 (ad1a3b2b0) +++ vendor/nginx-1.15.8/src/core/nginx.h 2019-03-27 13:17:47 +0900 (5e2c5a88f) @@ -9,8 +9,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1015010 -#define NGINX_VERSION "1.15.10" +#define nginx_version 1015008 +#define NGINX_VERSION "1.15.8" #define NGINX_VER "nginx/" NGINX_VERSION #ifdef NGX_BUILD Renamed: vendor/nginx-1.15.8/src/core/ngx_array.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_array.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_buf.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_buf.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_conf_file.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/core/ngx_conf_file.c 2019-03-27 12:50:20 +0900 (6d1629e9b) +++ vendor/nginx-1.15.8/src/core/ngx_conf_file.c 2019-03-27 13:17:47 +0900 (e92cd33c9) @@ -310,7 +310,7 @@ ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) goto failed; } - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "%s", rv); + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, rv); goto failed; } Renamed: vendor/nginx-1.15.8/src/core/ngx_conf_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_connection.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_connection.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_core.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_cpuinfo.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_crc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_crc32.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_crc32.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_crypt.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_crypt.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_hash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_hash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_inet.c (+220 -218) 82% =================================================================== --- vendor/nginx-1.15.10/src/core/ngx_inet.c 2019-03-27 12:50:20 +0900 (4228504ad) +++ vendor/nginx-1.15.8/src/core/ngx_inet.c 2019-03-27 13:17:47 +0900 (db48b93c1) @@ -12,8 +12,6 @@ static ngx_int_t ngx_parse_unix_domain_url(ngx_pool_t *pool, ngx_url_t *u); static ngx_int_t ngx_parse_inet_url(ngx_pool_t *pool, ngx_url_t *u); static ngx_int_t ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u); -static ngx_int_t ngx_inet_add_addr(ngx_pool_t *pool, ngx_url_t *u, - struct sockaddr *sockaddr, socklen_t socklen, ngx_uint_t total); in_addr_t @@ -782,10 +780,13 @@ ngx_parse_unix_domain_url(ngx_pool_t *pool, ngx_url_t *u) static ngx_int_t ngx_parse_inet_url(ngx_pool_t *pool, ngx_url_t *u) { - u_char *host, *port, *last, *uri, *args, *dash; - size_t len; - ngx_int_t n; - struct sockaddr_in *sin; + u_char *p, *host, *port, *last, *uri, *args; + size_t len; + ngx_int_t n; + struct sockaddr_in *sin; +#if (NGX_HAVE_INET6) + struct sockaddr_in6 *sin6; +#endif u->socklen = sizeof(struct sockaddr_in); sin = (struct sockaddr_in *) &u->sockaddr; @@ -830,25 +831,6 @@ ngx_parse_inet_url(ngx_pool_t *pool, ngx_url_t *u) len = last - port; - if (u->listen) { - dash = ngx_strlchr(port, last, '-'); - - if (dash) { - dash++; - - n = ngx_atoi(dash, last - dash); - - if (n < 1 || n > 65535) { - u->err = "invalid port"; - return NGX_ERROR; - } - - u->last_port = (in_port_t) n; - - len = dash - port - 1; - } - } - n = ngx_atoi(port, len); if (n < 1 || n > 65535) { @@ -856,15 +838,10 @@ ngx_parse_inet_url(ngx_pool_t *pool, ngx_url_t *u) return NGX_ERROR; } - if (u->last_port && n > u->last_port) { - u->err = "invalid port range"; - return NGX_ERROR; - } - u->port = (in_port_t) n; sin->sin_port = htons((in_port_t) n); - u->port_text.len = last - port; + u->port_text.len = len; u->port_text.data = port; last = port - 1; @@ -876,69 +853,31 @@ ngx_parse_inet_url(ngx_pool_t *pool, ngx_url_t *u) /* test value as port only */ - len = last - host; - - dash = ngx_strlchr(host, last, '-'); - - if (dash) { - dash++; - - n = ngx_atoi(dash, last - dash); - - if (n == NGX_ERROR) { - goto no_port; - } - - if (n < 1 || n > 65535) { - u->err = "invalid port"; - - } else { - u->last_port = (in_port_t) n; - } - - len = dash - host - 1; - } - - n = ngx_atoi(host, len); + n = ngx_atoi(host, last - host); if (n != NGX_ERROR) { - if (u->err) { - return NGX_ERROR; - } - if (n < 1 || n > 65535) { u->err = "invalid port"; return NGX_ERROR; } - if (u->last_port && n > u->last_port) { - u->err = "invalid port range"; - return NGX_ERROR; - } - u->port = (in_port_t) n; sin->sin_port = htons((in_port_t) n); - sin->sin_addr.s_addr = INADDR_ANY; u->port_text.len = last - host; u->port_text.data = host; u->wildcard = 1; - return ngx_inet_add_addr(pool, u, &u->sockaddr.sockaddr, - u->socklen, 1); + return NGX_OK; } } } -no_port: - - u->err = NULL; u->no_port = 1; u->port = u->default_port; sin->sin_port = htons(u->default_port); - u->last_port = 0; } len = last - host; @@ -954,7 +893,7 @@ no_port: if (u->listen && len == 1 && *host == '*') { sin->sin_addr.s_addr = INADDR_ANY; u->wildcard = 1; - return ngx_inet_add_addr(pool, u, &u->sockaddr.sockaddr, u->socklen, 1); + return NGX_OK; } sin->sin_addr.s_addr = ngx_inet_addr(host, len); @@ -965,7 +904,33 @@ no_port: u->wildcard = 1; } - return ngx_inet_add_addr(pool, u, &u->sockaddr.sockaddr, u->socklen, 1); + u->naddrs = 1; + + u->addrs = ngx_pcalloc(pool, sizeof(ngx_addr_t)); + if (u->addrs == NULL) { + return NGX_ERROR; + } + + sin = ngx_pcalloc(pool, sizeof(struct sockaddr_in)); + if (sin == NULL) { + return NGX_ERROR; + } + + ngx_memcpy(sin, &u->sockaddr, sizeof(struct sockaddr_in)); + + u->addrs[0].sockaddr = (struct sockaddr *) sin; + u->addrs[0].socklen = sizeof(struct sockaddr_in); + + p = ngx_pnalloc(pool, u->host.len + sizeof(":65535") - 1); + if (p == NULL) { + return NGX_ERROR; + } + + u->addrs[0].name.len = ngx_sprintf(p, "%V:%d", + &u->host, u->port) - p; + u->addrs[0].name.data = p; + + return NGX_OK; } if (u->no_resolve) { @@ -979,7 +944,29 @@ no_port: u->family = u->addrs[0].sockaddr->sa_family; u->socklen = u->addrs[0].socklen; ngx_memcpy(&u->sockaddr, u->addrs[0].sockaddr, u->addrs[0].socklen); - u->wildcard = ngx_inet_wildcard(&u->sockaddr.sockaddr); + + switch (u->family) { + +#if (NGX_HAVE_INET6) + case AF_INET6: + sin6 = (struct sockaddr_in6 *) &u->sockaddr; + + if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { + u->wildcard = 1; + } + + break; +#endif + + default: /* AF_INET */ + sin = (struct sockaddr_in *) &u->sockaddr; + + if (sin->sin_addr.s_addr == INADDR_ANY) { + u->wildcard = 1; + } + + break; + } return NGX_OK; } @@ -989,7 +976,7 @@ static ngx_int_t ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u) { #if (NGX_HAVE_INET6) - u_char *p, *host, *port, *last, *uri, *dash; + u_char *p, *host, *port, *last, *uri; size_t len; ngx_int_t n; struct sockaddr_in6 *sin6; @@ -1035,25 +1022,6 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u) len = last - port; - if (u->listen) { - dash = ngx_strlchr(port, last, '-'); - - if (dash) { - dash++; - - n = ngx_atoi(dash, last - dash); - - if (n < 1 || n > 65535) { - u->err = "invalid port"; - return NGX_ERROR; - } - - u->last_port = (in_port_t) n; - - len = dash - port - 1; - } - } - n = ngx_atoi(port, len); if (n < 1 || n > 65535) { @@ -1061,15 +1029,10 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u) return NGX_ERROR; } - if (u->last_port && n > u->last_port) { - u->err = "invalid port range"; - return NGX_ERROR; - } - u->port = (in_port_t) n; sin6->sin6_port = htons((in_port_t) n); - u->port_text.len = last - port; + u->port_text.len = len; u->port_text.data = port; } else { @@ -1098,8 +1061,33 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u) } u->family = AF_INET6; + u->naddrs = 1; + + u->addrs = ngx_pcalloc(pool, sizeof(ngx_addr_t)); + if (u->addrs == NULL) { + return NGX_ERROR; + } + + sin6 = ngx_pcalloc(pool, sizeof(struct sockaddr_in6)); + if (sin6 == NULL) { + return NGX_ERROR; + } + + ngx_memcpy(sin6, &u->sockaddr, sizeof(struct sockaddr_in6)); + + u->addrs[0].sockaddr = (struct sockaddr *) sin6; + u->addrs[0].socklen = sizeof(struct sockaddr_in6); + + p = ngx_pnalloc(pool, u->host.len + sizeof(":65535") - 1); + if (p == NULL) { + return NGX_ERROR; + } - return ngx_inet_add_addr(pool, u, &u->sockaddr.sockaddr, u->socklen, 1); + u->addrs[0].name.len = ngx_sprintf(p, "%V:%d", + &u->host, u->port) - p; + u->addrs[0].name.data = p; + + return NGX_OK; #else @@ -1116,9 +1104,15 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u) ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u) { - u_char *host; - ngx_uint_t n; - struct addrinfo hints, *res, *rp; + u_char *p, *host; + size_t len; + in_port_t port; + ngx_uint_t i; + struct addrinfo hints, *res, *rp; + struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; + + port = htons(u->port); host = ngx_alloc(u->host.len + 1, pool->log); if (host == NULL) { @@ -1142,7 +1136,7 @@ ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u) ngx_free(host); - for (n = 0, rp = res; rp != NULL; rp = rp->ai_next) { + for (i = 0, rp = res; rp != NULL; rp = rp->ai_next) { switch (rp->ai_family) { @@ -1154,33 +1148,92 @@ ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u) continue; } - n++; + i++; } - if (n == 0) { + if (i == 0) { u->err = "host not found"; goto failed; } /* MP: ngx_shared_palloc() */ + u->addrs = ngx_pcalloc(pool, i * sizeof(ngx_addr_t)); + if (u->addrs == NULL) { + goto failed; + } + + u->naddrs = i; + + i = 0; + + /* AF_INET addresses first */ + for (rp = res; rp != NULL; rp = rp->ai_next) { - switch (rp->ai_family) { + if (rp->ai_family != AF_INET) { + continue; + } - case AF_INET: - case AF_INET6: - break; + sin = ngx_pcalloc(pool, rp->ai_addrlen); + if (sin == NULL) { + goto failed; + } - default: + ngx_memcpy(sin, rp->ai_addr, rp->ai_addrlen); + + sin->sin_port = port; + + u->addrs[i].sockaddr = (struct sockaddr *) sin; + u->addrs[i].socklen = rp->ai_addrlen; + + len = NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1; + + p = ngx_pnalloc(pool, len); + if (p == NULL) { + goto failed; + } + + len = ngx_sock_ntop((struct sockaddr *) sin, rp->ai_addrlen, p, len, 1); + + u->addrs[i].name.len = len; + u->addrs[i].name.data = p; + + i++; + } + + for (rp = res; rp != NULL; rp = rp->ai_next) { + + if (rp->ai_family != AF_INET6) { continue; } - if (ngx_inet_add_addr(pool, u, rp->ai_addr, rp->ai_addrlen, n) - != NGX_OK) - { + sin6 = ngx_pcalloc(pool, rp->ai_addrlen); + if (sin6 == NULL) { + goto failed; + } + + ngx_memcpy(sin6, rp->ai_addr, rp->ai_addrlen); + + sin6->sin6_port = port; + + u->addrs[i].sockaddr = (struct sockaddr *) sin6; + u->addrs[i].socklen = rp->ai_addrlen; + + len = NGX_INET6_ADDRSTRLEN + sizeof("[]:65535") - 1; + + p = ngx_pnalloc(pool, len); + if (p == NULL) { goto failed; } + + len = ngx_sock_ntop((struct sockaddr *) sin6, rp->ai_addrlen, p, + len, 1); + + u->addrs[i].name.len = len; + u->addrs[i].name.data = p; + + i++; } freeaddrinfo(res); @@ -1197,19 +1250,21 @@ failed: ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u) { - u_char *host; - ngx_uint_t i, n; + u_char *p, *host; + size_t len; + in_port_t port; + in_addr_t in_addr; + ngx_uint_t i; struct hostent *h; - struct sockaddr_in sin; + struct sockaddr_in *sin; /* AF_INET only */ - ngx_memzero(&sin, sizeof(struct sockaddr_in)); + port = htons(u->port); - sin.sin_family = AF_INET; - sin.sin_addr.s_addr = ngx_inet_addr(u->host.data, u->host.len); + in_addr = ngx_inet_addr(u->host.data, u->host.len); - if (sin.sin_addr.s_addr == INADDR_NONE) { + if (in_addr == INADDR_NONE) { host = ngx_alloc(u->host.len + 1, pool->log); if (host == NULL) { return NGX_ERROR; @@ -1226,99 +1281,83 @@ ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u) return NGX_ERROR; } - for (n = 0; h->h_addr_list[n] != NULL; n++) { /* void */ } + for (i = 0; h->h_addr_list[i] != NULL; i++) { /* void */ } /* MP: ngx_shared_palloc() */ - for (i = 0; i < n; i++) { - sin.sin_addr.s_addr = *(in_addr_t *) (h->h_addr_list[i]); + u->addrs = ngx_pcalloc(pool, i * sizeof(ngx_addr_t)); + if (u->addrs == NULL) { + return NGX_ERROR; + } + + u->naddrs = i; - if (ngx_inet_add_addr(pool, u, (struct sockaddr *) &sin, - sizeof(struct sockaddr_in), n) - != NGX_OK) - { + for (i = 0; i < u->naddrs; i++) { + + sin = ngx_pcalloc(pool, sizeof(struct sockaddr_in)); + if (sin == NULL) { return NGX_ERROR; } - } - } else { + sin->sin_family = AF_INET; + sin->sin_port = port; + sin->sin_addr.s_addr = *(in_addr_t *) (h->h_addr_list[i]); - /* MP: ngx_shared_palloc() */ + u->addrs[i].sockaddr = (struct sockaddr *) sin; + u->addrs[i].socklen = sizeof(struct sockaddr_in); - if (ngx_inet_add_addr(pool, u, (struct sockaddr *) &sin, - sizeof(struct sockaddr_in), 1) - != NGX_OK) - { - return NGX_ERROR; - } - } + len = NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1; - return NGX_OK; -} + p = ngx_pnalloc(pool, len); + if (p == NULL) { + return NGX_ERROR; + } -#endif /* NGX_HAVE_GETADDRINFO && NGX_HAVE_INET6 */ + len = ngx_sock_ntop((struct sockaddr *) sin, + sizeof(struct sockaddr_in), p, len, 1); + u->addrs[i].name.len = len; + u->addrs[i].name.data = p; + } -static ngx_int_t -ngx_inet_add_addr(ngx_pool_t *pool, ngx_url_t *u, struct sockaddr *sockaddr, - socklen_t socklen, ngx_uint_t total) -{ - u_char *p; - size_t len; - ngx_uint_t i, nports; - ngx_addr_t *addr; - struct sockaddr *sa; + } else { - nports = u->last_port ? u->last_port - u->port + 1 : 1; + /* MP: ngx_shared_palloc() */ - if (u->addrs == NULL) { - u->addrs = ngx_palloc(pool, total * nports * sizeof(ngx_addr_t)); + u->addrs = ngx_pcalloc(pool, sizeof(ngx_addr_t)); if (u->addrs == NULL) { return NGX_ERROR; } - } - for (i = 0; i < nports; i++) { - sa = ngx_pcalloc(pool, socklen); - if (sa == NULL) { + sin = ngx_pcalloc(pool, sizeof(struct sockaddr_in)); + if (sin == NULL) { return NGX_ERROR; } - ngx_memcpy(sa, sockaddr, socklen); + u->naddrs = 1; - ngx_inet_set_port(sa, u->port + i); + sin->sin_family = AF_INET; + sin->sin_port = port; + sin->sin_addr.s_addr = in_addr; - switch (sa->sa_family) { - -#if (NGX_HAVE_INET6) - case AF_INET6: - len = NGX_INET6_ADDRSTRLEN + sizeof("[]:65536") - 1; - break; -#endif + u->addrs[0].sockaddr = (struct sockaddr *) sin; + u->addrs[0].socklen = sizeof(struct sockaddr_in); - default: /* AF_INET */ - len = NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1; - } - - p = ngx_pnalloc(pool, len); + p = ngx_pnalloc(pool, u->host.len + sizeof(":65535") - 1); if (p == NULL) { return NGX_ERROR; } - len = ngx_sock_ntop(sa, socklen, p, len, 1); - - addr = &u->addrs[u->naddrs++]; - - addr->sockaddr = sa; - addr->socklen = socklen; - - addr->name.len = len; - addr->name.data = p; + u->addrs[0].name.len = ngx_sprintf(p, "%V:%d", + &u->host, ntohs(port)) - p; + u->addrs[0].name.data = p; } return NGX_OK; } +#endif /* NGX_HAVE_GETADDRINFO && NGX_HAVE_INET6 */ + ngx_int_t ngx_cmp_sockaddr(struct sockaddr *sa1, socklen_t slen1, @@ -1456,40 +1495,3 @@ ngx_inet_set_port(struct sockaddr *sa, in_port_t port) break; } } - - -ngx_uint_t -ngx_inet_wildcard(struct sockaddr *sa) -{ - struct sockaddr_in *sin; -#if (NGX_HAVE_INET6) - struct sockaddr_in6 *sin6; -#endif - - switch (sa->sa_family) { - - case AF_INET: - sin = (struct sockaddr_in *) sa; - - if (sin->sin_addr.s_addr == INADDR_ANY) { - return 1; - } - - break; - -#if (NGX_HAVE_INET6) - - case AF_INET6: - sin6 = (struct sockaddr_in6 *) sa; - - if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - return 1; - } - - break; - -#endif - } - - return 0; -} Renamed: vendor/nginx-1.15.8/src/core/ngx_inet.h (+0 -2) 97% =================================================================== --- vendor/nginx-1.15.10/src/core/ngx_inet.h 2019-03-27 12:50:20 +0900 (19050fc75) +++ vendor/nginx-1.15.8/src/core/ngx_inet.h 2019-03-27 13:17:47 +0900 (a3b392ee7) @@ -86,7 +86,6 @@ typedef struct { in_port_t port; in_port_t default_port; - in_port_t last_port; int family; unsigned listen:1; @@ -126,7 +125,6 @@ ngx_int_t ngx_cmp_sockaddr(struct sockaddr *sa1, socklen_t slen1, struct sockaddr *sa2, socklen_t slen2, ngx_uint_t cmp_port); in_port_t ngx_inet_get_port(struct sockaddr *sa); void ngx_inet_set_port(struct sockaddr *sa, in_port_t port); -ngx_uint_t ngx_inet_wildcard(struct sockaddr *sa); #endif /* _NGX_INET_H_INCLUDED_ */ Renamed: vendor/nginx-1.15.8/src/core/ngx_list.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_list.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_log.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_md5.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_md5.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_murmurhash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_murmurhash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_open_file_cache.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_open_file_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_output_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_palloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_palloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_parse.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_parse_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_parse_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_proxy_protocol.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_proxy_protocol.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_queue.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_queue.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_radix_tree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_radix_tree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_rbtree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_rbtree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_regex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_regex.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_resolver.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_resolver.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_rwlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_rwlock.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_sha1.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_sha1.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_shmtx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_shmtx.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_slab.c (+2 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/core/ngx_slab.c 2019-03-27 12:50:20 +0900 (b8577ce75) +++ vendor/nginx-1.15.8/src/core/ngx_slab.c 2019-03-27 13:17:47 +0900 (402387053) @@ -635,9 +635,10 @@ ngx_slab_free_locked(ngx_slab_pool_t *pool, void *p) goto fail; } + n = ((u_char *) p - pool->start) >> ngx_pagesize_shift; size = slab & ~NGX_SLAB_PAGE_START; - ngx_slab_free_pages(pool, page, size); + ngx_slab_free_pages(pool, &pool->pages[n], size); ngx_slab_junk(p, size << ngx_pagesize_shift); Renamed: vendor/nginx-1.15.8/src/core/ngx_slab.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_spinlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_string.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_string.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_syslog.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_syslog.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_thread_pool.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_thread_pool.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_times.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/core/ngx_times.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_devpoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_epoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_eventport_module.c (+2 -0) 99% =================================================================== --- vendor/nginx-1.15.10/src/event/modules/ngx_eventport_module.c 2019-03-27 12:50:20 +0900 (11ad0934e) +++ vendor/nginx-1.15.8/src/event/modules/ngx_eventport_module.c 2019-03-27 13:17:47 +0900 (01cfc97ea) @@ -250,7 +250,9 @@ ngx_eventport_init(ngx_cycle_t *cycle, ngx_msec_t timer) ngx_memzero(&sev, sizeof(struct sigevent)); sev.sigev_notify = SIGEV_PORT; +#if !(NGX_TEST_BUILD_EVENTPORT) sev.sigev_value.sival_ptr = &pn; +#endif if (timer_create(CLOCK_REALTIME, &sev, &event_timer) == -1) { ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno, Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_iocp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_iocp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_kqueue_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_poll_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/event/modules/ngx_poll_module.c 2019-03-27 12:50:20 +0900 (b46ab538a) +++ vendor/nginx-1.15.8/src/event/modules/ngx_poll_module.c 2019-03-27 13:17:47 +0900 (4e03dabf2) @@ -84,7 +84,7 @@ ngx_poll_init(ngx_cycle_t *cycle, ngx_msec_t timer) } if (event_list) { - ngx_memcpy(list, event_list, sizeof(struct pollfd) * nevents); + ngx_memcpy(list, event_list, sizeof(ngx_event_t *) * nevents); ngx_free(event_list); } Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/modules/ngx_win32_select_module.c (+4 -13) 95% =================================================================== --- vendor/nginx-1.15.10/src/event/modules/ngx_win32_select_module.c 2019-03-27 12:50:20 +0900 (8093a600b) +++ vendor/nginx-1.15.8/src/event/modules/ngx_win32_select_module.c 2019-03-27 13:17:47 +0900 (a98a83f28) @@ -26,7 +26,6 @@ static fd_set master_read_fd_set; static fd_set master_write_fd_set; static fd_set work_read_fd_set; static fd_set work_write_fd_set; -static fd_set work_except_fd_set; static ngx_uint_t max_read; static ngx_uint_t max_write; @@ -252,11 +251,9 @@ ngx_select_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, work_read_fd_set = master_read_fd_set; work_write_fd_set = master_write_fd_set; - work_except_fd_set = master_write_fd_set; if (max_read || max_write) { - ready = select(0, &work_read_fd_set, &work_write_fd_set, - &work_except_fd_set, tp); + ready = select(0, &work_read_fd_set, &work_write_fd_set, NULL, tp); } else { @@ -309,20 +306,14 @@ ngx_select_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, if (ev->write) { if (FD_ISSET(c->fd, &work_write_fd_set)) { - found++; + found = 1; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "select write %d", c->fd); } - if (FD_ISSET(c->fd, &work_except_fd_set)) { - found++; - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "select except %d", c->fd); - } - } else { if (FD_ISSET(c->fd, &work_read_fd_set)) { - found++; + found = 1; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "select read %d", c->fd); } @@ -336,7 +327,7 @@ ngx_select_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_post_event(ev, queue); - nready += found; + nready++; } } Renamed: vendor/nginx-1.15.8/src/event/ngx_event.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_accept.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_acceptex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_connect.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_connect.h (+0 -1) 97% =================================================================== --- vendor/nginx-1.15.10/src/event/ngx_event_connect.h 2019-03-27 12:50:20 +0900 (d3b23782e) +++ vendor/nginx-1.15.8/src/event/ngx_event_connect.h 2019-03-27 13:17:47 +0900 (7253ebb04) @@ -63,7 +63,6 @@ struct ngx_peer_connection_s { unsigned cached:1; unsigned transparent:1; unsigned so_keepalive:1; - unsigned down:1; /* ngx_connection_log_error_e */ unsigned log_error:2; Renamed: vendor/nginx-1.15.8/src/event/ngx_event_connectex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_openssl.c (+136 -442) 90% =================================================================== --- vendor/nginx-1.15.10/src/event/ngx_event_openssl.c 2019-03-27 12:50:20 +0900 (bee264c9f) +++ vendor/nginx-1.15.8/src/event/ngx_event_openssl.c 2019-03-27 13:17:47 +0900 (37a4b72b6) @@ -18,10 +18,6 @@ typedef struct { } ngx_openssl_conf_t; -static X509 *ngx_ssl_load_certificate(ngx_pool_t *pool, char **err, - ngx_str_t *cert, STACK_OF(X509) **chain); -static EVP_PKEY *ngx_ssl_load_certificate_key(ngx_pool_t *pool, char **err, - ngx_str_t *key, ngx_array_t *passwords); static int ngx_ssl_password_callback(char *buf, int size, int rwflag, void *userdata); static int ngx_ssl_verify_callback(int ok, X509_STORE_CTX *x509_store); @@ -54,7 +50,7 @@ static void ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, static void ngx_ssl_clear_error(ngx_log_t *log); static ngx_int_t ngx_ssl_session_id_context(ngx_ssl_t *ssl, - ngx_str_t *sess_ctx, ngx_array_t *certificates); + ngx_str_t *sess_ctx); static int ngx_ssl_new_session(ngx_ssl_conn_t *ssl_conn, ngx_ssl_session_t *sess); static ngx_ssl_session_t *ngx_ssl_get_cached_session(ngx_ssl_conn_t *ssl_conn, @@ -72,7 +68,6 @@ static void ngx_ssl_session_rbtree_insert_value(ngx_rbtree_node_t *temp, static int ngx_ssl_session_ticket_key_callback(ngx_ssl_conn_t *ssl_conn, unsigned char *name, unsigned char *iv, EVP_CIPHER_CTX *ectx, HMAC_CTX *hctx, int enc); -static void ngx_ssl_session_ticket_keys_cleanup(void *data); #endif #ifndef X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT @@ -368,10 +363,6 @@ ngx_ssl_create(ngx_ssl_t *ssl, ngx_uint_t protocols, void *data) SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_ANTI_REPLAY); #endif -#ifdef SSL_OP_NO_CLIENT_RENEGOTIATION - SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_CLIENT_RENEGOTIATION); -#endif - #ifdef SSL_MODE_RELEASE_BUFFERS SSL_CTX_set_mode(ssl->ctx, SSL_MODE_RELEASE_BUFFERS); #endif @@ -415,19 +406,34 @@ ngx_int_t ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_str_t *key, ngx_array_t *passwords) { - char *err; - X509 *x509; - EVP_PKEY *pkey; - STACK_OF(X509) *chain; + BIO *bio; + X509 *x509; + u_long n; + ngx_str_t *pwd; + ngx_uint_t tries; - x509 = ngx_ssl_load_certificate(cf->pool, &err, cert, &chain); - if (x509 == NULL) { - if (err != NULL) { - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "cannot load certificate \"%s\": %s", - cert->data, err); - } + if (ngx_conf_full_name(cf->cycle, cert, 1) != NGX_OK) { + return NGX_ERROR; + } + + /* + * we can't use SSL_CTX_use_certificate_chain_file() as it doesn't + * allow to access certificate later from SSL_CTX, so we reimplement + * it here + */ + + bio = BIO_new_file((char *) cert->data, "r"); + if (bio == NULL) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "BIO_new_file(\"%s\") failed", cert->data); + return NGX_ERROR; + } + x509 = PEM_read_bio_X509_AUX(bio, NULL, NULL, NULL); + if (x509 == NULL) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "PEM_read_bio_X509_AUX(\"%s\") failed", cert->data); + BIO_free(bio); return NGX_ERROR; } @@ -435,7 +441,7 @@ ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, "SSL_CTX_use_certificate(\"%s\") failed", cert->data); X509_free(x509); - sk_X509_pop_free(chain, X509_free); + BIO_free(bio); return NGX_ERROR; } @@ -444,7 +450,7 @@ ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, { ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, "X509_set_ex_data() failed"); X509_free(x509); - sk_X509_pop_free(chain, X509_free); + BIO_free(bio); return NGX_ERROR; } @@ -454,211 +460,26 @@ ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, { ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, "X509_set_ex_data() failed"); X509_free(x509); - sk_X509_pop_free(chain, X509_free); - return NGX_ERROR; - } - - if (SSL_CTX_set_ex_data(ssl->ctx, ngx_ssl_certificate_index, x509) == 0) { - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "SSL_CTX_set_ex_data() failed"); - X509_free(x509); - sk_X509_pop_free(chain, X509_free); - return NGX_ERROR; - } - - /* - * Note that x509 is not freed here, but will be instead freed in - * ngx_ssl_cleanup_ctx(). This is because we need to preserve all - * certificates to be able to iterate all of them through exdata - * (ngx_ssl_certificate_index, ngx_ssl_next_certificate_index), - * while OpenSSL can free a certificate if it is replaced with another - * certificate of the same type. - */ - -#ifdef SSL_CTX_set0_chain - - if (SSL_CTX_set0_chain(ssl->ctx, chain) == 0) { - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "SSL_CTX_set0_chain(\"%s\") failed", cert->data); - sk_X509_pop_free(chain, X509_free); + BIO_free(bio); return NGX_ERROR; } -#else + if (SSL_CTX_set_ex_data(ssl->ctx, ngx_ssl_certificate_index, x509) + == 0) { - int n; - - /* SSL_CTX_set0_chain() is only available in OpenSSL 1.0.2+ */ - - n = sk_X509_num(chain); - - while (n--) { - x509 = sk_X509_shift(chain); - - if (SSL_CTX_add_extra_chain_cert(ssl->ctx, x509) == 0) { - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "SSL_CTX_add_extra_chain_cert(\"%s\") failed", - cert->data); - sk_X509_pop_free(chain, X509_free); - return NGX_ERROR; - } - } - - sk_X509_free(chain); - } -#endif - - pkey = ngx_ssl_load_certificate_key(cf->pool, &err, key, passwords); - if (pkey == NULL) { - if (err != NULL) { - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "cannot load certificate key \"%s\": %s", - key->data, err); - } - - return NGX_ERROR; - } - - if (SSL_CTX_use_PrivateKey(ssl->ctx, pkey) == 0) { ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "SSL_CTX_use_PrivateKey(\"%s\") failed", key->data); - EVP_PKEY_free(pkey); - return NGX_ERROR; - } - - EVP_PKEY_free(pkey); - - return NGX_OK; -} - - -ngx_int_t -ngx_ssl_connection_certificate(ngx_connection_t *c, ngx_pool_t *pool, - ngx_str_t *cert, ngx_str_t *key, ngx_array_t *passwords) -{ - char *err; - X509 *x509; - EVP_PKEY *pkey; - STACK_OF(X509) *chain; - - x509 = ngx_ssl_load_certificate(pool, &err, cert, &chain); - if (x509 == NULL) { - if (err != NULL) { - ngx_ssl_error(NGX_LOG_ERR, c->log, 0, - "cannot load certificate \"%s\": %s", - cert->data, err); - } - - return NGX_ERROR; - } - - if (SSL_use_certificate(c->ssl->connection, x509) == 0) { - ngx_ssl_error(NGX_LOG_ERR, c->log, 0, - "SSL_use_certificate(\"%s\") failed", cert->data); + "SSL_CTX_set_ex_data() failed"); X509_free(x509); - sk_X509_pop_free(chain, X509_free); - return NGX_ERROR; - } - - X509_free(x509); - -#ifdef SSL_set0_chain - - /* - * SSL_set0_chain() is only available in OpenSSL 1.0.2+, - * but this function is only called via certificate callback, - * which is only available in OpenSSL 1.0.2+ as well - */ - - if (SSL_set0_chain(c->ssl->connection, chain) == 0) { - ngx_ssl_error(NGX_LOG_ERR, c->log, 0, - "SSL_set0_chain(\"%s\") failed", cert->data); - sk_X509_pop_free(chain, X509_free); - return NGX_ERROR; - } - -#endif - - pkey = ngx_ssl_load_certificate_key(pool, &err, key, passwords); - if (pkey == NULL) { - if (err != NULL) { - ngx_ssl_error(NGX_LOG_ERR, c->log, 0, - "cannot load certificate key \"%s\": %s", - key->data, err); - } - - return NGX_ERROR; - } - - if (SSL_use_PrivateKey(c->ssl->connection, pkey) == 0) { - ngx_ssl_error(NGX_LOG_ERR, c->log, 0, - "SSL_use_PrivateKey(\"%s\") failed", key->data); - EVP_PKEY_free(pkey); - return NGX_ERROR; - } - - EVP_PKEY_free(pkey); - - return NGX_OK; -} - - -static X509 * -ngx_ssl_load_certificate(ngx_pool_t *pool, char **err, ngx_str_t *cert, - STACK_OF(X509) **chain) -{ - BIO *bio; - X509 *x509, *temp; - u_long n; - - if (ngx_strncmp(cert->data, "data:", sizeof("data:") - 1) == 0) { - - bio = BIO_new_mem_buf(cert->data + sizeof("data:") - 1, - cert->len - (sizeof("data:") - 1)); - if (bio == NULL) { - *err = "BIO_new_mem_buf() failed"; - return NULL; - } - - } else { - - if (ngx_get_full_name(pool, (ngx_str_t *) &ngx_cycle->conf_prefix, cert) - != NGX_OK) - { - *err = NULL; - return NULL; - } - - bio = BIO_new_file((char *) cert->data, "r"); - if (bio == NULL) { - *err = "BIO_new_file() failed"; - return NULL; - } - } - - /* certificate itself */ - - x509 = PEM_read_bio_X509_AUX(bio, NULL, NULL, NULL); - if (x509 == NULL) { - *err = "PEM_read_bio_X509_AUX() failed"; BIO_free(bio); - return NULL; + return NGX_ERROR; } - /* rest of the chain */ - - *chain = sk_X509_new_null(); - if (*chain == NULL) { - *err = "sk_X509_new_null() failed"; - BIO_free(bio); - X509_free(x509); - return NULL; - } + /* read rest of the chain */ for ( ;; ) { - temp = PEM_read_bio_X509(bio, NULL, NULL, NULL); - if (temp == NULL) { + x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL); + if (x509 == NULL) { n = ERR_peek_last_error(); if (ERR_GET_LIB(n) == ERR_LIB_PEM @@ -671,51 +492,58 @@ ngx_ssl_load_certificate(ngx_pool_t *pool, char **err, ngx_str_t *cert, /* some real error */ - *err = "PEM_read_bio_X509() failed"; + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "PEM_read_bio_X509(\"%s\") failed", cert->data); BIO_free(bio); - X509_free(x509); - sk_X509_pop_free(*chain, X509_free); - return NULL; + return NGX_ERROR; } - if (sk_X509_push(*chain, temp) == 0) { - *err = "sk_X509_push() failed"; +#ifdef SSL_CTRL_CHAIN_CERT + + /* + * SSL_CTX_add0_chain_cert() is needed to add chain to + * a particular certificate when multiple certificates are used; + * only available in OpenSSL 1.0.2+ + */ + + if (SSL_CTX_add0_chain_cert(ssl->ctx, x509) == 0) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "SSL_CTX_add0_chain_cert(\"%s\") failed", + cert->data); + X509_free(x509); BIO_free(bio); + return NGX_ERROR; + } + +#else + if (SSL_CTX_add_extra_chain_cert(ssl->ctx, x509) == 0) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "SSL_CTX_add_extra_chain_cert(\"%s\") failed", + cert->data); X509_free(x509); - sk_X509_pop_free(*chain, X509_free); - return NULL; + BIO_free(bio); + return NGX_ERROR; } +#endif } BIO_free(bio); - return x509; -} - - -static EVP_PKEY * -ngx_ssl_load_certificate_key(ngx_pool_t *pool, char **err, - ngx_str_t *key, ngx_array_t *passwords) -{ - BIO *bio; - EVP_PKEY *pkey; - ngx_str_t *pwd; - ngx_uint_t tries; - pem_password_cb *cb; - if (ngx_strncmp(key->data, "engine:", sizeof("engine:") - 1) == 0) { #ifndef OPENSSL_NO_ENGINE - u_char *p, *last; - ENGINE *engine; + u_char *p, *last; + ENGINE *engine; + EVP_PKEY *pkey; p = key->data + sizeof("engine:") - 1; last = (u_char *) ngx_strchr(p, ':'); if (last == NULL) { - *err = "invalid syntax"; - return NULL; + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "invalid syntax in \"%V\"", key); + return NGX_ERROR; } *last = '\0'; @@ -723,8 +551,9 @@ ngx_ssl_load_certificate_key(ngx_pool_t *pool, char **err, engine = ENGINE_by_id((char *) p); if (engine == NULL) { - *err = "ENGINE_by_id() failed"; - return NULL; + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "ENGINE_by_id(\"%s\") failed", p); + return NGX_ERROR; } *last++ = ':'; @@ -732,81 +561,76 @@ ngx_ssl_load_certificate_key(ngx_pool_t *pool, char **err, pkey = ENGINE_load_private_key(engine, (char *) last, 0, 0); if (pkey == NULL) { - *err = "ENGINE_load_private_key() failed"; + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "ENGINE_load_private_key(\"%s\") failed", last); ENGINE_free(engine); - return NULL; + return NGX_ERROR; } ENGINE_free(engine); - return pkey; + if (SSL_CTX_use_PrivateKey(ssl->ctx, pkey) == 0) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "SSL_CTX_use_PrivateKey(\"%s\") failed", last); + EVP_PKEY_free(pkey); + return NGX_ERROR; + } + + EVP_PKEY_free(pkey); + + return NGX_OK; #else - *err = "loading \"engine:...\" certificate keys is not supported"; - return NULL; + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "loading \"engine:...\" certificate keys " + "is not supported"); + return NGX_ERROR; #endif } - if (ngx_strncmp(key->data, "data:", sizeof("data:") - 1) == 0) { - - bio = BIO_new_mem_buf(key->data + sizeof("data:") - 1, - key->len - (sizeof("data:") - 1)); - if (bio == NULL) { - *err = "BIO_new_mem_buf() failed"; - return NULL; - } - - } else { - - if (ngx_get_full_name(pool, (ngx_str_t *) &ngx_cycle->conf_prefix, key) - != NGX_OK) - { - *err = NULL; - return NULL; - } - - bio = BIO_new_file((char *) key->data, "r"); - if (bio == NULL) { - *err = "BIO_new_file() failed"; - return NULL; - } + if (ngx_conf_full_name(cf->cycle, key, 1) != NGX_OK) { + return NGX_ERROR; } if (passwords) { tries = passwords->nelts; pwd = passwords->elts; - cb = ngx_ssl_password_callback; + + SSL_CTX_set_default_passwd_cb(ssl->ctx, ngx_ssl_password_callback); + SSL_CTX_set_default_passwd_cb_userdata(ssl->ctx, pwd); } else { tries = 1; +#if (NGX_SUPPRESS_WARN) pwd = NULL; - cb = NULL; +#endif } for ( ;; ) { - pkey = PEM_read_bio_PrivateKey(bio, NULL, cb, pwd); - if (pkey != NULL) { + if (SSL_CTX_use_PrivateKey_file(ssl->ctx, (char *) key->data, + SSL_FILETYPE_PEM) + != 0) + { break; } - if (tries-- > 1) { + if (--tries) { ERR_clear_error(); - (void) BIO_reset(bio); - pwd++; + SSL_CTX_set_default_passwd_cb_userdata(ssl->ctx, ++pwd); continue; } - *err = "PEM_read_bio_PrivateKey() failed"; - BIO_free(bio); - return NULL; + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "SSL_CTX_use_PrivateKey_file(\"%s\") failed", key->data); + return NGX_ERROR; } - BIO_free(bio); + SSL_CTX_set_default_passwd_cb(ssl->ctx, NULL); - return pkey; + return NGX_OK; } @@ -821,10 +645,6 @@ ngx_ssl_password_callback(char *buf, int size, int rwflag, void *userdata) return 0; } - if (pwd == NULL) { - return 0; - } - if (pwd->len > (size_t) size) { ngx_log_error(NGX_LOG_ERR, ngx_cycle->log, 0, "password is truncated to %d bytes", size); @@ -1126,13 +946,10 @@ ngx_ssl_read_password_file(ngx_conf_t *cf, ngx_str_t *file) return NULL; } + cln = ngx_pool_cleanup_add(cf->temp_pool, 0); passwords = ngx_array_create(cf->temp_pool, 4, sizeof(ngx_str_t)); - if (passwords == NULL) { - return NULL; - } - cln = ngx_pool_cleanup_add(cf->temp_pool, 0); - if (cln == NULL) { + if (cln == NULL || passwords == NULL) { return NULL; } @@ -1240,69 +1057,6 @@ cleanup: } -ngx_array_t * -ngx_ssl_preserve_passwords(ngx_conf_t *cf, ngx_array_t *passwords) -{ - ngx_str_t *opwd, *pwd; - ngx_uint_t i; - ngx_array_t *pwds; - ngx_pool_cleanup_t *cln; - static ngx_array_t empty_passwords; - - if (passwords == NULL) { - - /* - * If there are no passwords, an empty array is used - * to make sure OpenSSL's default password callback - * won't block on reading from stdin. - */ - - return &empty_passwords; - } - - /* - * Passwords are normally allocated from the temporary pool - * and cleared after parsing configuration. To be used at - * runtime they have to be copied to the configuration pool. - */ - - pwds = ngx_array_create(cf->pool, passwords->nelts, sizeof(ngx_str_t)); - if (pwds == NULL) { - return NULL; - } - - cln = ngx_pool_cleanup_add(cf->pool, 0); - if (cln == NULL) { - return NULL; - } - - cln->handler = ngx_ssl_passwords_cleanup; - cln->data = pwds; - - opwd = passwords->elts; - - for (i = 0; i < passwords->nelts; i++) { - - pwd = ngx_array_push(pwds); - if (pwd == NULL) { - return NULL; - } - - pwd->len = opwd[i].len; - pwd->data = ngx_pnalloc(cf->pool, pwd->len); - - if (pwd->data == NULL) { - pwds->nelts--; - return NULL; - } - - ngx_memcpy(pwd->data, opwd[i].data, opwd[i].len); - } - - return pwds; -} - - static void ngx_ssl_passwords_cleanup(void *data) { @@ -2876,15 +2630,9 @@ ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, ngx_err_t err, || n == SSL_R_NO_COMPRESSION_SPECIFIED /* 187 */ || n == SSL_R_NO_SHARED_CIPHER /* 193 */ || n == SSL_R_RECORD_LENGTH_MISMATCH /* 213 */ -#ifdef SSL_R_CLIENTHELLO_TLSEXT - || n == SSL_R_CLIENTHELLO_TLSEXT /* 226 */ -#endif #ifdef SSL_R_PARSE_TLSEXT || n == SSL_R_PARSE_TLSEXT /* 227 */ #endif -#ifdef SSL_R_CALLBACK_FAILED - || n == SSL_R_CALLBACK_FAILED /* 234 */ -#endif || n == SSL_R_UNEXPECTED_MESSAGE /* 244 */ || n == SSL_R_UNEXPECTED_RECORD /* 245 */ || n == SSL_R_UNKNOWN_ALERT_TYPE /* 246 */ @@ -2912,9 +2660,6 @@ ngx_ssl_connection_error(ngx_connection_t *c, int sslerr, ngx_err_t err, #ifdef SSL_R_INAPPROPRIATE_FALLBACK || n == SSL_R_INAPPROPRIATE_FALLBACK /* 373 */ #endif -#ifdef SSL_R_CERT_CB_ERROR - || n == SSL_R_CERT_CB_ERROR /* 377 */ -#endif #ifdef SSL_R_VERSION_TOO_LOW || n == SSL_R_VERSION_TOO_LOW /* 396 */ #endif @@ -2994,60 +2739,53 @@ ngx_ssl_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt, ...) p = ngx_vslprintf(errstr, last - 1, fmt, args); va_end(args); - if (ERR_peek_error()) { - p = ngx_cpystrn(p, (u_char *) " (SSL:", last - p); - - for ( ;; ) { - - n = ERR_peek_error_line_data(NULL, NULL, &data, &flags); - - if (n == 0) { - break; - } + p = ngx_cpystrn(p, (u_char *) " (SSL:", last - p); - /* ERR_error_string_n() requires at least one byte */ + for ( ;; ) { - if (p >= last - 1) { - goto next; - } + n = ERR_peek_error_line_data(NULL, NULL, &data, &flags); - *p++ = ' '; + if (n == 0) { + break; + } - ERR_error_string_n(n, (char *) p, last - p); + /* ERR_error_string_n() requires at least one byte */ - while (p < last && *p) { - p++; - } + if (p >= last - 1) { + goto next; + } - if (p < last && *data && (flags & ERR_TXT_STRING)) { - *p++ = ':'; - p = ngx_cpystrn(p, (u_char *) data, last - p); - } + *p++ = ' '; - next: + ERR_error_string_n(n, (char *) p, last - p); - (void) ERR_get_error(); + while (p < last && *p) { + p++; } - if (p < last) { - *p++ = ')'; + if (p < last && *data && (flags & ERR_TXT_STRING)) { + *p++ = ':'; + p = ngx_cpystrn(p, (u_char *) data, last - p); } + + next: + + (void) ERR_get_error(); } - ngx_log_error(level, log, err, "%*s", p - errstr, errstr); + ngx_log_error(level, log, err, "%*s)", p - errstr, errstr); } ngx_int_t ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, - ngx_array_t *certificates, ssize_t builtin_session_cache, - ngx_shm_zone_t *shm_zone, time_t timeout) + ssize_t builtin_session_cache, ngx_shm_zone_t *shm_zone, time_t timeout) { long cache_mode; SSL_CTX_set_timeout(ssl->ctx, (long) timeout); - if (ngx_ssl_session_id_context(ssl, sess_ctx, certificates) != NGX_OK) { + if (ngx_ssl_session_id_context(ssl, sess_ctx) != NGX_OK) { return NGX_ERROR; } @@ -3113,14 +2851,11 @@ ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, static ngx_int_t -ngx_ssl_session_id_context(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, - ngx_array_t *certificates) +ngx_ssl_session_id_context(ngx_ssl_t *ssl, ngx_str_t *sess_ctx) { int n, i; X509 *cert; X509_NAME *name; - ngx_str_t *certs; - ngx_uint_t k; EVP_MD_CTX *md; unsigned int len; STACK_OF(X509_NAME) *list; @@ -3165,24 +2900,6 @@ ngx_ssl_session_id_context(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, } } - if (SSL_CTX_get_ex_data(ssl->ctx, ngx_ssl_certificate_index) == NULL) { - - /* - * If certificates are loaded dynamically, we use certificate - * names as specified in the configuration (with variables). - */ - - certs = certificates->elts; - for (k = 0; k < certificates->nelts; k++) { - - if (EVP_DigestUpdate(md, certs[k].data, certs[k].len) == 0) { - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "EVP_DigestUpdate() failed"); - goto failed; - } - } - } - list = SSL_CTX_get_client_CA_list(ssl->ctx); if (list != NULL) { @@ -3207,7 +2924,7 @@ ngx_ssl_session_id_context(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, if (EVP_DigestFinal_ex(md, buf, &len) == 0) { ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, - "EVP_DigestFinal_ex() failed"); + "EVP_DigestUpdate() failed"); goto failed; } @@ -3738,7 +3455,6 @@ ngx_ssl_session_ticket_keys(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_array_t *paths) ngx_uint_t i; ngx_array_t *keys; ngx_file_info_t fi; - ngx_pool_cleanup_t *cln; ngx_ssl_session_ticket_key_t *key; if (paths == NULL) { @@ -3751,14 +3467,6 @@ ngx_ssl_session_ticket_keys(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_array_t *paths) return NGX_ERROR; } - cln = ngx_pool_cleanup_add(cf->pool, 0); - if (cln == NULL) { - return NGX_ERROR; - } - - cln->handler = ngx_ssl_session_ticket_keys_cleanup; - cln->data = keys; - path = paths->elts; for (i = 0; i < paths->nelts; i++) { @@ -3830,8 +3538,6 @@ ngx_ssl_session_ticket_keys(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_array_t *paths) ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, ngx_close_file_n " \"%V\" failed", &file.name); } - - ngx_explicit_memzero(&buf, 80); } if (SSL_CTX_set_ex_data(ssl->ctx, ngx_ssl_session_ticket_keys_index, keys) @@ -3862,8 +3568,6 @@ failed: ngx_close_file_n " \"%V\" failed", &file.name); } - ngx_explicit_memzero(&buf, 80); - return NGX_ERROR; } @@ -3992,16 +3696,6 @@ ngx_ssl_session_ticket_key_callback(ngx_ssl_conn_t *ssl_conn, } } - -static void -ngx_ssl_session_ticket_keys_cleanup(void *data) -{ - ngx_array_t *keys = data; - - ngx_explicit_memzero(keys->elts, - keys->nelts * sizeof(ngx_ssl_session_ticket_key_t)); -} - #else ngx_int_t Renamed: vendor/nginx-1.15.8/src/event/ngx_event_openssl.h (+1 -8) 96% =================================================================== --- vendor/nginx-1.15.10/src/event/ngx_event_openssl.h 2019-03-27 12:50:20 +0900 (61da0c5db) +++ vendor/nginx-1.15.8/src/event/ngx_event_openssl.h 2019-03-27 13:17:47 +0900 (9ec001d09) @@ -161,14 +161,10 @@ typedef struct { ngx_int_t ngx_ssl_init(ngx_log_t *log); ngx_int_t ngx_ssl_create(ngx_ssl_t *ssl, ngx_uint_t protocols, void *data); - ngx_int_t ngx_ssl_certificates(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_array_t *certs, ngx_array_t *keys, ngx_array_t *passwords); ngx_int_t ngx_ssl_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_str_t *key, ngx_array_t *passwords); -ngx_int_t ngx_ssl_connection_certificate(ngx_connection_t *c, ngx_pool_t *pool, - ngx_str_t *cert, ngx_str_t *key, ngx_array_t *passwords); - ngx_int_t ngx_ssl_ciphers(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *ciphers, ngx_uint_t prefer_server_ciphers); ngx_int_t ngx_ssl_client_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, @@ -183,8 +179,6 @@ ngx_int_t ngx_ssl_stapling_resolver(ngx_conf_t *cf, ngx_ssl_t *ssl, RSA *ngx_ssl_rsa512_key_callback(ngx_ssl_conn_t *ssl_conn, int is_export, int key_length); ngx_array_t *ngx_ssl_read_password_file(ngx_conf_t *cf, ngx_str_t *file); -ngx_array_t *ngx_ssl_preserve_passwords(ngx_conf_t *cf, - ngx_array_t *passwords); 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, @@ -192,8 +186,7 @@ ngx_int_t ngx_ssl_early_data(ngx_conf_t *cf, ngx_ssl_t *ssl, 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, - ngx_array_t *certificates, ssize_t builtin_session_cache, - ngx_shm_zone_t *shm_zone, time_t timeout); + ssize_t builtin_session_cache, ngx_shm_zone_t *shm_zone, time_t timeout); ngx_int_t ngx_ssl_session_ticket_keys(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_array_t *paths); ngx_int_t ngx_ssl_session_cache_init(ngx_shm_zone_t *shm_zone, void *data); Renamed: vendor/nginx-1.15.8/src/event/ngx_event_openssl_stapling.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_pipe.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_pipe.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_posted.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_posted.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_timer.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_timer.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/event/ngx_event_udp.c (+0 -6) 99% =================================================================== --- vendor/nginx-1.15.10/src/event/ngx_event_udp.c 2019-03-27 12:50:20 +0900 (557283050) +++ vendor/nginx-1.15.8/src/event/ngx_event_udp.c 2019-03-27 13:17:47 +0900 (65eb22fd2) @@ -256,9 +256,7 @@ ngx_event_recvmsg(ngx_event_t *ev) rev = c->read; c->udp->buffer = &buf; - rev->ready = 1; - rev->active = 0; rev->handler(rev); @@ -267,7 +265,6 @@ ngx_event_recvmsg(ngx_event_t *ev) } rev->ready = 0; - rev->active = 1; goto next; } @@ -346,7 +343,6 @@ ngx_event_recvmsg(ngx_event_t *ev) rev = c->read; wev = c->write; - rev->active = 1; wev->ready = 1; rev->log = log; @@ -457,9 +453,7 @@ ngx_udp_shared_recv(ngx_connection_t *c, u_char *buf, size_t size) ngx_memcpy(buf, b->pos, n); c->udp->buffer = NULL; - c->read->ready = 0; - c->read->active = 1; return n; } Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_addition_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_auth_basic_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_auth_request_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_autoindex_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_browser_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_charset_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_chunked_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_dav_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_degradation_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_empty_gif_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_fastcgi_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_flv_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_grpc_module.c (+0 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/http/modules/ngx_http_grpc_module.c 2019-03-27 12:50:20 +0900 (f59ecbda7) +++ vendor/nginx-1.15.8/src/http/modules/ngx_http_grpc_module.c 2019-03-27 13:17:47 +0900 (18478b978) @@ -4650,7 +4650,6 @@ ngx_http_grpc_set_ssl(ngx_conf_t *cf, ngx_http_grpc_loc_conf_t *glcf) cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { - ngx_ssl_cleanup_ctx(glcf->upstream.ssl); return NGX_ERROR; } Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_gunzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_gzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_gzip_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_headers_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_image_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_limit_req_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_memcached_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_mirror_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_mp4_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_not_modified_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_proxy_module.c (+0 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/http/modules/ngx_http_proxy_module.c 2019-03-27 12:50:20 +0900 (3aafb9996) +++ vendor/nginx-1.15.8/src/http/modules/ngx_http_proxy_module.c 2019-03-27 13:17:47 +0900 (d6a892217) @@ -4270,7 +4270,6 @@ ngx_http_proxy_set_ssl(ngx_conf_t *cf, ngx_http_proxy_loc_conf_t *plcf) cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { - ngx_ssl_cleanup_ctx(plcf->upstream.ssl); return NGX_ERROR; } Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_random_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_range_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_referer_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_rewrite_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_scgi_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_secure_link_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_slice_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_ssi_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_ssi_filter_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_ssl_module.c (+9 -123) 90% =================================================================== --- vendor/nginx-1.15.10/src/http/modules/ngx_http_ssl_module.c 2019-03-27 12:50:20 +0900 (b3f8f4795) +++ vendor/nginx-1.15.8/src/http/modules/ngx_http_ssl_module.c 2019-03-27 13:17:47 +0900 (9e243ea05) @@ -41,9 +41,6 @@ static void *ngx_http_ssl_create_srv_conf(ngx_conf_t *cf); static char *ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child); -static ngx_int_t ngx_http_ssl_compile_certificates(ngx_conf_t *cf, - ngx_http_ssl_srv_conf_t *conf); - static char *ngx_http_ssl_enable(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); static char *ngx_http_ssl_password_file(ngx_conf_t *cf, ngx_command_t *cmd, @@ -553,7 +550,6 @@ ngx_http_ssl_create_srv_conf(ngx_conf_t *cf) * set by ngx_pcalloc(): * * sscf->protocols = 0; - * sscf->certificate_values = NULL; * sscf->dhparam = { 0, NULL }; * sscf->ecdh_curve = { 0, NULL }; * sscf->client_certificate = { 0, NULL }; @@ -700,15 +696,6 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) return NGX_CONF_ERROR; } - cln = ngx_pool_cleanup_add(cf->pool, 0); - if (cln == NULL) { - ngx_ssl_cleanup_ctx(&conf->ssl); - return NGX_CONF_ERROR; - } - - cln->handler = ngx_ssl_cleanup_ctx; - cln->data = &conf->ssl; - #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME if (SSL_CTX_set_tlsext_servername_callback(conf->ssl.ctx, @@ -732,36 +719,19 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) ngx_http_ssl_npn_advertised, NULL); #endif - if (ngx_http_ssl_compile_certificates(cf, conf) != NGX_OK) { + cln = ngx_pool_cleanup_add(cf->pool, 0); + if (cln == NULL) { return NGX_CONF_ERROR; } - if (conf->certificate_values) { - -#ifdef SSL_R_CERT_CB_ERROR - - /* install callback to lookup certificates */ - - SSL_CTX_set_cert_cb(conf->ssl.ctx, ngx_http_ssl_certificate, conf); + cln->handler = ngx_ssl_cleanup_ctx; + cln->data = &conf->ssl; -#else - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "variables in " - "\"ssl_certificate\" and \"ssl_certificate_key\" " - "directives are not supported on this platform"); + if (ngx_ssl_certificates(cf, &conf->ssl, conf->certificates, + conf->certificate_keys, conf->passwords) + != NGX_OK) + { return NGX_CONF_ERROR; -#endif - - } else { - - /* configure certificates */ - - if (ngx_ssl_certificates(cf, &conf->ssl, conf->certificates, - conf->certificate_keys, conf->passwords) - != NGX_OK) - { - return NGX_CONF_ERROR; - } } if (ngx_ssl_ciphers(cf, &conf->ssl, &conf->ciphers, @@ -818,7 +788,7 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) } if (ngx_ssl_session_cache(&conf->ssl, &ngx_http_ssl_sess_id_ctx, - conf->certificates, conf->builtin_session_cache, + conf->builtin_session_cache, conf->shm_zone, conf->session_timeout) != NGX_OK) { @@ -861,90 +831,6 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) } -static ngx_int_t -ngx_http_ssl_compile_certificates(ngx_conf_t *cf, - ngx_http_ssl_srv_conf_t *conf) -{ - ngx_str_t *cert, *key; - ngx_uint_t i, nelts; - ngx_http_complex_value_t *cv; - ngx_http_compile_complex_value_t ccv; - - cert = conf->certificates->elts; - key = conf->certificate_keys->elts; - nelts = conf->certificates->nelts; - - for (i = 0; i < nelts; i++) { - - if (ngx_http_script_variables_count(&cert[i])) { - goto found; - } - - if (ngx_http_script_variables_count(&key[i])) { - goto found; - } - } - - return NGX_OK; - -found: - - conf->certificate_values = ngx_array_create(cf->pool, nelts, - sizeof(ngx_http_complex_value_t)); - if (conf->certificate_values == NULL) { - return NGX_ERROR; - } - - conf->certificate_key_values = ngx_array_create(cf->pool, nelts, - sizeof(ngx_http_complex_value_t)); - if (conf->certificate_key_values == NULL) { - return NGX_ERROR; - } - - for (i = 0; i < nelts; i++) { - - cv = ngx_array_push(conf->certificate_values); - if (cv == NULL) { - return NGX_ERROR; - } - - ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t)); - - ccv.cf = cf; - ccv.value = &cert[i]; - ccv.complex_value = cv; - ccv.zero = 1; - - if (ngx_http_compile_complex_value(&ccv) != NGX_OK) { - return NGX_ERROR; - } - - cv = ngx_array_push(conf->certificate_key_values); - if (cv == NULL) { - return NGX_ERROR; - } - - ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t)); - - ccv.cf = cf; - ccv.value = &key[i]; - ccv.complex_value = cv; - ccv.zero = 1; - - if (ngx_http_compile_complex_value(&ccv) != NGX_OK) { - return NGX_ERROR; - } - } - - conf->passwords = ngx_ssl_preserve_passwords(cf, conf->passwords); - if (conf->passwords == NULL) { - return NGX_ERROR; - } - - return NGX_OK; -} - - static char * ngx_http_ssl_enable(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_ssl_module.h (+0 -3) 93% =================================================================== --- vendor/nginx-1.15.10/src/http/modules/ngx_http_ssl_module.h 2019-03-27 12:50:20 +0900 (26fdccfe4) +++ vendor/nginx-1.15.8/src/http/modules/ngx_http_ssl_module.h 2019-03-27 13:17:47 +0900 (fb3219b63) @@ -36,9 +36,6 @@ typedef struct { ngx_array_t *certificates; ngx_array_t *certificate_keys; - ngx_array_t *certificate_values; - ngx_array_t *certificate_key_values; - ngx_str_t dhparam; ngx_str_t ecdh_curve; ngx_str_t client_certificate; Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_stub_status_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_sub_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_try_files_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_ip_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_keepalive_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_random_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_userid_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_uwsgi_module.c (+0 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/http/modules/ngx_http_uwsgi_module.c 2019-03-27 12:50:20 +0900 (56dc236ef) +++ vendor/nginx-1.15.8/src/http/modules/ngx_http_uwsgi_module.c 2019-03-27 13:17:47 +0900 (8b091101f) @@ -2359,7 +2359,6 @@ ngx_http_uwsgi_set_ssl(ngx_conf_t *cf, ngx_http_uwsgi_loc_conf_t *uwcf) cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { - ngx_ssl_cleanup_ctx(uwcf->upstream.ssl); return NGX_ERROR; } Renamed: vendor/nginx-1.15.8/src/http/modules/ngx_http_xslt_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/perl/Makefile.PL (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/perl/nginx.pm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/perl/nginx.xs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/perl/ngx_http_perl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/perl/ngx_http_perl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/modules/perl/typemap (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http.c (+16 -18) 98% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http.c 2019-03-27 12:50:20 +0900 (79ef9c644) +++ vendor/nginx-1.15.8/src/http/ngx_http.c 2019-03-27 13:17:47 +0900 (5e2022690) @@ -1157,7 +1157,7 @@ ngx_http_add_listen(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, } } - sa = lsopt->sockaddr; + sa = &lsopt->sockaddr.sockaddr; p = ngx_inet_get_port(sa); port = cmcf->ports->elts; @@ -1209,8 +1209,8 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, for (i = 0; i < port->addrs.nelts; i++) { - if (ngx_cmp_sockaddr(lsopt->sockaddr, lsopt->socklen, - addr[i].opt.sockaddr, + if (ngx_cmp_sockaddr(&lsopt->sockaddr.sockaddr, lsopt->socklen, + &addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen, 0) != NGX_OK) { @@ -1239,8 +1239,7 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, if (addr[i].opt.set) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "duplicate listen options for %V", - &addr[i].opt.addr_text); + "duplicate listen options for %s", addr[i].opt.addr); return NGX_ERROR; } @@ -1253,8 +1252,7 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, if (default_server) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "a duplicate default server for %V", - &addr[i].opt.addr_text); + "a duplicate default server for %s", addr[i].opt.addr); return NGX_ERROR; } @@ -1307,8 +1305,8 @@ ngx_http_add_address(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, if (lsopt->http2 && lsopt->ssl) { ngx_conf_log_error(NGX_LOG_WARN, cf, 0, "nginx was built with OpenSSL that lacks ALPN " - "and NPN support, HTTP/2 is not enabled for %V", - &lsopt->addr_text); + "and NPN support, HTTP/2 is not enabled for %s", + lsopt->addr); } #endif @@ -1356,8 +1354,7 @@ ngx_http_add_server(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf, for (i = 0; i < addr->servers.nelts; i++) { if (server[i] == cscf) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "a duplicate listen %V", - &addr->opt.addr_text); + "a duplicate listen %s", addr->opt.addr); return NGX_ERROR; } } @@ -1474,15 +1471,15 @@ ngx_http_server_names(ngx_conf_t *cf, ngx_http_core_main_conf_t *cmcf, if (rc == NGX_DECLINED) { ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "invalid server name or wildcard \"%V\" on %V", - &name[n].name, &addr->opt.addr_text); + "invalid server name or wildcard \"%V\" on %s", + &name[n].name, addr->opt.addr); return NGX_ERROR; } if (rc == NGX_BUSY) { ngx_log_error(NGX_LOG_WARN, cf->log, 0, - "conflicting server name \"%V\" on %V, ignored", - &name[n].name, &addr->opt.addr_text); + "conflicting server name \"%V\" on %s, ignored", + &name[n].name, addr->opt.addr); } } } @@ -1703,7 +1700,8 @@ ngx_http_add_listening(ngx_conf_t *cf, ngx_http_conf_addr_t *addr) ngx_http_core_loc_conf_t *clcf; ngx_http_core_srv_conf_t *cscf; - ls = ngx_create_listening(cf, addr->opt.sockaddr, addr->opt.socklen); + ls = ngx_create_listening(cf, &addr->opt.sockaddr.sockaddr, + addr->opt.socklen); if (ls == NULL) { return NULL; } @@ -1793,7 +1791,7 @@ ngx_http_add_addrs(ngx_conf_t *cf, ngx_http_port_t *hport, for (i = 0; i < hport->naddrs; i++) { - sin = (struct sockaddr_in *) addr[i].opt.sockaddr; + sin = &addr[i].opt.sockaddr.sockaddr_in; addrs[i].addr = sin->sin_addr.s_addr; addrs[i].conf.default_server = addr[i].default_server; #if (NGX_HTTP_SSL) @@ -1858,7 +1856,7 @@ ngx_http_add_addrs6(ngx_conf_t *cf, ngx_http_port_t *hport, for (i = 0; i < hport->naddrs; i++) { - sin6 = (struct sockaddr_in6 *) addr[i].opt.sockaddr; + sin6 = &addr[i].opt.sockaddr.sockaddr_in6; addrs6[i].addr6 = sin6->sin6_addr; addrs6[i].conf.default_server = addr[i].default_server; #if (NGX_HTTP_SSL) Renamed: vendor/nginx-1.15.8/src/http/ngx_http.h (+0 -4) 97% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http.h 2019-03-27 12:50:20 +0900 (8b43857ee) +++ vendor/nginx-1.15.8/src/http/ngx_http.h 2019-03-27 13:17:47 +0900 (afab4f645) @@ -88,10 +88,6 @@ void ngx_http_close_connection(ngx_connection_t *c); #if (NGX_HTTP_SSL && defined SSL_CTRL_SET_TLSEXT_HOSTNAME) int ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg); #endif -#if (NGX_HTTP_SSL && defined SSL_R_CERT_CB_ERROR) -int ngx_http_ssl_certificate(ngx_ssl_conn_t *ssl_conn, void *arg); -#endif - ngx_int_t ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b); ngx_int_t ngx_http_parse_uri(ngx_http_request_t *r); Renamed: vendor/nginx-1.15.8/src/http/ngx_http_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_copy_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_core_module.c (+35 -40) 98% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http_core_module.c 2019-03-27 12:50:20 +0900 (cb49ef74a) +++ vendor/nginx-1.15.8/src/http/ngx_http_core_module.c 2019-03-27 13:17:47 +0900 (5e7152f0f) @@ -2715,8 +2715,6 @@ ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy) { char *rv; void *mconf; - size_t len; - u_char *p; ngx_uint_t i; ngx_conf_t pcf; ngx_http_module_t *module; @@ -2804,14 +2802,7 @@ ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy) if (rv == NGX_CONF_OK && !cscf->listen) { ngx_memzero(&lsopt, sizeof(ngx_http_listen_opt_t)); - p = ngx_pcalloc(cf->pool, sizeof(struct sockaddr_in)); - if (p == NULL) { - return NGX_CONF_ERROR; - } - - lsopt.sockaddr = (struct sockaddr *) p; - - sin = (struct sockaddr_in *) p; + sin = &lsopt.sockaddr.sockaddr_in; sin->sin_family = AF_INET; #if (NGX_WIN32) @@ -2834,16 +2825,8 @@ ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy) #endif lsopt.wildcard = 1; - len = NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1; - - p = ngx_pnalloc(cf->pool, len); - if (p == NULL) { - return NGX_CONF_ERROR; - } - - lsopt.addr_text.data = p; - lsopt.addr_text.len = ngx_sock_ntop(lsopt.sockaddr, lsopt.socklen, p, - len, 1); + (void) ngx_sock_ntop(&lsopt.sockaddr.sockaddr, lsopt.socklen, + lsopt.addr, NGX_SOCKADDR_STRLEN, 1); if (ngx_http_add_listen(cf, cscf, &lsopt) != NGX_OK) { return NGX_CONF_ERROR; @@ -3796,6 +3779,9 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_memzero(&lsopt, sizeof(ngx_http_listen_opt_t)); + ngx_memcpy(&lsopt.sockaddr.sockaddr, &u.sockaddr, u.socklen); + + lsopt.socklen = u.socklen; lsopt.backlog = NGX_LISTEN_BACKLOG; lsopt.rcvbuf = -1; lsopt.sndbuf = -1; @@ -3805,10 +3791,14 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) #if (NGX_HAVE_TCP_FASTOPEN) lsopt.fastopen = -1; #endif + lsopt.wildcard = u.wildcard; #if (NGX_HAVE_INET6) lsopt.ipv6only = 1; #endif + (void) ngx_sock_ntop(&lsopt.sockaddr.sockaddr, lsopt.socklen, lsopt.addr, + NGX_SOCKADDR_STRLEN, 1); + for (n = 2; n < cf->args->nelts; n++) { if (ngx_strcmp(value[n].data, "default_server") == 0 @@ -3933,22 +3923,34 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_strncmp(value[n].data, "ipv6only=o", 10) == 0) { #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) - if (ngx_strcmp(&value[n].data[10], "n") == 0) { - lsopt.ipv6only = 1; + struct sockaddr *sa; + + sa = &lsopt.sockaddr.sockaddr; + + if (sa->sa_family == AF_INET6) { + + if (ngx_strcmp(&value[n].data[10], "n") == 0) { + lsopt.ipv6only = 1; - } else if (ngx_strcmp(&value[n].data[10], "ff") == 0) { - lsopt.ipv6only = 0; + } else if (ngx_strcmp(&value[n].data[10], "ff") == 0) { + lsopt.ipv6only = 0; + + } else { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "invalid ipv6only flags \"%s\"", + &value[n].data[9]); + return NGX_CONF_ERROR; + } + + lsopt.set = 1; + lsopt.bind = 1; } else { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid ipv6only flags \"%s\"", - &value[n].data[9]); - return NGX_CONF_ERROR; + "ipv6only is not supported " + "on addr \"%s\", ignored", lsopt.addr); } - lsopt.set = 1; - lsopt.bind = 1; - continue; #else ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, @@ -4104,18 +4106,11 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - for (n = 0; n < u.naddrs; n++) { - lsopt.sockaddr = u.addrs[n].sockaddr; - lsopt.socklen = u.addrs[n].socklen; - lsopt.addr_text = u.addrs[n].name; - lsopt.wildcard = ngx_inet_wildcard(lsopt.sockaddr); - - if (ngx_http_add_listen(cf, cscf, &lsopt) != NGX_OK) { - return NGX_CONF_ERROR; - } + if (ngx_http_add_listen(cf, cscf, &lsopt) == NGX_OK) { + return NGX_CONF_OK; } - return NGX_CONF_OK; + return NGX_CONF_ERROR; } Renamed: vendor/nginx-1.15.8/src/http/ngx_http_core_module.h (+3 -2) 99% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http_core_module.h 2019-03-27 12:50:20 +0900 (85f6d66dc) +++ vendor/nginx-1.15.8/src/http/ngx_http_core_module.h 2019-03-27 13:17:47 +0900 (4c6da7c0f) @@ -65,9 +65,8 @@ typedef struct ngx_http_core_loc_conf_s ngx_http_core_loc_conf_t; typedef struct { - struct sockaddr *sockaddr; + ngx_sockaddr_t sockaddr; socklen_t socklen; - ngx_str_t addr_text; unsigned set:1; unsigned default_server:1; @@ -101,6 +100,8 @@ typedef struct { #if (NGX_HAVE_DEFERRED_ACCEPT && defined SO_ACCEPTFILTER) char *accept_filter; #endif + + u_char addr[NGX_SOCKADDR_STRLEN + 1]; } ngx_http_listen_opt_t; Renamed: vendor/nginx-1.15.8/src/http/ngx_http_file_cache.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_header_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_postpone_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_request.c (+34 -137) 97% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http_request.c 2019-03-27 12:50:20 +0900 (80c19656f) +++ vendor/nginx-1.15.8/src/http/ngx_http_request.c 2019-03-27 13:17:47 +0900 (7dd28b8c2) @@ -11,7 +11,6 @@ static void ngx_http_wait_request_handler(ngx_event_t *ev); -static ngx_http_request_t *ngx_http_alloc_request(ngx_connection_t *c); static void ngx_http_process_request_line(ngx_event_t *rev); static void ngx_http_process_request_headers(ngx_event_t *rev); static ssize_t ngx_http_read_request_header(ngx_http_request_t *r); @@ -504,45 +503,17 @@ ngx_http_wait_request_handler(ngx_event_t *rev) ngx_http_request_t * ngx_http_create_request(ngx_connection_t *c) { - ngx_http_request_t *r; - ngx_http_log_ctx_t *ctx; - ngx_http_core_loc_conf_t *clcf; - - r = ngx_http_alloc_request(c); - if (r == NULL) { - return NULL; - } - - c->requests++; - - clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); - - ngx_set_connection_log(c, clcf->error_log); - - ctx = c->log->data; - ctx->request = r; - ctx->current_request = r; - -#if (NGX_STAT_STUB) - (void) ngx_atomic_fetch_add(ngx_stat_reading, 1); - r->stat_reading = 1; - (void) ngx_atomic_fetch_add(ngx_stat_requests, 1); -#endif - - return r; -} - - -static ngx_http_request_t * -ngx_http_alloc_request(ngx_connection_t *c) -{ ngx_pool_t *pool; ngx_time_t *tp; ngx_http_request_t *r; + ngx_http_log_ctx_t *ctx; ngx_http_connection_t *hc; ngx_http_core_srv_conf_t *cscf; + ngx_http_core_loc_conf_t *clcf; ngx_http_core_main_conf_t *cmcf; + c->requests++; + hc = c->data; cscf = ngx_http_get_module_srv_conf(hc->conf_ctx, ngx_http_core_module); @@ -570,6 +541,10 @@ ngx_http_alloc_request(ngx_connection_t *c) r->read_event_handler = ngx_http_block_reading; + clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); + + ngx_set_connection_log(r->connection, clcf->error_log); + r->header_in = hc->busy ? hc->busy->buf : c->buffer; if (ngx_list_init(&r->headers_out.headers, r->pool, 20, @@ -629,8 +604,17 @@ ngx_http_alloc_request(ngx_connection_t *c) r->http_state = NGX_HTTP_READING_REQUEST_STATE; + ctx = c->log->data; + ctx->request = r; + ctx->current_request = r; r->log_handler = ngx_http_log_error_handler; +#if (NGX_STAT_STUB) + (void) ngx_atomic_fetch_add(ngx_stat_reading, 1); + r->stat_reading = 1; + (void) ngx_atomic_fetch_add(ngx_stat_requests, 1); +#endif + return r; } @@ -849,13 +833,11 @@ ngx_http_ssl_handshake_handler(ngx_connection_t *c) ngx_http_close_connection(c); } - #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME int ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg) { - ngx_int_t rc; ngx_str_t host; const char *servername; ngx_connection_t *c; @@ -864,17 +846,16 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg) ngx_http_core_loc_conf_t *clcf; ngx_http_core_srv_conf_t *cscf; - c = ngx_ssl_get_connection(ssl_conn); + servername = SSL_get_servername(ssl_conn, TLSEXT_NAMETYPE_host_name); - if (c->ssl->handshaked) { - *ad = SSL_AD_NO_RENEGOTIATION; - return SSL_TLSEXT_ERR_ALERT_FATAL; + if (servername == NULL) { + return SSL_TLSEXT_ERR_NOACK; } - servername = SSL_get_servername(ssl_conn, TLSEXT_NAMETYPE_host_name); + c = ngx_ssl_get_connection(ssl_conn); - if (servername == NULL) { - return SSL_TLSEXT_ERR_OK; + if (c->ssl->handshaked) { + return SSL_TLSEXT_ERR_NOACK; } ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, @@ -883,40 +864,27 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg) host.len = ngx_strlen(servername); if (host.len == 0) { - return SSL_TLSEXT_ERR_OK; + return SSL_TLSEXT_ERR_NOACK; } host.data = (u_char *) servername; - rc = ngx_http_validate_host(&host, c->pool, 1); - - if (rc == NGX_ERROR) { - *ad = SSL_AD_INTERNAL_ERROR; - return SSL_TLSEXT_ERR_ALERT_FATAL; - } - - if (rc == NGX_DECLINED) { - return SSL_TLSEXT_ERR_OK; + if (ngx_http_validate_host(&host, c->pool, 1) != NGX_OK) { + return SSL_TLSEXT_ERR_NOACK; } hc = c->data; - rc = ngx_http_find_virtual_server(c, hc->addr_conf->virtual_names, &host, - NULL, &cscf); - - if (rc == NGX_ERROR) { - *ad = SSL_AD_INTERNAL_ERROR; - return SSL_TLSEXT_ERR_ALERT_FATAL; - } - - if (rc == NGX_DECLINED) { - return SSL_TLSEXT_ERR_OK; + if (ngx_http_find_virtual_server(c, hc->addr_conf->virtual_names, &host, + NULL, &cscf) + != NGX_OK) + { + return SSL_TLSEXT_ERR_NOACK; } hc->ssl_servername = ngx_palloc(c->pool, sizeof(ngx_str_t)); if (hc->ssl_servername == NULL) { - *ad = SSL_AD_INTERNAL_ERROR; - return SSL_TLSEXT_ERR_ALERT_FATAL; + return SSL_TLSEXT_ERR_NOACK; } *hc->ssl_servername = host; @@ -962,75 +930,6 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg) #endif - -#ifdef SSL_R_CERT_CB_ERROR - -int -ngx_http_ssl_certificate(ngx_ssl_conn_t *ssl_conn, void *arg) -{ - ngx_str_t cert, key; - ngx_uint_t i, nelts; - ngx_connection_t *c; - ngx_http_request_t *r; - ngx_http_ssl_srv_conf_t *sscf; - ngx_http_complex_value_t *certs, *keys; - - c = ngx_ssl_get_connection(ssl_conn); - - if (c->ssl->handshaked) { - return 0; - } - - r = ngx_http_alloc_request(c); - if (r == NULL) { - return 0; - } - - r->logged = 1; - - sscf = arg; - - nelts = sscf->certificate_values->nelts; - certs = sscf->certificate_values->elts; - keys = sscf->certificate_key_values->elts; - - for (i = 0; i < nelts; i++) { - - if (ngx_http_complex_value(r, &certs[i], &cert) != NGX_OK) { - goto failed; - } - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, - "ssl cert: \"%s\"", cert.data); - - if (ngx_http_complex_value(r, &keys[i], &key) != NGX_OK) { - goto failed; - } - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, - "ssl key: \"%s\"", key.data); - - if (ngx_ssl_connection_certificate(c, r->pool, &cert, &key, - sscf->passwords) - != NGX_OK) - { - goto failed; - } - } - - ngx_http_free_request(r, 0); - c->destroyed = 0; - return 1; - -failed: - - ngx_http_free_request(r, 0); - c->destroyed = 0; - return 0; -} - -#endif - #endif @@ -3614,11 +3513,9 @@ ngx_http_free_request(ngx_http_request_t *r, ngx_int_t rc) r->headers_out.status = rc; } - if (!r->logged) { - log->action = "logging request"; + log->action = "logging request"; - ngx_http_log_request(r); - } + ngx_http_log_request(r); log->action = "closing request"; Renamed: vendor/nginx-1.15.8/src/http/ngx_http_request.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_request_body.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_script.c (+0 -28) 98% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http_script.c 2019-03-27 12:50:20 +0900 (415388904) +++ vendor/nginx-1.15.8/src/http/ngx_http_script.c 2019-03-27 13:17:47 +0900 (1a8773561) @@ -271,34 +271,6 @@ ngx_http_test_predicates(ngx_http_request_t *r, ngx_array_t *predicates) } -ngx_int_t -ngx_http_test_required_predicates(ngx_http_request_t *r, - ngx_array_t *predicates) -{ - ngx_str_t val; - ngx_uint_t i; - ngx_http_complex_value_t *cv; - - if (predicates == NULL) { - return NGX_OK; - } - - cv = predicates->elts; - - for (i = 0; i < predicates->nelts; i++) { - if (ngx_http_complex_value(r, &cv[i], &val) != NGX_OK) { - return NGX_ERROR; - } - - if (val.len == 0 || (val.len == 1 && val.data[0] == '0')) { - return NGX_DECLINED; - } - } - - return NGX_OK; -} - - char * ngx_http_set_predicate_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { Renamed: vendor/nginx-1.15.8/src/http/ngx_http_script.h (+0 -2) 98% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http_script.h 2019-03-27 12:50:20 +0900 (25bb6d73f) +++ vendor/nginx-1.15.8/src/http/ngx_http_script.h 2019-03-27 13:17:47 +0900 (a5116d747) @@ -214,8 +214,6 @@ char *ngx_http_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd, ngx_int_t ngx_http_test_predicates(ngx_http_request_t *r, ngx_array_t *predicates); -ngx_int_t ngx_http_test_required_predicates(ngx_http_request_t *r, - ngx_array_t *predicates); char *ngx_http_set_predicate_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); Renamed: vendor/nginx-1.15.8/src/http/ngx_http_special_response.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_upstream.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.15.10/src/http/ngx_http_upstream.c 2019-03-27 12:50:20 +0900 (a7391d09a) +++ vendor/nginx-1.15.8/src/http/ngx_http_upstream.c 2019-03-27 13:17:47 +0900 (907105571) @@ -850,7 +850,7 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u) ngx_http_file_cache_create_key(r); - if (r->cache->header_start + 256 > u->conf->buffer_size) { + if (r->cache->header_start + 256 >= u->conf->buffer_size) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "%V_buffer_size %uz is not enough for cache key, " "it should be increased to at least %uz", Renamed: vendor/nginx-1.15.8/src/http/ngx_http_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_variables.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_variables.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/ngx_http_write_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_huff_decode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_huff_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/http/v2/ngx_http_v2_table.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail.c (+36 -6) 91% =================================================================== --- vendor/nginx-1.15.10/src/mail/ngx_mail.c 2019-03-27 12:50:20 +0900 (f17c2ccc3) +++ vendor/nginx-1.15.8/src/mail/ngx_mail.c 2019-03-27 13:17:47 +0900 (5fd5fa00c) @@ -231,7 +231,7 @@ ngx_mail_add_ports(ngx_conf_t *cf, ngx_array_t *ports, ngx_mail_conf_port_t *port; ngx_mail_conf_addr_t *addr; - sa = listen->sockaddr; + sa = &listen->sockaddr.sockaddr; p = ngx_inet_get_port(sa); port = ports->elts; @@ -316,7 +316,7 @@ ngx_mail_optimize_servers(ngx_conf_t *cf, ngx_array_t *ports) continue; } - ls = ngx_create_listening(cf, addr[i].opt.sockaddr, + ls = ngx_create_listening(cf, &addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen); if (ls == NULL) { return NGX_CONF_ERROR; @@ -384,9 +384,12 @@ static ngx_int_t ngx_mail_add_addrs(ngx_conf_t *cf, ngx_mail_port_t *mport, ngx_mail_conf_addr_t *addr) { + u_char *p; + size_t len; ngx_uint_t i; ngx_mail_in_addr_t *addrs; struct sockaddr_in *sin; + u_char buf[NGX_SOCKADDR_STRLEN]; mport->addrs = ngx_pcalloc(cf->pool, mport->naddrs * sizeof(ngx_mail_in_addr_t)); @@ -398,14 +401,26 @@ ngx_mail_add_addrs(ngx_conf_t *cf, ngx_mail_port_t *mport, for (i = 0; i < mport->naddrs; i++) { - sin = (struct sockaddr_in *) addr[i].opt.sockaddr; + sin = &addr[i].opt.sockaddr.sockaddr_in; addrs[i].addr = sin->sin_addr.s_addr; addrs[i].conf.ctx = addr[i].opt.ctx; #if (NGX_MAIL_SSL) addrs[i].conf.ssl = addr[i].opt.ssl; #endif - addrs[i].conf.addr_text = addr[i].opt.addr_text; + + len = ngx_sock_ntop(&addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen, + buf, NGX_SOCKADDR_STRLEN, 1); + + p = ngx_pnalloc(cf->pool, len); + if (p == NULL) { + return NGX_ERROR; + } + + ngx_memcpy(p, buf, len); + + addrs[i].conf.addr_text.len = len; + addrs[i].conf.addr_text.data = p; } return NGX_OK; @@ -418,9 +433,12 @@ static ngx_int_t ngx_mail_add_addrs6(ngx_conf_t *cf, ngx_mail_port_t *mport, ngx_mail_conf_addr_t *addr) { + u_char *p; + size_t len; ngx_uint_t i; ngx_mail_in6_addr_t *addrs6; struct sockaddr_in6 *sin6; + u_char buf[NGX_SOCKADDR_STRLEN]; mport->addrs = ngx_pcalloc(cf->pool, mport->naddrs * sizeof(ngx_mail_in6_addr_t)); @@ -432,14 +450,26 @@ ngx_mail_add_addrs6(ngx_conf_t *cf, ngx_mail_port_t *mport, for (i = 0; i < mport->naddrs; i++) { - sin6 = (struct sockaddr_in6 *) addr[i].opt.sockaddr; + sin6 = &addr[i].opt.sockaddr.sockaddr_in6; addrs6[i].addr6 = sin6->sin6_addr; addrs6[i].conf.ctx = addr[i].opt.ctx; #if (NGX_MAIL_SSL) addrs6[i].conf.ssl = addr[i].opt.ssl; #endif - addrs6[i].conf.addr_text = addr[i].opt.addr_text; + + len = ngx_sock_ntop(&addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen, + buf, NGX_SOCKADDR_STRLEN, 1); + + p = ngx_pnalloc(cf->pool, len); + if (p == NULL) { + return NGX_ERROR; + } + + ngx_memcpy(p, buf, len); + + addrs6[i].conf.addr_text.len = len; + addrs6[i].conf.addr_text.data = p; } return NGX_OK; Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail.h (+1 -2) 99% =================================================================== --- vendor/nginx-1.15.10/src/mail/ngx_mail.h 2019-03-27 12:50:20 +0900 (d904f25f1) +++ vendor/nginx-1.15.8/src/mail/ngx_mail.h 2019-03-27 13:17:47 +0900 (6ecfefc98) @@ -27,9 +27,8 @@ typedef struct { typedef struct { - struct sockaddr *sockaddr; + ngx_sockaddr_t sockaddr; socklen_t socklen; - ngx_str_t addr_text; /* server ctx */ ngx_mail_conf_ctx_t *ctx; Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_auth_http_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_core_module.c (+46 -37) 91% =================================================================== --- vendor/nginx-1.15.10/src/mail/ngx_mail_core_module.c 2019-03-27 12:50:20 +0900 (e16d70238) +++ vendor/nginx-1.15.8/src/mail/ngx_mail_core_module.c 2019-03-27 13:17:47 +0900 (dd4e9802b) @@ -297,8 +297,8 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_str_t *value, size; ngx_url_t u; - ngx_uint_t i, n, m; - ngx_mail_listen_t *ls, *als; + ngx_uint_t i, m; + ngx_mail_listen_t *ls; ngx_mail_module_t *module; ngx_mail_core_main_conf_t *cmcf; @@ -323,16 +323,36 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) cmcf = ngx_mail_conf_get_module_main_conf(cf, ngx_mail_core_module); - ls = ngx_array_push_n(&cmcf->listen, u.naddrs); + ls = cmcf->listen.elts; + + for (i = 0; i < cmcf->listen.nelts; i++) { + + if (ngx_cmp_sockaddr(&ls[i].sockaddr.sockaddr, ls[i].socklen, + (struct sockaddr *) &u.sockaddr, u.socklen, 1) + != NGX_OK) + { + continue; + } + + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "duplicate \"%V\" address and port pair", &u.url); + return NGX_CONF_ERROR; + } + + ls = ngx_array_push(&cmcf->listen); if (ls == NULL) { return NGX_CONF_ERROR; } ngx_memzero(ls, sizeof(ngx_mail_listen_t)); + ngx_memcpy(&ls->sockaddr.sockaddr, &u.sockaddr, u.socklen); + + ls->socklen = u.socklen; ls->backlog = NGX_LISTEN_BACKLOG; ls->rcvbuf = -1; ls->sndbuf = -1; + ls->wildcard = u.wildcard; ls->ctx = cf->ctx; #if (NGX_HAVE_INET6) @@ -414,20 +434,35 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_strncmp(value[i].data, "ipv6only=o", 10) == 0) { #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) - if (ngx_strcmp(&value[i].data[10], "n") == 0) { - ls->ipv6only = 1; + size_t len; + u_char buf[NGX_SOCKADDR_STRLEN]; + + if (ls->sockaddr.sockaddr.sa_family == AF_INET6) { + + if (ngx_strcmp(&value[i].data[10], "n") == 0) { + ls->ipv6only = 1; + + } else if (ngx_strcmp(&value[i].data[10], "ff") == 0) { + ls->ipv6only = 0; + + } else { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "invalid ipv6only flags \"%s\"", + &value[i].data[9]); + return NGX_CONF_ERROR; + } - } else if (ngx_strcmp(&value[i].data[10], "ff") == 0) { - ls->ipv6only = 0; + ls->bind = 1; } else { + len = ngx_sock_ntop(&ls->sockaddr.sockaddr, ls->socklen, buf, + NGX_SOCKADDR_STRLEN, 1); + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid ipv6only flags \"%s\"", - &value[i].data[9]); - return NGX_CONF_ERROR; + "ipv6only is not supported " + "on addr \"%*s\", ignored", len, buf); } - ls->bind = 1; continue; #else ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, @@ -553,32 +588,6 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - als = cmcf->listen.elts; - - for (n = 0; n < u.naddrs; n++) { - ls[n] = ls[0]; - - ls[n].sockaddr = u.addrs[n].sockaddr; - ls[n].socklen = u.addrs[n].socklen; - ls[n].addr_text = u.addrs[n].name; - ls[n].wildcard = ngx_inet_wildcard(ls[n].sockaddr); - - for (i = 0; i < cmcf->listen.nelts - u.naddrs + n; i++) { - - if (ngx_cmp_sockaddr(als[i].sockaddr, als[i].socklen, - ls[n].sockaddr, ls[n].socklen, 1) - != NGX_OK) - { - continue; - } - - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "duplicate \"%V\" address and port pair", - &ls[n].addr_text); - return NGX_CONF_ERROR; - } - } - return NGX_CONF_OK; } Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_imap_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_imap_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_imap_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_pop3_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_pop3_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_pop3_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_smtp_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_smtp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_smtp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_ssl_module.c (+1 -2) 99% =================================================================== --- vendor/nginx-1.15.10/src/mail/ngx_mail_ssl_module.c 2019-03-27 12:50:20 +0900 (5544f7522) +++ vendor/nginx-1.15.8/src/mail/ngx_mail_ssl_module.c 2019-03-27 13:17:47 +0900 (45095979e) @@ -370,7 +370,6 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { - ngx_ssl_cleanup_ctx(&conf->ssl); return NGX_CONF_ERROR; } @@ -436,7 +435,7 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) } if (ngx_ssl_session_cache(&conf->ssl, &ngx_mail_ssl_sess_id_ctx, - conf->certificates, conf->builtin_session_cache, + conf->builtin_session_cache, conf->shm_zone, conf->session_timeout) != NGX_OK) { Renamed: vendor/nginx-1.15.8/src/mail/ngx_mail_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/misc/ngx_cpp_test_module.cpp (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/misc/ngx_google_perftools_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_channel.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_channel.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_daemon.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_darwin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_darwin_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_darwin_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_darwin_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_file_aio_read.c (+1 -1) 98% =================================================================== --- vendor/nginx-1.15.10/src/os/unix/ngx_file_aio_read.c 2019-03-27 12:50:20 +0900 (bb60ee824) +++ vendor/nginx-1.15.8/src/os/unix/ngx_file_aio_read.c 2019-03-27 13:17:47 +0900 (aedc3c90c) @@ -110,7 +110,7 @@ ngx_file_aio_read(ngx_file_t *file, u_char *buf, size_t size, off_t offset, #if (NGX_HAVE_KQUEUE) aio->aiocb.aio_sigevent.sigev_notify_kqueue = ngx_kqueue; aio->aiocb.aio_sigevent.sigev_notify = SIGEV_KEVENT; - aio->aiocb.aio_sigevent.sigev_value.sival_ptr = ev; + aio->aiocb.aio_sigevent.sigev_value.sigval_ptr = ev; #endif ev->handler = ngx_file_aio_event_handler; Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_freebsd.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_config.h (+0 -6) 95% =================================================================== --- vendor/nginx-1.15.10/src/os/unix/ngx_freebsd_config.h 2019-03-27 12:50:20 +0900 (c641108b7) +++ vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_config.h 2019-03-27 13:17:47 +0900 (b7da48cb1) @@ -89,14 +89,8 @@ #if (NGX_HAVE_FILE_AIO) - #include <aio.h> typedef struct aiocb ngx_aiocb_t; - -#if (__FreeBSD_version < 700005 && !defined __DragonFly__) -#define sival_ptr sigval_ptr -#endif - #endif Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_freebsd_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_amd64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_ppc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_gcc_atomic_x86.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_linux.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_linux_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_linux_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_linux_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_linux_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_posix_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_posix_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_readv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_setaffinity.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_setaffinity.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_setproctitle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_setproctitle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_solaris.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_solaris_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_solaris_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_solaris_sendfilev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_amd64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_sparc64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_sunpro_x86.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_thread_cond.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_thread_id.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_thread_mutex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_udp_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_udp_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_udp_sendmsg_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/unix/ngx_writev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/nginx.ico (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/nginx.rc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/nginx_icon16.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/nginx_icon32.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/nginx_icon48.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_event_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_service.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_socket.h (+0 -43) 85% =================================================================== --- vendor/nginx-1.15.10/src/os/win32/ngx_socket.h 2019-03-27 12:50:20 +0900 (f8a453d56) +++ vendor/nginx-1.15.8/src/os/win32/ngx_socket.h 2019-03-27 13:17:47 +0900 (a9e26c295) @@ -200,49 +200,6 @@ extern LPFN_CONNECTEX ngx_connectex; extern LPFN_DISCONNECTEX ngx_disconnectex; -#if (NGX_HAVE_POLL && !defined POLLIN) - -/* - * WSAPoll() is only available if _WIN32_WINNT >= 0x0600. - * If it is not available during compilation, we try to - * load it dynamically at runtime. - */ - -#define NGX_LOAD_WSAPOLL 1 - -#define POLLRDNORM 0x0100 -#define POLLRDBAND 0x0200 -#define POLLIN (POLLRDNORM | POLLRDBAND) -#define POLLPRI 0x0400 - -#define POLLWRNORM 0x0010 -#define POLLOUT (POLLWRNORM) -#define POLLWRBAND 0x0020 - -#define POLLERR 0x0001 -#define POLLHUP 0x0002 -#define POLLNVAL 0x0004 - -typedef struct pollfd { - - SOCKET fd; - SHORT events; - SHORT revents; - -} WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD; - -typedef int (WSAAPI *ngx_wsapoll_pt)( - LPWSAPOLLFD fdArray, - ULONG fds, - INT timeout - ); - -extern ngx_wsapoll_pt WSAPoll; -extern ngx_uint_t ngx_have_wsapoll; - -#endif - - int ngx_tcp_push(ngx_socket_t s); #define ngx_tcp_push_n "tcp_push()" Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_stat.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_thread.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_udp_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_win32_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_win32_init.c (+0 -32) 92% =================================================================== --- vendor/nginx-1.15.10/src/os/win32/ngx_win32_init.c 2019-03-27 12:50:20 +0900 (70bee8ef4) +++ vendor/nginx-1.15.8/src/os/win32/ngx_win32_init.c 2019-03-27 13:17:47 +0900 (ec9b51efa) @@ -58,12 +58,6 @@ static GUID cx_guid = WSAID_CONNECTEX; static GUID dx_guid = WSAID_DISCONNECTEX; -#if (NGX_LOAD_WSAPOLL) -ngx_wsapoll_pt WSAPoll; -ngx_uint_t ngx_have_wsapoll; -#endif - - ngx_int_t ngx_os_init(ngx_log_t *log) { @@ -229,32 +223,6 @@ ngx_os_init(ngx_log_t *log) ngx_close_socket_n " failed"); } -#if (NGX_LOAD_WSAPOLL) - { - HMODULE hmod; - - hmod = GetModuleHandle("ws2_32.dll"); - if (hmod == NULL) { - ngx_log_error(NGX_LOG_NOTICE, log, ngx_errno, - "GetModuleHandle(\"ws2_32.dll\") failed"); - goto nopoll; - } - - WSAPoll = (ngx_wsapoll_pt) GetProcAddress(hmod, "WSAPoll"); - if (WSAPoll == NULL) { - ngx_log_error(NGX_LOG_NOTICE, log, ngx_errno, - "GetProcAddress(\"WSAPoll\") failed"); - goto nopoll; - } - - ngx_have_wsapoll = 1; - - } - -nopoll: - -#endif - if (GetEnvironmentVariable("ngx_unique", ngx_unique, NGX_INT32_LEN + 1) != 0) { Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_wsarecv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_wsasend.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/os/win32/ngx_wsasend_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream.c (+36 -6) 93% =================================================================== --- vendor/nginx-1.15.10/src/stream/ngx_stream.c 2019-03-27 12:50:20 +0900 (78356754e) +++ vendor/nginx-1.15.8/src/stream/ngx_stream.c 2019-03-27 13:17:47 +0900 (4abe387e8) @@ -387,7 +387,7 @@ ngx_stream_add_ports(ngx_conf_t *cf, ngx_array_t *ports, ngx_stream_conf_port_t *port; ngx_stream_conf_addr_t *addr; - sa = listen->sockaddr; + sa = &listen->sockaddr.sockaddr; p = ngx_inet_get_port(sa); port = ports->elts; @@ -476,7 +476,7 @@ ngx_stream_optimize_servers(ngx_conf_t *cf, ngx_array_t *ports) continue; } - ls = ngx_create_listening(cf, addr[i].opt.sockaddr, + ls = ngx_create_listening(cf, &addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen); if (ls == NULL) { return NGX_CONF_ERROR; @@ -551,9 +551,12 @@ static ngx_int_t ngx_stream_add_addrs(ngx_conf_t *cf, ngx_stream_port_t *stport, ngx_stream_conf_addr_t *addr) { + u_char *p; + size_t len; ngx_uint_t i; struct sockaddr_in *sin; ngx_stream_in_addr_t *addrs; + u_char buf[NGX_SOCKADDR_STRLEN]; stport->addrs = ngx_pcalloc(cf->pool, stport->naddrs * sizeof(ngx_stream_in_addr_t)); @@ -565,7 +568,7 @@ ngx_stream_add_addrs(ngx_conf_t *cf, ngx_stream_port_t *stport, for (i = 0; i < stport->naddrs; i++) { - sin = (struct sockaddr_in *) addr[i].opt.sockaddr; + sin = &addr[i].opt.sockaddr.sockaddr_in; addrs[i].addr = sin->sin_addr.s_addr; addrs[i].conf.ctx = addr[i].opt.ctx; @@ -573,7 +576,19 @@ ngx_stream_add_addrs(ngx_conf_t *cf, ngx_stream_port_t *stport, addrs[i].conf.ssl = addr[i].opt.ssl; #endif addrs[i].conf.proxy_protocol = addr[i].opt.proxy_protocol; - addrs[i].conf.addr_text = addr[i].opt.addr_text; + + len = ngx_sock_ntop(&addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen, + buf, NGX_SOCKADDR_STRLEN, 1); + + p = ngx_pnalloc(cf->pool, len); + if (p == NULL) { + return NGX_ERROR; + } + + ngx_memcpy(p, buf, len); + + addrs[i].conf.addr_text.len = len; + addrs[i].conf.addr_text.data = p; } return NGX_OK; @@ -586,9 +601,12 @@ static ngx_int_t ngx_stream_add_addrs6(ngx_conf_t *cf, ngx_stream_port_t *stport, ngx_stream_conf_addr_t *addr) { + u_char *p; + size_t len; ngx_uint_t i; struct sockaddr_in6 *sin6; ngx_stream_in6_addr_t *addrs6; + u_char buf[NGX_SOCKADDR_STRLEN]; stport->addrs = ngx_pcalloc(cf->pool, stport->naddrs * sizeof(ngx_stream_in6_addr_t)); @@ -600,7 +618,7 @@ ngx_stream_add_addrs6(ngx_conf_t *cf, ngx_stream_port_t *stport, for (i = 0; i < stport->naddrs; i++) { - sin6 = (struct sockaddr_in6 *) addr[i].opt.sockaddr; + sin6 = &addr[i].opt.sockaddr.sockaddr_in6; addrs6[i].addr6 = sin6->sin6_addr; addrs6[i].conf.ctx = addr[i].opt.ctx; @@ -608,7 +626,19 @@ ngx_stream_add_addrs6(ngx_conf_t *cf, ngx_stream_port_t *stport, addrs6[i].conf.ssl = addr[i].opt.ssl; #endif addrs6[i].conf.proxy_protocol = addr[i].opt.proxy_protocol; - addrs6[i].conf.addr_text = addr[i].opt.addr_text; + + len = ngx_sock_ntop(&addr[i].opt.sockaddr.sockaddr, addr[i].opt.socklen, + buf, NGX_SOCKADDR_STRLEN, 1); + + p = ngx_pnalloc(cf->pool, len); + if (p == NULL) { + return NGX_ERROR; + } + + ngx_memcpy(p, buf, len); + + addrs6[i].conf.addr_text.len = len; + addrs6[i].conf.addr_text.data = p; } return NGX_OK; Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream.h (+1 -2) 99% =================================================================== --- vendor/nginx-1.15.10/src/stream/ngx_stream.h 2019-03-27 12:50:20 +0900 (57e73e046) +++ vendor/nginx-1.15.8/src/stream/ngx_stream.h 2019-03-27 13:17:47 +0900 (09d245939) @@ -41,9 +41,8 @@ typedef struct { typedef struct { - struct sockaddr *sockaddr; + ngx_sockaddr_t sockaddr; socklen_t socklen; - ngx_str_t addr_text; /* server ctx */ ngx_stream_conf_ctx_t *ctx; Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_core_module.c (+42 -33) 93% =================================================================== --- vendor/nginx-1.15.10/src/stream/ngx_stream_core_module.c 2019-03-27 12:50:20 +0900 (9b6afe974) +++ vendor/nginx-1.15.8/src/stream/ngx_stream_core_module.c 2019-03-27 13:17:47 +0900 (3c4027b77) @@ -577,7 +577,7 @@ ngx_stream_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_str_t *value, size; ngx_url_t u; - ngx_uint_t i, n, backlog; + ngx_uint_t i, backlog; ngx_stream_listen_t *ls, *als; ngx_stream_core_main_conf_t *cmcf; @@ -602,17 +602,21 @@ ngx_stream_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) cmcf = ngx_stream_conf_get_module_main_conf(cf, ngx_stream_core_module); - ls = ngx_array_push_n(&cmcf->listen, u.naddrs); + ls = ngx_array_push(&cmcf->listen); if (ls == NULL) { return NGX_CONF_ERROR; } ngx_memzero(ls, sizeof(ngx_stream_listen_t)); + ngx_memcpy(&ls->sockaddr.sockaddr, &u.sockaddr, u.socklen); + + ls->socklen = u.socklen; ls->backlog = NGX_LISTEN_BACKLOG; ls->rcvbuf = -1; ls->sndbuf = -1; ls->type = SOCK_STREAM; + ls->wildcard = u.wildcard; ls->ctx = cf->ctx; #if (NGX_HAVE_INET6) @@ -684,20 +688,35 @@ ngx_stream_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_strncmp(value[i].data, "ipv6only=o", 10) == 0) { #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) - if (ngx_strcmp(&value[i].data[10], "n") == 0) { - ls->ipv6only = 1; + size_t len; + u_char buf[NGX_SOCKADDR_STRLEN]; + + if (ls->sockaddr.sockaddr.sa_family == AF_INET6) { + + if (ngx_strcmp(&value[i].data[10], "n") == 0) { + ls->ipv6only = 1; + + } else if (ngx_strcmp(&value[i].data[10], "ff") == 0) { + ls->ipv6only = 0; + + } else { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "invalid ipv6only flags \"%s\"", + &value[i].data[9]); + return NGX_CONF_ERROR; + } - } else if (ngx_strcmp(&value[i].data[10], "ff") == 0) { - ls->ipv6only = 0; + ls->bind = 1; } else { + len = ngx_sock_ntop(&ls->sockaddr.sockaddr, ls->socklen, buf, + NGX_SOCKADDR_STRLEN, 1); + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid ipv6only flags \"%s\"", - &value[i].data[9]); - return NGX_CONF_ERROR; + "ipv6only is not supported " + "on addr \"%*s\", ignored", len, buf); } - ls->bind = 1; continue; #else ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, @@ -863,31 +882,21 @@ ngx_stream_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) als = cmcf->listen.elts; - for (n = 0; n < u.naddrs; n++) { - ls[n] = ls[0]; - - ls[n].sockaddr = u.addrs[n].sockaddr; - ls[n].socklen = u.addrs[n].socklen; - ls[n].addr_text = u.addrs[n].name; - ls[n].wildcard = ngx_inet_wildcard(ls[n].sockaddr); - - for (i = 0; i < cmcf->listen.nelts - u.naddrs + n; i++) { - if (ls[n].type != als[i].type) { - continue; - } - - if (ngx_cmp_sockaddr(als[i].sockaddr, als[i].socklen, - ls[n].sockaddr, ls[n].socklen, 1) - != NGX_OK) - { - continue; - } + for (i = 0; i < cmcf->listen.nelts - 1; i++) { + if (ls->type != als[i].type) { + continue; + } - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "duplicate \"%V\" address and port pair", - &ls[n].addr_text); - return NGX_CONF_ERROR; + if (ngx_cmp_sockaddr(&als[i].sockaddr.sockaddr, als[i].socklen, + &ls->sockaddr.sockaddr, ls->socklen, 1) + != NGX_OK) + { + continue; } + + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "duplicate \"%V\" address and port pair", &u.url); + return NGX_CONF_ERROR; } return NGX_CONF_OK; Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_proxy_module.c (+3 -4) 99% =================================================================== --- vendor/nginx-1.15.10/src/stream/ngx_stream_proxy_module.c 2019-03-27 12:50:20 +0900 (127c8a4a4) +++ vendor/nginx-1.15.8/src/stream/ngx_stream_proxy_module.c 2019-03-27 13:17:47 +0900 (094931355) @@ -1593,7 +1593,7 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, break; } - if (c->type == SOCK_STREAM && (off_t) size > limit) { + if ((off_t) size > limit) { size = (size_t) limit; } } @@ -1667,13 +1667,13 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, flags = src->read->eof ? NGX_CLOSE_EVENT : 0; - if (ngx_handle_read_event(src->read, flags) != NGX_OK) { + if (!src->shared && ngx_handle_read_event(src->read, flags) != NGX_OK) { ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR); return; } if (dst) { - if (ngx_handle_write_event(dst->write, 0) != NGX_OK) { + if (!dst->shared && ngx_handle_write_event(dst->write, 0) != NGX_OK) { ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR); return; } @@ -2096,7 +2096,6 @@ ngx_stream_proxy_set_ssl(ngx_conf_t *cf, ngx_stream_proxy_srv_conf_t *pscf) cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { - ngx_ssl_cleanup_ctx(pscf->ssl); return NGX_ERROR; } Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_return_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_module.c (+5 -197) 83% =================================================================== --- vendor/nginx-1.15.10/src/stream/ngx_stream_ssl_module.c 2019-03-27 12:50:20 +0900 (ec9524e07) +++ vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_module.c 2019-03-27 13:17:47 +0900 (dcc33e1ce) @@ -22,12 +22,6 @@ static ngx_int_t ngx_stream_ssl_handler(ngx_stream_session_t *s); static ngx_int_t ngx_stream_ssl_init_connection(ngx_ssl_t *ssl, ngx_connection_t *c); static void ngx_stream_ssl_handshake_handler(ngx_connection_t *c); -#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME -int ngx_stream_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg); -#endif -#ifdef SSL_R_CERT_CB_ERROR -static int ngx_stream_ssl_certificate(ngx_ssl_conn_t *ssl_conn, void *arg); -#endif static ngx_int_t ngx_stream_ssl_static_variable(ngx_stream_session_t *s, ngx_stream_variable_value_t *v, uintptr_t data); static ngx_int_t ngx_stream_ssl_variable(ngx_stream_session_t *s, @@ -38,9 +32,6 @@ static void *ngx_stream_ssl_create_conf(ngx_conf_t *cf); static char *ngx_stream_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child); -static ngx_int_t ngx_stream_ssl_compile_certificates(ngx_conf_t *cf, - ngx_stream_ssl_conf_t *conf); - static char *ngx_stream_ssl_password_file(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); static char *ngx_stream_ssl_session_cache(ngx_conf_t *cf, ngx_command_t *cmd, @@ -417,73 +408,6 @@ ngx_stream_ssl_handshake_handler(ngx_connection_t *c) } -#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME - -int -ngx_stream_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg) -{ - return SSL_TLSEXT_ERR_OK; -} - -#endif - - -#ifdef SSL_R_CERT_CB_ERROR - -int -ngx_stream_ssl_certificate(ngx_ssl_conn_t *ssl_conn, void *arg) -{ - ngx_str_t cert, key; - ngx_uint_t i, nelts; - ngx_connection_t *c; - ngx_stream_session_t *s; - ngx_stream_ssl_conf_t *sslcf; - ngx_stream_complex_value_t *certs, *keys; - - c = ngx_ssl_get_connection(ssl_conn); - - if (c->ssl->handshaked) { - return 0; - } - - s = c->data; - - sslcf = arg; - - nelts = sslcf->certificate_values->nelts; - certs = sslcf->certificate_values->elts; - keys = sslcf->certificate_key_values->elts; - - for (i = 0; i < nelts; i++) { - - if (ngx_stream_complex_value(s, &certs[i], &cert) != NGX_OK) { - return 0; - } - - ngx_log_debug1(NGX_LOG_DEBUG_STREAM, c->log, 0, - "ssl cert: \"%s\"", cert.data); - - if (ngx_stream_complex_value(s, &keys[i], &key) != NGX_OK) { - return 0; - } - - ngx_log_debug1(NGX_LOG_DEBUG_STREAM, c->log, 0, - "ssl key: \"%s\"", key.data); - - if (ngx_ssl_connection_certificate(c, c->pool, &cert, &key, - sslcf->passwords) - != NGX_OK) - { - return 0; - } - } - - return 1; -} - -#endif - - static ngx_int_t ngx_stream_ssl_static_variable(ngx_stream_session_t *s, ngx_stream_variable_value_t *v, uintptr_t data) @@ -581,7 +505,6 @@ ngx_stream_ssl_create_conf(ngx_conf_t *cf) * * scf->listen = 0; * scf->protocols = 0; - * scf->certificate_values = NULL; * scf->dhparam = { 0, NULL }; * scf->ecdh_curve = { 0, NULL }; * scf->client_certificate = { 0, NULL }; @@ -690,50 +613,19 @@ ngx_stream_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { - ngx_ssl_cleanup_ctx(&conf->ssl); return NGX_CONF_ERROR; } cln->handler = ngx_ssl_cleanup_ctx; cln->data = &conf->ssl; -#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME - SSL_CTX_set_tlsext_servername_callback(conf->ssl.ctx, - ngx_stream_ssl_servername); -#endif - - if (ngx_stream_ssl_compile_certificates(cf, conf) != NGX_OK) { + if (ngx_ssl_certificates(cf, &conf->ssl, conf->certificates, + conf->certificate_keys, conf->passwords) + != NGX_OK) + { return NGX_CONF_ERROR; } - if (conf->certificate_values) { - -#ifdef SSL_R_CERT_CB_ERROR - - /* install callback to lookup certificates */ - - SSL_CTX_set_cert_cb(conf->ssl.ctx, ngx_stream_ssl_certificate, conf); - -#else - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "variables in " - "\"ssl_certificate\" and \"ssl_certificate_key\" " - "directives are not supported on this platform"); - return NGX_CONF_ERROR; -#endif - - } else { - - /* configure certificates */ - - if (ngx_ssl_certificates(cf, &conf->ssl, conf->certificates, - conf->certificate_keys, conf->passwords) - != NGX_OK) - { - return NGX_CONF_ERROR; - } - } - if (ngx_ssl_ciphers(cf, &conf->ssl, &conf->ciphers, conf->prefer_server_ciphers) != NGX_OK) @@ -786,7 +678,7 @@ ngx_stream_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) } if (ngx_ssl_session_cache(&conf->ssl, &ngx_stream_ssl_sess_id_ctx, - conf->certificates, conf->builtin_session_cache, + conf->builtin_session_cache, conf->shm_zone, conf->session_timeout) != NGX_OK) { @@ -815,90 +707,6 @@ ngx_stream_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) } -static ngx_int_t -ngx_stream_ssl_compile_certificates(ngx_conf_t *cf, - ngx_stream_ssl_conf_t *conf) -{ - ngx_str_t *cert, *key; - ngx_uint_t i, nelts; - ngx_stream_complex_value_t *cv; - ngx_stream_compile_complex_value_t ccv; - - cert = conf->certificates->elts; - key = conf->certificate_keys->elts; - nelts = conf->certificates->nelts; - - for (i = 0; i < nelts; i++) { - - if (ngx_stream_script_variables_count(&cert[i])) { - goto found; - } - - if (ngx_stream_script_variables_count(&key[i])) { - goto found; - } - } - - return NGX_OK; - -found: - - conf->certificate_values = ngx_array_create(cf->pool, nelts, - sizeof(ngx_stream_complex_value_t)); - if (conf->certificate_values == NULL) { - return NGX_ERROR; - } - - conf->certificate_key_values = ngx_array_create(cf->pool, nelts, - sizeof(ngx_stream_complex_value_t)); - if (conf->certificate_key_values == NULL) { - return NGX_ERROR; - } - - for (i = 0; i < nelts; i++) { - - cv = ngx_array_push(conf->certificate_values); - if (cv == NULL) { - return NGX_ERROR; - } - - ngx_memzero(&ccv, sizeof(ngx_stream_compile_complex_value_t)); - - ccv.cf = cf; - ccv.value = &cert[i]; - ccv.complex_value = cv; - ccv.zero = 1; - - if (ngx_stream_compile_complex_value(&ccv) != NGX_OK) { - return NGX_ERROR; - } - - cv = ngx_array_push(conf->certificate_key_values); - if (cv == NULL) { - return NGX_ERROR; - } - - ngx_memzero(&ccv, sizeof(ngx_stream_compile_complex_value_t)); - - ccv.cf = cf; - ccv.value = &key[i]; - ccv.complex_value = cv; - ccv.zero = 1; - - if (ngx_stream_compile_complex_value(&ccv) != NGX_OK) { - return NGX_ERROR; - } - } - - conf->passwords = ngx_ssl_preserve_passwords(cf, conf->passwords); - if (conf->passwords == NULL) { - return NGX_ERROR; - } - - return NGX_OK; -} - - static char * ngx_stream_ssl_password_file(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_module.h (+0 -3) 92% =================================================================== --- vendor/nginx-1.15.10/src/stream/ngx_stream_ssl_module.h 2019-03-27 12:50:20 +0900 (6cb4140a8) +++ vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_module.h 2019-03-27 13:17:47 +0900 (9f8f01cf1) @@ -34,9 +34,6 @@ typedef struct { ngx_array_t *certificates; ngx_array_t *certificate_keys; - ngx_array_t *certificate_values; - ngx_array_t *certificate_key_values; - ngx_str_t dhparam; ngx_str_t ecdh_curve; ngx_str_t client_certificate; Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_ssl_preread_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_random_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_variables.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_variables.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.8/src/stream/ngx_stream_write_filter_module.c (+0 -0) 100% ===================================================================