Kentaro Hayashi
null+****@clear*****
Mon Jun 25 12:23:48 JST 2018
Kentaro Hayashi 2018-06-25 12:23:48 +0900 (Mon, 25 Jun 2018) New Revision: 6d9ff52ef9206a4f4e6b5ea8e336500344f27680 https://github.com/groonga/groonga/commit/6d9ff52ef9206a4f4e6b5ea8e336500344f27680 Message: Update nginx version % ./update_nginx.sh 1.15.0 Added files: vendor/nginx-1.15.0/src/event/ngx_event_udp.c Modified files: nginx_version Renamed files: vendor/nginx-1.15.0/auto/cc/acc (from vendor/nginx-1.14.0/auto/cc/acc) vendor/nginx-1.15.0/auto/cc/bcc (from vendor/nginx-1.14.0/auto/cc/bcc) vendor/nginx-1.15.0/auto/cc/ccc (from vendor/nginx-1.14.0/auto/cc/ccc) vendor/nginx-1.15.0/auto/cc/clang (from vendor/nginx-1.14.0/auto/cc/clang) vendor/nginx-1.15.0/auto/cc/conf (from vendor/nginx-1.14.0/auto/cc/conf) vendor/nginx-1.15.0/auto/cc/gcc (from vendor/nginx-1.14.0/auto/cc/gcc) vendor/nginx-1.15.0/auto/cc/icc (from vendor/nginx-1.14.0/auto/cc/icc) vendor/nginx-1.15.0/auto/cc/msvc (from vendor/nginx-1.14.0/auto/cc/msvc) vendor/nginx-1.15.0/auto/cc/name (from vendor/nginx-1.14.0/auto/cc/name) vendor/nginx-1.15.0/auto/cc/owc (from vendor/nginx-1.14.0/auto/cc/owc) vendor/nginx-1.15.0/auto/cc/sunc (from vendor/nginx-1.14.0/auto/cc/sunc) vendor/nginx-1.15.0/auto/configure (from vendor/nginx-1.14.0/auto/configure) vendor/nginx-1.15.0/auto/define (from vendor/nginx-1.14.0/auto/define) vendor/nginx-1.15.0/auto/endianness (from vendor/nginx-1.14.0/auto/endianness) vendor/nginx-1.15.0/auto/feature (from vendor/nginx-1.14.0/auto/feature) vendor/nginx-1.15.0/auto/have (from vendor/nginx-1.14.0/auto/have) vendor/nginx-1.15.0/auto/have_headers (from vendor/nginx-1.14.0/auto/have_headers) vendor/nginx-1.15.0/auto/headers (from vendor/nginx-1.14.0/auto/headers) vendor/nginx-1.15.0/auto/include (from vendor/nginx-1.14.0/auto/include) vendor/nginx-1.15.0/auto/init (from vendor/nginx-1.14.0/auto/init) vendor/nginx-1.15.0/auto/install (from vendor/nginx-1.14.0/auto/install) vendor/nginx-1.15.0/auto/lib/conf (from vendor/nginx-1.14.0/auto/lib/conf) vendor/nginx-1.15.0/auto/lib/geoip/conf (from vendor/nginx-1.14.0/auto/lib/geoip/conf) vendor/nginx-1.15.0/auto/lib/google-perftools/conf (from vendor/nginx-1.14.0/auto/lib/google-perftools/conf) vendor/nginx-1.15.0/auto/lib/libatomic/conf (from vendor/nginx-1.14.0/auto/lib/libatomic/conf) vendor/nginx-1.15.0/auto/lib/libatomic/make (from vendor/nginx-1.14.0/auto/lib/libatomic/make) vendor/nginx-1.15.0/auto/lib/libgd/conf (from vendor/nginx-1.14.0/auto/lib/libgd/conf) vendor/nginx-1.15.0/auto/lib/libxslt/conf (from vendor/nginx-1.14.0/auto/lib/libxslt/conf) vendor/nginx-1.15.0/auto/lib/make (from vendor/nginx-1.14.0/auto/lib/make) vendor/nginx-1.15.0/auto/lib/openssl/conf (from vendor/nginx-1.14.0/auto/lib/openssl/conf) vendor/nginx-1.15.0/auto/lib/openssl/make (from vendor/nginx-1.14.0/auto/lib/openssl/make) vendor/nginx-1.15.0/auto/lib/openssl/makefile.bcc (from vendor/nginx-1.14.0/auto/lib/openssl/makefile.bcc) vendor/nginx-1.15.0/auto/lib/openssl/makefile.msvc (from vendor/nginx-1.14.0/auto/lib/openssl/makefile.msvc) vendor/nginx-1.15.0/auto/lib/pcre/conf (from vendor/nginx-1.14.0/auto/lib/pcre/conf) vendor/nginx-1.15.0/auto/lib/pcre/make (from vendor/nginx-1.14.0/auto/lib/pcre/make) vendor/nginx-1.15.0/auto/lib/pcre/makefile.bcc (from vendor/nginx-1.14.0/auto/lib/pcre/makefile.bcc) vendor/nginx-1.15.0/auto/lib/pcre/makefile.msvc (from vendor/nginx-1.14.0/auto/lib/pcre/makefile.msvc) vendor/nginx-1.15.0/auto/lib/pcre/makefile.owc (from vendor/nginx-1.14.0/auto/lib/pcre/makefile.owc) vendor/nginx-1.15.0/auto/lib/perl/conf (from vendor/nginx-1.14.0/auto/lib/perl/conf) vendor/nginx-1.15.0/auto/lib/perl/make (from vendor/nginx-1.14.0/auto/lib/perl/make) vendor/nginx-1.15.0/auto/lib/zlib/conf (from vendor/nginx-1.14.0/auto/lib/zlib/conf) vendor/nginx-1.15.0/auto/lib/zlib/make (from vendor/nginx-1.14.0/auto/lib/zlib/make) vendor/nginx-1.15.0/auto/lib/zlib/makefile.bcc (from vendor/nginx-1.14.0/auto/lib/zlib/makefile.bcc) vendor/nginx-1.15.0/auto/lib/zlib/makefile.msvc (from vendor/nginx-1.14.0/auto/lib/zlib/makefile.msvc) vendor/nginx-1.15.0/auto/lib/zlib/makefile.owc (from vendor/nginx-1.14.0/auto/lib/zlib/makefile.owc) vendor/nginx-1.15.0/auto/make (from vendor/nginx-1.14.0/auto/make) vendor/nginx-1.15.0/auto/module (from vendor/nginx-1.14.0/auto/module) vendor/nginx-1.15.0/auto/modules (from vendor/nginx-1.14.0/auto/modules) vendor/nginx-1.15.0/auto/nohave (from vendor/nginx-1.14.0/auto/nohave) vendor/nginx-1.15.0/auto/options (from vendor/nginx-1.14.0/auto/options) vendor/nginx-1.15.0/auto/os/conf (from vendor/nginx-1.14.0/auto/os/conf) vendor/nginx-1.15.0/auto/os/darwin (from vendor/nginx-1.14.0/auto/os/darwin) vendor/nginx-1.15.0/auto/os/freebsd (from vendor/nginx-1.14.0/auto/os/freebsd) vendor/nginx-1.15.0/auto/os/linux (from vendor/nginx-1.14.0/auto/os/linux) vendor/nginx-1.15.0/auto/os/solaris (from vendor/nginx-1.14.0/auto/os/solaris) vendor/nginx-1.15.0/auto/os/win32 (from vendor/nginx-1.14.0/auto/os/win32) vendor/nginx-1.15.0/auto/sources (from vendor/nginx-1.14.0/auto/sources) vendor/nginx-1.15.0/auto/stubs (from vendor/nginx-1.14.0/auto/stubs) vendor/nginx-1.15.0/auto/summary (from vendor/nginx-1.14.0/auto/summary) vendor/nginx-1.15.0/auto/threads (from vendor/nginx-1.14.0/auto/threads) vendor/nginx-1.15.0/auto/types/sizeof (from vendor/nginx-1.14.0/auto/types/sizeof) vendor/nginx-1.15.0/auto/types/typedef (from vendor/nginx-1.14.0/auto/types/typedef) vendor/nginx-1.15.0/auto/types/uintptr_t (from vendor/nginx-1.14.0/auto/types/uintptr_t) vendor/nginx-1.15.0/auto/types/value (from vendor/nginx-1.14.0/auto/types/value) vendor/nginx-1.15.0/auto/unix (from vendor/nginx-1.14.0/auto/unix) vendor/nginx-1.15.0/conf/fastcgi.conf (from vendor/nginx-1.14.0/conf/fastcgi.conf) vendor/nginx-1.15.0/conf/fastcgi_params (from vendor/nginx-1.14.0/conf/fastcgi_params) vendor/nginx-1.15.0/conf/koi-utf (from vendor/nginx-1.14.0/conf/koi-utf) vendor/nginx-1.15.0/conf/koi-win (from vendor/nginx-1.14.0/conf/koi-win) vendor/nginx-1.15.0/conf/mime.types (from vendor/nginx-1.14.0/conf/mime.types) vendor/nginx-1.15.0/conf/nginx.conf (from vendor/nginx-1.14.0/conf/nginx.conf) vendor/nginx-1.15.0/conf/scgi_params (from vendor/nginx-1.14.0/conf/scgi_params) vendor/nginx-1.15.0/conf/uwsgi_params (from vendor/nginx-1.14.0/conf/uwsgi_params) vendor/nginx-1.15.0/conf/win-utf (from vendor/nginx-1.14.0/conf/win-utf) vendor/nginx-1.15.0/contrib/README (from vendor/nginx-1.14.0/contrib/README) vendor/nginx-1.15.0/contrib/geo2nginx.pl (from vendor/nginx-1.14.0/contrib/geo2nginx.pl) vendor/nginx-1.15.0/contrib/unicode2nginx/koi-utf (from vendor/nginx-1.14.0/contrib/unicode2nginx/koi-utf) vendor/nginx-1.15.0/contrib/unicode2nginx/unicode-to-nginx.pl (from vendor/nginx-1.14.0/contrib/unicode2nginx/unicode-to-nginx.pl) vendor/nginx-1.15.0/contrib/unicode2nginx/win-utf (from vendor/nginx-1.14.0/contrib/unicode2nginx/win-utf) vendor/nginx-1.15.0/contrib/vim/ftdetect/nginx.vim (from vendor/nginx-1.14.0/contrib/vim/ftdetect/nginx.vim) vendor/nginx-1.15.0/contrib/vim/ftplugin/nginx.vim (from vendor/nginx-1.14.0/contrib/vim/ftplugin/nginx.vim) vendor/nginx-1.15.0/contrib/vim/indent/nginx.vim (from vendor/nginx-1.14.0/contrib/vim/indent/nginx.vim) vendor/nginx-1.15.0/contrib/vim/syntax/nginx.vim (from vendor/nginx-1.14.0/contrib/vim/syntax/nginx.vim) vendor/nginx-1.15.0/docs/GNUmakefile (from vendor/nginx-1.14.0/docs/GNUmakefile) vendor/nginx-1.15.0/docs/dtd/change_log_conf.dtd (from vendor/nginx-1.14.0/docs/dtd/change_log_conf.dtd) vendor/nginx-1.15.0/docs/dtd/changes.dtd (from vendor/nginx-1.14.0/docs/dtd/changes.dtd) vendor/nginx-1.15.0/docs/html/50x.html (from vendor/nginx-1.14.0/docs/html/50x.html) vendor/nginx-1.15.0/docs/html/index.html (from vendor/nginx-1.14.0/docs/html/index.html) vendor/nginx-1.15.0/docs/man/nginx.8 (from vendor/nginx-1.14.0/docs/man/nginx.8) vendor/nginx-1.15.0/docs/text/LICENSE (from vendor/nginx-1.14.0/docs/text/LICENSE) vendor/nginx-1.15.0/docs/text/README (from vendor/nginx-1.14.0/docs/text/README) vendor/nginx-1.15.0/docs/xml/change_log_conf.xml (from vendor/nginx-1.14.0/docs/xml/change_log_conf.xml) vendor/nginx-1.15.0/docs/xml/nginx/changes.xml (from vendor/nginx-1.14.0/docs/xml/nginx/changes.xml) vendor/nginx-1.15.0/docs/xsls/changes.xsls (from vendor/nginx-1.14.0/docs/xsls/changes.xsls) vendor/nginx-1.15.0/docs/xslt/changes.xslt (from vendor/nginx-1.14.0/docs/xslt/changes.xslt) vendor/nginx-1.15.0/misc/GNUmakefile (from vendor/nginx-1.14.0/misc/GNUmakefile) vendor/nginx-1.15.0/misc/README (from vendor/nginx-1.14.0/misc/README) vendor/nginx-1.15.0/src/core/nginx.c (from vendor/nginx-1.14.0/src/core/nginx.c) vendor/nginx-1.15.0/src/core/nginx.h (from vendor/nginx-1.14.0/src/core/nginx.h) vendor/nginx-1.15.0/src/core/ngx_array.c (from vendor/nginx-1.14.0/src/core/ngx_array.c) vendor/nginx-1.15.0/src/core/ngx_array.h (from vendor/nginx-1.14.0/src/core/ngx_array.h) vendor/nginx-1.15.0/src/core/ngx_buf.c (from vendor/nginx-1.14.0/src/core/ngx_buf.c) vendor/nginx-1.15.0/src/core/ngx_buf.h (from vendor/nginx-1.14.0/src/core/ngx_buf.h) vendor/nginx-1.15.0/src/core/ngx_conf_file.c (from vendor/nginx-1.14.0/src/core/ngx_conf_file.c) vendor/nginx-1.15.0/src/core/ngx_conf_file.h (from vendor/nginx-1.14.0/src/core/ngx_conf_file.h) vendor/nginx-1.15.0/src/core/ngx_config.h (from vendor/nginx-1.14.0/src/core/ngx_config.h) vendor/nginx-1.15.0/src/core/ngx_connection.c (from vendor/nginx-1.14.0/src/core/ngx_connection.c) vendor/nginx-1.15.0/src/core/ngx_connection.h (from vendor/nginx-1.14.0/src/core/ngx_connection.h) vendor/nginx-1.15.0/src/core/ngx_core.h (from vendor/nginx-1.14.0/src/core/ngx_core.h) vendor/nginx-1.15.0/src/core/ngx_cpuinfo.c (from vendor/nginx-1.14.0/src/core/ngx_cpuinfo.c) vendor/nginx-1.15.0/src/core/ngx_crc.h (from vendor/nginx-1.14.0/src/core/ngx_crc.h) vendor/nginx-1.15.0/src/core/ngx_crc32.c (from vendor/nginx-1.14.0/src/core/ngx_crc32.c) vendor/nginx-1.15.0/src/core/ngx_crc32.h (from vendor/nginx-1.14.0/src/core/ngx_crc32.h) vendor/nginx-1.15.0/src/core/ngx_crypt.c (from vendor/nginx-1.14.0/src/core/ngx_crypt.c) vendor/nginx-1.15.0/src/core/ngx_crypt.h (from vendor/nginx-1.14.0/src/core/ngx_crypt.h) vendor/nginx-1.15.0/src/core/ngx_cycle.c (from vendor/nginx-1.14.0/src/core/ngx_cycle.c) vendor/nginx-1.15.0/src/core/ngx_cycle.h (from vendor/nginx-1.14.0/src/core/ngx_cycle.h) vendor/nginx-1.15.0/src/core/ngx_file.c (from vendor/nginx-1.14.0/src/core/ngx_file.c) vendor/nginx-1.15.0/src/core/ngx_file.h (from vendor/nginx-1.14.0/src/core/ngx_file.h) vendor/nginx-1.15.0/src/core/ngx_hash.c (from vendor/nginx-1.14.0/src/core/ngx_hash.c) vendor/nginx-1.15.0/src/core/ngx_hash.h (from vendor/nginx-1.14.0/src/core/ngx_hash.h) vendor/nginx-1.15.0/src/core/ngx_inet.c (from vendor/nginx-1.14.0/src/core/ngx_inet.c) vendor/nginx-1.15.0/src/core/ngx_inet.h (from vendor/nginx-1.14.0/src/core/ngx_inet.h) vendor/nginx-1.15.0/src/core/ngx_list.c (from vendor/nginx-1.14.0/src/core/ngx_list.c) vendor/nginx-1.15.0/src/core/ngx_list.h (from vendor/nginx-1.14.0/src/core/ngx_list.h) vendor/nginx-1.15.0/src/core/ngx_log.c (from vendor/nginx-1.14.0/src/core/ngx_log.c) vendor/nginx-1.15.0/src/core/ngx_log.h (from vendor/nginx-1.14.0/src/core/ngx_log.h) vendor/nginx-1.15.0/src/core/ngx_md5.c (from vendor/nginx-1.14.0/src/core/ngx_md5.c) vendor/nginx-1.15.0/src/core/ngx_md5.h (from vendor/nginx-1.14.0/src/core/ngx_md5.h) vendor/nginx-1.15.0/src/core/ngx_module.c (from vendor/nginx-1.14.0/src/core/ngx_module.c) vendor/nginx-1.15.0/src/core/ngx_module.h (from vendor/nginx-1.14.0/src/core/ngx_module.h) vendor/nginx-1.15.0/src/core/ngx_murmurhash.c (from vendor/nginx-1.14.0/src/core/ngx_murmurhash.c) vendor/nginx-1.15.0/src/core/ngx_murmurhash.h (from vendor/nginx-1.14.0/src/core/ngx_murmurhash.h) vendor/nginx-1.15.0/src/core/ngx_open_file_cache.c (from vendor/nginx-1.14.0/src/core/ngx_open_file_cache.c) vendor/nginx-1.15.0/src/core/ngx_open_file_cache.h (from vendor/nginx-1.14.0/src/core/ngx_open_file_cache.h) vendor/nginx-1.15.0/src/core/ngx_output_chain.c (from vendor/nginx-1.14.0/src/core/ngx_output_chain.c) vendor/nginx-1.15.0/src/core/ngx_palloc.c (from vendor/nginx-1.14.0/src/core/ngx_palloc.c) vendor/nginx-1.15.0/src/core/ngx_palloc.h (from vendor/nginx-1.14.0/src/core/ngx_palloc.h) vendor/nginx-1.15.0/src/core/ngx_parse.c (from vendor/nginx-1.14.0/src/core/ngx_parse.c) vendor/nginx-1.15.0/src/core/ngx_parse.h (from vendor/nginx-1.14.0/src/core/ngx_parse.h) vendor/nginx-1.15.0/src/core/ngx_parse_time.c (from vendor/nginx-1.14.0/src/core/ngx_parse_time.c) vendor/nginx-1.15.0/src/core/ngx_parse_time.h (from vendor/nginx-1.14.0/src/core/ngx_parse_time.h) vendor/nginx-1.15.0/src/core/ngx_proxy_protocol.c (from vendor/nginx-1.14.0/src/core/ngx_proxy_protocol.c) vendor/nginx-1.15.0/src/core/ngx_proxy_protocol.h (from vendor/nginx-1.14.0/src/core/ngx_proxy_protocol.h) vendor/nginx-1.15.0/src/core/ngx_queue.c (from vendor/nginx-1.14.0/src/core/ngx_queue.c) vendor/nginx-1.15.0/src/core/ngx_queue.h (from vendor/nginx-1.14.0/src/core/ngx_queue.h) vendor/nginx-1.15.0/src/core/ngx_radix_tree.c (from vendor/nginx-1.14.0/src/core/ngx_radix_tree.c) vendor/nginx-1.15.0/src/core/ngx_radix_tree.h (from vendor/nginx-1.14.0/src/core/ngx_radix_tree.h) vendor/nginx-1.15.0/src/core/ngx_rbtree.c (from vendor/nginx-1.14.0/src/core/ngx_rbtree.c) vendor/nginx-1.15.0/src/core/ngx_rbtree.h (from vendor/nginx-1.14.0/src/core/ngx_rbtree.h) vendor/nginx-1.15.0/src/core/ngx_regex.c (from vendor/nginx-1.14.0/src/core/ngx_regex.c) vendor/nginx-1.15.0/src/core/ngx_regex.h (from vendor/nginx-1.14.0/src/core/ngx_regex.h) vendor/nginx-1.15.0/src/core/ngx_resolver.c (from vendor/nginx-1.14.0/src/core/ngx_resolver.c) vendor/nginx-1.15.0/src/core/ngx_resolver.h (from vendor/nginx-1.14.0/src/core/ngx_resolver.h) vendor/nginx-1.15.0/src/core/ngx_rwlock.c (from vendor/nginx-1.14.0/src/core/ngx_rwlock.c) vendor/nginx-1.15.0/src/core/ngx_rwlock.h (from vendor/nginx-1.14.0/src/core/ngx_rwlock.h) vendor/nginx-1.15.0/src/core/ngx_sha1.c (from vendor/nginx-1.14.0/src/core/ngx_sha1.c) vendor/nginx-1.15.0/src/core/ngx_sha1.h (from vendor/nginx-1.14.0/src/core/ngx_sha1.h) vendor/nginx-1.15.0/src/core/ngx_shmtx.c (from vendor/nginx-1.14.0/src/core/ngx_shmtx.c) vendor/nginx-1.15.0/src/core/ngx_shmtx.h (from vendor/nginx-1.14.0/src/core/ngx_shmtx.h) vendor/nginx-1.15.0/src/core/ngx_slab.c (from vendor/nginx-1.14.0/src/core/ngx_slab.c) vendor/nginx-1.15.0/src/core/ngx_slab.h (from vendor/nginx-1.14.0/src/core/ngx_slab.h) vendor/nginx-1.15.0/src/core/ngx_spinlock.c (from vendor/nginx-1.14.0/src/core/ngx_spinlock.c) vendor/nginx-1.15.0/src/core/ngx_string.c (from vendor/nginx-1.14.0/src/core/ngx_string.c) vendor/nginx-1.15.0/src/core/ngx_string.h (from vendor/nginx-1.14.0/src/core/ngx_string.h) vendor/nginx-1.15.0/src/core/ngx_syslog.c (from vendor/nginx-1.14.0/src/core/ngx_syslog.c) vendor/nginx-1.15.0/src/core/ngx_syslog.h (from vendor/nginx-1.14.0/src/core/ngx_syslog.h) vendor/nginx-1.15.0/src/core/ngx_thread_pool.c (from vendor/nginx-1.14.0/src/core/ngx_thread_pool.c) vendor/nginx-1.15.0/src/core/ngx_thread_pool.h (from vendor/nginx-1.14.0/src/core/ngx_thread_pool.h) vendor/nginx-1.15.0/src/core/ngx_times.c (from vendor/nginx-1.14.0/src/core/ngx_times.c) vendor/nginx-1.15.0/src/core/ngx_times.h (from vendor/nginx-1.14.0/src/core/ngx_times.h) vendor/nginx-1.15.0/src/event/modules/ngx_devpoll_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_devpoll_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_epoll_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_epoll_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_eventport_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_eventport_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_iocp_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_iocp_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_iocp_module.h (from vendor/nginx-1.14.0/src/event/modules/ngx_iocp_module.h) vendor/nginx-1.15.0/src/event/modules/ngx_kqueue_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_kqueue_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_poll_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_poll_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_select_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_select_module.c) vendor/nginx-1.15.0/src/event/modules/ngx_win32_select_module.c (from vendor/nginx-1.14.0/src/event/modules/ngx_win32_select_module.c) vendor/nginx-1.15.0/src/event/ngx_event.c (from vendor/nginx-1.14.0/src/event/ngx_event.c) vendor/nginx-1.15.0/src/event/ngx_event.h (from vendor/nginx-1.14.0/src/event/ngx_event.h) vendor/nginx-1.15.0/src/event/ngx_event_accept.c (from vendor/nginx-1.14.0/src/event/ngx_event_accept.c) vendor/nginx-1.15.0/src/event/ngx_event_acceptex.c (from vendor/nginx-1.14.0/src/event/ngx_event_acceptex.c) vendor/nginx-1.15.0/src/event/ngx_event_connect.c (from vendor/nginx-1.14.0/src/event/ngx_event_connect.c) vendor/nginx-1.15.0/src/event/ngx_event_connect.h (from vendor/nginx-1.14.0/src/event/ngx_event_connect.h) vendor/nginx-1.15.0/src/event/ngx_event_connectex.c (from vendor/nginx-1.14.0/src/event/ngx_event_connectex.c) vendor/nginx-1.15.0/src/event/ngx_event_openssl.c (from vendor/nginx-1.14.0/src/event/ngx_event_openssl.c) vendor/nginx-1.15.0/src/event/ngx_event_openssl.h (from vendor/nginx-1.14.0/src/event/ngx_event_openssl.h) vendor/nginx-1.15.0/src/event/ngx_event_openssl_stapling.c (from vendor/nginx-1.14.0/src/event/ngx_event_openssl_stapling.c) vendor/nginx-1.15.0/src/event/ngx_event_pipe.c (from vendor/nginx-1.14.0/src/event/ngx_event_pipe.c) vendor/nginx-1.15.0/src/event/ngx_event_pipe.h (from vendor/nginx-1.14.0/src/event/ngx_event_pipe.h) vendor/nginx-1.15.0/src/event/ngx_event_posted.c (from vendor/nginx-1.14.0/src/event/ngx_event_posted.c) vendor/nginx-1.15.0/src/event/ngx_event_posted.h (from vendor/nginx-1.14.0/src/event/ngx_event_posted.h) vendor/nginx-1.15.0/src/event/ngx_event_timer.c (from vendor/nginx-1.14.0/src/event/ngx_event_timer.c) vendor/nginx-1.15.0/src/event/ngx_event_timer.h (from vendor/nginx-1.14.0/src/event/ngx_event_timer.h) vendor/nginx-1.15.0/src/http/modules/ngx_http_access_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_access_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_addition_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_addition_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_auth_basic_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_auth_basic_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_auth_request_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_auth_request_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_autoindex_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_autoindex_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_browser_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_browser_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_charset_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_charset_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_chunked_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_chunked_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_dav_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_dav_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_degradation_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_degradation_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_empty_gif_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_empty_gif_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_fastcgi_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_fastcgi_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_flv_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_flv_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_geo_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_geo_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_geoip_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_geoip_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_grpc_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_grpc_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_gunzip_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_gunzip_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_gzip_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_gzip_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_gzip_static_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_gzip_static_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_headers_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_headers_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_image_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_image_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_index_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_index_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_limit_conn_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_limit_conn_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_limit_req_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_limit_req_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_log_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_log_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_map_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_map_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_memcached_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_memcached_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_mirror_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_mirror_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_mp4_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_mp4_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_not_modified_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_not_modified_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_proxy_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_proxy_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_random_index_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_random_index_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_range_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_range_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_realip_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_realip_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_referer_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_referer_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_rewrite_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_rewrite_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_scgi_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_scgi_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_secure_link_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_secure_link_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_slice_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_slice_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_split_clients_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_split_clients_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_ssi_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_ssi_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_ssi_filter_module.h (from vendor/nginx-1.14.0/src/http/modules/ngx_http_ssi_filter_module.h) vendor/nginx-1.15.0/src/http/modules/ngx_http_ssl_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_ssl_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_ssl_module.h (from vendor/nginx-1.14.0/src/http/modules/ngx_http_ssl_module.h) vendor/nginx-1.15.0/src/http/modules/ngx_http_static_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_static_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_stub_status_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_stub_status_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_sub_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_sub_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_try_files_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_try_files_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_hash_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_upstream_hash_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_ip_hash_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_upstream_ip_hash_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_keepalive_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_upstream_keepalive_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_least_conn_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_upstream_least_conn_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_zone_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_upstream_zone_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_userid_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_userid_filter_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_uwsgi_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_uwsgi_module.c) vendor/nginx-1.15.0/src/http/modules/ngx_http_xslt_filter_module.c (from vendor/nginx-1.14.0/src/http/modules/ngx_http_xslt_filter_module.c) vendor/nginx-1.15.0/src/http/modules/perl/Makefile.PL (from vendor/nginx-1.14.0/src/http/modules/perl/Makefile.PL) vendor/nginx-1.15.0/src/http/modules/perl/nginx.pm (from vendor/nginx-1.14.0/src/http/modules/perl/nginx.pm) vendor/nginx-1.15.0/src/http/modules/perl/nginx.xs (from vendor/nginx-1.14.0/src/http/modules/perl/nginx.xs) vendor/nginx-1.15.0/src/http/modules/perl/ngx_http_perl_module.c (from vendor/nginx-1.14.0/src/http/modules/perl/ngx_http_perl_module.c) vendor/nginx-1.15.0/src/http/modules/perl/ngx_http_perl_module.h (from vendor/nginx-1.14.0/src/http/modules/perl/ngx_http_perl_module.h) vendor/nginx-1.15.0/src/http/modules/perl/typemap (from vendor/nginx-1.14.0/src/http/modules/perl/typemap) vendor/nginx-1.15.0/src/http/ngx_http.c (from vendor/nginx-1.14.0/src/http/ngx_http.c) vendor/nginx-1.15.0/src/http/ngx_http.h (from vendor/nginx-1.14.0/src/http/ngx_http.h) vendor/nginx-1.15.0/src/http/ngx_http_cache.h (from vendor/nginx-1.14.0/src/http/ngx_http_cache.h) vendor/nginx-1.15.0/src/http/ngx_http_config.h (from vendor/nginx-1.14.0/src/http/ngx_http_config.h) vendor/nginx-1.15.0/src/http/ngx_http_copy_filter_module.c (from vendor/nginx-1.14.0/src/http/ngx_http_copy_filter_module.c) vendor/nginx-1.15.0/src/http/ngx_http_core_module.c (from vendor/nginx-1.14.0/src/http/ngx_http_core_module.c) vendor/nginx-1.15.0/src/http/ngx_http_core_module.h (from vendor/nginx-1.14.0/src/http/ngx_http_core_module.h) vendor/nginx-1.15.0/src/http/ngx_http_file_cache.c (from vendor/nginx-1.14.0/src/http/ngx_http_file_cache.c) vendor/nginx-1.15.0/src/http/ngx_http_header_filter_module.c (from vendor/nginx-1.14.0/src/http/ngx_http_header_filter_module.c) vendor/nginx-1.15.0/src/http/ngx_http_parse.c (from vendor/nginx-1.14.0/src/http/ngx_http_parse.c) vendor/nginx-1.15.0/src/http/ngx_http_postpone_filter_module.c (from vendor/nginx-1.14.0/src/http/ngx_http_postpone_filter_module.c) vendor/nginx-1.15.0/src/http/ngx_http_request.c (from vendor/nginx-1.14.0/src/http/ngx_http_request.c) vendor/nginx-1.15.0/src/http/ngx_http_request.h (from vendor/nginx-1.14.0/src/http/ngx_http_request.h) vendor/nginx-1.15.0/src/http/ngx_http_request_body.c (from vendor/nginx-1.14.0/src/http/ngx_http_request_body.c) vendor/nginx-1.15.0/src/http/ngx_http_script.c (from vendor/nginx-1.14.0/src/http/ngx_http_script.c) vendor/nginx-1.15.0/src/http/ngx_http_script.h (from vendor/nginx-1.14.0/src/http/ngx_http_script.h) vendor/nginx-1.15.0/src/http/ngx_http_special_response.c (from vendor/nginx-1.14.0/src/http/ngx_http_special_response.c) vendor/nginx-1.15.0/src/http/ngx_http_upstream.c (from vendor/nginx-1.14.0/src/http/ngx_http_upstream.c) vendor/nginx-1.15.0/src/http/ngx_http_upstream.h (from vendor/nginx-1.14.0/src/http/ngx_http_upstream.h) vendor/nginx-1.15.0/src/http/ngx_http_upstream_round_robin.c (from vendor/nginx-1.14.0/src/http/ngx_http_upstream_round_robin.c) vendor/nginx-1.15.0/src/http/ngx_http_upstream_round_robin.h (from vendor/nginx-1.14.0/src/http/ngx_http_upstream_round_robin.h) vendor/nginx-1.15.0/src/http/ngx_http_variables.c (from vendor/nginx-1.14.0/src/http/ngx_http_variables.c) vendor/nginx-1.15.0/src/http/ngx_http_variables.h (from vendor/nginx-1.14.0/src/http/ngx_http_variables.h) vendor/nginx-1.15.0/src/http/ngx_http_write_filter_module.c (from vendor/nginx-1.14.0/src/http/ngx_http_write_filter_module.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2.h (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2.h) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_encode.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_encode.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_filter_module.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_filter_module.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_huff_decode.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_huff_decode.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_huff_encode.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_huff_encode.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_module.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_module.c) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_module.h (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_module.h) vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_table.c (from vendor/nginx-1.14.0/src/http/v2/ngx_http_v2_table.c) vendor/nginx-1.15.0/src/mail/ngx_mail.c (from vendor/nginx-1.14.0/src/mail/ngx_mail.c) vendor/nginx-1.15.0/src/mail/ngx_mail.h (from vendor/nginx-1.14.0/src/mail/ngx_mail.h) vendor/nginx-1.15.0/src/mail/ngx_mail_auth_http_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_auth_http_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_core_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_core_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_handler.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_handler.c) vendor/nginx-1.15.0/src/mail/ngx_mail_imap_handler.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_imap_handler.c) vendor/nginx-1.15.0/src/mail/ngx_mail_imap_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_imap_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_imap_module.h (from vendor/nginx-1.14.0/src/mail/ngx_mail_imap_module.h) vendor/nginx-1.15.0/src/mail/ngx_mail_parse.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_parse.c) vendor/nginx-1.15.0/src/mail/ngx_mail_pop3_handler.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_pop3_handler.c) vendor/nginx-1.15.0/src/mail/ngx_mail_pop3_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_pop3_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_pop3_module.h (from vendor/nginx-1.14.0/src/mail/ngx_mail_pop3_module.h) vendor/nginx-1.15.0/src/mail/ngx_mail_proxy_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_proxy_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_smtp_handler.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_smtp_handler.c) vendor/nginx-1.15.0/src/mail/ngx_mail_smtp_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_smtp_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_smtp_module.h (from vendor/nginx-1.14.0/src/mail/ngx_mail_smtp_module.h) vendor/nginx-1.15.0/src/mail/ngx_mail_ssl_module.c (from vendor/nginx-1.14.0/src/mail/ngx_mail_ssl_module.c) vendor/nginx-1.15.0/src/mail/ngx_mail_ssl_module.h (from vendor/nginx-1.14.0/src/mail/ngx_mail_ssl_module.h) vendor/nginx-1.15.0/src/misc/ngx_cpp_test_module.cpp (from vendor/nginx-1.14.0/src/misc/ngx_cpp_test_module.cpp) vendor/nginx-1.15.0/src/misc/ngx_google_perftools_module.c (from vendor/nginx-1.14.0/src/misc/ngx_google_perftools_module.c) vendor/nginx-1.15.0/src/os/unix/ngx_alloc.c (from vendor/nginx-1.14.0/src/os/unix/ngx_alloc.c) vendor/nginx-1.15.0/src/os/unix/ngx_alloc.h (from vendor/nginx-1.14.0/src/os/unix/ngx_alloc.h) vendor/nginx-1.15.0/src/os/unix/ngx_atomic.h (from vendor/nginx-1.14.0/src/os/unix/ngx_atomic.h) vendor/nginx-1.15.0/src/os/unix/ngx_channel.c (from vendor/nginx-1.14.0/src/os/unix/ngx_channel.c) vendor/nginx-1.15.0/src/os/unix/ngx_channel.h (from vendor/nginx-1.14.0/src/os/unix/ngx_channel.h) vendor/nginx-1.15.0/src/os/unix/ngx_daemon.c (from vendor/nginx-1.14.0/src/os/unix/ngx_daemon.c) vendor/nginx-1.15.0/src/os/unix/ngx_darwin.h (from vendor/nginx-1.14.0/src/os/unix/ngx_darwin.h) vendor/nginx-1.15.0/src/os/unix/ngx_darwin_config.h (from vendor/nginx-1.14.0/src/os/unix/ngx_darwin_config.h) vendor/nginx-1.15.0/src/os/unix/ngx_darwin_init.c (from vendor/nginx-1.14.0/src/os/unix/ngx_darwin_init.c) vendor/nginx-1.15.0/src/os/unix/ngx_darwin_sendfile_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_darwin_sendfile_chain.c) vendor/nginx-1.15.0/src/os/unix/ngx_dlopen.c (from vendor/nginx-1.14.0/src/os/unix/ngx_dlopen.c) vendor/nginx-1.15.0/src/os/unix/ngx_dlopen.h (from vendor/nginx-1.14.0/src/os/unix/ngx_dlopen.h) vendor/nginx-1.15.0/src/os/unix/ngx_errno.c (from vendor/nginx-1.14.0/src/os/unix/ngx_errno.c) vendor/nginx-1.15.0/src/os/unix/ngx_errno.h (from vendor/nginx-1.14.0/src/os/unix/ngx_errno.h) vendor/nginx-1.15.0/src/os/unix/ngx_file_aio_read.c (from vendor/nginx-1.14.0/src/os/unix/ngx_file_aio_read.c) vendor/nginx-1.15.0/src/os/unix/ngx_files.c (from vendor/nginx-1.14.0/src/os/unix/ngx_files.c) vendor/nginx-1.15.0/src/os/unix/ngx_files.h (from vendor/nginx-1.14.0/src/os/unix/ngx_files.h) vendor/nginx-1.15.0/src/os/unix/ngx_freebsd.h (from vendor/nginx-1.14.0/src/os/unix/ngx_freebsd.h) vendor/nginx-1.15.0/src/os/unix/ngx_freebsd_config.h (from vendor/nginx-1.14.0/src/os/unix/ngx_freebsd_config.h) vendor/nginx-1.15.0/src/os/unix/ngx_freebsd_init.c (from vendor/nginx-1.14.0/src/os/unix/ngx_freebsd_init.c) vendor/nginx-1.15.0/src/os/unix/ngx_freebsd_sendfile_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_freebsd_sendfile_chain.c) vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_amd64.h (from vendor/nginx-1.14.0/src/os/unix/ngx_gcc_atomic_amd64.h) vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_ppc.h (from vendor/nginx-1.14.0/src/os/unix/ngx_gcc_atomic_ppc.h) vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_sparc64.h (from vendor/nginx-1.14.0/src/os/unix/ngx_gcc_atomic_sparc64.h) vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_x86.h (from vendor/nginx-1.14.0/src/os/unix/ngx_gcc_atomic_x86.h) vendor/nginx-1.15.0/src/os/unix/ngx_linux.h (from vendor/nginx-1.14.0/src/os/unix/ngx_linux.h) vendor/nginx-1.15.0/src/os/unix/ngx_linux_aio_read.c (from vendor/nginx-1.14.0/src/os/unix/ngx_linux_aio_read.c) vendor/nginx-1.15.0/src/os/unix/ngx_linux_config.h (from vendor/nginx-1.14.0/src/os/unix/ngx_linux_config.h) vendor/nginx-1.15.0/src/os/unix/ngx_linux_init.c (from vendor/nginx-1.14.0/src/os/unix/ngx_linux_init.c) vendor/nginx-1.15.0/src/os/unix/ngx_linux_sendfile_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_linux_sendfile_chain.c) vendor/nginx-1.15.0/src/os/unix/ngx_os.h (from vendor/nginx-1.14.0/src/os/unix/ngx_os.h) vendor/nginx-1.15.0/src/os/unix/ngx_posix_config.h (from vendor/nginx-1.14.0/src/os/unix/ngx_posix_config.h) vendor/nginx-1.15.0/src/os/unix/ngx_posix_init.c (from vendor/nginx-1.14.0/src/os/unix/ngx_posix_init.c) vendor/nginx-1.15.0/src/os/unix/ngx_process.c (from vendor/nginx-1.14.0/src/os/unix/ngx_process.c) vendor/nginx-1.15.0/src/os/unix/ngx_process.h (from vendor/nginx-1.14.0/src/os/unix/ngx_process.h) vendor/nginx-1.15.0/src/os/unix/ngx_process_cycle.c (from vendor/nginx-1.14.0/src/os/unix/ngx_process_cycle.c) vendor/nginx-1.15.0/src/os/unix/ngx_process_cycle.h (from vendor/nginx-1.14.0/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.15.0/src/os/unix/ngx_readv_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_readv_chain.c) vendor/nginx-1.15.0/src/os/unix/ngx_recv.c (from vendor/nginx-1.14.0/src/os/unix/ngx_recv.c) vendor/nginx-1.15.0/src/os/unix/ngx_send.c (from vendor/nginx-1.14.0/src/os/unix/ngx_send.c) vendor/nginx-1.15.0/src/os/unix/ngx_setaffinity.c (from vendor/nginx-1.14.0/src/os/unix/ngx_setaffinity.c) vendor/nginx-1.15.0/src/os/unix/ngx_setaffinity.h (from vendor/nginx-1.14.0/src/os/unix/ngx_setaffinity.h) vendor/nginx-1.15.0/src/os/unix/ngx_setproctitle.c (from vendor/nginx-1.14.0/src/os/unix/ngx_setproctitle.c) vendor/nginx-1.15.0/src/os/unix/ngx_setproctitle.h (from vendor/nginx-1.14.0/src/os/unix/ngx_setproctitle.h) vendor/nginx-1.15.0/src/os/unix/ngx_shmem.c (from vendor/nginx-1.14.0/src/os/unix/ngx_shmem.c) vendor/nginx-1.15.0/src/os/unix/ngx_shmem.h (from vendor/nginx-1.14.0/src/os/unix/ngx_shmem.h) vendor/nginx-1.15.0/src/os/unix/ngx_socket.c (from vendor/nginx-1.14.0/src/os/unix/ngx_socket.c) vendor/nginx-1.15.0/src/os/unix/ngx_socket.h (from vendor/nginx-1.14.0/src/os/unix/ngx_socket.h) vendor/nginx-1.15.0/src/os/unix/ngx_solaris.h (from vendor/nginx-1.14.0/src/os/unix/ngx_solaris.h) vendor/nginx-1.15.0/src/os/unix/ngx_solaris_config.h (from vendor/nginx-1.14.0/src/os/unix/ngx_solaris_config.h) vendor/nginx-1.15.0/src/os/unix/ngx_solaris_init.c (from vendor/nginx-1.14.0/src/os/unix/ngx_solaris_init.c) vendor/nginx-1.15.0/src/os/unix/ngx_solaris_sendfilev_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_solaris_sendfilev_chain.c) vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_amd64.il (from vendor/nginx-1.14.0/src/os/unix/ngx_sunpro_amd64.il) vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_atomic_sparc64.h (from vendor/nginx-1.14.0/src/os/unix/ngx_sunpro_atomic_sparc64.h) vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_sparc64.il (from vendor/nginx-1.14.0/src/os/unix/ngx_sunpro_sparc64.il) vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_x86.il (from vendor/nginx-1.14.0/src/os/unix/ngx_sunpro_x86.il) vendor/nginx-1.15.0/src/os/unix/ngx_thread.h (from vendor/nginx-1.14.0/src/os/unix/ngx_thread.h) vendor/nginx-1.15.0/src/os/unix/ngx_thread_cond.c (from vendor/nginx-1.14.0/src/os/unix/ngx_thread_cond.c) vendor/nginx-1.15.0/src/os/unix/ngx_thread_id.c (from vendor/nginx-1.14.0/src/os/unix/ngx_thread_id.c) vendor/nginx-1.15.0/src/os/unix/ngx_thread_mutex.c (from vendor/nginx-1.14.0/src/os/unix/ngx_thread_mutex.c) vendor/nginx-1.15.0/src/os/unix/ngx_time.c (from vendor/nginx-1.14.0/src/os/unix/ngx_time.c) vendor/nginx-1.15.0/src/os/unix/ngx_time.h (from vendor/nginx-1.14.0/src/os/unix/ngx_time.h) vendor/nginx-1.15.0/src/os/unix/ngx_udp_recv.c (from vendor/nginx-1.14.0/src/os/unix/ngx_udp_recv.c) vendor/nginx-1.15.0/src/os/unix/ngx_udp_send.c (from vendor/nginx-1.14.0/src/os/unix/ngx_udp_send.c) vendor/nginx-1.15.0/src/os/unix/ngx_udp_sendmsg_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_udp_sendmsg_chain.c) vendor/nginx-1.15.0/src/os/unix/ngx_user.c (from vendor/nginx-1.14.0/src/os/unix/ngx_user.c) vendor/nginx-1.15.0/src/os/unix/ngx_user.h (from vendor/nginx-1.14.0/src/os/unix/ngx_user.h) vendor/nginx-1.15.0/src/os/unix/ngx_writev_chain.c (from vendor/nginx-1.14.0/src/os/unix/ngx_writev_chain.c) vendor/nginx-1.15.0/src/os/win32/nginx.ico (from vendor/nginx-1.14.0/src/os/win32/nginx.ico) vendor/nginx-1.15.0/src/os/win32/nginx.rc (from vendor/nginx-1.14.0/src/os/win32/nginx.rc) vendor/nginx-1.15.0/src/os/win32/nginx_icon16.xpm (from vendor/nginx-1.14.0/src/os/win32/nginx_icon16.xpm) vendor/nginx-1.15.0/src/os/win32/nginx_icon32.xpm (from vendor/nginx-1.14.0/src/os/win32/nginx_icon32.xpm) vendor/nginx-1.15.0/src/os/win32/nginx_icon48.xpm (from vendor/nginx-1.14.0/src/os/win32/nginx_icon48.xpm) vendor/nginx-1.15.0/src/os/win32/ngx_alloc.c (from vendor/nginx-1.14.0/src/os/win32/ngx_alloc.c) vendor/nginx-1.15.0/src/os/win32/ngx_alloc.h (from vendor/nginx-1.14.0/src/os/win32/ngx_alloc.h) vendor/nginx-1.15.0/src/os/win32/ngx_atomic.h (from vendor/nginx-1.14.0/src/os/win32/ngx_atomic.h) vendor/nginx-1.15.0/src/os/win32/ngx_dlopen.c (from vendor/nginx-1.14.0/src/os/win32/ngx_dlopen.c) vendor/nginx-1.15.0/src/os/win32/ngx_dlopen.h (from vendor/nginx-1.14.0/src/os/win32/ngx_dlopen.h) vendor/nginx-1.15.0/src/os/win32/ngx_errno.c (from vendor/nginx-1.14.0/src/os/win32/ngx_errno.c) vendor/nginx-1.15.0/src/os/win32/ngx_errno.h (from vendor/nginx-1.14.0/src/os/win32/ngx_errno.h) vendor/nginx-1.15.0/src/os/win32/ngx_event_log.c (from vendor/nginx-1.14.0/src/os/win32/ngx_event_log.c) vendor/nginx-1.15.0/src/os/win32/ngx_files.c (from vendor/nginx-1.14.0/src/os/win32/ngx_files.c) vendor/nginx-1.15.0/src/os/win32/ngx_files.h (from vendor/nginx-1.14.0/src/os/win32/ngx_files.h) vendor/nginx-1.15.0/src/os/win32/ngx_os.h (from vendor/nginx-1.14.0/src/os/win32/ngx_os.h) vendor/nginx-1.15.0/src/os/win32/ngx_process.c (from vendor/nginx-1.14.0/src/os/win32/ngx_process.c) vendor/nginx-1.15.0/src/os/win32/ngx_process.h (from vendor/nginx-1.14.0/src/os/win32/ngx_process.h) vendor/nginx-1.15.0/src/os/win32/ngx_process_cycle.c (from vendor/nginx-1.14.0/src/os/win32/ngx_process_cycle.c) vendor/nginx-1.15.0/src/os/win32/ngx_process_cycle.h (from vendor/nginx-1.14.0/src/os/win32/ngx_process_cycle.h) vendor/nginx-1.15.0/src/os/win32/ngx_service.c (from vendor/nginx-1.14.0/src/os/win32/ngx_service.c) vendor/nginx-1.15.0/src/os/win32/ngx_shmem.c (from vendor/nginx-1.14.0/src/os/win32/ngx_shmem.c) vendor/nginx-1.15.0/src/os/win32/ngx_shmem.h (from vendor/nginx-1.14.0/src/os/win32/ngx_shmem.h) vendor/nginx-1.15.0/src/os/win32/ngx_socket.c (from vendor/nginx-1.14.0/src/os/win32/ngx_socket.c) vendor/nginx-1.15.0/src/os/win32/ngx_socket.h (from vendor/nginx-1.14.0/src/os/win32/ngx_socket.h) vendor/nginx-1.15.0/src/os/win32/ngx_stat.c (from vendor/nginx-1.14.0/src/os/win32/ngx_stat.c) vendor/nginx-1.15.0/src/os/win32/ngx_thread.c (from vendor/nginx-1.14.0/src/os/win32/ngx_thread.c) vendor/nginx-1.15.0/src/os/win32/ngx_thread.h (from vendor/nginx-1.14.0/src/os/win32/ngx_thread.h) vendor/nginx-1.15.0/src/os/win32/ngx_time.c (from vendor/nginx-1.14.0/src/os/win32/ngx_time.c) vendor/nginx-1.15.0/src/os/win32/ngx_time.h (from vendor/nginx-1.14.0/src/os/win32/ngx_time.h) vendor/nginx-1.15.0/src/os/win32/ngx_udp_wsarecv.c (from vendor/nginx-1.14.0/src/os/win32/ngx_udp_wsarecv.c) vendor/nginx-1.15.0/src/os/win32/ngx_user.c (from vendor/nginx-1.14.0/src/os/win32/ngx_user.c) vendor/nginx-1.15.0/src/os/win32/ngx_user.h (from vendor/nginx-1.14.0/src/os/win32/ngx_user.h) vendor/nginx-1.15.0/src/os/win32/ngx_win32_config.h (from vendor/nginx-1.14.0/src/os/win32/ngx_win32_config.h) vendor/nginx-1.15.0/src/os/win32/ngx_win32_init.c (from vendor/nginx-1.14.0/src/os/win32/ngx_win32_init.c) vendor/nginx-1.15.0/src/os/win32/ngx_wsarecv.c (from vendor/nginx-1.14.0/src/os/win32/ngx_wsarecv.c) vendor/nginx-1.15.0/src/os/win32/ngx_wsarecv_chain.c (from vendor/nginx-1.14.0/src/os/win32/ngx_wsarecv_chain.c) vendor/nginx-1.15.0/src/os/win32/ngx_wsasend.c (from vendor/nginx-1.14.0/src/os/win32/ngx_wsasend.c) vendor/nginx-1.15.0/src/os/win32/ngx_wsasend_chain.c (from vendor/nginx-1.14.0/src/os/win32/ngx_wsasend_chain.c) vendor/nginx-1.15.0/src/stream/ngx_stream.c (from vendor/nginx-1.14.0/src/stream/ngx_stream.c) vendor/nginx-1.15.0/src/stream/ngx_stream.h (from vendor/nginx-1.14.0/src/stream/ngx_stream.h) vendor/nginx-1.15.0/src/stream/ngx_stream_access_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_access_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_core_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_core_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_geo_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_geo_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_geoip_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_geoip_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_handler.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_handler.c) vendor/nginx-1.15.0/src/stream/ngx_stream_limit_conn_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_limit_conn_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_log_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_log_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_map_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_map_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_proxy_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_proxy_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_realip_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_realip_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_return_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_return_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_script.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_script.c) vendor/nginx-1.15.0/src/stream/ngx_stream_script.h (from vendor/nginx-1.14.0/src/stream/ngx_stream_script.h) vendor/nginx-1.15.0/src/stream/ngx_stream_split_clients_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_split_clients_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_ssl_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_module.h (from vendor/nginx-1.14.0/src/stream/ngx_stream_ssl_module.h) vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_preread_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_ssl_preread_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream.c) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream.h (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream.h) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_hash_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream_hash_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_least_conn_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream_least_conn_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_round_robin.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream_round_robin.c) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_round_robin.h (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream_round_robin.h) vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_zone_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_upstream_zone_module.c) vendor/nginx-1.15.0/src/stream/ngx_stream_variables.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_variables.c) vendor/nginx-1.15.0/src/stream/ngx_stream_variables.h (from vendor/nginx-1.14.0/src/stream/ngx_stream_variables.h) vendor/nginx-1.15.0/src/stream/ngx_stream_write_filter_module.c (from vendor/nginx-1.14.0/src/stream/ngx_stream_write_filter_module.c) Modified: nginx_version (+1 -1) =================================================================== --- nginx_version 2018-06-25 12:02:55 +0900 (850e74240) +++ nginx_version 2018-06-25 12:23:48 +0900 (141f2e805) @@ -1 +1 @@ -1.14.0 +1.15.0 Renamed: vendor/nginx-1.15.0/auto/cc/acc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/ccc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/clang (+2 -1) 92% =================================================================== --- vendor/nginx-1.14.0/auto/cc/clang 2018-06-25 12:02:55 +0900 (9d900c258) +++ vendor/nginx-1.15.0/auto/cc/clang 2018-06-25 12:23:48 +0900 (a962ee234) @@ -6,7 +6,8 @@ NGX_CLANG_VER=`$CC -v 2>&1 | grep 'version' 2>&1 \ - | sed -e 's/^.* version \(.*\)/\1/'` + | sed -n -e 's/^.*clang version \(.*\)/\1/p' \ + -e 's/^.*LLVM version \(.*\)/\1/p'` echo " + clang version: $NGX_CLANG_VER" Renamed: vendor/nginx-1.15.0/auto/cc/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/gcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/icc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/name (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/cc/sunc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/configure (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/define (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/endianness (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/feature (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/have (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/have_headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/include (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/init (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/install (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/geoip/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/google-perftools/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/libatomic/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/libatomic/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/libgd/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/libxslt/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/openssl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/openssl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/openssl/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/openssl/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/pcre/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/pcre/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/pcre/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/pcre/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/pcre/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/perl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/perl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/zlib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/zlib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/zlib/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/zlib/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/lib/zlib/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/module (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/modules (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/nohave (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/options (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/os/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/os/darwin (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/os/freebsd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/os/linux (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/os/solaris (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/os/win32 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/sources (+1 -0) 99% =================================================================== --- vendor/nginx-1.14.0/auto/sources 2018-06-25 12:02:55 +0900 (139814743) +++ vendor/nginx-1.15.0/auto/sources 2018-06-25 12:23:48 +0900 (9b425063e) @@ -95,6 +95,7 @@ EVENT_SRCS="src/event/ngx_event.c \ src/event/ngx_event_timer.c \ src/event/ngx_event_posted.c \ src/event/ngx_event_accept.c \ + src/event/ngx_event_udp.c \ src/event/ngx_event_connect.c \ src/event/ngx_event_pipe.c" Renamed: vendor/nginx-1.15.0/auto/stubs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/summary (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/threads (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/types/sizeof (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/types/typedef (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/types/uintptr_t (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/types/value (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/auto/unix (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/fastcgi.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/fastcgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/koi-win (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/mime.types (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/nginx.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/scgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/uwsgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/conf/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/geo2nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/unicode2nginx/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/unicode2nginx/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/vim/ftdetect/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/vim/ftplugin/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/vim/indent/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/contrib/vim/syntax/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/GNUmakefile (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/dtd/change_log_conf.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/dtd/changes.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/html/50x.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/html/index.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/man/nginx.8 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/text/LICENSE (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/text/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/xml/change_log_conf.xml (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/xml/nginx/changes.xml (+121 -4) 99% =================================================================== --- vendor/nginx-1.14.0/docs/xml/nginx/changes.xml 2018-06-25 12:02:55 +0900 (ae5282987) +++ vendor/nginx-1.15.0/docs/xml/nginx/changes.xml 2018-06-25 12:23:48 +0900 (6bbff2cfd) @@ -5,14 +5,131 @@ <change_log title="nginx"> -<changes ver="1.14.0" date="2018-04-17"> +<changes ver="1.15.0" date="2018-06-05"> -<change> +<change type="change"> <para lang="ru"> -Стабильная ветка 1.14.x. +директива "ssl" теперь считается устаревшей; +вместо неё следует использовать параметр ssl директивы listen. </para> <para lang="en"> -1.14.x stable branch. +the "ssl" directive is deprecated; +the "ssl" parameter of the "listen" directive should be used instead. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь при использовании директивы listen с параметром ssl +nginx определяет отсутствие SSL-сертификатов при тестировании конфигурации. +</para> +<para lang="en"> +now nginx detects missing SSL certificates during configuration testing +when using the "ssl" parameter of the "listen" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь модуль stream умеет обрабатывать +несколько входящих UDP-пакетов от клиента в рамках одной сессии. +</para> +<para lang="en"> +now the stream module can handle +multiple incoming UDP datagrams from a client within a single session. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве proxy_cache_valid +можно было указать некорректный код ответа. +</para> +<para lang="en"> +it was possible to specify an incorrect response code +in the "proxy_cache_valid" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался gcc 8.1. +</para> +<para lang="en"> +nginx could not be built by gcc 8.1. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +логгирование в syslog останавливалось при изменении локального IP-адреса. +</para> +<para lang="en"> +logging to syslog stopped on local IP address changes. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался компилятором clang, если был установлен CUDA SDK; +ошибка появилась в 1.13.8. +</para> +<para lang="en"> +nginx could not be built by clang with CUDA SDK installed; +the bug had appeared in 1.13.8. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании unix domain listen-сокетов на FreeBSD +в процессе обновления исполняемого файла +в логе могли появляться сообщения "getsockopt(TCP_FASTOPEN) ... failed". +</para> +<para lang="en"> +"getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs +during binary upgrade +when using unix domain listen sockets on FreeBSD. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Fedora 28 Linux. +</para> +<para lang="en"> +nginx could not be built on Fedora 28 Linux. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы limit_req +заданная скорость обработки запросов могла не соблюдаться. +</para> +<para lang="en"> +request processing rate might exceed configured rate +when using the "limit_req" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке адресов клиентов при использовании unix domain listen-сокетов +для работы с датаграммами на Linux. +</para> +<para lang="en"> +in handling of client addresses when using unix domain listen sockets +to work with datagrams on Linux. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок выделения памяти. +</para> +<para lang="en"> +in memory allocation error handling. </para> </change> Renamed: vendor/nginx-1.15.0/docs/xsls/changes.xsls (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/docs/xslt/changes.xslt (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/misc/GNUmakefile (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/misc/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/nginx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/nginx.h (+2 -2) 85% =================================================================== --- vendor/nginx-1.14.0/src/core/nginx.h 2018-06-25 12:02:55 +0900 (be4563d1e) +++ vendor/nginx-1.15.0/src/core/nginx.h 2018-06-25 12:23:48 +0900 (cbe857173) @@ -9,8 +9,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1014000 -#define NGINX_VERSION "1.14.0" +#define nginx_version 1015000 +#define NGINX_VERSION "1.15.0" #define NGINX_VER "nginx/" NGINX_VERSION #ifdef NGX_BUILD Renamed: vendor/nginx-1.15.0/src/core/ngx_array.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_array.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_buf.c (+1 -0) 99% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_buf.c 2018-06-25 12:02:55 +0900 (1862a0606) +++ vendor/nginx-1.15.0/src/core/ngx_buf.c 2018-06-25 12:23:48 +0900 (c3783c446) @@ -137,6 +137,7 @@ ngx_chain_add_copy(ngx_pool_t *pool, ngx_chain_t **chain, ngx_chain_t *in) while (in) { cl = ngx_alloc_chain_link(pool); if (cl == NULL) { + *ll = NULL; return NGX_ERROR; } Renamed: vendor/nginx-1.15.0/src/core/ngx_buf.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_conf_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_conf_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_connection.c (+7 -1) 99% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_connection.c 2018-06-25 12:02:55 +0900 (9a747589c) +++ vendor/nginx-1.15.0/src/core/ngx_connection.c 2018-06-25 12:23:48 +0900 (dc6067922) @@ -72,6 +72,10 @@ ngx_create_listening(ngx_conf_t *cf, struct sockaddr *sockaddr, ngx_memcpy(ls->addr_text.data, text, len); +#if !(NGX_WIN32) + ngx_rbtree_init(&ls->rbtree, &ls->sentinel, ngx_udp_rbtree_insert_value); +#endif + ls->fd = (ngx_socket_t) -1; ls->type = SOCK_STREAM; @@ -305,7 +309,9 @@ ngx_set_inherited_sockets(ngx_cycle_t *cycle) { err = ngx_socket_errno; - if (err != NGX_EOPNOTSUPP && err != NGX_ENOPROTOOPT) { + if (err != NGX_EOPNOTSUPP && err != NGX_ENOPROTOOPT + && err != NGX_EINVAL) + { ngx_log_error(NGX_LOG_NOTICE, cycle->log, err, "getsockopt(TCP_FASTOPEN) %V failed, ignored", &ls[i].addr_text); Renamed: vendor/nginx-1.15.0/src/core/ngx_connection.h (+5 -0) 98% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_connection.h 2018-06-25 12:02:55 +0900 (e4dfe5879) +++ vendor/nginx-1.15.0/src/core/ngx_connection.h 2018-06-25 12:23:48 +0900 (ef0755800) @@ -51,6 +51,9 @@ struct ngx_listening_s { ngx_listening_t *previous; ngx_connection_t *connection; + ngx_rbtree_t rbtree; + ngx_rbtree_node_t sentinel; + ngx_uint_t worker; unsigned open:1; @@ -151,6 +154,8 @@ struct ngx_connection_s { ngx_ssl_connection_t *ssl; #endif + ngx_udp_connection_t *udp; + struct sockaddr *local_sockaddr; socklen_t local_socklen; Renamed: vendor/nginx-1.15.0/src/core/ngx_core.h (+1 -0) 97% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_core.h 2018-06-25 12:02:55 +0900 (2069373ba) +++ vendor/nginx-1.15.0/src/core/ngx_core.h 2018-06-25 12:23:48 +0900 (93ca9174d) @@ -27,6 +27,7 @@ typedef struct ngx_connection_s ngx_connection_t; typedef struct ngx_thread_task_s ngx_thread_task_t; typedef struct ngx_ssl_s ngx_ssl_t; typedef struct ngx_ssl_connection_s ngx_ssl_connection_t; +typedef struct ngx_udp_connection_s ngx_udp_connection_t; typedef void (*ngx_event_handler_pt)(ngx_event_t *ev); typedef void (*ngx_connection_handler_pt)(ngx_connection_t *c); Renamed: vendor/nginx-1.15.0/src/core/ngx_cpuinfo.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_crc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_crc32.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_crc32.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_crypt.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_crypt.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_hash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_hash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_inet.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_inet.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_list.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_list.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_log.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_md5.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_md5.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_murmurhash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_murmurhash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_open_file_cache.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_open_file_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_output_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_palloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_palloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_parse.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_parse_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_parse_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_proxy_protocol.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_proxy_protocol.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_queue.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_queue.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_radix_tree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_radix_tree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_rbtree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_rbtree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_regex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_regex.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_resolver.c (+11 -4) 99% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_resolver.c 2018-06-25 12:02:55 +0900 (cd55520cb) +++ vendor/nginx-1.15.0/src/core/ngx_resolver.c 2018-06-25 12:23:48 +0900 (f904091bf) @@ -1299,16 +1299,23 @@ ngx_resolver_send_udp_query(ngx_resolver_t *r, ngx_resolver_connection_t *rec, n = ngx_send(rec->udp, query, qlen); - if (n == -1) { - return NGX_ERROR; + if (n == NGX_ERROR) { + goto failed; } if ((size_t) n != (size_t) qlen) { ngx_log_error(NGX_LOG_CRIT, &rec->log, 0, "send() incomplete"); - return NGX_ERROR; + goto failed; } return NGX_OK; + +failed: + + ngx_close_connection(rec->udp); + rec->udp = NULL; + + return NGX_ERROR; } @@ -4546,7 +4553,7 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec) level = NGX_LOG_CRIT; } - ngx_log_error(level, c->log, err, "connect() to %V failed", + ngx_log_error(level, &rec->log, err, "connect() to %V failed", &rec->server); ngx_close_connection(c); Renamed: vendor/nginx-1.15.0/src/core/ngx_resolver.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_rwlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_rwlock.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_sha1.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_sha1.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_shmtx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_shmtx.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_slab.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_slab.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_spinlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_string.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_string.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_syslog.c (+17 -21) 97% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_syslog.c 2018-06-25 12:02:55 +0900 (0a67928e0) +++ vendor/nginx-1.15.0/src/core/ngx_syslog.c 2018-06-25 12:23:48 +0900 (3c7b63a62) @@ -39,7 +39,8 @@ static ngx_event_t ngx_syslog_dummy_event; char * ngx_syslog_process_conf(ngx_conf_t *cf, ngx_syslog_peer_t *peer) { - peer->pool = cf->pool; + ngx_pool_cleanup_t *cln; + peer->facility = NGX_CONF_UNSET_UINT; peer->severity = NGX_CONF_UNSET_UINT; @@ -67,6 +68,19 @@ ngx_syslog_process_conf(ngx_conf_t *cf, ngx_syslog_peer_t *peer) peer->conn.fd = (ngx_socket_t) -1; + peer->conn.read = &ngx_syslog_dummy_event; + peer->conn.write = &ngx_syslog_dummy_event; + + ngx_syslog_dummy_event.log = &ngx_syslog_dummy_log; + + cln = ngx_pool_cleanup_add(cf->pool, 0); + if (cln == NULL) { + return NGX_CONF_ERROR; + } + + cln->data = peer; + cln->handler = ngx_syslog_cleanup; + return NGX_CONF_OK; } @@ -289,9 +303,7 @@ ngx_syslog_send(ngx_syslog_peer_t *peer, u_char *buf, size_t len) n = ngx_os_io.send(&peer->conn, buf, len); } -#if (NGX_HAVE_UNIX_DOMAIN) - - if (n == NGX_ERROR && peer->server.sockaddr->sa_family == AF_UNIX) { + if (n == NGX_ERROR) { if (ngx_close_socket(peer->conn.fd) == -1) { ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, ngx_socket_errno, @@ -301,8 +313,6 @@ ngx_syslog_send(ngx_syslog_peer_t *peer, u_char *buf, size_t len) peer->conn.fd = (ngx_socket_t) -1; } -#endif - return n; } @@ -310,13 +320,7 @@ ngx_syslog_send(ngx_syslog_peer_t *peer, u_char *buf, size_t len) static ngx_int_t ngx_syslog_init_peer(ngx_syslog_peer_t *peer) { - ngx_socket_t fd; - ngx_pool_cleanup_t *cln; - - peer->conn.read = &ngx_syslog_dummy_event; - peer->conn.write = &ngx_syslog_dummy_event; - - ngx_syslog_dummy_event.log = &ngx_syslog_dummy_log; + ngx_socket_t fd; fd = ngx_socket(peer->server.sockaddr->sa_family, SOCK_DGRAM, 0); if (fd == (ngx_socket_t) -1) { @@ -337,14 +341,6 @@ ngx_syslog_init_peer(ngx_syslog_peer_t *peer) goto failed; } - cln = ngx_pool_cleanup_add(peer->pool, 0); - if (cln == NULL) { - goto failed; - } - - cln->data = peer; - cln->handler = ngx_syslog_cleanup; - peer->conn.fd = fd; /* UDP sockets are always ready to write */ Renamed: vendor/nginx-1.15.0/src/core/ngx_syslog.h (+0 -1) 96% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_syslog.h 2018-06-25 12:02:55 +0900 (cc4c842c7) +++ vendor/nginx-1.15.0/src/core/ngx_syslog.h 2018-06-25 12:23:48 +0900 (50dcd3511) @@ -9,7 +9,6 @@ typedef struct { - ngx_pool_t *pool; ngx_uint_t facility; ngx_uint_t severity; ngx_str_t tag; Renamed: vendor/nginx-1.15.0/src/core/ngx_thread_pool.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_thread_pool.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_times.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/core/ngx_times.h (+2 -2) 90% =================================================================== --- vendor/nginx-1.14.0/src/core/ngx_times.h 2018-06-25 12:02:55 +0900 (94aedcdc9) +++ vendor/nginx-1.15.0/src/core/ngx_times.h 2018-06-25 12:23:48 +0900 (49e0a8c48) @@ -43,8 +43,8 @@ extern volatile ngx_str_t ngx_cached_http_log_iso8601; extern volatile ngx_str_t ngx_cached_syslog_time; /* - * milliseconds elapsed since epoch and truncated to ngx_msec_t, - * used in event timers + * milliseconds elapsed since some unspecified point in the past + * and truncated to ngx_msec_t, used in event timers */ extern volatile ngx_msec_t ngx_current_msec; Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_devpoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_epoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_eventport_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_iocp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_iocp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_kqueue_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_poll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/modules/ngx_win32_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event.h (+6 -0) 97% =================================================================== --- vendor/nginx-1.14.0/src/event/ngx_event.h 2018-06-25 12:02:55 +0900 (19fec681b) +++ vendor/nginx-1.15.0/src/event/ngx_event.h 2018-06-25 12:23:48 +0900 (44f9e0544) @@ -506,9 +506,15 @@ extern ngx_module_t ngx_event_core_module; void ngx_event_accept(ngx_event_t *ev); #if !(NGX_WIN32) void ngx_event_recvmsg(ngx_event_t *ev); +void ngx_udp_rbtree_insert_value(ngx_rbtree_node_t *temp, + ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel); #endif ngx_int_t ngx_trylock_accept_mutex(ngx_cycle_t *cycle); +ngx_int_t ngx_enable_accept_events(ngx_cycle_t *cycle); u_char *ngx_accept_log_error(ngx_log_t *log, u_char *buf, size_t len); +#if (NGX_DEBUG) +void ngx_debug_accepted_connection(ngx_event_conf_t *ecf, ngx_connection_t *c); +#endif void ngx_process_events_and_timers(ngx_cycle_t *cycle); Renamed: vendor/nginx-1.15.0/src/event/ngx_event_accept.c (+3 -331) 58% =================================================================== --- vendor/nginx-1.14.0/src/event/ngx_event_accept.c 2018-06-25 12:02:55 +0900 (775637090) +++ vendor/nginx-1.15.0/src/event/ngx_event_accept.c 2018-06-25 12:23:48 +0900 (436424093) @@ -10,13 +10,8 @@ #include <ngx_event.h> -static ngx_int_t ngx_enable_accept_events(ngx_cycle_t *cycle); static ngx_int_t ngx_disable_accept_events(ngx_cycle_t *cycle, ngx_uint_t all); static void ngx_close_accepted_connection(ngx_connection_t *c); -#if (NGX_DEBUG) -static void ngx_debug_accepted_connection(ngx_event_conf_t *ecf, - ngx_connection_t *c); -#endif void @@ -320,329 +315,6 @@ ngx_event_accept(ngx_event_t *ev) } -#if !(NGX_WIN32) - -void -ngx_event_recvmsg(ngx_event_t *ev) -{ - ssize_t n; - ngx_log_t *log; - ngx_err_t err; - ngx_event_t *rev, *wev; - struct iovec iov[1]; - struct msghdr msg; - ngx_sockaddr_t sa; - ngx_listening_t *ls; - ngx_event_conf_t *ecf; - ngx_connection_t *c, *lc; - static u_char buffer[65535]; - -#if (NGX_HAVE_MSGHDR_MSG_CONTROL) - -#if (NGX_HAVE_IP_RECVDSTADDR) - u_char msg_control[CMSG_SPACE(sizeof(struct in_addr))]; -#elif (NGX_HAVE_IP_PKTINFO) - u_char msg_control[CMSG_SPACE(sizeof(struct in_pktinfo))]; -#endif - -#if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO) - u_char msg_control6[CMSG_SPACE(sizeof(struct in6_pktinfo))]; -#endif - -#endif - - if (ev->timedout) { - if (ngx_enable_accept_events((ngx_cycle_t *) ngx_cycle) != NGX_OK) { - return; - } - - ev->timedout = 0; - } - - ecf = ngx_event_get_conf(ngx_cycle->conf_ctx, ngx_event_core_module); - - if (!(ngx_event_flags & NGX_USE_KQUEUE_EVENT)) { - ev->available = ecf->multi_accept; - } - - lc = ev->data; - ls = lc->listening; - ev->ready = 0; - - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "recvmsg on %V, ready: %d", &ls->addr_text, ev->available); - - do { - ngx_memzero(&msg, sizeof(struct msghdr)); - - iov[0].iov_base = (void *) buffer; - iov[0].iov_len = sizeof(buffer); - - msg.msg_name = &sa; - msg.msg_namelen = sizeof(ngx_sockaddr_t); - msg.msg_iov = iov; - msg.msg_iovlen = 1; - -#if (NGX_HAVE_MSGHDR_MSG_CONTROL) - - if (ls->wildcard) { - -#if (NGX_HAVE_IP_RECVDSTADDR || NGX_HAVE_IP_PKTINFO) - if (ls->sockaddr->sa_family == AF_INET) { - msg.msg_control = &msg_control; - msg.msg_controllen = sizeof(msg_control); - } -#endif - -#if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO) - if (ls->sockaddr->sa_family == AF_INET6) { - msg.msg_control = &msg_control6; - msg.msg_controllen = sizeof(msg_control6); - } -#endif - } - -#endif - - n = recvmsg(lc->fd, &msg, 0); - - if (n == -1) { - err = ngx_socket_errno; - - if (err == NGX_EAGAIN) { - ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ev->log, err, - "recvmsg() not ready"); - return; - } - - ngx_log_error(NGX_LOG_ALERT, ev->log, err, "recvmsg() failed"); - - return; - } - -#if (NGX_STAT_STUB) - (void) ngx_atomic_fetch_add(ngx_stat_accepted, 1); -#endif - -#if (NGX_HAVE_MSGHDR_MSG_CONTROL) - if (msg.msg_flags & (MSG_TRUNC|MSG_CTRUNC)) { - ngx_log_error(NGX_LOG_ALERT, ev->log, 0, - "recvmsg() truncated data"); - continue; - } -#endif - - ngx_accept_disabled = ngx_cycle->connection_n / 8 - - ngx_cycle->free_connection_n; - - c = ngx_get_connection(lc->fd, ev->log); - if (c == NULL) { - return; - } - - c->shared = 1; - c->type = SOCK_DGRAM; - c->socklen = msg.msg_namelen; - - if (c->socklen > (socklen_t) sizeof(ngx_sockaddr_t)) { - c->socklen = sizeof(ngx_sockaddr_t); - } - -#if (NGX_STAT_STUB) - (void) ngx_atomic_fetch_add(ngx_stat_active, 1); -#endif - - c->pool = ngx_create_pool(ls->pool_size, ev->log); - if (c->pool == NULL) { - ngx_close_accepted_connection(c); - return; - } - - c->sockaddr = ngx_palloc(c->pool, c->socklen); - if (c->sockaddr == NULL) { - ngx_close_accepted_connection(c); - return; - } - - ngx_memcpy(c->sockaddr, msg.msg_name, c->socklen); - - log = ngx_palloc(c->pool, sizeof(ngx_log_t)); - if (log == NULL) { - ngx_close_accepted_connection(c); - return; - } - - *log = ls->log; - - c->send = ngx_udp_send; - c->send_chain = ngx_udp_send_chain; - - c->log = log; - c->pool->log = log; - - c->listening = ls; - c->local_sockaddr = ls->sockaddr; - c->local_socklen = ls->socklen; - -#if (NGX_HAVE_MSGHDR_MSG_CONTROL) - - if (ls->wildcard) { - struct cmsghdr *cmsg; - struct sockaddr *sockaddr; - - sockaddr = ngx_palloc(c->pool, c->local_socklen); - if (sockaddr == NULL) { - ngx_close_accepted_connection(c); - return; - } - - ngx_memcpy(sockaddr, c->local_sockaddr, c->local_socklen); - c->local_sockaddr = sockaddr; - - for (cmsg = CMSG_FIRSTHDR(&msg); - cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)) - { - -#if (NGX_HAVE_IP_RECVDSTADDR) - - if (cmsg->cmsg_level == IPPROTO_IP - && cmsg->cmsg_type == IP_RECVDSTADDR - && sockaddr->sa_family == AF_INET) - { - struct in_addr *addr; - struct sockaddr_in *sin; - - addr = (struct in_addr *) CMSG_DATA(cmsg); - sin = (struct sockaddr_in *) sockaddr; - sin->sin_addr = *addr; - - break; - } - -#elif (NGX_HAVE_IP_PKTINFO) - - if (cmsg->cmsg_level == IPPROTO_IP - && cmsg->cmsg_type == IP_PKTINFO - && sockaddr->sa_family == AF_INET) - { - struct in_pktinfo *pkt; - struct sockaddr_in *sin; - - pkt = (struct in_pktinfo *) CMSG_DATA(cmsg); - sin = (struct sockaddr_in *) sockaddr; - sin->sin_addr = pkt->ipi_addr; - - break; - } - -#endif - -#if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO) - - if (cmsg->cmsg_level == IPPROTO_IPV6 - && cmsg->cmsg_type == IPV6_PKTINFO - && sockaddr->sa_family == AF_INET6) - { - struct in6_pktinfo *pkt6; - struct sockaddr_in6 *sin6; - - pkt6 = (struct in6_pktinfo *) CMSG_DATA(cmsg); - sin6 = (struct sockaddr_in6 *) sockaddr; - sin6->sin6_addr = pkt6->ipi6_addr; - - break; - } - -#endif - - } - } - -#endif - - c->buffer = ngx_create_temp_buf(c->pool, n); - if (c->buffer == NULL) { - ngx_close_accepted_connection(c); - return; - } - - c->buffer->last = ngx_cpymem(c->buffer->last, buffer, n); - - rev = c->read; - wev = c->write; - - wev->ready = 1; - - rev->log = log; - wev->log = log; - - /* - * TODO: MT: - ngx_atomic_fetch_add() - * or protection by critical section or light mutex - * - * TODO: MP: - allocated in a shared memory - * - ngx_atomic_fetch_add() - * or protection by critical section or light mutex - */ - - c->number = ngx_atomic_fetch_add(ngx_connection_counter, 1); - -#if (NGX_STAT_STUB) - (void) ngx_atomic_fetch_add(ngx_stat_handled, 1); -#endif - - if (ls->addr_ntop) { - c->addr_text.data = ngx_pnalloc(c->pool, ls->addr_text_max_len); - if (c->addr_text.data == NULL) { - ngx_close_accepted_connection(c); - return; - } - - c->addr_text.len = ngx_sock_ntop(c->sockaddr, c->socklen, - c->addr_text.data, - ls->addr_text_max_len, 0); - if (c->addr_text.len == 0) { - ngx_close_accepted_connection(c); - return; - } - } - -#if (NGX_DEBUG) - { - ngx_str_t addr; - u_char text[NGX_SOCKADDR_STRLEN]; - - ngx_debug_accepted_connection(ecf, c); - - if (log->log_level & NGX_LOG_DEBUG_EVENT) { - addr.data = text; - addr.len = ngx_sock_ntop(c->sockaddr, c->socklen, text, - NGX_SOCKADDR_STRLEN, 1); - - ngx_log_debug4(NGX_LOG_DEBUG_EVENT, log, 0, - "*%uA recvmsg: %V fd:%d n:%z", - c->number, &addr, c->fd, n); - } - - } -#endif - - log->data = NULL; - log->handler = NULL; - - ls->handler(c); - - if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { - ev->available -= n; - } - - } while (ev->available); -} - -#endif - - ngx_int_t ngx_trylock_accept_mutex(ngx_cycle_t *cycle) { @@ -681,7 +353,7 @@ ngx_trylock_accept_mutex(ngx_cycle_t *cycle) } -static ngx_int_t +ngx_int_t ngx_enable_accept_events(ngx_cycle_t *cycle) { ngx_uint_t i; @@ -756,7 +428,7 @@ ngx_close_accepted_connection(ngx_connection_t *c) fd = c->fd; c->fd = (ngx_socket_t) -1; - if (!c->shared && ngx_close_socket(fd) == -1) { + if (ngx_close_socket(fd) == -1) { ngx_log_error(NGX_LOG_ALERT, c->log, ngx_socket_errno, ngx_close_socket_n " failed"); } @@ -781,7 +453,7 @@ ngx_accept_log_error(ngx_log_t *log, u_char *buf, size_t len) #if (NGX_DEBUG) -static void +void ngx_debug_accepted_connection(ngx_event_conf_t *ecf, ngx_connection_t *c) { struct sockaddr_in *sin; Renamed: vendor/nginx-1.15.0/src/event/ngx_event_acceptex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_connect.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_connect.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_connectex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_openssl.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_openssl.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_openssl_stapling.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_pipe.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_pipe.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_posted.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_posted.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_timer.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/event/ngx_event_timer.h (+0 -0) 100% =================================================================== Added: vendor/nginx-1.15.0/src/event/ngx_event_udp.c (+641 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.15.0/src/event/ngx_event_udp.c 2018-06-25 12:23:48 +0900 (8b0ae5539) @@ -0,0 +1,641 @@ + +/* + * Copyright (C) Roman Arutyunyan + * Copyright (C) Nginx, Inc. + */ + + +#include <ngx_config.h> +#include <ngx_core.h> +#include <ngx_event.h> + + +#if !(NGX_WIN32) + +struct ngx_udp_connection_s { + ngx_rbtree_node_t node; + ngx_connection_t *connection; + ngx_buf_t *buffer; +}; + + +static void ngx_close_accepted_udp_connection(ngx_connection_t *c); +static ssize_t ngx_udp_shared_recv(ngx_connection_t *c, u_char *buf, + size_t size); +static ngx_int_t ngx_insert_udp_connection(ngx_connection_t *c); +static void ngx_delete_udp_connection(void *data); +static ngx_connection_t *ngx_lookup_udp_connection(ngx_listening_t *ls, + struct sockaddr *sockaddr, socklen_t socklen, + struct sockaddr *local_sockaddr, socklen_t local_socklen); + + +void +ngx_event_recvmsg(ngx_event_t *ev) +{ + ssize_t n; + ngx_buf_t buf; + ngx_log_t *log; + ngx_err_t err; + socklen_t socklen, local_socklen; + ngx_event_t *rev, *wev; + struct iovec iov[1]; + struct msghdr msg; + ngx_sockaddr_t sa, lsa; + struct sockaddr *sockaddr, *local_sockaddr; + ngx_listening_t *ls; + ngx_event_conf_t *ecf; + ngx_connection_t *c, *lc; + static u_char buffer[65535]; + +#if (NGX_HAVE_MSGHDR_MSG_CONTROL) + +#if (NGX_HAVE_IP_RECVDSTADDR) + u_char msg_control[CMSG_SPACE(sizeof(struct in_addr))]; +#elif (NGX_HAVE_IP_PKTINFO) + u_char msg_control[CMSG_SPACE(sizeof(struct in_pktinfo))]; +#endif + +#if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO) + u_char msg_control6[CMSG_SPACE(sizeof(struct in6_pktinfo))]; +#endif + +#endif + + if (ev->timedout) { + if (ngx_enable_accept_events((ngx_cycle_t *) ngx_cycle) != NGX_OK) { + return; + } + + ev->timedout = 0; + } + + ecf = ngx_event_get_conf(ngx_cycle->conf_ctx, ngx_event_core_module); + + if (!(ngx_event_flags & NGX_USE_KQUEUE_EVENT)) { + ev->available = ecf->multi_accept; + } + + lc = ev->data; + ls = lc->listening; + ev->ready = 0; + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, + "recvmsg on %V, ready: %d", &ls->addr_text, ev->available); + + do { + ngx_memzero(&msg, sizeof(struct msghdr)); + + iov[0].iov_base = (void *) buffer; + iov[0].iov_len = sizeof(buffer); + + msg.msg_name = &sa; + msg.msg_namelen = sizeof(ngx_sockaddr_t); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + +#if (NGX_HAVE_MSGHDR_MSG_CONTROL) + + if (ls->wildcard) { + +#if (NGX_HAVE_IP_RECVDSTADDR || NGX_HAVE_IP_PKTINFO) + if (ls->sockaddr->sa_family == AF_INET) { + msg.msg_control = &msg_control; + msg.msg_controllen = sizeof(msg_control); + } +#endif + +#if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO) + if (ls->sockaddr->sa_family == AF_INET6) { + msg.msg_control = &msg_control6; + msg.msg_controllen = sizeof(msg_control6); + } +#endif + } + +#endif + + n = recvmsg(lc->fd, &msg, 0); + + if (n == -1) { + err = ngx_socket_errno; + + if (err == NGX_EAGAIN) { + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ev->log, err, + "recvmsg() not ready"); + return; + } + + ngx_log_error(NGX_LOG_ALERT, ev->log, err, "recvmsg() failed"); + + return; + } + +#if (NGX_HAVE_MSGHDR_MSG_CONTROL) + if (msg.msg_flags & (MSG_TRUNC|MSG_CTRUNC)) { + ngx_log_error(NGX_LOG_ALERT, ev->log, 0, + "recvmsg() truncated data"); + continue; + } +#endif + + sockaddr = msg.msg_name; + socklen = msg.msg_namelen; + + if (socklen > (socklen_t) sizeof(ngx_sockaddr_t)) { + socklen = sizeof(ngx_sockaddr_t); + } + + if (socklen == 0) { + + /* + * on Linux recvmsg() returns zero msg_namelen + * when receiving packets from unbound AF_UNIX sockets + */ + + socklen = sizeof(struct sockaddr); + ngx_memzero(&sa, sizeof(struct sockaddr)); + sa.sockaddr.sa_family = ls->sockaddr->sa_family; + } + + local_sockaddr = ls->sockaddr; + local_socklen = ls->socklen; + +#if (NGX_HAVE_MSGHDR_MSG_CONTROL) + + if (ls->wildcard) { + struct cmsghdr *cmsg; + + ngx_memcpy(&lsa, local_sockaddr, local_socklen); + local_sockaddr = &lsa.sockaddr; + + for (cmsg = CMSG_FIRSTHDR(&msg); + cmsg != NULL; + cmsg = CMSG_NXTHDR(&msg, cmsg)) + { + +#if (NGX_HAVE_IP_RECVDSTADDR) + + if (cmsg->cmsg_level == IPPROTO_IP + && cmsg->cmsg_type == IP_RECVDSTADDR + && local_sockaddr->sa_family == AF_INET) + { + struct in_addr *addr; + struct sockaddr_in *sin; + + addr = (struct in_addr *) CMSG_DATA(cmsg); + sin = (struct sockaddr_in *) local_sockaddr; + sin->sin_addr = *addr; + + break; + } + +#elif (NGX_HAVE_IP_PKTINFO) + + if (cmsg->cmsg_level == IPPROTO_IP + && cmsg->cmsg_type == IP_PKTINFO + && local_sockaddr->sa_family == AF_INET) + { + struct in_pktinfo *pkt; + struct sockaddr_in *sin; + + pkt = (struct in_pktinfo *) CMSG_DATA(cmsg); + sin = (struct sockaddr_in *) local_sockaddr; + sin->sin_addr = pkt->ipi_addr; + + break; + } + +#endif + +#if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO) + + if (cmsg->cmsg_level == IPPROTO_IPV6 + && cmsg->cmsg_type == IPV6_PKTINFO + && local_sockaddr->sa_family == AF_INET6) + { + struct in6_pktinfo *pkt6; + struct sockaddr_in6 *sin6; + + pkt6 = (struct in6_pktinfo *) CMSG_DATA(cmsg); + sin6 = (struct sockaddr_in6 *) local_sockaddr; + sin6->sin6_addr = pkt6->ipi6_addr; + + break; + } + +#endif + + } + } + +#endif + + c = ngx_lookup_udp_connection(ls, sockaddr, socklen, local_sockaddr, + local_socklen); + + if (c) { + +#if (NGX_DEBUG) + if (c->log->log_level & NGX_LOG_DEBUG_EVENT) { + ngx_log_handler_pt handler; + + handler = c->log->handler; + c->log->handler = NULL; + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, + "recvmsg: fd:%d n:%z", c->fd, n); + + c->log->handler = handler; + } +#endif + + ngx_memzero(&buf, sizeof(ngx_buf_t)); + + buf.pos = buffer; + buf.last = buffer + n; + + rev = c->read; + + c->udp->buffer = &buf; + rev->ready = 1; + + rev->handler(rev); + + c->udp->buffer = NULL; + rev->ready = 0; + + goto next; + } + +#if (NGX_STAT_STUB) + (void) ngx_atomic_fetch_add(ngx_stat_accepted, 1); +#endif + + ngx_accept_disabled = ngx_cycle->connection_n / 8 + - ngx_cycle->free_connection_n; + + c = ngx_get_connection(lc->fd, ev->log); + if (c == NULL) { + return; + } + + c->shared = 1; + c->type = SOCK_DGRAM; + c->socklen = socklen; + +#if (NGX_STAT_STUB) + (void) ngx_atomic_fetch_add(ngx_stat_active, 1); +#endif + + c->pool = ngx_create_pool(ls->pool_size, ev->log); + if (c->pool == NULL) { + ngx_close_accepted_udp_connection(c); + return; + } + + c->sockaddr = ngx_palloc(c->pool, socklen); + if (c->sockaddr == NULL) { + ngx_close_accepted_udp_connection(c); + return; + } + + ngx_memcpy(c->sockaddr, sockaddr, socklen); + + log = ngx_palloc(c->pool, sizeof(ngx_log_t)); + if (log == NULL) { + ngx_close_accepted_udp_connection(c); + return; + } + + *log = ls->log; + + c->recv = ngx_udp_shared_recv; + c->send = ngx_udp_send; + c->send_chain = ngx_udp_send_chain; + + c->log = log; + c->pool->log = log; + c->listening = ls; + + if (local_sockaddr == &lsa.sockaddr) { + local_sockaddr = ngx_palloc(c->pool, local_socklen); + if (local_sockaddr == NULL) { + ngx_close_accepted_udp_connection(c); + return; + } + + ngx_memcpy(local_sockaddr, &lsa, local_socklen); + } + + c->local_sockaddr = local_sockaddr; + c->local_socklen = local_socklen; + + c->buffer = ngx_create_temp_buf(c->pool, n); + if (c->buffer == NULL) { + ngx_close_accepted_udp_connection(c); + return; + } + + c->buffer->last = ngx_cpymem(c->buffer->last, buffer, n); + + rev = c->read; + wev = c->write; + + wev->ready = 1; + + rev->log = log; + wev->log = log; + + /* + * TODO: MT: - ngx_atomic_fetch_add() + * or protection by critical section or light mutex + * + * TODO: MP: - allocated in a shared memory + * - ngx_atomic_fetch_add() + * or protection by critical section or light mutex + */ + + c->number = ngx_atomic_fetch_add(ngx_connection_counter, 1); + +#if (NGX_STAT_STUB) + (void) ngx_atomic_fetch_add(ngx_stat_handled, 1); +#endif + + if (ls->addr_ntop) { + c->addr_text.data = ngx_pnalloc(c->pool, ls->addr_text_max_len); + if (c->addr_text.data == NULL) { + ngx_close_accepted_udp_connection(c); + return; + } + + c->addr_text.len = ngx_sock_ntop(c->sockaddr, c->socklen, + c->addr_text.data, + ls->addr_text_max_len, 0); + if (c->addr_text.len == 0) { + ngx_close_accepted_udp_connection(c); + return; + } + } + +#if (NGX_DEBUG) + { + ngx_str_t addr; + u_char text[NGX_SOCKADDR_STRLEN]; + + ngx_debug_accepted_connection(ecf, c); + + if (log->log_level & NGX_LOG_DEBUG_EVENT) { + addr.data = text; + addr.len = ngx_sock_ntop(c->sockaddr, c->socklen, text, + NGX_SOCKADDR_STRLEN, 1); + + ngx_log_debug4(NGX_LOG_DEBUG_EVENT, log, 0, + "*%uA recvmsg: %V fd:%d n:%z", + c->number, &addr, c->fd, n); + } + + } +#endif + + if (ngx_insert_udp_connection(c) != NGX_OK) { + ngx_close_accepted_udp_connection(c); + return; + } + + log->data = NULL; + log->handler = NULL; + + ls->handler(c); + + next: + + if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { + ev->available -= n; + } + + } while (ev->available); +} + + +static void +ngx_close_accepted_udp_connection(ngx_connection_t *c) +{ + ngx_free_connection(c); + + c->fd = (ngx_socket_t) -1; + + if (c->pool) { + ngx_destroy_pool(c->pool); + } + +#if (NGX_STAT_STUB) + (void) ngx_atomic_fetch_add(ngx_stat_active, -1); +#endif +} + + +static ssize_t +ngx_udp_shared_recv(ngx_connection_t *c, u_char *buf, size_t size) +{ + ssize_t n; + ngx_buf_t *b; + + if (c->udp == NULL || c->udp->buffer == NULL) { + return NGX_AGAIN; + } + + b = c->udp->buffer; + + n = ngx_min(b->last - b->pos, (ssize_t) size); + + ngx_memcpy(buf, b->pos, n); + + c->udp->buffer = NULL; + c->read->ready = 0; + + return n; +} + + +void +ngx_udp_rbtree_insert_value(ngx_rbtree_node_t *temp, + ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel) +{ + ngx_int_t rc; + ngx_connection_t *c, *ct; + ngx_rbtree_node_t **p; + ngx_udp_connection_t *udp, *udpt; + + for ( ;; ) { + + if (node->key < temp->key) { + + p = &temp->left; + + } else if (node->key > temp->key) { + + p = &temp->right; + + } else { /* node->key == temp->key */ + + udp = (ngx_udp_connection_t *) node; + c = udp->connection; + + udpt = (ngx_udp_connection_t *) temp; + ct = udpt->connection; + + rc = ngx_cmp_sockaddr(c->sockaddr, c->socklen, + ct->sockaddr, ct->socklen, 1); + + if (rc == 0 && c->listening->wildcard) { + rc = ngx_cmp_sockaddr(c->local_sockaddr, c->local_socklen, + ct->local_sockaddr, ct->local_socklen, 1); + } + + p = (rc < 0) ? &temp->left : &temp->right; + } + + if (*p == sentinel) { + break; + } + + temp = *p; + } + + *p = node; + node->parent = temp; + node->left = sentinel; + node->right = sentinel; + ngx_rbt_red(node); +} + + +static ngx_int_t +ngx_insert_udp_connection(ngx_connection_t *c) +{ + uint32_t hash; + ngx_pool_cleanup_t *cln; + ngx_udp_connection_t *udp; + + if (c->udp) { + return NGX_OK; + } + + udp = ngx_pcalloc(c->pool, sizeof(ngx_udp_connection_t)); + if (udp == NULL) { + return NGX_ERROR; + } + + udp->connection = c; + + ngx_crc32_init(hash); + ngx_crc32_update(&hash, (u_char *) c->sockaddr, c->socklen); + + if (c->listening->wildcard) { + ngx_crc32_update(&hash, (u_char *) c->local_sockaddr, c->local_socklen); + } + + ngx_crc32_final(hash); + + udp->node.key = hash; + + cln = ngx_pool_cleanup_add(c->pool, 0); + if (cln == NULL) { + return NGX_ERROR; + } + + cln->data = c; + cln->handler = ngx_delete_udp_connection; + + ngx_rbtree_insert(&c->listening->rbtree, &udp->node); + + c->udp = udp; + + return NGX_OK; +} + + +static void +ngx_delete_udp_connection(void *data) +{ + ngx_connection_t *c = data; + + ngx_rbtree_delete(&c->listening->rbtree, &c->udp->node); +} + + +static ngx_connection_t * +ngx_lookup_udp_connection(ngx_listening_t *ls, struct sockaddr *sockaddr, + socklen_t socklen, struct sockaddr *local_sockaddr, socklen_t local_socklen) +{ + uint32_t hash; + ngx_int_t rc; + ngx_connection_t *c; + ngx_rbtree_node_t *node, *sentinel; + ngx_udp_connection_t *udp; + +#if (NGX_HAVE_UNIX_DOMAIN) + + if (sockaddr->sa_family == AF_UNIX) { + struct sockaddr_un *saun = (struct sockaddr_un *) sockaddr; + + if (socklen <= (socklen_t) offsetof(struct sockaddr_un, sun_path) + || saun->sun_path[0] == '\0') + { + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ngx_cycle->log, 0, + "unbound unix socket"); + return NULL; + } + } + +#endif + + node = ls->rbtree.root; + sentinel = ls->rbtree.sentinel; + + ngx_crc32_init(hash); + ngx_crc32_update(&hash, (u_char *) sockaddr, socklen); + + if (ls->wildcard) { + ngx_crc32_update(&hash, (u_char *) local_sockaddr, local_socklen); + } + + ngx_crc32_final(hash); + + while (node != sentinel) { + + if (hash < node->key) { + node = node->left; + continue; + } + + if (hash > node->key) { + node = node->right; + continue; + } + + /* hash == node->key */ + + udp = (ngx_udp_connection_t *) node; + + c = udp->connection; + + rc = ngx_cmp_sockaddr(sockaddr, socklen, + c->sockaddr, c->socklen, 1); + + if (rc == 0 && ls->wildcard) { + rc = ngx_cmp_sockaddr(local_sockaddr, local_socklen, + c->local_sockaddr, c->local_socklen, 1); + } + + if (rc == 0) { + return c; + } + + node = (rc < 0) ? node->left : node->right; + } + + return NULL; +} + +#endif Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_addition_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_auth_basic_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_auth_request_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_autoindex_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_browser_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_charset_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_chunked_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_dav_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_degradation_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_empty_gif_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_fastcgi_module.c (+4 -2) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_fastcgi_module.c 2018-06-25 12:02:55 +0900 (bc43f53ed) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_fastcgi_module.c 2018-06-25 12:23:48 +0900 (3eec1b7dd) @@ -3264,7 +3264,8 @@ ngx_http_fastcgi_init_params(ngx_conf_t *cf, ngx_http_fastcgi_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].key.len; copy = ngx_array_push_n(params->lengths, @@ -3273,7 +3274,8 @@ ngx_http_fastcgi_init_params(ngx_conf_t *cf, ngx_http_fastcgi_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].skip_empty; Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_flv_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_grpc_module.c (+2 -1) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_grpc_module.c 2018-06-25 12:02:55 +0900 (837ad9a2e) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_grpc_module.c 2018-06-25 12:23:48 +0900 (300d92704) @@ -4389,7 +4389,8 @@ ngx_http_grpc_init_headers(ngx_conf_t *cf, ngx_http_grpc_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].key.len; size = (sizeof(ngx_http_script_copy_code_t) Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_gunzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_gzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_gzip_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_headers_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_image_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_limit_req_module.c (+25 -4) 98% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_limit_req_module.c 2018-06-25 12:02:55 +0900 (579b13c84) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_limit_req_module.c 2018-06-25 12:23:48 +0900 (63ec2de3f) @@ -399,7 +399,14 @@ ngx_http_limit_req_lookup(ngx_http_limit_req_limit_t *limit, ngx_uint_t hash, ms = (ngx_msec_int_t) (now - lr->last); - excess = lr->excess - ctx->rate * ngx_abs(ms) / 1000 + 1000; + if (ms < -60000) { + ms = 1; + + } else if (ms < 0) { + ms = 0; + } + + excess = lr->excess - ctx->rate * ms / 1000 + 1000; if (excess < 0) { excess = 0; @@ -413,7 +420,11 @@ ngx_http_limit_req_lookup(ngx_http_limit_req_limit_t *limit, ngx_uint_t hash, if (account) { lr->excess = excess; - lr->last = now; + + if (ms) { + lr->last = now; + } + return NGX_OK; } @@ -509,13 +520,23 @@ ngx_http_limit_req_account(ngx_http_limit_req_limit_t *limits, ngx_uint_t n, now = ngx_current_msec; ms = (ngx_msec_int_t) (now - lr->last); - excess = lr->excess - ctx->rate * ngx_abs(ms) / 1000 + 1000; + if (ms < -60000) { + ms = 1; + + } else if (ms < 0) { + ms = 0; + } + + excess = lr->excess - ctx->rate * ms / 1000 + 1000; if (excess < 0) { excess = 0; } - lr->last = now; + if (ms) { + lr->last = now; + } + lr->excess = excess; lr->count--; Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_memcached_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_mirror_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_mp4_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_not_modified_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_proxy_module.c (+2 -1) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_proxy_module.c 2018-06-25 12:02:55 +0900 (c9ad638df) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_proxy_module.c 2018-06-25 12:23:48 +0900 (e7f829d65) @@ -3493,7 +3493,8 @@ ngx_http_proxy_init_headers(ngx_conf_t *cf, ngx_http_proxy_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].key.len; size = (sizeof(ngx_http_script_copy_code_t) Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_random_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_range_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_referer_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_rewrite_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_scgi_module.c (+4 -2) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_scgi_module.c 2018-06-25 12:02:55 +0900 (3fb227b28) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_scgi_module.c 2018-06-25 12:23:48 +0900 (9bd45bd13) @@ -1724,7 +1724,8 @@ ngx_http_scgi_init_params(ngx_conf_t *cf, ngx_http_scgi_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].key.len + 1; copy = ngx_array_push_n(params->lengths, @@ -1733,7 +1734,8 @@ ngx_http_scgi_init_params(ngx_conf_t *cf, ngx_http_scgi_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].skip_empty; Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_secure_link_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_slice_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_ssi_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_ssi_filter_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_ssl_module.c (+37 -3) 96% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_ssl_module.c 2018-06-25 12:02:55 +0900 (7d62176e0) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_ssl_module.c 2018-06-25 12:23:48 +0900 (7e9544127) @@ -71,6 +71,11 @@ static ngx_conf_enum_t ngx_http_ssl_verify[] = { }; +static ngx_conf_deprecated_t ngx_http_ssl_deprecated = { + ngx_conf_deprecated, "ssl", "listen ... ssl" +}; + + static ngx_command_t ngx_http_ssl_commands[] = { { ngx_string("ssl"), @@ -78,7 +83,7 @@ static ngx_command_t ngx_http_ssl_commands[] = { ngx_http_ssl_enable, NGX_HTTP_SRV_CONF_OFFSET, offsetof(ngx_http_ssl_srv_conf_t, enable), - NULL }, + &ngx_http_ssl_deprecated }, { ngx_string("ssl_certificate"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1, @@ -966,10 +971,12 @@ invalid: static ngx_int_t ngx_http_ssl_init(ngx_conf_t *cf) { - ngx_uint_t s; + ngx_uint_t a, p, s; + ngx_http_conf_addr_t *addr; + ngx_http_conf_port_t *port; ngx_http_ssl_srv_conf_t *sscf; ngx_http_core_loc_conf_t *clcf; - ngx_http_core_srv_conf_t **cscfp; + ngx_http_core_srv_conf_t **cscfp, *cscf; ngx_http_core_main_conf_t *cmcf; cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); @@ -993,5 +1000,32 @@ ngx_http_ssl_init(ngx_conf_t *cf) } } + if (cmcf->ports == NULL) { + return NGX_OK; + } + + port = cmcf->ports->elts; + for (p = 0; p < cmcf->ports->nelts; p++) { + + addr = port[p].addrs.elts; + for (a = 0; a < port[p].addrs.nelts; a++) { + + if (!addr[a].opt.ssl) { + continue; + } + + cscf = addr[a].default_server; + sscf = cscf->ctx->srv_conf[ngx_http_ssl_module.ctx_index]; + + if (sscf->certificates == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "no \"ssl_certificate\" is defined for " + "the \"listen ... ssl\" directive in %s:%ui", + cscf->file_name, cscf->line); + return NGX_ERROR; + } + } + } + return NGX_OK; } Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_stub_status_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_sub_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_try_files_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_ip_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_keepalive_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_userid_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_uwsgi_module.c (+4 -2) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/modules/ngx_http_uwsgi_module.c 2018-06-25 12:02:55 +0900 (124da4db5) +++ vendor/nginx-1.15.0/src/http/modules/ngx_http_uwsgi_module.c 2018-06-25 12:23:48 +0900 (238bcf8a3) @@ -1987,7 +1987,8 @@ ngx_http_uwsgi_init_params(ngx_conf_t *cf, ngx_http_uwsgi_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].key.len; copy = ngx_array_push_n(params->lengths, @@ -1996,7 +1997,8 @@ ngx_http_uwsgi_init_params(ngx_conf_t *cf, ngx_http_uwsgi_loc_conf_t *conf, return NGX_ERROR; } - copy->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + copy->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; copy->len = src[i].skip_empty; Renamed: vendor/nginx-1.15.0/src/http/modules/ngx_http_xslt_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/perl/Makefile.PL (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/perl/nginx.pm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/perl/nginx.xs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/perl/ngx_http_perl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/perl/ngx_http_perl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/modules/perl/typemap (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_copy_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_core_module.c (+3 -0) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/ngx_http_core_module.c 2018-06-25 12:02:55 +0900 (6b318dd0f) +++ vendor/nginx-1.15.0/src/http/ngx_http_core_module.c 2018-06-25 12:23:48 +0900 (2d8fdb88e) @@ -3256,6 +3256,9 @@ ngx_http_core_create_srv_conf(ngx_conf_t *cf) cscf->merge_slashes = NGX_CONF_UNSET; cscf->underscores_in_headers = NGX_CONF_UNSET; + cscf->file_name = cf->conf_file->file.name.data; + cscf->line = cf->conf_file->line; + return cscf; } Renamed: vendor/nginx-1.15.0/src/http/ngx_http_core_module.h (+3 -0) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/ngx_http_core_module.h 2018-06-25 12:02:55 +0900 (d79850498) +++ vendor/nginx-1.15.0/src/http/ngx_http_core_module.h 2018-06-25 12:23:48 +0900 (4c6da7c0f) @@ -184,6 +184,9 @@ typedef struct { /* server ctx */ ngx_http_conf_ctx_t *ctx; + u_char *file_name; + ngx_uint_t line; + ngx_str_t server_name; size_t connection_pool_size; Renamed: vendor/nginx-1.15.0/src/http/ngx_http_file_cache.c (+2 -1) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/ngx_http_file_cache.c 2018-06-25 12:02:55 +0900 (3b2b68a26) +++ vendor/nginx-1.15.0/src/http/ngx_http_file_cache.c 2018-06-25 12:23:48 +0900 (56866fa4e) @@ -2620,7 +2620,8 @@ ngx_http_file_cache_valid_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, time_t valid; ngx_str_t *value; - ngx_uint_t i, n, status; + ngx_int_t status; + ngx_uint_t i, n; ngx_array_t **a; ngx_http_cache_valid_t *v; static ngx_uint_t statuses[] = { 200, 301, 302 }; Renamed: vendor/nginx-1.15.0/src/http/ngx_http_header_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_postpone_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_request.c (+1 -12) 99% =================================================================== --- vendor/nginx-1.14.0/src/http/ngx_http_request.c 2018-06-25 12:02:55 +0900 (2db7a6279) +++ vendor/nginx-1.15.0/src/http/ngx_http_request.c 2018-06-25 12:23:48 +0900 (47c62d9fd) @@ -336,19 +336,8 @@ ngx_http_init_connection(ngx_connection_t *c) sscf = ngx_http_get_module_srv_conf(hc->conf_ctx, ngx_http_ssl_module); if (sscf->enable || hc->addr_conf->ssl) { - - c->log->action = "SSL handshaking"; - - if (hc->addr_conf->ssl && sscf->ssl.ctx == NULL) { - ngx_log_error(NGX_LOG_ERR, c->log, 0, - "no \"ssl_certificate\" is defined " - "in server listening on SSL port"); - ngx_http_close_connection(c); - return; - } - hc->ssl = 1; - + c->log->action = "SSL handshaking"; rev->handler = ngx_http_ssl_handshake; } } Renamed: vendor/nginx-1.15.0/src/http/ngx_http_request.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_request_body.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_script.c (+8 -5) 98% =================================================================== --- vendor/nginx-1.14.0/src/http/ngx_http_script.c 2018-06-25 12:02:55 +0900 (96f3ec696) +++ vendor/nginx-1.15.0/src/http/ngx_http_script.c 2018-06-25 12:23:48 +0900 (1a8773561) @@ -695,7 +695,8 @@ ngx_http_script_add_copy_code(ngx_http_script_compile_t *sc, ngx_str_t *value, return NGX_ERROR; } - code->code = (ngx_http_script_code_pt) ngx_http_script_copy_len_code; + code->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_len_code; code->len = len; size = (sizeof(ngx_http_script_copy_code_t) + len + sizeof(uintptr_t) - 1) @@ -784,7 +785,8 @@ ngx_http_script_add_var_code(ngx_http_script_compile_t *sc, ngx_str_t *name) return NGX_ERROR; } - code->code = (ngx_http_script_code_pt) ngx_http_script_copy_var_len_code; + code->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_var_len_code; code->index = (uintptr_t) index; code = ngx_http_script_add_code(*sc->values, @@ -1178,8 +1180,8 @@ ngx_http_script_add_capture_code(ngx_http_script_compile_t *sc, ngx_uint_t n) return NGX_ERROR; } - code->code = (ngx_http_script_code_pt) - ngx_http_script_copy_capture_len_code; + code->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_copy_capture_len_code; code->n = 2 * n; @@ -1293,7 +1295,8 @@ ngx_http_script_add_full_name_code(ngx_http_script_compile_t *sc) return NGX_ERROR; } - code->code = (ngx_http_script_code_pt) ngx_http_script_full_name_len_code; + code->code = (ngx_http_script_code_pt) (void *) + ngx_http_script_full_name_len_code; code->conf_prefix = sc->conf_prefix; code = ngx_http_script_add_code(*sc->values, Renamed: vendor/nginx-1.15.0/src/http/ngx_http_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_special_response.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_upstream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_variables.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_variables.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/ngx_http_write_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_huff_decode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_huff_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/http/v2/ngx_http_v2_table.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_auth_http_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_core_module.c (+9 -0) 98% =================================================================== --- vendor/nginx-1.14.0/src/mail/ngx_mail_core_module.c 2018-06-25 12:02:55 +0900 (276b8eeb1) +++ vendor/nginx-1.15.0/src/mail/ngx_mail_core_module.c 2018-06-25 12:23:48 +0900 (dd4e9802b) @@ -474,7 +474,16 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_strcmp(value[i].data, "ssl") == 0) { #if (NGX_MAIL_SSL) + ngx_mail_ssl_conf_t *sslcf; + + sslcf = ngx_mail_conf_get_module_srv_conf(cf, ngx_mail_ssl_module); + + sslcf->listen = 1; + sslcf->file = cf->conf_file->file.name.data; + sslcf->line = cf->conf_file->line; + ls->ssl = 1; + continue; #else ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_handler.c (+1 -17) 97% =================================================================== --- vendor/nginx-1.14.0/src/mail/ngx_mail_handler.c 2018-06-25 12:02:55 +0900 (bc3e6b9e2) +++ vendor/nginx-1.15.0/src/mail/ngx_mail_handler.c 2018-06-25 12:23:48 +0900 (803a247d2) @@ -165,29 +165,13 @@ ngx_mail_init_connection(ngx_connection_t *c) sslcf = ngx_mail_get_module_srv_conf(s, ngx_mail_ssl_module); - if (sslcf->enable) { + if (sslcf->enable || addr_conf->ssl) { c->log->action = "SSL handshaking"; ngx_mail_ssl_init_connection(&sslcf->ssl, c); return; } - if (addr_conf->ssl) { - - c->log->action = "SSL handshaking"; - - if (sslcf->ssl.ctx == NULL) { - ngx_log_error(NGX_LOG_ERR, c->log, 0, - "no \"ssl_certificate\" is defined " - "in server listening on SSL port"); - ngx_mail_close_connection(c); - return; - } - - ngx_mail_ssl_init_connection(&sslcf->ssl, c); - return; - } - } #endif Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_imap_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_imap_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_imap_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_pop3_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_pop3_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_pop3_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_smtp_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_smtp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_smtp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_ssl_module.c (+43 -50) 89% =================================================================== --- vendor/nginx-1.14.0/src/mail/ngx_mail_ssl_module.c 2018-06-25 12:02:55 +0900 (aebd179d0) +++ vendor/nginx-1.15.0/src/mail/ngx_mail_ssl_module.c 2018-06-25 12:23:48 +0900 (45095979e) @@ -56,6 +56,11 @@ static ngx_conf_enum_t ngx_mail_ssl_verify[] = { }; +static ngx_conf_deprecated_t ngx_mail_ssl_deprecated = { + ngx_conf_deprecated, "ssl", "listen ... ssl" +}; + + static ngx_command_t ngx_mail_ssl_commands[] = { { ngx_string("ssl"), @@ -63,7 +68,7 @@ static ngx_command_t ngx_mail_ssl_commands[] = { ngx_mail_ssl_enable, NGX_MAIL_SRV_CONF_OFFSET, offsetof(ngx_mail_ssl_conf_t, enable), - NULL }, + &ngx_mail_ssl_deprecated }, { ngx_string("starttls"), NGX_MAIL_MAIN_CONF|NGX_MAIL_SRV_CONF|NGX_CONF_TAKE1, @@ -238,6 +243,7 @@ ngx_mail_ssl_create_conf(ngx_conf_t *cf) /* * set by ngx_pcalloc(): * + * scf->listen = 0; * scf->protocols = 0; * scf->dhparam = { 0, NULL }; * scf->ecdh_curve = { 0, NULL }; @@ -313,14 +319,17 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) conf->ssl.log = cf->log; - if (conf->enable) { + if (conf->listen) { + mode = "listen ... ssl"; + + } else if (conf->enable) { mode = "ssl"; } else if (conf->starttls != NGX_MAIL_STARTTLS_OFF) { mode = "starttls"; } else { - mode = ""; + return NGX_CONF_OK; } if (conf->file == NULL) { @@ -328,51 +337,31 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) conf->line = prev->line; } - if (*mode) { - - if (conf->certificates == NULL) { - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "no \"ssl_certificate\" is defined for " - "the \"%s\" directive in %s:%ui", - mode, conf->file, conf->line); - return NGX_CONF_ERROR; - } - - if (conf->certificate_keys == NULL) { - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "no \"ssl_certificate_key\" is defined for " - "the \"%s\" directive in %s:%ui", - mode, conf->file, conf->line); - return NGX_CONF_ERROR; - } - - if (conf->certificate_keys->nelts < conf->certificates->nelts) { - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "no \"ssl_certificate_key\" is defined " - "for certificate \"%V\" and " - "the \"ssl\" directive in %s:%ui", - ((ngx_str_t *) conf->certificates->elts) - + conf->certificates->nelts - 1, - conf->file, conf->line); - return NGX_CONF_ERROR; - } - - } else { + if (conf->certificates == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "no \"ssl_certificate\" is defined for " + "the \"%s\" directive in %s:%ui", + mode, conf->file, conf->line); + return NGX_CONF_ERROR; + } - if (conf->certificates == NULL) { - return NGX_CONF_OK; - } + if (conf->certificate_keys == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "no \"ssl_certificate_key\" is defined for " + "the \"%s\" directive in %s:%ui", + mode, conf->file, conf->line); + return NGX_CONF_ERROR; + } - if (conf->certificate_keys == NULL - || conf->certificate_keys->nelts < conf->certificates->nelts) - { - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "no \"ssl_certificate_key\" is defined " - "for certificate \"%V\"", - ((ngx_str_t *) conf->certificates->elts) - + conf->certificates->nelts - 1); - return NGX_CONF_ERROR; - } + if (conf->certificate_keys->nelts < conf->certificates->nelts) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "no \"ssl_certificate_key\" is defined " + "for certificate \"%V\" and " + "the \"%s\" directive in %s:%ui", + ((ngx_str_t *) conf->certificates->elts) + + conf->certificates->nelts - 1, + mode, conf->file, conf->line); + return NGX_CONF_ERROR; } if (ngx_ssl_create(&conf->ssl, conf->protocols, NULL) != NGX_OK) { @@ -494,8 +483,10 @@ ngx_mail_ssl_enable(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - scf->file = cf->conf_file->file.name.data; - scf->line = cf->conf_file->line; + if (!scf->listen) { + scf->file = cf->conf_file->file.name.data; + scf->line = cf->conf_file->line; + } return NGX_CONF_OK; } @@ -520,8 +511,10 @@ ngx_mail_ssl_starttls(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - scf->file = cf->conf_file->file.name.data; - scf->line = cf->conf_file->line; + if (!scf->listen) { + scf->file = cf->conf_file->file.name.data; + scf->line = cf->conf_file->line; + } return NGX_CONF_OK; } Renamed: vendor/nginx-1.15.0/src/mail/ngx_mail_ssl_module.h (+1 -0) 97% =================================================================== --- vendor/nginx-1.14.0/src/mail/ngx_mail_ssl_module.h 2018-06-25 12:02:55 +0900 (26628d57e) +++ vendor/nginx-1.15.0/src/mail/ngx_mail_ssl_module.h 2018-06-25 12:23:48 +0900 (d6b0b8e0d) @@ -26,6 +26,7 @@ typedef struct { ngx_ssl_t ssl; ngx_uint_t starttls; + ngx_uint_t listen; ngx_uint_t protocols; ngx_uint_t verify; Renamed: vendor/nginx-1.15.0/src/misc/ngx_cpp_test_module.cpp (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/misc/ngx_google_perftools_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_channel.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_channel.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_daemon.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_darwin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_darwin_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_darwin_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_darwin_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_file_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_freebsd.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_freebsd_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_freebsd_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_freebsd_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_amd64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_ppc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_gcc_atomic_x86.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_linux.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_linux_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_linux_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_linux_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_linux_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_posix_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_posix_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_readv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_setaffinity.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_setaffinity.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_setproctitle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_setproctitle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_solaris.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_solaris_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_solaris_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_solaris_sendfilev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_amd64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_sparc64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_sunpro_x86.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_thread_cond.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_thread_id.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_thread_mutex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_udp_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_udp_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_udp_sendmsg_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_user.c (+0 -4) 93% =================================================================== --- vendor/nginx-1.14.0/src/os/unix/ngx_user.c 2018-06-25 12:02:55 +0900 (7ebe2b576) +++ vendor/nginx-1.15.0/src/os/unix/ngx_user.c 2018-06-25 12:23:48 +0900 (b3d81d07b) @@ -21,10 +21,6 @@ ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted) struct crypt_data cd; cd.initialized = 0; -#ifdef __GLIBC__ - /* work around the glibc bug */ - cd.current_salt[0] = ~salt[0]; -#endif value = crypt_r((char *) key, (char *) salt, &cd); Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/unix/ngx_writev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/nginx.ico (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/nginx.rc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/nginx_icon16.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/nginx_icon32.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/nginx_icon48.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_event_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_service.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_stat.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_thread.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_time.c (+1 -1) 98% =================================================================== --- vendor/nginx-1.14.0/src/os/win32/ngx_time.c 2018-06-25 12:02:55 +0900 (bd6d28766) +++ vendor/nginx-1.15.0/src/os/win32/ngx_time.c 2018-06-25 12:23:48 +0900 (79149b2c7) @@ -23,7 +23,7 @@ ngx_gettimeofday(struct timeval *tp) * January 1, 1601 12:00 A.M. UTC. * * Between January 1, 1970 (Epoch) and January 1, 1601 there were - * 134744 days, + * 134774 days, * 11644473600 seconds or * 11644473600,000,000,0 100-nanosecond intervals. * Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_udp_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_win32_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_win32_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_wsarecv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_wsasend.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/os/win32/ngx_wsasend_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_core_module.c (+10 -0) 98% =================================================================== --- vendor/nginx-1.14.0/src/stream/ngx_stream_core_module.c 2018-06-25 12:02:55 +0900 (272708d62) +++ vendor/nginx-1.15.0/src/stream/ngx_stream_core_module.c 2018-06-25 12:23:48 +0900 (96e7c9ac8) @@ -734,7 +734,17 @@ ngx_stream_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) if (ngx_strcmp(value[i].data, "ssl") == 0) { #if (NGX_STREAM_SSL) + ngx_stream_ssl_conf_t *sslcf; + + sslcf = ngx_stream_conf_get_module_srv_conf(cf, + ngx_stream_ssl_module); + + sslcf->listen = 1; + sslcf->file = cf->conf_file->file.name.data; + sslcf->line = cf->conf_file->line; + ls->ssl = 1; + continue; #else ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_proxy_module.c (+76 -50) 95% =================================================================== --- vendor/nginx-1.14.0/src/stream/ngx_stream_proxy_module.c 2018-06-25 12:02:55 +0900 (30572cdd9) +++ vendor/nginx-1.15.0/src/stream/ngx_stream_proxy_module.c 2018-06-25 12:23:48 +0900 (792bb7758) @@ -377,6 +377,8 @@ ngx_stream_proxy_handler(ngx_stream_session_t *s) s->log_handler = ngx_stream_proxy_log_error; + u->requests = 1; + u->peer.log = c->log; u->peer.log_error = NGX_ERROR_ERR; @@ -398,21 +400,19 @@ ngx_stream_proxy_handler(ngx_stream_session_t *s) return; } - if (c->type == SOCK_STREAM) { - p = ngx_pnalloc(c->pool, pscf->buffer_size); - if (p == NULL) { - ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR); - return; - } + p = ngx_pnalloc(c->pool, pscf->buffer_size); + if (p == NULL) { + ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR); + return; + } - u->downstream_buf.start = p; - u->downstream_buf.end = p + pscf->buffer_size; - u->downstream_buf.pos = p; - u->downstream_buf.last = p; + u->downstream_buf.start = p; + u->downstream_buf.end = p + pscf->buffer_size; + u->downstream_buf.pos = p; + u->downstream_buf.last = p; - if (c->read->ready) { - ngx_post_event(c->read, &ngx_posted_events); - } + if (c->read->ready) { + ngx_post_event(c->read, &ngx_posted_events); } if (pscf->upstream_value) { @@ -829,7 +829,6 @@ ngx_stream_proxy_init_upstream(ngx_stream_session_t *s) cl->buf->tag = (ngx_buf_tag_t) &ngx_stream_proxy_module; cl->buf->flush = 1; - cl->buf->last_buf = (c->type == SOCK_DGRAM); cl->next = u->upstream_out; u->upstream_out = cl; @@ -871,17 +870,12 @@ ngx_stream_proxy_init_upstream(ngx_stream_session_t *s) u->proxy_protocol = 0; } - if (c->type == SOCK_DGRAM && pscf->responses == 0) { - pc->read->ready = 0; - pc->read->eof = 1; - } - u->connected = 1; pc->read->handler = ngx_stream_proxy_upstream_handler; pc->write->handler = ngx_stream_proxy_upstream_handler; - if (pc->read->ready || pc->read->eof) { + if (pc->read->ready) { ngx_post_event(pc->read, &ngx_posted_events); } @@ -1280,6 +1274,7 @@ static void ngx_stream_proxy_process_connection(ngx_event_t *ev, ngx_uint_t from_upstream) { ngx_connection_t *c, *pc; + ngx_log_handler_pt handler; ngx_stream_session_t *s; ngx_stream_upstream_t *u; ngx_stream_proxy_srv_conf_t *pscf; @@ -1328,25 +1323,37 @@ ngx_stream_proxy_process_connection(ngx_event_t *ev, ngx_uint_t from_upstream) * with unspecified number of responses */ - pc->read->ready = 0; - pc->read->eof = 1; + handler = c->log->handler; + c->log->handler = NULL; + + ngx_log_error(NGX_LOG_INFO, c->log, 0, + "udp timed out" + ", packets from/to client:%ui/%ui" + ", bytes from/to client:%O/%O" + ", bytes from/to upstream:%O/%O", + u->requests, u->responses, + s->received, c->sent, u->received, + pc ? pc->sent : 0); + + c->log->handler = handler; - ngx_stream_proxy_process(s, 1, 0); + ngx_stream_proxy_finalize(s, NGX_STREAM_OK); return; } ngx_connection_error(pc, NGX_ETIMEDOUT, "upstream timed out"); - if (u->received == 0) { - ngx_stream_proxy_next_upstream(s); - return; - } + pc->read->error = 1; - } else { - ngx_connection_error(c, NGX_ETIMEDOUT, "connection timed out"); + ngx_stream_proxy_finalize(s, NGX_STREAM_BAD_GATEWAY); + + return; } + ngx_connection_error(c, NGX_ETIMEDOUT, "connection timed out"); + ngx_stream_proxy_finalize(s, NGX_STREAM_OK); + return; } @@ -1453,7 +1460,7 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, ssize_t n; ngx_buf_t *b; ngx_int_t rc; - ngx_uint_t flags; + ngx_uint_t flags, *packets; ngx_msec_t delay; ngx_chain_t *cl, **ll, **out, **busy; ngx_connection_t *c, *pc, *src, *dst; @@ -1489,6 +1496,7 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, b = &u->upstream_buf; limit_rate = pscf->download_rate; received = &u->received; + packets = &u->responses; out = &u->downstream_out; busy = &u->downstream_busy; recv_action = "proxying and reading from upstream"; @@ -1500,6 +1508,7 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, b = &u->downstream_buf; limit_rate = pscf->upload_rate; received = &s->received; + packets = &u->requests; out = &u->upstream_out; busy = &u->upstream_busy; recv_action = "proxying and reading from client"; @@ -1516,11 +1525,6 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, rc = ngx_stream_top_filter(s, *out, from_upstream); if (rc == NGX_ERROR) { - if (c->type == SOCK_DGRAM && !from_upstream) { - ngx_stream_proxy_next_upstream(s); - return; - } - ngx_stream_proxy_finalize(s, NGX_STREAM_OK); return; } @@ -1565,11 +1569,6 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, } if (n == NGX_ERROR) { - if (c->type == SOCK_DGRAM && u->received == 0) { - ngx_stream_proxy_next_upstream(s); - return; - } - src->read->eof = 1; n = 0; } @@ -1591,12 +1590,6 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, } } - if (c->type == SOCK_DGRAM && ++u->responses == pscf->responses) - { - src->read->ready = 0; - src->read->eof = 1; - } - for (ll = out; *ll; ll = &(*ll)->next) { /* void */ } cl = ngx_chain_get_free_buf(c->pool, &u->free); @@ -1616,6 +1609,7 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, cl->buf->last_buf = src->read->eof; cl->buf->flush = 1; + (*packets)++; *received += n; b->last += n; do_write = 1; @@ -1629,15 +1623,38 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream, c->log->action = "proxying connection"; - if (src->read->eof && dst && (dst->read->eof || !dst->buffered)) { + if (c->type == SOCK_DGRAM + && pscf->responses != NGX_MAX_INT32_VALUE + && u->responses >= pscf->responses * u->requests + && !src->buffered && dst && !dst->buffered) + { handler = c->log->handler; c->log->handler = NULL; ngx_log_error(NGX_LOG_INFO, c->log, 0, - "%s%s disconnected" + "udp done" + ", packets from/to client:%ui/%ui" + ", bytes from/to client:%O/%O" + ", bytes from/to upstream:%O/%O", + u->requests, u->responses, + s->received, c->sent, u->received, pc ? pc->sent : 0); + + c->log->handler = handler; + + ngx_stream_proxy_finalize(s, NGX_STREAM_OK); + return; + } + + if (c->type == SOCK_STREAM + && src->read->eof && dst && (dst->read->eof || !dst->buffered)) + { + handler = c->log->handler; + c->log->handler = NULL; + + ngx_log_error(NGX_LOG_INFO, c->log, 0, + "%s disconnected" ", bytes from/to client:%O/%O" ", bytes from/to upstream:%O/%O", - src->type == SOCK_DGRAM ? "udp " : "", from_upstream ? "upstream" : "client", s->received, c->sent, u->received, pc ? pc->sent : 0); @@ -1739,6 +1756,7 @@ ngx_stream_proxy_next_upstream(ngx_stream_session_t *s) static void ngx_stream_proxy_finalize(ngx_stream_session_t *s, ngx_uint_t rc) { + ngx_uint_t state; ngx_connection_t *pc; ngx_stream_upstream_t *u; @@ -1768,7 +1786,15 @@ ngx_stream_proxy_finalize(ngx_stream_session_t *s, ngx_uint_t rc) } if (u->peer.free && u->peer.sockaddr) { - u->peer.free(&u->peer, u->peer.data, 0); + state = 0; + + if (pc && pc->type == SOCK_DGRAM + && (pc->read->error || pc->write->error)) + { + state = NGX_PEER_FAILED; + } + + u->peer.free(&u->peer, u->peer.data, state); u->peer.sockaddr = NULL; } Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_return_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_script.c (+7 -6) 97% =================================================================== --- vendor/nginx-1.14.0/src/stream/ngx_stream_script.c 2018-06-25 12:02:55 +0900 (aa555ca2c) +++ vendor/nginx-1.15.0/src/stream/ngx_stream_script.c 2018-06-25 12:23:48 +0900 (b00e7086f) @@ -587,7 +587,8 @@ ngx_stream_script_add_copy_code(ngx_stream_script_compile_t *sc, return NGX_ERROR; } - code->code = (ngx_stream_script_code_pt) ngx_stream_script_copy_len_code; + code->code = (ngx_stream_script_code_pt) (void *) + ngx_stream_script_copy_len_code; code->len = len; size = (sizeof(ngx_stream_script_copy_code_t) + len + sizeof(uintptr_t) - 1) @@ -677,8 +678,8 @@ ngx_stream_script_add_var_code(ngx_stream_script_compile_t *sc, ngx_str_t *name) return NGX_ERROR; } - code->code = (ngx_stream_script_code_pt) - ngx_stream_script_copy_var_len_code; + code->code = (ngx_stream_script_code_pt) (void *) + ngx_stream_script_copy_var_len_code; code->index = (uintptr_t) index; code = ngx_stream_script_add_code(*sc->values, @@ -767,8 +768,8 @@ ngx_stream_script_add_capture_code(ngx_stream_script_compile_t *sc, return NGX_ERROR; } - code->code = (ngx_stream_script_code_pt) - ngx_stream_script_copy_capture_len_code; + code->code = (ngx_stream_script_code_pt) (void *) + ngx_stream_script_copy_capture_len_code; code->n = 2 * n; @@ -859,7 +860,7 @@ ngx_stream_script_add_full_name_code(ngx_stream_script_compile_t *sc) return NGX_ERROR; } - code->code = (ngx_stream_script_code_pt) + code->code = (ngx_stream_script_code_pt) (void *) ngx_stream_script_full_name_len_code; code->conf_prefix = sc->conf_prefix; Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_module.c (+23 -13) 96% =================================================================== --- vendor/nginx-1.14.0/src/stream/ngx_stream_ssl_module.c 2018-06-25 12:02:55 +0900 (3e5a1f210) +++ vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_module.c 2018-06-25 12:23:48 +0900 (dcc33e1ce) @@ -304,13 +304,6 @@ ngx_stream_ssl_handler(ngx_stream_session_t *s) if (c->ssl == NULL) { c->log->action = "SSL handshaking"; - if (sslcf->ssl.ctx == NULL) { - ngx_log_error(NGX_LOG_ERR, c->log, 0, - "no \"ssl_certificate\" is defined " - "in server listening on SSL port"); - return NGX_ERROR; - } - rv = ngx_stream_ssl_init_connection(&sslcf->ssl, c); if (rv != NGX_OK) { @@ -510,6 +503,7 @@ ngx_stream_ssl_create_conf(ngx_conf_t *cf) /* * set by ngx_pcalloc(): * + * scf->listen = 0; * scf->protocols = 0; * scf->dhparam = { 0, NULL }; * scf->ecdh_curve = { 0, NULL }; @@ -582,18 +576,34 @@ ngx_stream_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) conf->ssl.log = cf->log; - if (conf->certificates == NULL) { + if (!conf->listen) { return NGX_CONF_OK; } - if (conf->certificate_keys == NULL - || conf->certificate_keys->nelts < conf->certificates->nelts) - { + if (conf->certificates == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "no \"ssl_certificate\" is defined for " + "the \"listen ... ssl\" directive in %s:%ui", + conf->file, conf->line); + return NGX_CONF_ERROR; + } + + if (conf->certificate_keys == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "no \"ssl_certificate_key\" is defined for " + "the \"listen ... ssl\" directive in %s:%ui", + conf->file, conf->line); + return NGX_CONF_ERROR; + } + + if (conf->certificate_keys->nelts < conf->certificates->nelts) { ngx_log_error(NGX_LOG_EMERG, cf->log, 0, "no \"ssl_certificate_key\" is defined " - "for certificate \"%V\"", + "for certificate \"%V\" and " + "the \"listen ... ssl\" directive in %s:%ui", ((ngx_str_t *) conf->certificates->elts) - + conf->certificates->nelts - 1); + + conf->certificates->nelts - 1, + conf->file, conf->line); return NGX_CONF_ERROR; } Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_module.h (+4 -0) 92% =================================================================== --- vendor/nginx-1.14.0/src/stream/ngx_stream_ssl_module.h 2018-06-25 12:02:55 +0900 (65f5d456e) +++ vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_module.h 2018-06-25 12:23:48 +0900 (9f8f01cf1) @@ -21,6 +21,7 @@ typedef struct { ngx_ssl_t ssl; + ngx_uint_t listen; ngx_uint_t protocols; ngx_uint_t verify; @@ -47,6 +48,9 @@ typedef struct { ngx_flag_t session_tickets; ngx_array_t *session_ticket_keys; + + u_char *file; + ngx_uint_t line; } ngx_stream_ssl_conf_t; Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_ssl_preread_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream.h (+1 -0) 98% =================================================================== --- vendor/nginx-1.14.0/src/stream/ngx_stream_upstream.h 2018-06-25 12:02:55 +0900 (73947f465) +++ vendor/nginx-1.15.0/src/stream/ngx_stream_upstream.h 2018-06-25 12:23:48 +0900 (741ef4e0a) @@ -128,6 +128,7 @@ typedef struct { off_t received; time_t start_sec; + ngx_uint_t requests; ngx_uint_t responses; ngx_str_t ssl_name; Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_variables.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_variables.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.15.0/src/stream/ngx_stream_write_filter_module.c (+0 -0) 100% ===================================================================