Kentaro Hayashi
null+****@clear*****
Thu Aug 24 16:52:56 JST 2017
Kentaro Hayashi 2017-08-24 16:52:56 +0900 (Thu, 24 Aug 2017) New Revision: e5058ce6b91e7d63861c594be52a8d4550a40ee8 https://github.com/groonga/groonga/commit/e5058ce6b91e7d63861c594be52a8d4550a40ee8 Message: nginx: bundle latest version Added files: vendor/nginx-1.13.4/src/http/modules/ngx_http_mirror_module.c vendor/nginx-1.13.4/src/http/modules/ngx_http_try_files_module.c Modified files: nginx_version Renamed files: vendor/nginx-1.13.4/auto/cc/acc (from vendor/nginx-1.13.3/auto/cc/acc) vendor/nginx-1.13.4/auto/cc/bcc (from vendor/nginx-1.13.3/auto/cc/bcc) vendor/nginx-1.13.4/auto/cc/ccc (from vendor/nginx-1.13.3/auto/cc/ccc) vendor/nginx-1.13.4/auto/cc/clang (from vendor/nginx-1.13.3/auto/cc/clang) vendor/nginx-1.13.4/auto/cc/conf (from vendor/nginx-1.13.3/auto/cc/conf) vendor/nginx-1.13.4/auto/cc/gcc (from vendor/nginx-1.13.3/auto/cc/gcc) vendor/nginx-1.13.4/auto/cc/icc (from vendor/nginx-1.13.3/auto/cc/icc) vendor/nginx-1.13.4/auto/cc/msvc (from vendor/nginx-1.13.3/auto/cc/msvc) vendor/nginx-1.13.4/auto/cc/name (from vendor/nginx-1.13.3/auto/cc/name) vendor/nginx-1.13.4/auto/cc/owc (from vendor/nginx-1.13.3/auto/cc/owc) vendor/nginx-1.13.4/auto/cc/sunc (from vendor/nginx-1.13.3/auto/cc/sunc) vendor/nginx-1.13.4/auto/configure (from vendor/nginx-1.13.3/auto/configure) vendor/nginx-1.13.4/auto/define (from vendor/nginx-1.13.3/auto/define) vendor/nginx-1.13.4/auto/endianness (from vendor/nginx-1.13.3/auto/endianness) vendor/nginx-1.13.4/auto/feature (from vendor/nginx-1.13.3/auto/feature) vendor/nginx-1.13.4/auto/have (from vendor/nginx-1.13.3/auto/have) vendor/nginx-1.13.4/auto/have_headers (from vendor/nginx-1.13.3/auto/have_headers) vendor/nginx-1.13.4/auto/headers (from vendor/nginx-1.13.3/auto/headers) vendor/nginx-1.13.4/auto/include (from vendor/nginx-1.13.3/auto/include) vendor/nginx-1.13.4/auto/init (from vendor/nginx-1.13.3/auto/init) vendor/nginx-1.13.4/auto/install (from vendor/nginx-1.13.3/auto/install) vendor/nginx-1.13.4/auto/lib/conf (from vendor/nginx-1.13.3/auto/lib/conf) vendor/nginx-1.13.4/auto/lib/geoip/conf (from vendor/nginx-1.13.3/auto/lib/geoip/conf) vendor/nginx-1.13.4/auto/lib/google-perftools/conf (from vendor/nginx-1.13.3/auto/lib/google-perftools/conf) vendor/nginx-1.13.4/auto/lib/libatomic/conf (from vendor/nginx-1.13.3/auto/lib/libatomic/conf) vendor/nginx-1.13.4/auto/lib/libatomic/make (from vendor/nginx-1.13.3/auto/lib/libatomic/make) vendor/nginx-1.13.4/auto/lib/libgd/conf (from vendor/nginx-1.13.3/auto/lib/libgd/conf) vendor/nginx-1.13.4/auto/lib/libxslt/conf (from vendor/nginx-1.13.3/auto/lib/libxslt/conf) vendor/nginx-1.13.4/auto/lib/make (from vendor/nginx-1.13.3/auto/lib/make) vendor/nginx-1.13.4/auto/lib/openssl/conf (from vendor/nginx-1.13.3/auto/lib/openssl/conf) vendor/nginx-1.13.4/auto/lib/openssl/make (from vendor/nginx-1.13.3/auto/lib/openssl/make) vendor/nginx-1.13.4/auto/lib/openssl/makefile.bcc (from vendor/nginx-1.13.3/auto/lib/openssl/makefile.bcc) vendor/nginx-1.13.4/auto/lib/openssl/makefile.msvc (from vendor/nginx-1.13.3/auto/lib/openssl/makefile.msvc) vendor/nginx-1.13.4/auto/lib/pcre/conf (from vendor/nginx-1.13.3/auto/lib/pcre/conf) vendor/nginx-1.13.4/auto/lib/pcre/make (from vendor/nginx-1.13.3/auto/lib/pcre/make) vendor/nginx-1.13.4/auto/lib/pcre/makefile.bcc (from vendor/nginx-1.13.3/auto/lib/pcre/makefile.bcc) vendor/nginx-1.13.4/auto/lib/pcre/makefile.msvc (from vendor/nginx-1.13.3/auto/lib/pcre/makefile.msvc) vendor/nginx-1.13.4/auto/lib/pcre/makefile.owc (from vendor/nginx-1.13.3/auto/lib/pcre/makefile.owc) vendor/nginx-1.13.4/auto/lib/perl/conf (from vendor/nginx-1.13.3/auto/lib/perl/conf) vendor/nginx-1.13.4/auto/lib/perl/make (from vendor/nginx-1.13.3/auto/lib/perl/make) vendor/nginx-1.13.4/auto/lib/zlib/conf (from vendor/nginx-1.13.3/auto/lib/zlib/conf) vendor/nginx-1.13.4/auto/lib/zlib/make (from vendor/nginx-1.13.3/auto/lib/zlib/make) vendor/nginx-1.13.4/auto/lib/zlib/makefile.bcc (from vendor/nginx-1.13.3/auto/lib/zlib/makefile.bcc) vendor/nginx-1.13.4/auto/lib/zlib/makefile.msvc (from vendor/nginx-1.13.3/auto/lib/zlib/makefile.msvc) vendor/nginx-1.13.4/auto/lib/zlib/makefile.owc (from vendor/nginx-1.13.3/auto/lib/zlib/makefile.owc) vendor/nginx-1.13.4/auto/make (from vendor/nginx-1.13.3/auto/make) vendor/nginx-1.13.4/auto/module (from vendor/nginx-1.13.3/auto/module) vendor/nginx-1.13.4/auto/modules (from vendor/nginx-1.13.3/auto/modules) vendor/nginx-1.13.4/auto/nohave (from vendor/nginx-1.13.3/auto/nohave) vendor/nginx-1.13.4/auto/options (from vendor/nginx-1.13.3/auto/options) vendor/nginx-1.13.4/auto/os/conf (from vendor/nginx-1.13.3/auto/os/conf) vendor/nginx-1.13.4/auto/os/darwin (from vendor/nginx-1.13.3/auto/os/darwin) vendor/nginx-1.13.4/auto/os/freebsd (from vendor/nginx-1.13.3/auto/os/freebsd) vendor/nginx-1.13.4/auto/os/linux (from vendor/nginx-1.13.3/auto/os/linux) vendor/nginx-1.13.4/auto/os/solaris (from vendor/nginx-1.13.3/auto/os/solaris) vendor/nginx-1.13.4/auto/os/win32 (from vendor/nginx-1.13.3/auto/os/win32) vendor/nginx-1.13.4/auto/sources (from vendor/nginx-1.13.3/auto/sources) vendor/nginx-1.13.4/auto/stubs (from vendor/nginx-1.13.3/auto/stubs) vendor/nginx-1.13.4/auto/summary (from vendor/nginx-1.13.3/auto/summary) vendor/nginx-1.13.4/auto/threads (from vendor/nginx-1.13.3/auto/threads) vendor/nginx-1.13.4/auto/types/sizeof (from vendor/nginx-1.13.3/auto/types/sizeof) vendor/nginx-1.13.4/auto/types/typedef (from vendor/nginx-1.13.3/auto/types/typedef) vendor/nginx-1.13.4/auto/types/uintptr_t (from vendor/nginx-1.13.3/auto/types/uintptr_t) vendor/nginx-1.13.4/auto/types/value (from vendor/nginx-1.13.3/auto/types/value) vendor/nginx-1.13.4/auto/unix (from vendor/nginx-1.13.3/auto/unix) vendor/nginx-1.13.4/conf/fastcgi.conf (from vendor/nginx-1.13.3/conf/fastcgi.conf) vendor/nginx-1.13.4/conf/fastcgi_params (from vendor/nginx-1.13.3/conf/fastcgi_params) vendor/nginx-1.13.4/conf/koi-utf (from vendor/nginx-1.13.3/conf/koi-utf) vendor/nginx-1.13.4/conf/koi-win (from vendor/nginx-1.13.3/conf/koi-win) vendor/nginx-1.13.4/conf/mime.types (from vendor/nginx-1.13.3/conf/mime.types) vendor/nginx-1.13.4/conf/nginx.conf (from vendor/nginx-1.13.3/conf/nginx.conf) vendor/nginx-1.13.4/conf/scgi_params (from vendor/nginx-1.13.3/conf/scgi_params) vendor/nginx-1.13.4/conf/uwsgi_params (from vendor/nginx-1.13.3/conf/uwsgi_params) vendor/nginx-1.13.4/conf/win-utf (from vendor/nginx-1.13.3/conf/win-utf) vendor/nginx-1.13.4/contrib/README (from vendor/nginx-1.13.3/contrib/README) vendor/nginx-1.13.4/contrib/geo2nginx.pl (from vendor/nginx-1.13.3/contrib/geo2nginx.pl) vendor/nginx-1.13.4/contrib/unicode2nginx/koi-utf (from vendor/nginx-1.13.3/contrib/unicode2nginx/koi-utf) vendor/nginx-1.13.4/contrib/unicode2nginx/unicode-to-nginx.pl (from vendor/nginx-1.13.3/contrib/unicode2nginx/unicode-to-nginx.pl) vendor/nginx-1.13.4/contrib/unicode2nginx/win-utf (from vendor/nginx-1.13.3/contrib/unicode2nginx/win-utf) vendor/nginx-1.13.4/contrib/vim/ftdetect/nginx.vim (from vendor/nginx-1.13.3/contrib/vim/ftdetect/nginx.vim) vendor/nginx-1.13.4/contrib/vim/ftplugin/nginx.vim (from vendor/nginx-1.13.3/contrib/vim/ftplugin/nginx.vim) vendor/nginx-1.13.4/contrib/vim/indent/nginx.vim (from vendor/nginx-1.13.3/contrib/vim/indent/nginx.vim) vendor/nginx-1.13.4/contrib/vim/syntax/nginx.vim (from vendor/nginx-1.13.3/contrib/vim/syntax/nginx.vim) vendor/nginx-1.13.4/docs/GNUmakefile (from vendor/nginx-1.13.3/docs/GNUmakefile) vendor/nginx-1.13.4/docs/dtd/change_log_conf.dtd (from vendor/nginx-1.13.3/docs/dtd/change_log_conf.dtd) vendor/nginx-1.13.4/docs/dtd/changes.dtd (from vendor/nginx-1.13.3/docs/dtd/changes.dtd) vendor/nginx-1.13.4/docs/html/50x.html (from vendor/nginx-1.13.3/docs/html/50x.html) vendor/nginx-1.13.4/docs/html/index.html (from vendor/nginx-1.13.3/docs/html/index.html) vendor/nginx-1.13.4/docs/man/nginx.8 (from vendor/nginx-1.13.3/docs/man/nginx.8) vendor/nginx-1.13.4/docs/text/LICENSE (from vendor/nginx-1.13.3/docs/text/LICENSE) vendor/nginx-1.13.4/docs/text/README (from vendor/nginx-1.13.3/docs/text/README) vendor/nginx-1.13.4/docs/xml/change_log_conf.xml (from vendor/nginx-1.13.3/docs/xml/change_log_conf.xml) vendor/nginx-1.13.4/docs/xml/nginx/changes.xml (from vendor/nginx-1.13.3/docs/xml/nginx/changes.xml) vendor/nginx-1.13.4/docs/xsls/changes.xsls (from vendor/nginx-1.13.3/docs/xsls/changes.xsls) vendor/nginx-1.13.4/docs/xslt/changes.xslt (from vendor/nginx-1.13.3/docs/xslt/changes.xslt) vendor/nginx-1.13.4/misc/GNUmakefile (from vendor/nginx-1.13.3/misc/GNUmakefile) vendor/nginx-1.13.4/misc/README (from vendor/nginx-1.13.3/misc/README) vendor/nginx-1.13.4/src/core/nginx.c (from vendor/nginx-1.13.3/src/core/nginx.c) vendor/nginx-1.13.4/src/core/nginx.h (from vendor/nginx-1.13.3/src/core/nginx.h) vendor/nginx-1.13.4/src/core/ngx_array.c (from vendor/nginx-1.13.3/src/core/ngx_array.c) vendor/nginx-1.13.4/src/core/ngx_array.h (from vendor/nginx-1.13.3/src/core/ngx_array.h) vendor/nginx-1.13.4/src/core/ngx_buf.c (from vendor/nginx-1.13.3/src/core/ngx_buf.c) vendor/nginx-1.13.4/src/core/ngx_buf.h (from vendor/nginx-1.13.3/src/core/ngx_buf.h) vendor/nginx-1.13.4/src/core/ngx_conf_file.c (from vendor/nginx-1.13.3/src/core/ngx_conf_file.c) vendor/nginx-1.13.4/src/core/ngx_conf_file.h (from vendor/nginx-1.13.3/src/core/ngx_conf_file.h) vendor/nginx-1.13.4/src/core/ngx_config.h (from vendor/nginx-1.13.3/src/core/ngx_config.h) vendor/nginx-1.13.4/src/core/ngx_connection.c (from vendor/nginx-1.13.3/src/core/ngx_connection.c) vendor/nginx-1.13.4/src/core/ngx_connection.h (from vendor/nginx-1.13.3/src/core/ngx_connection.h) vendor/nginx-1.13.4/src/core/ngx_core.h (from vendor/nginx-1.13.3/src/core/ngx_core.h) vendor/nginx-1.13.4/src/core/ngx_cpuinfo.c (from vendor/nginx-1.13.3/src/core/ngx_cpuinfo.c) vendor/nginx-1.13.4/src/core/ngx_crc.h (from vendor/nginx-1.13.3/src/core/ngx_crc.h) vendor/nginx-1.13.4/src/core/ngx_crc32.c (from vendor/nginx-1.13.3/src/core/ngx_crc32.c) vendor/nginx-1.13.4/src/core/ngx_crc32.h (from vendor/nginx-1.13.3/src/core/ngx_crc32.h) vendor/nginx-1.13.4/src/core/ngx_crypt.c (from vendor/nginx-1.13.3/src/core/ngx_crypt.c) vendor/nginx-1.13.4/src/core/ngx_crypt.h (from vendor/nginx-1.13.3/src/core/ngx_crypt.h) vendor/nginx-1.13.4/src/core/ngx_cycle.c (from vendor/nginx-1.13.3/src/core/ngx_cycle.c) vendor/nginx-1.13.4/src/core/ngx_cycle.h (from vendor/nginx-1.13.3/src/core/ngx_cycle.h) vendor/nginx-1.13.4/src/core/ngx_file.c (from vendor/nginx-1.13.3/src/core/ngx_file.c) vendor/nginx-1.13.4/src/core/ngx_file.h (from vendor/nginx-1.13.3/src/core/ngx_file.h) vendor/nginx-1.13.4/src/core/ngx_hash.c (from vendor/nginx-1.13.3/src/core/ngx_hash.c) vendor/nginx-1.13.4/src/core/ngx_hash.h (from vendor/nginx-1.13.3/src/core/ngx_hash.h) vendor/nginx-1.13.4/src/core/ngx_inet.c (from vendor/nginx-1.13.3/src/core/ngx_inet.c) vendor/nginx-1.13.4/src/core/ngx_inet.h (from vendor/nginx-1.13.3/src/core/ngx_inet.h) vendor/nginx-1.13.4/src/core/ngx_list.c (from vendor/nginx-1.13.3/src/core/ngx_list.c) vendor/nginx-1.13.4/src/core/ngx_list.h (from vendor/nginx-1.13.3/src/core/ngx_list.h) vendor/nginx-1.13.4/src/core/ngx_log.c (from vendor/nginx-1.13.3/src/core/ngx_log.c) vendor/nginx-1.13.4/src/core/ngx_log.h (from vendor/nginx-1.13.3/src/core/ngx_log.h) vendor/nginx-1.13.4/src/core/ngx_md5.c (from vendor/nginx-1.13.3/src/core/ngx_md5.c) vendor/nginx-1.13.4/src/core/ngx_md5.h (from vendor/nginx-1.13.3/src/core/ngx_md5.h) vendor/nginx-1.13.4/src/core/ngx_module.c (from vendor/nginx-1.13.3/src/core/ngx_module.c) vendor/nginx-1.13.4/src/core/ngx_module.h (from vendor/nginx-1.13.3/src/core/ngx_module.h) vendor/nginx-1.13.4/src/core/ngx_murmurhash.c (from vendor/nginx-1.13.3/src/core/ngx_murmurhash.c) vendor/nginx-1.13.4/src/core/ngx_murmurhash.h (from vendor/nginx-1.13.3/src/core/ngx_murmurhash.h) vendor/nginx-1.13.4/src/core/ngx_open_file_cache.c (from vendor/nginx-1.13.3/src/core/ngx_open_file_cache.c) vendor/nginx-1.13.4/src/core/ngx_open_file_cache.h (from vendor/nginx-1.13.3/src/core/ngx_open_file_cache.h) vendor/nginx-1.13.4/src/core/ngx_output_chain.c (from vendor/nginx-1.13.3/src/core/ngx_output_chain.c) vendor/nginx-1.13.4/src/core/ngx_palloc.c (from vendor/nginx-1.13.3/src/core/ngx_palloc.c) vendor/nginx-1.13.4/src/core/ngx_palloc.h (from vendor/nginx-1.13.3/src/core/ngx_palloc.h) vendor/nginx-1.13.4/src/core/ngx_parse.c (from vendor/nginx-1.13.3/src/core/ngx_parse.c) vendor/nginx-1.13.4/src/core/ngx_parse.h (from vendor/nginx-1.13.3/src/core/ngx_parse.h) vendor/nginx-1.13.4/src/core/ngx_parse_time.c (from vendor/nginx-1.13.3/src/core/ngx_parse_time.c) vendor/nginx-1.13.4/src/core/ngx_parse_time.h (from vendor/nginx-1.13.3/src/core/ngx_parse_time.h) vendor/nginx-1.13.4/src/core/ngx_proxy_protocol.c (from vendor/nginx-1.13.3/src/core/ngx_proxy_protocol.c) vendor/nginx-1.13.4/src/core/ngx_proxy_protocol.h (from vendor/nginx-1.13.3/src/core/ngx_proxy_protocol.h) vendor/nginx-1.13.4/src/core/ngx_queue.c (from vendor/nginx-1.13.3/src/core/ngx_queue.c) vendor/nginx-1.13.4/src/core/ngx_queue.h (from vendor/nginx-1.13.3/src/core/ngx_queue.h) vendor/nginx-1.13.4/src/core/ngx_radix_tree.c (from vendor/nginx-1.13.3/src/core/ngx_radix_tree.c) vendor/nginx-1.13.4/src/core/ngx_radix_tree.h (from vendor/nginx-1.13.3/src/core/ngx_radix_tree.h) vendor/nginx-1.13.4/src/core/ngx_rbtree.c (from vendor/nginx-1.13.3/src/core/ngx_rbtree.c) vendor/nginx-1.13.4/src/core/ngx_rbtree.h (from vendor/nginx-1.13.3/src/core/ngx_rbtree.h) vendor/nginx-1.13.4/src/core/ngx_regex.c (from vendor/nginx-1.13.3/src/core/ngx_regex.c) vendor/nginx-1.13.4/src/core/ngx_regex.h (from vendor/nginx-1.13.3/src/core/ngx_regex.h) vendor/nginx-1.13.4/src/core/ngx_resolver.c (from vendor/nginx-1.13.3/src/core/ngx_resolver.c) vendor/nginx-1.13.4/src/core/ngx_resolver.h (from vendor/nginx-1.13.3/src/core/ngx_resolver.h) vendor/nginx-1.13.4/src/core/ngx_rwlock.c (from vendor/nginx-1.13.3/src/core/ngx_rwlock.c) vendor/nginx-1.13.4/src/core/ngx_rwlock.h (from vendor/nginx-1.13.3/src/core/ngx_rwlock.h) vendor/nginx-1.13.4/src/core/ngx_sha1.c (from vendor/nginx-1.13.3/src/core/ngx_sha1.c) vendor/nginx-1.13.4/src/core/ngx_sha1.h (from vendor/nginx-1.13.3/src/core/ngx_sha1.h) vendor/nginx-1.13.4/src/core/ngx_shmtx.c (from vendor/nginx-1.13.3/src/core/ngx_shmtx.c) vendor/nginx-1.13.4/src/core/ngx_shmtx.h (from vendor/nginx-1.13.3/src/core/ngx_shmtx.h) vendor/nginx-1.13.4/src/core/ngx_slab.c (from vendor/nginx-1.13.3/src/core/ngx_slab.c) vendor/nginx-1.13.4/src/core/ngx_slab.h (from vendor/nginx-1.13.3/src/core/ngx_slab.h) vendor/nginx-1.13.4/src/core/ngx_spinlock.c (from vendor/nginx-1.13.3/src/core/ngx_spinlock.c) vendor/nginx-1.13.4/src/core/ngx_string.c (from vendor/nginx-1.13.3/src/core/ngx_string.c) vendor/nginx-1.13.4/src/core/ngx_string.h (from vendor/nginx-1.13.3/src/core/ngx_string.h) vendor/nginx-1.13.4/src/core/ngx_syslog.c (from vendor/nginx-1.13.3/src/core/ngx_syslog.c) vendor/nginx-1.13.4/src/core/ngx_syslog.h (from vendor/nginx-1.13.3/src/core/ngx_syslog.h) vendor/nginx-1.13.4/src/core/ngx_thread_pool.c (from vendor/nginx-1.13.3/src/core/ngx_thread_pool.c) vendor/nginx-1.13.4/src/core/ngx_thread_pool.h (from vendor/nginx-1.13.3/src/core/ngx_thread_pool.h) vendor/nginx-1.13.4/src/core/ngx_times.c (from vendor/nginx-1.13.3/src/core/ngx_times.c) vendor/nginx-1.13.4/src/core/ngx_times.h (from vendor/nginx-1.13.3/src/core/ngx_times.h) vendor/nginx-1.13.4/src/event/modules/ngx_devpoll_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_devpoll_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_epoll_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_epoll_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_eventport_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_eventport_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_iocp_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_iocp_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_iocp_module.h (from vendor/nginx-1.13.3/src/event/modules/ngx_iocp_module.h) vendor/nginx-1.13.4/src/event/modules/ngx_kqueue_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_kqueue_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_poll_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_poll_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_select_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_select_module.c) vendor/nginx-1.13.4/src/event/modules/ngx_win32_select_module.c (from vendor/nginx-1.13.3/src/event/modules/ngx_win32_select_module.c) vendor/nginx-1.13.4/src/event/ngx_event.c (from vendor/nginx-1.13.3/src/event/ngx_event.c) vendor/nginx-1.13.4/src/event/ngx_event.h (from vendor/nginx-1.13.3/src/event/ngx_event.h) vendor/nginx-1.13.4/src/event/ngx_event_accept.c (from vendor/nginx-1.13.3/src/event/ngx_event_accept.c) vendor/nginx-1.13.4/src/event/ngx_event_acceptex.c (from vendor/nginx-1.13.3/src/event/ngx_event_acceptex.c) vendor/nginx-1.13.4/src/event/ngx_event_connect.c (from vendor/nginx-1.13.3/src/event/ngx_event_connect.c) vendor/nginx-1.13.4/src/event/ngx_event_connect.h (from vendor/nginx-1.13.3/src/event/ngx_event_connect.h) vendor/nginx-1.13.4/src/event/ngx_event_connectex.c (from vendor/nginx-1.13.3/src/event/ngx_event_connectex.c) vendor/nginx-1.13.4/src/event/ngx_event_openssl.c (from vendor/nginx-1.13.3/src/event/ngx_event_openssl.c) vendor/nginx-1.13.4/src/event/ngx_event_openssl.h (from vendor/nginx-1.13.3/src/event/ngx_event_openssl.h) vendor/nginx-1.13.4/src/event/ngx_event_openssl_stapling.c (from vendor/nginx-1.13.3/src/event/ngx_event_openssl_stapling.c) vendor/nginx-1.13.4/src/event/ngx_event_pipe.c (from vendor/nginx-1.13.3/src/event/ngx_event_pipe.c) vendor/nginx-1.13.4/src/event/ngx_event_pipe.h (from vendor/nginx-1.13.3/src/event/ngx_event_pipe.h) vendor/nginx-1.13.4/src/event/ngx_event_posted.c (from vendor/nginx-1.13.3/src/event/ngx_event_posted.c) vendor/nginx-1.13.4/src/event/ngx_event_posted.h (from vendor/nginx-1.13.3/src/event/ngx_event_posted.h) vendor/nginx-1.13.4/src/event/ngx_event_timer.c (from vendor/nginx-1.13.3/src/event/ngx_event_timer.c) vendor/nginx-1.13.4/src/event/ngx_event_timer.h (from vendor/nginx-1.13.3/src/event/ngx_event_timer.h) vendor/nginx-1.13.4/src/http/modules/ngx_http_access_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_access_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_addition_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_addition_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_auth_basic_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_auth_basic_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_auth_request_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_auth_request_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_autoindex_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_autoindex_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_browser_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_browser_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_charset_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_charset_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_chunked_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_chunked_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_dav_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_dav_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_degradation_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_degradation_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_empty_gif_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_empty_gif_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_fastcgi_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_fastcgi_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_flv_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_flv_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_geo_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_geo_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_geoip_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_geoip_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_gunzip_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_gunzip_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_gzip_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_gzip_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_gzip_static_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_gzip_static_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_headers_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_headers_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_image_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_image_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_index_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_index_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_limit_conn_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_limit_conn_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_limit_req_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_limit_req_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_log_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_log_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_map_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_map_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_memcached_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_memcached_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_mp4_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_mp4_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_not_modified_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_not_modified_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_proxy_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_proxy_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_random_index_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_random_index_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_range_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_range_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_realip_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_realip_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_referer_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_referer_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_rewrite_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_rewrite_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_scgi_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_scgi_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_secure_link_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_secure_link_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_slice_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_slice_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_split_clients_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_split_clients_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_ssi_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_ssi_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_ssi_filter_module.h (from vendor/nginx-1.13.3/src/http/modules/ngx_http_ssi_filter_module.h) vendor/nginx-1.13.4/src/http/modules/ngx_http_ssl_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_ssl_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_ssl_module.h (from vendor/nginx-1.13.3/src/http/modules/ngx_http_ssl_module.h) vendor/nginx-1.13.4/src/http/modules/ngx_http_static_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_static_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_stub_status_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_stub_status_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_sub_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_sub_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_hash_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_upstream_hash_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_ip_hash_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_upstream_ip_hash_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_keepalive_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_upstream_keepalive_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_least_conn_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_upstream_least_conn_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_zone_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_upstream_zone_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_userid_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_userid_filter_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_uwsgi_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_uwsgi_module.c) vendor/nginx-1.13.4/src/http/modules/ngx_http_xslt_filter_module.c (from vendor/nginx-1.13.3/src/http/modules/ngx_http_xslt_filter_module.c) vendor/nginx-1.13.4/src/http/modules/perl/Makefile.PL (from vendor/nginx-1.13.3/src/http/modules/perl/Makefile.PL) vendor/nginx-1.13.4/src/http/modules/perl/nginx.pm (from vendor/nginx-1.13.3/src/http/modules/perl/nginx.pm) vendor/nginx-1.13.4/src/http/modules/perl/nginx.xs (from vendor/nginx-1.13.3/src/http/modules/perl/nginx.xs) vendor/nginx-1.13.4/src/http/modules/perl/ngx_http_perl_module.c (from vendor/nginx-1.13.3/src/http/modules/perl/ngx_http_perl_module.c) vendor/nginx-1.13.4/src/http/modules/perl/ngx_http_perl_module.h (from vendor/nginx-1.13.3/src/http/modules/perl/ngx_http_perl_module.h) vendor/nginx-1.13.4/src/http/modules/perl/typemap (from vendor/nginx-1.13.3/src/http/modules/perl/typemap) vendor/nginx-1.13.4/src/http/ngx_http.c (from vendor/nginx-1.13.3/src/http/ngx_http.c) vendor/nginx-1.13.4/src/http/ngx_http.h (from vendor/nginx-1.13.3/src/http/ngx_http.h) vendor/nginx-1.13.4/src/http/ngx_http_cache.h (from vendor/nginx-1.13.3/src/http/ngx_http_cache.h) vendor/nginx-1.13.4/src/http/ngx_http_config.h (from vendor/nginx-1.13.3/src/http/ngx_http_config.h) vendor/nginx-1.13.4/src/http/ngx_http_copy_filter_module.c (from vendor/nginx-1.13.3/src/http/ngx_http_copy_filter_module.c) vendor/nginx-1.13.4/src/http/ngx_http_core_module.c (from vendor/nginx-1.13.3/src/http/ngx_http_core_module.c) vendor/nginx-1.13.4/src/http/ngx_http_core_module.h (from vendor/nginx-1.13.3/src/http/ngx_http_core_module.h) vendor/nginx-1.13.4/src/http/ngx_http_file_cache.c (from vendor/nginx-1.13.3/src/http/ngx_http_file_cache.c) vendor/nginx-1.13.4/src/http/ngx_http_header_filter_module.c (from vendor/nginx-1.13.3/src/http/ngx_http_header_filter_module.c) vendor/nginx-1.13.4/src/http/ngx_http_parse.c (from vendor/nginx-1.13.3/src/http/ngx_http_parse.c) vendor/nginx-1.13.4/src/http/ngx_http_postpone_filter_module.c (from vendor/nginx-1.13.3/src/http/ngx_http_postpone_filter_module.c) vendor/nginx-1.13.4/src/http/ngx_http_request.c (from vendor/nginx-1.13.3/src/http/ngx_http_request.c) vendor/nginx-1.13.4/src/http/ngx_http_request.h (from vendor/nginx-1.13.3/src/http/ngx_http_request.h) vendor/nginx-1.13.4/src/http/ngx_http_request_body.c (from vendor/nginx-1.13.3/src/http/ngx_http_request_body.c) vendor/nginx-1.13.4/src/http/ngx_http_script.c (from vendor/nginx-1.13.3/src/http/ngx_http_script.c) vendor/nginx-1.13.4/src/http/ngx_http_script.h (from vendor/nginx-1.13.3/src/http/ngx_http_script.h) vendor/nginx-1.13.4/src/http/ngx_http_special_response.c (from vendor/nginx-1.13.3/src/http/ngx_http_special_response.c) vendor/nginx-1.13.4/src/http/ngx_http_upstream.c (from vendor/nginx-1.13.3/src/http/ngx_http_upstream.c) vendor/nginx-1.13.4/src/http/ngx_http_upstream.h (from vendor/nginx-1.13.3/src/http/ngx_http_upstream.h) vendor/nginx-1.13.4/src/http/ngx_http_upstream_round_robin.c (from vendor/nginx-1.13.3/src/http/ngx_http_upstream_round_robin.c) vendor/nginx-1.13.4/src/http/ngx_http_upstream_round_robin.h (from vendor/nginx-1.13.3/src/http/ngx_http_upstream_round_robin.h) vendor/nginx-1.13.4/src/http/ngx_http_variables.c (from vendor/nginx-1.13.3/src/http/ngx_http_variables.c) vendor/nginx-1.13.4/src/http/ngx_http_variables.h (from vendor/nginx-1.13.3/src/http/ngx_http_variables.h) vendor/nginx-1.13.4/src/http/ngx_http_write_filter_module.c (from vendor/nginx-1.13.3/src/http/ngx_http_write_filter_module.c) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2.c (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2.c) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2.h (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2.h) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_filter_module.c (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_filter_module.c) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_huff_decode.c (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_huff_decode.c) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_huff_encode.c (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_huff_encode.c) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_module.c (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_module.c) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_module.h (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_module.h) vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_table.c (from vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_table.c) vendor/nginx-1.13.4/src/mail/ngx_mail.c (from vendor/nginx-1.13.3/src/mail/ngx_mail.c) vendor/nginx-1.13.4/src/mail/ngx_mail.h (from vendor/nginx-1.13.3/src/mail/ngx_mail.h) vendor/nginx-1.13.4/src/mail/ngx_mail_auth_http_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_auth_http_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_core_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_core_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_handler.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_handler.c) vendor/nginx-1.13.4/src/mail/ngx_mail_imap_handler.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_imap_handler.c) vendor/nginx-1.13.4/src/mail/ngx_mail_imap_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_imap_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_imap_module.h (from vendor/nginx-1.13.3/src/mail/ngx_mail_imap_module.h) vendor/nginx-1.13.4/src/mail/ngx_mail_parse.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_parse.c) vendor/nginx-1.13.4/src/mail/ngx_mail_pop3_handler.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_pop3_handler.c) vendor/nginx-1.13.4/src/mail/ngx_mail_pop3_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_pop3_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_pop3_module.h (from vendor/nginx-1.13.3/src/mail/ngx_mail_pop3_module.h) vendor/nginx-1.13.4/src/mail/ngx_mail_proxy_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_proxy_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_smtp_handler.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_smtp_handler.c) vendor/nginx-1.13.4/src/mail/ngx_mail_smtp_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_smtp_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_smtp_module.h (from vendor/nginx-1.13.3/src/mail/ngx_mail_smtp_module.h) vendor/nginx-1.13.4/src/mail/ngx_mail_ssl_module.c (from vendor/nginx-1.13.3/src/mail/ngx_mail_ssl_module.c) vendor/nginx-1.13.4/src/mail/ngx_mail_ssl_module.h (from vendor/nginx-1.13.3/src/mail/ngx_mail_ssl_module.h) vendor/nginx-1.13.4/src/misc/ngx_cpp_test_module.cpp (from vendor/nginx-1.13.3/src/misc/ngx_cpp_test_module.cpp) vendor/nginx-1.13.4/src/misc/ngx_google_perftools_module.c (from vendor/nginx-1.13.3/src/misc/ngx_google_perftools_module.c) vendor/nginx-1.13.4/src/os/unix/ngx_alloc.c (from vendor/nginx-1.13.3/src/os/unix/ngx_alloc.c) vendor/nginx-1.13.4/src/os/unix/ngx_alloc.h (from vendor/nginx-1.13.3/src/os/unix/ngx_alloc.h) vendor/nginx-1.13.4/src/os/unix/ngx_atomic.h (from vendor/nginx-1.13.3/src/os/unix/ngx_atomic.h) vendor/nginx-1.13.4/src/os/unix/ngx_channel.c (from vendor/nginx-1.13.3/src/os/unix/ngx_channel.c) vendor/nginx-1.13.4/src/os/unix/ngx_channel.h (from vendor/nginx-1.13.3/src/os/unix/ngx_channel.h) vendor/nginx-1.13.4/src/os/unix/ngx_daemon.c (from vendor/nginx-1.13.3/src/os/unix/ngx_daemon.c) vendor/nginx-1.13.4/src/os/unix/ngx_darwin.h (from vendor/nginx-1.13.3/src/os/unix/ngx_darwin.h) vendor/nginx-1.13.4/src/os/unix/ngx_darwin_config.h (from vendor/nginx-1.13.3/src/os/unix/ngx_darwin_config.h) vendor/nginx-1.13.4/src/os/unix/ngx_darwin_init.c (from vendor/nginx-1.13.3/src/os/unix/ngx_darwin_init.c) vendor/nginx-1.13.4/src/os/unix/ngx_darwin_sendfile_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_darwin_sendfile_chain.c) vendor/nginx-1.13.4/src/os/unix/ngx_dlopen.c (from vendor/nginx-1.13.3/src/os/unix/ngx_dlopen.c) vendor/nginx-1.13.4/src/os/unix/ngx_dlopen.h (from vendor/nginx-1.13.3/src/os/unix/ngx_dlopen.h) vendor/nginx-1.13.4/src/os/unix/ngx_errno.c (from vendor/nginx-1.13.3/src/os/unix/ngx_errno.c) vendor/nginx-1.13.4/src/os/unix/ngx_errno.h (from vendor/nginx-1.13.3/src/os/unix/ngx_errno.h) vendor/nginx-1.13.4/src/os/unix/ngx_file_aio_read.c (from vendor/nginx-1.13.3/src/os/unix/ngx_file_aio_read.c) vendor/nginx-1.13.4/src/os/unix/ngx_files.c (from vendor/nginx-1.13.3/src/os/unix/ngx_files.c) vendor/nginx-1.13.4/src/os/unix/ngx_files.h (from vendor/nginx-1.13.3/src/os/unix/ngx_files.h) vendor/nginx-1.13.4/src/os/unix/ngx_freebsd.h (from vendor/nginx-1.13.3/src/os/unix/ngx_freebsd.h) vendor/nginx-1.13.4/src/os/unix/ngx_freebsd_config.h (from vendor/nginx-1.13.3/src/os/unix/ngx_freebsd_config.h) vendor/nginx-1.13.4/src/os/unix/ngx_freebsd_init.c (from vendor/nginx-1.13.3/src/os/unix/ngx_freebsd_init.c) vendor/nginx-1.13.4/src/os/unix/ngx_freebsd_sendfile_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_freebsd_sendfile_chain.c) vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_amd64.h (from vendor/nginx-1.13.3/src/os/unix/ngx_gcc_atomic_amd64.h) vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_ppc.h (from vendor/nginx-1.13.3/src/os/unix/ngx_gcc_atomic_ppc.h) vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_sparc64.h (from vendor/nginx-1.13.3/src/os/unix/ngx_gcc_atomic_sparc64.h) vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_x86.h (from vendor/nginx-1.13.3/src/os/unix/ngx_gcc_atomic_x86.h) vendor/nginx-1.13.4/src/os/unix/ngx_linux.h (from vendor/nginx-1.13.3/src/os/unix/ngx_linux.h) vendor/nginx-1.13.4/src/os/unix/ngx_linux_aio_read.c (from vendor/nginx-1.13.3/src/os/unix/ngx_linux_aio_read.c) vendor/nginx-1.13.4/src/os/unix/ngx_linux_config.h (from vendor/nginx-1.13.3/src/os/unix/ngx_linux_config.h) vendor/nginx-1.13.4/src/os/unix/ngx_linux_init.c (from vendor/nginx-1.13.3/src/os/unix/ngx_linux_init.c) vendor/nginx-1.13.4/src/os/unix/ngx_linux_sendfile_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_linux_sendfile_chain.c) vendor/nginx-1.13.4/src/os/unix/ngx_os.h (from vendor/nginx-1.13.3/src/os/unix/ngx_os.h) vendor/nginx-1.13.4/src/os/unix/ngx_posix_config.h (from vendor/nginx-1.13.3/src/os/unix/ngx_posix_config.h) vendor/nginx-1.13.4/src/os/unix/ngx_posix_init.c (from vendor/nginx-1.13.3/src/os/unix/ngx_posix_init.c) vendor/nginx-1.13.4/src/os/unix/ngx_process.c (from vendor/nginx-1.13.3/src/os/unix/ngx_process.c) vendor/nginx-1.13.4/src/os/unix/ngx_process.h (from vendor/nginx-1.13.3/src/os/unix/ngx_process.h) vendor/nginx-1.13.4/src/os/unix/ngx_process_cycle.c (from vendor/nginx-1.13.3/src/os/unix/ngx_process_cycle.c) vendor/nginx-1.13.4/src/os/unix/ngx_process_cycle.h (from vendor/nginx-1.13.3/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.13.4/src/os/unix/ngx_readv_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_readv_chain.c) vendor/nginx-1.13.4/src/os/unix/ngx_recv.c (from vendor/nginx-1.13.3/src/os/unix/ngx_recv.c) vendor/nginx-1.13.4/src/os/unix/ngx_send.c (from vendor/nginx-1.13.3/src/os/unix/ngx_send.c) vendor/nginx-1.13.4/src/os/unix/ngx_setaffinity.c (from vendor/nginx-1.13.3/src/os/unix/ngx_setaffinity.c) vendor/nginx-1.13.4/src/os/unix/ngx_setaffinity.h (from vendor/nginx-1.13.3/src/os/unix/ngx_setaffinity.h) vendor/nginx-1.13.4/src/os/unix/ngx_setproctitle.c (from vendor/nginx-1.13.3/src/os/unix/ngx_setproctitle.c) vendor/nginx-1.13.4/src/os/unix/ngx_setproctitle.h (from vendor/nginx-1.13.3/src/os/unix/ngx_setproctitle.h) vendor/nginx-1.13.4/src/os/unix/ngx_shmem.c (from vendor/nginx-1.13.3/src/os/unix/ngx_shmem.c) vendor/nginx-1.13.4/src/os/unix/ngx_shmem.h (from vendor/nginx-1.13.3/src/os/unix/ngx_shmem.h) vendor/nginx-1.13.4/src/os/unix/ngx_socket.c (from vendor/nginx-1.13.3/src/os/unix/ngx_socket.c) vendor/nginx-1.13.4/src/os/unix/ngx_socket.h (from vendor/nginx-1.13.3/src/os/unix/ngx_socket.h) vendor/nginx-1.13.4/src/os/unix/ngx_solaris.h (from vendor/nginx-1.13.3/src/os/unix/ngx_solaris.h) vendor/nginx-1.13.4/src/os/unix/ngx_solaris_config.h (from vendor/nginx-1.13.3/src/os/unix/ngx_solaris_config.h) vendor/nginx-1.13.4/src/os/unix/ngx_solaris_init.c (from vendor/nginx-1.13.3/src/os/unix/ngx_solaris_init.c) vendor/nginx-1.13.4/src/os/unix/ngx_solaris_sendfilev_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_solaris_sendfilev_chain.c) vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_amd64.il (from vendor/nginx-1.13.3/src/os/unix/ngx_sunpro_amd64.il) vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_atomic_sparc64.h (from vendor/nginx-1.13.3/src/os/unix/ngx_sunpro_atomic_sparc64.h) vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_sparc64.il (from vendor/nginx-1.13.3/src/os/unix/ngx_sunpro_sparc64.il) vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_x86.il (from vendor/nginx-1.13.3/src/os/unix/ngx_sunpro_x86.il) vendor/nginx-1.13.4/src/os/unix/ngx_thread.h (from vendor/nginx-1.13.3/src/os/unix/ngx_thread.h) vendor/nginx-1.13.4/src/os/unix/ngx_thread_cond.c (from vendor/nginx-1.13.3/src/os/unix/ngx_thread_cond.c) vendor/nginx-1.13.4/src/os/unix/ngx_thread_id.c (from vendor/nginx-1.13.3/src/os/unix/ngx_thread_id.c) vendor/nginx-1.13.4/src/os/unix/ngx_thread_mutex.c (from vendor/nginx-1.13.3/src/os/unix/ngx_thread_mutex.c) vendor/nginx-1.13.4/src/os/unix/ngx_time.c (from vendor/nginx-1.13.3/src/os/unix/ngx_time.c) vendor/nginx-1.13.4/src/os/unix/ngx_time.h (from vendor/nginx-1.13.3/src/os/unix/ngx_time.h) vendor/nginx-1.13.4/src/os/unix/ngx_udp_recv.c (from vendor/nginx-1.13.3/src/os/unix/ngx_udp_recv.c) vendor/nginx-1.13.4/src/os/unix/ngx_udp_send.c (from vendor/nginx-1.13.3/src/os/unix/ngx_udp_send.c) vendor/nginx-1.13.4/src/os/unix/ngx_udp_sendmsg_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_udp_sendmsg_chain.c) vendor/nginx-1.13.4/src/os/unix/ngx_user.c (from vendor/nginx-1.13.3/src/os/unix/ngx_user.c) vendor/nginx-1.13.4/src/os/unix/ngx_user.h (from vendor/nginx-1.13.3/src/os/unix/ngx_user.h) vendor/nginx-1.13.4/src/os/unix/ngx_writev_chain.c (from vendor/nginx-1.13.3/src/os/unix/ngx_writev_chain.c) vendor/nginx-1.13.4/src/os/win32/nginx.ico (from vendor/nginx-1.13.3/src/os/win32/nginx.ico) vendor/nginx-1.13.4/src/os/win32/nginx.rc (from vendor/nginx-1.13.3/src/os/win32/nginx.rc) vendor/nginx-1.13.4/src/os/win32/nginx_icon16.xpm (from vendor/nginx-1.13.3/src/os/win32/nginx_icon16.xpm) vendor/nginx-1.13.4/src/os/win32/nginx_icon32.xpm (from vendor/nginx-1.13.3/src/os/win32/nginx_icon32.xpm) vendor/nginx-1.13.4/src/os/win32/nginx_icon48.xpm (from vendor/nginx-1.13.3/src/os/win32/nginx_icon48.xpm) vendor/nginx-1.13.4/src/os/win32/ngx_alloc.c (from vendor/nginx-1.13.3/src/os/win32/ngx_alloc.c) vendor/nginx-1.13.4/src/os/win32/ngx_alloc.h (from vendor/nginx-1.13.3/src/os/win32/ngx_alloc.h) vendor/nginx-1.13.4/src/os/win32/ngx_atomic.h (from vendor/nginx-1.13.3/src/os/win32/ngx_atomic.h) vendor/nginx-1.13.4/src/os/win32/ngx_dlopen.c (from vendor/nginx-1.13.3/src/os/win32/ngx_dlopen.c) vendor/nginx-1.13.4/src/os/win32/ngx_dlopen.h (from vendor/nginx-1.13.3/src/os/win32/ngx_dlopen.h) vendor/nginx-1.13.4/src/os/win32/ngx_errno.c (from vendor/nginx-1.13.3/src/os/win32/ngx_errno.c) vendor/nginx-1.13.4/src/os/win32/ngx_errno.h (from vendor/nginx-1.13.3/src/os/win32/ngx_errno.h) vendor/nginx-1.13.4/src/os/win32/ngx_event_log.c (from vendor/nginx-1.13.3/src/os/win32/ngx_event_log.c) vendor/nginx-1.13.4/src/os/win32/ngx_files.c (from vendor/nginx-1.13.3/src/os/win32/ngx_files.c) vendor/nginx-1.13.4/src/os/win32/ngx_files.h (from vendor/nginx-1.13.3/src/os/win32/ngx_files.h) vendor/nginx-1.13.4/src/os/win32/ngx_os.h (from vendor/nginx-1.13.3/src/os/win32/ngx_os.h) vendor/nginx-1.13.4/src/os/win32/ngx_process.c (from vendor/nginx-1.13.3/src/os/win32/ngx_process.c) vendor/nginx-1.13.4/src/os/win32/ngx_process.h (from vendor/nginx-1.13.3/src/os/win32/ngx_process.h) vendor/nginx-1.13.4/src/os/win32/ngx_process_cycle.c (from vendor/nginx-1.13.3/src/os/win32/ngx_process_cycle.c) vendor/nginx-1.13.4/src/os/win32/ngx_process_cycle.h (from vendor/nginx-1.13.3/src/os/win32/ngx_process_cycle.h) vendor/nginx-1.13.4/src/os/win32/ngx_service.c (from vendor/nginx-1.13.3/src/os/win32/ngx_service.c) vendor/nginx-1.13.4/src/os/win32/ngx_shmem.c (from vendor/nginx-1.13.3/src/os/win32/ngx_shmem.c) vendor/nginx-1.13.4/src/os/win32/ngx_shmem.h (from vendor/nginx-1.13.3/src/os/win32/ngx_shmem.h) vendor/nginx-1.13.4/src/os/win32/ngx_socket.c (from vendor/nginx-1.13.3/src/os/win32/ngx_socket.c) vendor/nginx-1.13.4/src/os/win32/ngx_socket.h (from vendor/nginx-1.13.3/src/os/win32/ngx_socket.h) vendor/nginx-1.13.4/src/os/win32/ngx_stat.c (from vendor/nginx-1.13.3/src/os/win32/ngx_stat.c) vendor/nginx-1.13.4/src/os/win32/ngx_thread.c (from vendor/nginx-1.13.3/src/os/win32/ngx_thread.c) vendor/nginx-1.13.4/src/os/win32/ngx_thread.h (from vendor/nginx-1.13.3/src/os/win32/ngx_thread.h) vendor/nginx-1.13.4/src/os/win32/ngx_time.c (from vendor/nginx-1.13.3/src/os/win32/ngx_time.c) vendor/nginx-1.13.4/src/os/win32/ngx_time.h (from vendor/nginx-1.13.3/src/os/win32/ngx_time.h) vendor/nginx-1.13.4/src/os/win32/ngx_udp_wsarecv.c (from vendor/nginx-1.13.3/src/os/win32/ngx_udp_wsarecv.c) vendor/nginx-1.13.4/src/os/win32/ngx_user.c (from vendor/nginx-1.13.3/src/os/win32/ngx_user.c) vendor/nginx-1.13.4/src/os/win32/ngx_user.h (from vendor/nginx-1.13.3/src/os/win32/ngx_user.h) vendor/nginx-1.13.4/src/os/win32/ngx_win32_config.h (from vendor/nginx-1.13.3/src/os/win32/ngx_win32_config.h) vendor/nginx-1.13.4/src/os/win32/ngx_win32_init.c (from vendor/nginx-1.13.3/src/os/win32/ngx_win32_init.c) vendor/nginx-1.13.4/src/os/win32/ngx_wsarecv.c (from vendor/nginx-1.13.3/src/os/win32/ngx_wsarecv.c) vendor/nginx-1.13.4/src/os/win32/ngx_wsarecv_chain.c (from vendor/nginx-1.13.3/src/os/win32/ngx_wsarecv_chain.c) vendor/nginx-1.13.4/src/os/win32/ngx_wsasend.c (from vendor/nginx-1.13.3/src/os/win32/ngx_wsasend.c) vendor/nginx-1.13.4/src/os/win32/ngx_wsasend_chain.c (from vendor/nginx-1.13.3/src/os/win32/ngx_wsasend_chain.c) vendor/nginx-1.13.4/src/stream/ngx_stream.c (from vendor/nginx-1.13.3/src/stream/ngx_stream.c) vendor/nginx-1.13.4/src/stream/ngx_stream.h (from vendor/nginx-1.13.3/src/stream/ngx_stream.h) vendor/nginx-1.13.4/src/stream/ngx_stream_access_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_access_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_core_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_core_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_geo_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_geo_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_geoip_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_geoip_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_handler.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_handler.c) vendor/nginx-1.13.4/src/stream/ngx_stream_limit_conn_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_limit_conn_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_log_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_log_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_map_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_map_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_proxy_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_proxy_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_realip_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_realip_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_return_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_return_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_script.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_script.c) vendor/nginx-1.13.4/src/stream/ngx_stream_script.h (from vendor/nginx-1.13.3/src/stream/ngx_stream_script.h) vendor/nginx-1.13.4/src/stream/ngx_stream_split_clients_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_split_clients_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_ssl_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_module.h (from vendor/nginx-1.13.3/src/stream/ngx_stream_ssl_module.h) vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_preread_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_ssl_preread_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream.c) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream.h (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream.h) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_hash_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream_hash_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_least_conn_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream_least_conn_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_round_robin.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream_round_robin.c) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_round_robin.h (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream_round_robin.h) vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_zone_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_upstream_zone_module.c) vendor/nginx-1.13.4/src/stream/ngx_stream_variables.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_variables.c) vendor/nginx-1.13.4/src/stream/ngx_stream_variables.h (from vendor/nginx-1.13.3/src/stream/ngx_stream_variables.h) vendor/nginx-1.13.4/src/stream/ngx_stream_write_filter_module.c (from vendor/nginx-1.13.3/src/stream/ngx_stream_write_filter_module.c) Modified: nginx_version (+1 -1) =================================================================== --- nginx_version 2017-08-24 16:37:22 +0900 (01b756823) +++ nginx_version 2017-08-24 16:52:56 +0900 (80138e714) @@ -1 +1 @@ -1.13.3 +1.13.4 Renamed: vendor/nginx-1.13.4/auto/cc/acc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/ccc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/clang (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/gcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/icc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/name (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/cc/sunc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/configure (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/define (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/endianness (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/feature (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/have (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/have_headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/include (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/init (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/install (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/conf (+1 -1) 92% =================================================================== --- vendor/nginx-1.13.3/auto/lib/conf 2017-08-24 16:37:22 +0900 (0b8545a37) +++ vendor/nginx-1.13.4/auto/lib/conf 2017-08-24 16:52:56 +0900 (2c7af1040) @@ -7,7 +7,7 @@ if [ $USE_PCRE = YES -o $PCRE != NONE ]; then . auto/lib/pcre/conf else - if [ $USE_PCRE = DISABLED -a $HTTP_REWRITE = YES ]; then + if [ $USE_PCRE = DISABLED -a $HTTP = YES -a $HTTP_REWRITE = YES ]; then cat << END Renamed: vendor/nginx-1.13.4/auto/lib/geoip/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/google-perftools/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/libatomic/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/libatomic/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/libgd/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/libxslt/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/openssl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/openssl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/openssl/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/openssl/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/pcre/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/pcre/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/pcre/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/pcre/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/pcre/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/perl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/perl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/zlib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/zlib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/zlib/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/zlib/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/lib/zlib/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/module (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/modules (+22 -0) 98% =================================================================== --- vendor/nginx-1.13.3/auto/modules 2017-08-24 16:37:22 +0900 (be3561e63) +++ vendor/nginx-1.13.4/auto/modules 2017-08-24 16:52:56 +0900 (26b05bd8b) @@ -506,6 +506,28 @@ if [ $HTTP = YES ]; then . auto/module fi + if [ $HTTP_MIRROR = YES ]; then + ngx_module_name=ngx_http_mirror_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c + ngx_module_libs= + ngx_module_link=$HTTP_MIRROR + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_try_files_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + if [ $HTTP_AUTH_REQUEST = YES ]; then ngx_module_name=ngx_http_auth_request_module ngx_module_incs= Renamed: vendor/nginx-1.13.4/auto/nohave (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/options (+3 -0) 99% =================================================================== --- vendor/nginx-1.13.3/auto/options 2017-08-24 16:37:22 +0900 (66b822a72) +++ vendor/nginx-1.13.4/auto/options 2017-08-24 16:52:56 +0900 (24c2618b2) @@ -70,6 +70,7 @@ HTTP_DAV=NO HTTP_ACCESS=YES HTTP_AUTH_BASIC=YES HTTP_AUTH_REQUEST=NO +HTTP_MIRROR=YES HTTP_USERID=YES HTTP_SLICE=NO HTTP_AUTOINDEX=YES @@ -249,6 +250,7 @@ $0: warning: the \"--with-ipv6\" option is deprecated" --without-http_userid_module) HTTP_USERID=NO ;; --without-http_access_module) HTTP_ACCESS=NO ;; --without-http_auth_basic_module) HTTP_AUTH_BASIC=NO ;; + --without-http_mirror_module) HTTP_MIRROR=NO ;; --without-http_autoindex_module) HTTP_AUTOINDEX=NO ;; --without-http_status_module) HTTP_STATUS=NO ;; --without-http_geo_module) HTTP_GEO=NO ;; @@ -458,6 +460,7 @@ cat << END --without-http_userid_module disable ngx_http_userid_module --without-http_access_module disable ngx_http_access_module --without-http_auth_basic_module disable ngx_http_auth_basic_module + --without-http_mirror_module disable ngx_http_mirror_module --without-http_autoindex_module disable ngx_http_autoindex_module --without-http_geo_module disable ngx_http_geo_module --without-http_map_module disable ngx_http_map_module Renamed: vendor/nginx-1.13.4/auto/os/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/os/darwin (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/os/freebsd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/os/linux (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/os/solaris (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/os/win32 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/sources (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/stubs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/summary (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/threads (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/types/sizeof (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/types/typedef (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/types/uintptr_t (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/types/value (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/auto/unix (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/fastcgi.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/fastcgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/koi-win (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/mime.types (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/nginx.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/scgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/uwsgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/conf/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/geo2nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/unicode2nginx/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/unicode2nginx/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/vim/ftdetect/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/vim/ftplugin/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/vim/indent/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/contrib/vim/syntax/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/GNUmakefile (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/dtd/change_log_conf.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/dtd/changes.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/html/50x.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/html/index.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/man/nginx.8 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/text/LICENSE (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/text/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/xml/change_log_conf.xml (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/xml/nginx/changes.xml (+65 -0) 99% =================================================================== --- vendor/nginx-1.13.3/docs/xml/nginx/changes.xml 2017-08-24 16:37:22 +0900 (e2da1e4b4) +++ vendor/nginx-1.13.4/docs/xml/nginx/changes.xml 2017-08-24 16:52:56 +0900 (2fd18e258) @@ -5,6 +5,71 @@ <change_log title="nginx"> +<changes ver="1.13.4" date="2017-08-08"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_mirror_module. +</para> +<para lang="en"> +the ngx_http_mirror_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +клиентские соединения могли сбрасываться при тестировании конфигурации, +если использовался параметр reuseport директивы listen на Linux. +</para> +<para lang="en"> +client connections might be dropped during configuration testing +when using the "reuseport" parameter of the "listen" directive on Linux. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +тело запроса могло быть недоступно в подзапросах, +если оно было сохранено в файл и использовалось проксирование. +</para> +<para lang="en"> +request body might not be available in subrequests +if it was saved to a file and proxying was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +очистка кэша по max_size не работала на Windows. +</para> +<para lang="en"> +cleaning cache based on the "max_size" parameter did not work on Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +любое выделение разделяемой памяти на Windows требовало 4096 байт памяти. +</para> +<para lang="en"> +any shared memory allocation required 4096 bytes on Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы zone в блоке upstream на Windows +рабочий процесс мог завершаться аварийно. +</para> +<para lang="en"> +nginx worker might be terminated abnormally +when using the "zone" directive inside the "upstream" block on Windows. +</para> +</change> + +</changes> + + <changes ver="1.13.3" date="2017-07-11"> <change type="security"> Renamed: vendor/nginx-1.13.4/docs/xsls/changes.xsls (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/docs/xslt/changes.xslt (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/misc/GNUmakefile (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/misc/GNUmakefile 2017-08-24 16:37:22 +0900 (253d8dcf4) +++ vendor/nginx-1.13.4/misc/GNUmakefile 2017-08-24 16:52:56 +0900 (074a47bf0) @@ -8,7 +8,7 @@ CC = cl OBJS = objs.msvc8 OPENSSL = openssl-1.0.2l ZLIB = zlib-1.2.11 -PCRE = pcre-8.40 +PCRE = pcre-8.41 release: export Renamed: vendor/nginx-1.13.4/misc/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/nginx.c (+6 -0) 99% =================================================================== --- vendor/nginx-1.13.3/src/core/nginx.c 2017-08-24 16:37:22 +0900 (abaa50d61) +++ vendor/nginx-1.13.4/src/core/nginx.c 2017-08-24 16:52:56 +0900 (c3a29cc40) @@ -273,6 +273,12 @@ main(int argc, char *const *argv) return 1; } + /* + * ngx_slab_sizes_init() requires ngx_pagesize set in ngx_os_init() + */ + + ngx_slab_sizes_init(); + if (ngx_add_inherited_sockets(&init_cycle) != NGX_OK) { return 1; } Renamed: vendor/nginx-1.13.4/src/core/nginx.h (+2 -2) 85% =================================================================== --- vendor/nginx-1.13.3/src/core/nginx.h 2017-08-24 16:37:22 +0900 (1f3a36963) +++ vendor/nginx-1.13.4/src/core/nginx.h 2017-08-24 16:52:56 +0900 (3649945a1) @@ -9,8 +9,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1013003 -#define NGINX_VERSION "1.13.3" +#define nginx_version 1013004 +#define NGINX_VERSION "1.13.4" #define NGINX_VER "nginx/" NGINX_VERSION #ifdef NGX_BUILD Renamed: vendor/nginx-1.13.4/src/core/ngx_array.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_array.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_buf.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_buf.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_conf_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_conf_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_connection.c (+2 -2) 99% =================================================================== --- vendor/nginx-1.13.3/src/core/ngx_connection.c 2017-08-24 16:37:22 +0900 (ec4692b0a) +++ vendor/nginx-1.13.4/src/core/ngx_connection.c 2017-08-24 16:52:56 +0900 (392fc3587) @@ -473,7 +473,7 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) #if (NGX_HAVE_REUSEPORT) - if (ls[i].reuseport) { + if (ls[i].reuseport && !ngx_test_config) { int reuseport; reuseport = 1; @@ -483,7 +483,7 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) == -1) { ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, - "setsockopt(SO_REUSEPORT) %V failed, ignored", + "setsockopt(SO_REUSEPORT) %V failed", &ls[i].addr_text); if (ngx_close_socket(s) == -1) { Renamed: vendor/nginx-1.13.4/src/core/ngx_connection.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_core.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_cpuinfo.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_crc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_crc32.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_crc32.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_crypt.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_crypt.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_hash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_hash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_inet.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_inet.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_list.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_list.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_log.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_md5.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_md5.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_murmurhash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_murmurhash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_open_file_cache.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_open_file_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_output_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_palloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_palloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_parse.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_parse_time.c (+8 -8) 92% =================================================================== --- vendor/nginx-1.13.3/src/core/ngx_parse_time.c 2017-08-24 16:37:22 +0900 (13afde363) +++ vendor/nginx-1.13.4/src/core/ngx_parse_time.c 2017-08-24 16:52:56 +0900 (a5c503424) @@ -58,7 +58,7 @@ ngx_parse_http_time(u_char *value, size_t len) return NGX_ERROR; } - day = (*p - '0') * 10 + *(p + 1) - '0'; + day = (*p - '0') * 10 + (*(p + 1) - '0'); p += 2; if (*p == ' ') { @@ -132,7 +132,7 @@ ngx_parse_http_time(u_char *value, size_t len) } year = (*p - '0') * 1000 + (*(p + 1) - '0') * 100 - + (*(p + 2) - '0') * 10 + *(p + 3) - '0'; + + (*(p + 2) - '0') * 10 + (*(p + 3) - '0'); p += 4; } else if (fmt == rfc850) { @@ -140,7 +140,7 @@ ngx_parse_http_time(u_char *value, size_t len) return NGX_ERROR; } - year = (*p - '0') * 10 + *(p + 1) - '0'; + year = (*p - '0') * 10 + (*(p + 1) - '0'); year += (year < 70) ? 2000 : 1900; p += 2; } @@ -161,7 +161,7 @@ ngx_parse_http_time(u_char *value, size_t len) return NGX_ERROR; } - day = day * 10 + *p++ - '0'; + day = day * 10 + (*p++ - '0'); } if (end - p < 14) { @@ -177,7 +177,7 @@ ngx_parse_http_time(u_char *value, size_t len) return NGX_ERROR; } - hour = (*p - '0') * 10 + *(p + 1) - '0'; + hour = (*p - '0') * 10 + (*(p + 1) - '0'); p += 2; if (*p++ != ':') { @@ -188,7 +188,7 @@ ngx_parse_http_time(u_char *value, size_t len) return NGX_ERROR; } - min = (*p - '0') * 10 + *(p + 1) - '0'; + min = (*p - '0') * 10 + (*(p + 1) - '0'); p += 2; if (*p++ != ':') { @@ -199,7 +199,7 @@ ngx_parse_http_time(u_char *value, size_t len) return NGX_ERROR; } - sec = (*p - '0') * 10 + *(p + 1) - '0'; + sec = (*p - '0') * 10 + (*(p + 1) - '0'); if (fmt == isoc) { p += 2; @@ -216,7 +216,7 @@ ngx_parse_http_time(u_char *value, size_t len) } year = (*p - '0') * 1000 + (*(p + 1) - '0') * 100 - + (*(p + 2) - '0') * 10 + *(p + 3) - '0'; + + (*(p + 2) - '0') * 10 + (*(p + 3) - '0'); } if (hour > 23 || min > 59 || sec > 59) { Renamed: vendor/nginx-1.13.4/src/core/ngx_parse_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_proxy_protocol.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_proxy_protocol.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_queue.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_queue.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_radix_tree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_radix_tree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_rbtree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_rbtree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_regex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_regex.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_resolver.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_resolver.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_rwlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_rwlock.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_sha1.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_sha1.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_shmtx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_shmtx.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_slab.c (+13 -10) 98% =================================================================== --- vendor/nginx-1.13.3/src/core/ngx_slab.c 2017-08-24 16:37:22 +0900 (9e7796d50) +++ vendor/nginx-1.13.4/src/core/ngx_slab.c 2017-08-24 16:52:56 +0900 (402387053) @@ -83,6 +83,19 @@ static ngx_uint_t ngx_slab_exact_shift; void +ngx_slab_sizes_init(void) +{ + ngx_uint_t n; + + ngx_slab_max_size = ngx_pagesize / 2; + ngx_slab_exact_size = ngx_pagesize / (8 * sizeof(uintptr_t)); + for (n = ngx_slab_exact_size; n >>= 1; ngx_slab_exact_shift++) { + /* void */ + } +} + + +void ngx_slab_init(ngx_slab_pool_t *pool) { u_char *p; @@ -91,16 +104,6 @@ ngx_slab_init(ngx_slab_pool_t *pool) ngx_uint_t i, n, pages; ngx_slab_page_t *slots, *page; - /* STUB */ - if (ngx_slab_max_size == 0) { - ngx_slab_max_size = ngx_pagesize / 2; - ngx_slab_exact_size = ngx_pagesize / (8 * sizeof(uintptr_t)); - for (n = ngx_slab_exact_size; n >>= 1; ngx_slab_exact_shift++) { - /* void */ - } - } - /**/ - pool->min_size = (size_t) 1 << pool->min_shift; slots = ngx_slab_slots(pool); Renamed: vendor/nginx-1.13.4/src/core/ngx_slab.h (+1 -0) 97% =================================================================== --- vendor/nginx-1.13.3/src/core/ngx_slab.h 2017-08-24 16:37:22 +0900 (eff893c3e) +++ vendor/nginx-1.13.4/src/core/ngx_slab.h 2017-08-24 16:52:56 +0900 (d1876bbec) @@ -59,6 +59,7 @@ typedef struct { } ngx_slab_pool_t; +void ngx_slab_sizes_init(void); void ngx_slab_init(ngx_slab_pool_t *pool); void *ngx_slab_alloc(ngx_slab_pool_t *pool, size_t size); void *ngx_slab_alloc_locked(ngx_slab_pool_t *pool, size_t size); Renamed: vendor/nginx-1.13.4/src/core/ngx_spinlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_string.c (+4 -4) 99% =================================================================== --- vendor/nginx-1.13.3/src/core/ngx_string.c 2017-08-24 16:37:22 +0900 (7526f60d2) +++ vendor/nginx-1.13.4/src/core/ngx_string.c 2017-08-24 16:52:56 +0900 (de10a064d) @@ -178,7 +178,7 @@ ngx_vslprintf(u_char *buf, u_char *last, const char *fmt, va_list args) slen = (size_t) -1; while (*fmt >= '0' && *fmt <= '9') { - width = width * 10 + *fmt++ - '0'; + width = width * 10 + (*fmt++ - '0'); } @@ -211,7 +211,7 @@ ngx_vslprintf(u_char *buf, u_char *last, const char *fmt, va_list args) fmt++; while (*fmt >= '0' && *fmt <= '9') { - frac_width = frac_width * 10 + *fmt++ - '0'; + frac_width = frac_width * 10 + (*fmt++ - '0'); } break; @@ -1655,7 +1655,7 @@ ngx_unescape_uri(u_char **dst, u_char **src, size_t size, ngx_uint_t type) state = sw_usual; if (ch >= '0' && ch <= '9') { - ch = (u_char) ((decoded << 4) + ch - '0'); + ch = (u_char) ((decoded << 4) + (ch - '0')); if (type & NGX_UNESCAPE_REDIRECT) { if (ch > '%' && ch < 0x7f) { @@ -1675,7 +1675,7 @@ ngx_unescape_uri(u_char **dst, u_char **src, size_t size, ngx_uint_t type) c = (u_char) (ch | 0x20); if (c >= 'a' && c <= 'f') { - ch = (u_char) ((decoded << 4) + c - 'a' + 10); + ch = (u_char) ((decoded << 4) + (c - 'a') + 10); if (type & NGX_UNESCAPE_URI) { if (ch == '?') { Renamed: vendor/nginx-1.13.4/src/core/ngx_string.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_syslog.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_syslog.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_thread_pool.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_thread_pool.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_times.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/core/ngx_times.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_devpoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_epoll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_eventport_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_iocp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_iocp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_kqueue_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_poll_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/modules/ngx_win32_select_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_accept.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_acceptex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_connect.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_connect.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_connectex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_openssl.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/event/ngx_event_openssl.c 2017-08-24 16:37:22 +0900 (2c4e11400) +++ vendor/nginx-1.13.4/src/event/ngx_event_openssl.c 2017-08-24 16:52:56 +0900 (07646b6bc) @@ -3128,7 +3128,7 @@ ngx_ssl_session_ticket_keys(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_array_t *paths) { if (paths) { ngx_log_error(NGX_LOG_WARN, ssl->log, 0, - "\"ssl_session_ticket_keys\" ignored, not supported"); + "\"ssl_session_ticket_key\" ignored, not supported"); } return NGX_OK; Renamed: vendor/nginx-1.13.4/src/event/ngx_event_openssl.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_openssl_stapling.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/event/ngx_event_openssl_stapling.c 2017-08-24 16:37:22 +0900 (d332c112e) +++ vendor/nginx-1.13.4/src/event/ngx_event_openssl_stapling.c 2017-08-24 16:52:56 +0900 (0bea5e74d) @@ -1486,7 +1486,7 @@ ngx_ssl_ocsp_parse_status_line(ngx_ssl_ocsp_ctx_t *ctx) return NGX_ERROR; } - ctx->code = ctx->code * 10 + ch - '0'; + ctx->code = ctx->code * 10 + (ch - '0'); if (++ctx->count == 3) { state = sw_space_after_status; Renamed: vendor/nginx-1.13.4/src/event/ngx_event_pipe.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_pipe.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_posted.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_posted.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_timer.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/event/ngx_event_timer.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_addition_filter_module.c (+2 -0) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_addition_filter_module.c 2017-08-24 16:37:22 +0900 (2fad0e59b) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_addition_filter_module.c 2017-08-24 16:52:56 +0900 (e546f0d60) @@ -123,6 +123,8 @@ ngx_http_addition_header_filter(ngx_http_request_t *r) ngx_http_clear_accept_ranges(r); ngx_http_weak_etag(r); + r->preserve_body = 1; + return ngx_http_next_header_filter(r); } Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_auth_basic_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_auth_request_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_autoindex_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_browser_module.c (+21 -24) 95% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_browser_module.c 2017-08-24 16:37:22 +0900 (80da0d8fa) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_browser_module.c 2017-08-24 16:52:56 +0900 (f77425484) @@ -38,13 +38,6 @@ typedef struct { typedef struct { - ngx_str_t name; - ngx_http_get_variable_pt handler; - uintptr_t data; -} ngx_http_browser_variable_t; - - -typedef struct { ngx_array_t *modern_browsers; ngx_array_t *ancient_browsers; ngx_http_variable_value_t *modern_browser_value; @@ -63,7 +56,7 @@ static ngx_int_t ngx_http_browser_variable(ngx_http_request_t *r, static ngx_uint_t ngx_http_browser(ngx_http_request_t *r, ngx_http_browser_conf_t *cf); -static ngx_int_t ngx_http_browser_add_variable(ngx_conf_t *cf); +static ngx_int_t ngx_http_browser_add_variables(ngx_conf_t *cf); static void *ngx_http_browser_create_conf(ngx_conf_t *cf); static char *ngx_http_browser_merge_conf(ngx_conf_t *cf, void *parent, void *child); @@ -114,7 +107,7 @@ static ngx_command_t ngx_http_browser_commands[] = { static ngx_http_module_t ngx_http_browser_module_ctx = { - ngx_http_browser_add_variable, /* preconfiguration */ + ngx_http_browser_add_variables, /* preconfiguration */ NULL, /* postconfiguration */ NULL, /* create main configuration */ @@ -218,13 +211,18 @@ static ngx_http_modern_browser_mask_t ngx_http_modern_browser_masks[] = { }; -static ngx_http_browser_variable_t ngx_http_browsers[] = { - { ngx_string("msie"), ngx_http_msie_variable, 0 }, - { ngx_string("modern_browser"), ngx_http_browser_variable, - NGX_HTTP_MODERN_BROWSER }, - { ngx_string("ancient_browser"), ngx_http_browser_variable, - NGX_HTTP_ANCIENT_BROWSER }, - { ngx_null_string, NULL, 0 } +static ngx_http_variable_t ngx_http_browser_vars[] = { + + { ngx_string("msie"), NULL, ngx_http_msie_variable, + 0, NGX_HTTP_VAR_CHANGEABLE, 0 }, + + { ngx_string("modern_browser"), NULL, ngx_http_browser_variable, + NGX_HTTP_MODERN_BROWSER, NGX_HTTP_VAR_CHANGEABLE, 0 }, + + { ngx_string("ancient_browser"), NULL, ngx_http_browser_variable, + NGX_HTTP_ANCIENT_BROWSER, NGX_HTTP_VAR_CHANGEABLE, 0 }, + + ngx_http_null_variable }; @@ -397,20 +395,19 @@ ngx_http_msie_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, static ngx_int_t -ngx_http_browser_add_variable(ngx_conf_t *cf) +ngx_http_browser_add_variables(ngx_conf_t *cf) { - ngx_http_browser_variable_t *var; - ngx_http_variable_t *v; + ngx_http_variable_t *var, *v; - for (var = ngx_http_browsers; var->name.len; var++) { + for (v = ngx_http_browser_vars; v->name.len; v++) { - v = ngx_http_add_variable(cf, &var->name, NGX_HTTP_VAR_CHANGEABLE); - if (v == NULL) { + var = ngx_http_add_variable(cf, &v->name, v->flags); + if (var == NULL) { return NGX_ERROR; } - v->get_handler = var->handler; - v->data = var->data; + var->get_handler = v->get_handler; + var->data = v->data; } return NGX_OK; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_charset_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_chunked_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_dav_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_degradation_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_empty_gif_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_fastcgi_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_fastcgi_module.c 2017-08-24 16:37:22 +0900 (741e57768) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_fastcgi_module.c 2017-08-24 16:52:56 +0900 (ea16ecae9) @@ -631,7 +631,7 @@ static ngx_http_variable_t ngx_http_fastcgi_vars[] = { ngx_http_fastcgi_path_info_variable, 0, NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_NOHASH, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_flv_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_geoip_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_geoip_module.c 2017-08-24 16:37:22 +0900 (8e151aa8f) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_geoip_module.c 2017-08-24 16:52:56 +0900 (5ea4f5fb0) @@ -232,7 +232,7 @@ static ngx_http_variable_t ngx_http_geoip_vars[] = { ngx_http_geoip_city_int_variable, offsetof(GeoIPRecord, area_code), 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_gunzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_gzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_gzip_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_headers_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_image_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_limit_req_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_memcached_module.c (+0 -0) 100% =================================================================== Added: vendor/nginx-1.13.4/src/http/modules/ngx_http_mirror_module.c (+264 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_mirror_module.c 2017-08-24 16:52:56 +0900 (787adb321) @@ -0,0 +1,264 @@ + +/* + * Copyright (C) Roman Arutyunyan + * Copyright (C) Nginx, Inc. + */ + + +#include <ngx_config.h> +#include <ngx_core.h> +#include <ngx_http.h> + + +typedef struct { + ngx_array_t *mirror; + ngx_flag_t request_body; +} ngx_http_mirror_loc_conf_t; + + +typedef struct { + ngx_int_t status; +} ngx_http_mirror_ctx_t; + + +static ngx_int_t ngx_http_mirror_handler(ngx_http_request_t *r); +static void ngx_http_mirror_body_handler(ngx_http_request_t *r); +static ngx_int_t ngx_http_mirror_handler_internal(ngx_http_request_t *r); +static void *ngx_http_mirror_create_loc_conf(ngx_conf_t *cf); +static char *ngx_http_mirror_merge_loc_conf(ngx_conf_t *cf, void *parent, + void *child); +static char *ngx_http_mirror(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); +static ngx_int_t ngx_http_mirror_init(ngx_conf_t *cf); + + +static ngx_command_t ngx_http_mirror_commands[] = { + + { ngx_string("mirror"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, + ngx_http_mirror, + NGX_HTTP_LOC_CONF_OFFSET, + 0, + NULL }, + + { ngx_string("mirror_request_body"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, + ngx_conf_set_flag_slot, + NGX_HTTP_LOC_CONF_OFFSET, + offsetof(ngx_http_mirror_loc_conf_t, request_body), + NULL }, + + ngx_null_command +}; + + +static ngx_http_module_t ngx_http_mirror_module_ctx = { + NULL, /* preconfiguration */ + ngx_http_mirror_init, /* postconfiguration */ + + NULL, /* create main configuration */ + NULL, /* init main configuration */ + + NULL, /* create server configuration */ + NULL, /* merge server configuration */ + + ngx_http_mirror_create_loc_conf, /* create location configuration */ + ngx_http_mirror_merge_loc_conf /* merge location configuration */ +}; + + +ngx_module_t ngx_http_mirror_module = { + NGX_MODULE_V1, + &ngx_http_mirror_module_ctx, /* module context */ + ngx_http_mirror_commands, /* module directives */ + NGX_HTTP_MODULE, /* module type */ + NULL, /* init master */ + NULL, /* init module */ + NULL, /* init process */ + NULL, /* init thread */ + NULL, /* exit thread */ + NULL, /* exit process */ + NULL, /* exit master */ + NGX_MODULE_V1_PADDING +}; + + +static ngx_int_t +ngx_http_mirror_handler(ngx_http_request_t *r) +{ + ngx_int_t rc; + ngx_http_mirror_ctx_t *ctx; + ngx_http_mirror_loc_conf_t *mlcf; + + if (r != r->main) { + return NGX_DECLINED; + } + + mlcf = ngx_http_get_module_loc_conf(r, ngx_http_mirror_module); + + if (mlcf->mirror == NULL) { + return NGX_DECLINED; + } + + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "mirror handler"); + + if (mlcf->request_body) { + ctx = ngx_http_get_module_ctx(r, ngx_http_mirror_module); + + if (ctx) { + return ctx->status; + } + + ctx = ngx_pcalloc(r->pool, sizeof(ngx_http_mirror_ctx_t)); + if (ctx == NULL) { + return NGX_ERROR; + } + + ctx->status = NGX_DONE; + + ngx_http_set_ctx(r, ctx, ngx_http_mirror_module); + + rc = ngx_http_read_client_request_body(r, ngx_http_mirror_body_handler); + if (rc >= NGX_HTTP_SPECIAL_RESPONSE) { + return rc; + } + + ngx_http_finalize_request(r, NGX_DONE); + return NGX_DONE; + } + + return ngx_http_mirror_handler_internal(r); +} + + +static void +ngx_http_mirror_body_handler(ngx_http_request_t *r) +{ + ngx_http_mirror_ctx_t *ctx; + + ctx = ngx_http_get_module_ctx(r, ngx_http_mirror_module); + + ctx->status = ngx_http_mirror_handler_internal(r); + + r->preserve_body = 1; + + r->write_event_handler = ngx_http_core_run_phases; + ngx_http_core_run_phases(r); +} + + +static ngx_int_t +ngx_http_mirror_handler_internal(ngx_http_request_t *r) +{ + ngx_str_t *name; + ngx_uint_t i; + ngx_http_request_t *sr; + ngx_http_mirror_loc_conf_t *mlcf; + + mlcf = ngx_http_get_module_loc_conf(r, ngx_http_mirror_module); + + name = mlcf->mirror->elts; + + for (i = 0; i < mlcf->mirror->nelts; i++) { + if (ngx_http_subrequest(r, &name[i], &r->args, &sr, NULL, + NGX_HTTP_SUBREQUEST_BACKGROUND) + != NGX_OK) + { + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + sr->header_only = 1; + sr->method = r->method; + sr->method_name = r->method_name; + } + + return NGX_DECLINED; +} + + +static void * +ngx_http_mirror_create_loc_conf(ngx_conf_t *cf) +{ + ngx_http_mirror_loc_conf_t *mlcf; + + mlcf = ngx_pcalloc(cf->pool, sizeof(ngx_http_mirror_loc_conf_t)); + if (mlcf == NULL) { + return NULL; + } + + mlcf->mirror = NGX_CONF_UNSET_PTR; + mlcf->request_body = NGX_CONF_UNSET; + + return mlcf; +} + + +static char * +ngx_http_mirror_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) +{ + ngx_http_mirror_loc_conf_t *prev = parent; + ngx_http_mirror_loc_conf_t *conf = child; + + ngx_conf_merge_ptr_value(conf->mirror, prev->mirror, NULL); + ngx_conf_merge_value(conf->request_body, prev->request_body, 1); + + return NGX_CONF_OK; +} + + +static char * +ngx_http_mirror(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) +{ + ngx_http_mirror_loc_conf_t *mlcf = conf; + + ngx_str_t *value, *s; + + value = cf->args->elts; + + if (ngx_strcmp(value[1].data, "off") == 0) { + if (mlcf->mirror != NGX_CONF_UNSET_PTR) { + return "is duplicate"; + } + + mlcf->mirror = NULL; + return NGX_CONF_OK; + } + + if (mlcf->mirror == NULL) { + return "is duplicate"; + } + + if (mlcf->mirror == NGX_CONF_UNSET_PTR) { + mlcf->mirror = ngx_array_create(cf->pool, 4, sizeof(ngx_str_t)); + if (mlcf->mirror == NULL) { + return NGX_CONF_ERROR; + } + } + + s = ngx_array_push(mlcf->mirror); + if (s == NULL) { + return NGX_CONF_ERROR; + } + + *s = value[1]; + + return NGX_CONF_OK; +} + + +static ngx_int_t +ngx_http_mirror_init(ngx_conf_t *cf) +{ + ngx_http_handler_pt *h; + ngx_http_core_main_conf_t *cmcf; + + cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); + + h = ngx_array_push(&cmcf->phases[NGX_HTTP_PRECONTENT_PHASE].handlers); + if (h == NULL) { + return NGX_ERROR; + } + + *h = ngx_http_mirror_handler; + + return NGX_OK; +} Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_mp4_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_not_modified_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_proxy_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_proxy_module.c 2017-08-24 16:37:22 +0900 (61bf55c15) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_proxy_module.c 2017-08-24 16:52:56 +0900 (b42839c24) @@ -829,7 +829,7 @@ static ngx_http_variable_t ngx_http_proxy_vars[] = { ngx_http_proxy_internal_chunked_variable, 0, NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_NOHASH, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_random_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_range_filter_module.c (+2 -2) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_range_filter_module.c 2017-08-24 16:37:22 +0900 (292a2b863) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_range_filter_module.c 2017-08-24 16:52:56 +0900 (6256b13ad) @@ -315,7 +315,7 @@ ngx_http_range_parse(ngx_http_request_t *r, ngx_http_range_filter_ctx_t *ctx, return NGX_HTTP_RANGE_NOT_SATISFIABLE; } - start = start * 10 + *p++ - '0'; + start = start * 10 + (*p++ - '0'); } while (*p == ' ') { p++; } @@ -345,7 +345,7 @@ ngx_http_range_parse(ngx_http_request_t *r, ngx_http_range_filter_ctx_t *ctx, return NGX_HTTP_RANGE_NOT_SATISFIABLE; } - end = end * 10 + *p++ - '0'; + end = end * 10 + (*p++ - '0'); } while (*p == ' ') { p++; } Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_realip_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_realip_module.c 2017-08-24 16:37:22 +0900 (e1839e665) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_realip_module.c 2017-08-24 16:52:56 +0900 (7d3f2a91d) @@ -122,7 +122,7 @@ static ngx_http_variable_t ngx_http_realip_vars[] = { { ngx_string("realip_remote_port"), NULL, ngx_http_realip_remote_port_variable, 0, 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_referer_module.c (+25 -14) 96% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_referer_module.c 2017-08-24 16:37:22 +0900 (3f0f78e11) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_referer_module.c 2017-08-24 16:52:56 +0900 (599dd3a12) @@ -32,6 +32,7 @@ typedef struct { } ngx_http_referer_conf_t; +static ngx_int_t ngx_http_referer_add_variables(ngx_conf_t *cf); static void * ngx_http_referer_create_conf(ngx_conf_t *cf); static char * ngx_http_referer_merge_conf(ngx_conf_t *cf, void *parent, void *child); @@ -77,7 +78,7 @@ static ngx_command_t ngx_http_referer_commands[] = { static ngx_http_module_t ngx_http_referer_module_ctx = { - NULL, /* preconfiguration */ + ngx_http_referer_add_variables, /* preconfiguration */ NULL, /* postconfiguration */ NULL, /* create main configuration */ @@ -107,6 +108,9 @@ ngx_module_t ngx_http_referer_module = { }; +static ngx_str_t ngx_http_invalid_referer_name = ngx_string("invalid_referer"); + + static ngx_int_t ngx_http_referer_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data) @@ -263,6 +267,23 @@ valid: } +static ngx_int_t +ngx_http_referer_add_variables(ngx_conf_t *cf) +{ + ngx_http_variable_t *var; + + var = ngx_http_add_variable(cf, &ngx_http_invalid_referer_name, + NGX_HTTP_VAR_CHANGEABLE); + if (var == NULL) { + return NGX_ERROR; + } + + var->get_handler = ngx_http_referer_variable; + + return NGX_OK; +} + + static void * ngx_http_referer_create_conf(ngx_conf_t *cf) { @@ -452,19 +473,9 @@ ngx_http_valid_referers(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ngx_http_referer_conf_t *rlcf = conf; - u_char *p; - ngx_str_t *value, uri, name; - ngx_uint_t i; - ngx_http_variable_t *var; - - ngx_str_set(&name, "invalid_referer"); - - var = ngx_http_add_variable(cf, &name, NGX_HTTP_VAR_CHANGEABLE); - if (var == NULL) { - return NGX_CONF_ERROR; - } - - var->get_handler = ngx_http_referer_variable; + u_char *p; + ngx_str_t *value, uri; + ngx_uint_t i; if (rlcf->keys == NULL) { rlcf->keys = ngx_pcalloc(cf->temp_pool, sizeof(ngx_hash_keys_arrays_t)); Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_rewrite_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_scgi_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_secure_link_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_slice_filter_module.c (+6 -4) 98% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_slice_filter_module.c 2017-08-24 16:37:22 +0900 (77583429f) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_slice_filter_module.c 2017-08-24 16:52:56 +0900 (c1edbca2b) @@ -190,6 +190,8 @@ ngx_http_slice_header_filter(ngx_http_request_t *r) return rc; } + r->preserve_body = 1; + if (r->headers_out.status == NGX_HTTP_PARTIAL_CONTENT) { if (ctx->start + (off_t) slcf->size <= r->headers_out.content_offset) { ctx->start = slcf->size @@ -317,7 +319,7 @@ ngx_http_slice_parse_content_range(ngx_http_request_t *r, return NGX_ERROR; } - start = start * 10 + *p++ - '0'; + start = start * 10 + (*p++ - '0'); } while (*p == ' ') { p++; } @@ -337,7 +339,7 @@ ngx_http_slice_parse_content_range(ngx_http_request_t *r, return NGX_ERROR; } - end = end * 10 + *p++ - '0'; + end = end * 10 + (*p++ - '0'); } end++; @@ -362,7 +364,7 @@ ngx_http_slice_parse_content_range(ngx_http_request_t *r, return NGX_ERROR; } - complete_length = complete_length * 10 + *p++ - '0'; + complete_length = complete_length * 10 + (*p++ - '0'); } } else { @@ -479,7 +481,7 @@ ngx_http_slice_get_start(ngx_http_request_t *r) return 0; } - start = start * 10 + *p++ - '0'; + start = start * 10 + (*p++ - '0'); } return start; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_ssi_filter_module.c (+3 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_ssi_filter_module.c 2017-08-24 16:37:22 +0900 (b92ad4c02) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_ssi_filter_module.c 2017-08-24 16:52:56 +0900 (e29e1739b) @@ -321,7 +321,7 @@ static ngx_http_variable_t ngx_http_ssi_vars[] = { { ngx_string("date_gmt"), NULL, ngx_http_ssi_date_gmt_local_variable, 1, NGX_HTTP_VAR_NOCACHEABLE, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; @@ -370,6 +370,8 @@ ngx_http_ssi_header_filter(ngx_http_request_t *r) ngx_http_clear_content_length(r); ngx_http_clear_accept_ranges(r); + r->preserve_body = 1; + if (!slcf->last_modified) { ngx_http_clear_last_modified(r); ngx_http_clear_etag(r); Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_ssi_filter_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_ssl_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_ssl_module.c 2017-08-24 16:37:22 +0900 (b466e5d96) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_ssl_module.c 2017-08-24 16:52:56 +0900 (4370275be) @@ -329,7 +329,7 @@ static ngx_http_variable_t ngx_http_ssl_vars[] = { { ngx_string("ssl_client_v_remain"), NULL, ngx_http_ssl_variable, (uintptr_t) ngx_ssl_get_client_v_remain, NGX_HTTP_VAR_CHANGEABLE, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_static_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_stub_status_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_stub_status_module.c 2017-08-24 16:37:22 +0900 (61199f2fb) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_stub_status_module.c 2017-08-24 16:52:56 +0900 (9bdf88129) @@ -76,7 +76,7 @@ static ngx_http_variable_t ngx_http_stub_status_vars[] = { { ngx_string("connections_waiting"), NULL, ngx_http_stub_status_variable, 3, NGX_HTTP_VAR_NOCACHEABLE, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_sub_filter_module.c (+0 -0) 100% =================================================================== Added: vendor/nginx-1.13.4/src/http/modules/ngx_http_try_files_module.c (+404 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_try_files_module.c 2017-08-24 16:52:56 +0900 (ce783a24d) @@ -0,0 +1,404 @@ + +/* + * Copyright (C) Igor Sysoev + * Copyright (C) Nginx, Inc. + */ + + +#include <ngx_config.h> +#include <ngx_core.h> +#include <ngx_http.h> + + +typedef struct { + ngx_array_t *lengths; + ngx_array_t *values; + ngx_str_t name; + + unsigned code:10; + unsigned test_dir:1; +} ngx_http_try_file_t; + + +typedef struct { + ngx_http_try_file_t *try_files; +} ngx_http_try_files_loc_conf_t; + + +static ngx_int_t ngx_http_try_files_handler(ngx_http_request_t *r); +static char *ngx_http_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); +static void *ngx_http_try_files_create_loc_conf(ngx_conf_t *cf); +static ngx_int_t ngx_http_try_files_init(ngx_conf_t *cf); + + +static ngx_command_t ngx_http_try_files_commands[] = { + + { ngx_string("try_files"), + NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_2MORE, + ngx_http_try_files, + NGX_HTTP_LOC_CONF_OFFSET, + 0, + NULL }, + + ngx_null_command +}; + + +static ngx_http_module_t ngx_http_try_files_module_ctx = { + NULL, /* preconfiguration */ + ngx_http_try_files_init, /* postconfiguration */ + + NULL, /* create main configuration */ + NULL, /* init main configuration */ + + NULL, /* create server configuration */ + NULL, /* merge server configuration */ + + ngx_http_try_files_create_loc_conf, /* create location configuration */ + NULL /* merge location configuration */ +}; + + +ngx_module_t ngx_http_try_files_module = { + NGX_MODULE_V1, + &ngx_http_try_files_module_ctx, /* module context */ + ngx_http_try_files_commands, /* module directives */ + NGX_HTTP_MODULE, /* module type */ + NULL, /* init master */ + NULL, /* init module */ + NULL, /* init process */ + NULL, /* init thread */ + NULL, /* exit thread */ + NULL, /* exit process */ + NULL, /* exit master */ + NGX_MODULE_V1_PADDING +}; + + +static ngx_int_t +ngx_http_try_files_handler(ngx_http_request_t *r) +{ + size_t len, root, alias, reserve, allocated; + u_char *p, *name; + ngx_str_t path, args; + ngx_uint_t test_dir; + ngx_http_try_file_t *tf; + ngx_open_file_info_t of; + ngx_http_script_code_pt code; + ngx_http_script_engine_t e; + ngx_http_core_loc_conf_t *clcf; + ngx_http_script_len_code_pt lcode; + ngx_http_try_files_loc_conf_t *tlcf; + + tlcf = ngx_http_get_module_loc_conf(r, ngx_http_try_files_module); + + if (tlcf->try_files == NULL) { + return NGX_DECLINED; + } + + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "try files handler"); + + allocated = 0; + root = 0; + name = NULL; + /* suppress MSVC warning */ + path.data = NULL; + + tf = tlcf->try_files; + + clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); + + alias = clcf->alias; + + for ( ;; ) { + + if (tf->lengths) { + ngx_memzero(&e, sizeof(ngx_http_script_engine_t)); + + e.ip = tf->lengths->elts; + e.request = r; + + /* 1 is for terminating '\0' as in static names */ + len = 1; + + while (*(uintptr_t *) e.ip) { + lcode = *(ngx_http_script_len_code_pt *) e.ip; + len += lcode(&e); + } + + } else { + len = tf->name.len; + } + + if (!alias) { + reserve = len > r->uri.len ? len - r->uri.len : 0; + + } else if (alias == NGX_MAX_SIZE_T_VALUE) { + reserve = len; + + } else { + reserve = len > r->uri.len - alias ? len - (r->uri.len - alias) : 0; + } + + if (reserve > allocated || !allocated) { + + /* 16 bytes are preallocation */ + allocated = reserve + 16; + + if (ngx_http_map_uri_to_path(r, &path, &root, allocated) == NULL) { + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + name = path.data + root; + } + + if (tf->values == NULL) { + + /* tf->name.len includes the terminating '\0' */ + + ngx_memcpy(name, tf->name.data, tf->name.len); + + path.len = (name + tf->name.len - 1) - path.data; + + } else { + e.ip = tf->values->elts; + e.pos = name; + e.flushed = 1; + + while (*(uintptr_t *) e.ip) { + code = *(ngx_http_script_code_pt *) e.ip; + code((ngx_http_script_engine_t *) &e); + } + + path.len = e.pos - path.data; + + *e.pos = '\0'; + + if (alias && alias != NGX_MAX_SIZE_T_VALUE + && ngx_strncmp(name, r->uri.data, alias) == 0) + { + ngx_memmove(name, name + alias, len - alias); + path.len -= alias; + } + } + + test_dir = tf->test_dir; + + tf++; + + ngx_log_debug3(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "trying to use %s: \"%s\" \"%s\"", + test_dir ? "dir" : "file", name, path.data); + + if (tf->lengths == NULL && tf->name.len == 0) { + + if (tf->code) { + return tf->code; + } + + path.len -= root; + path.data += root; + + if (path.data[0] == '@') { + (void) ngx_http_named_location(r, &path); + + } else { + ngx_http_split_args(r, &path, &args); + + (void) ngx_http_internal_redirect(r, &path, &args); + } + + ngx_http_finalize_request(r, NGX_DONE); + return NGX_DONE; + } + + ngx_memzero(&of, sizeof(ngx_open_file_info_t)); + + of.read_ahead = clcf->read_ahead; + of.directio = clcf->directio; + of.valid = clcf->open_file_cache_valid; + of.min_uses = clcf->open_file_cache_min_uses; + of.test_only = 1; + of.errors = clcf->open_file_cache_errors; + of.events = clcf->open_file_cache_events; + + if (ngx_http_set_disable_symlinks(r, clcf, &path, &of) != NGX_OK) { + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool) + != NGX_OK) + { + if (of.err == 0) { + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + if (of.err != NGX_ENOENT + && of.err != NGX_ENOTDIR + && of.err != NGX_ENAMETOOLONG) + { + ngx_log_error(NGX_LOG_CRIT, r->connection->log, of.err, + "%s \"%s\" failed", of.failed, path.data); + } + + continue; + } + + if (of.is_dir != test_dir) { + continue; + } + + path.len -= root; + path.data += root; + + if (!alias) { + r->uri = path; + + } else if (alias == NGX_MAX_SIZE_T_VALUE) { + if (!test_dir) { + r->uri = path; + r->add_uri_to_alias = 1; + } + + } else { + name = r->uri.data; + + r->uri.len = alias + path.len; + r->uri.data = ngx_pnalloc(r->pool, r->uri.len); + if (r->uri.data == NULL) { + r->uri.len = 0; + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + p = ngx_copy(r->uri.data, name, alias); + ngx_memcpy(p, path.data, path.len); + } + + ngx_http_set_exten(r); + + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "try file uri: \"%V\"", &r->uri); + + return NGX_DECLINED; + } + + /* not reached */ +} + + +static char * +ngx_http_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) +{ + ngx_http_try_files_loc_conf_t *tlcf = conf; + + ngx_str_t *value; + ngx_int_t code; + ngx_uint_t i, n; + ngx_http_try_file_t *tf; + ngx_http_script_compile_t sc; + + if (tlcf->try_files) { + return "is duplicate"; + } + + tf = ngx_pcalloc(cf->pool, cf->args->nelts * sizeof(ngx_http_try_file_t)); + if (tf == NULL) { + return NGX_CONF_ERROR; + } + + tlcf->try_files = tf; + + value = cf->args->elts; + + for (i = 0; i < cf->args->nelts - 1; i++) { + + tf[i].name = value[i + 1]; + + if (tf[i].name.len > 0 + && tf[i].name.data[tf[i].name.len - 1] == '/' + && i + 2 < cf->args->nelts) + { + tf[i].test_dir = 1; + tf[i].name.len--; + tf[i].name.data[tf[i].name.len] = '\0'; + } + + n = ngx_http_script_variables_count(&tf[i].name); + + if (n) { + ngx_memzero(&sc, sizeof(ngx_http_script_compile_t)); + + sc.cf = cf; + sc.source = &tf[i].name; + sc.lengths = &tf[i].lengths; + sc.values = &tf[i].values; + sc.variables = n; + sc.complete_lengths = 1; + sc.complete_values = 1; + + if (ngx_http_script_compile(&sc) != NGX_OK) { + return NGX_CONF_ERROR; + } + + } else { + /* add trailing '\0' to length */ + tf[i].name.len++; + } + } + + if (tf[i - 1].name.data[0] == '=') { + + code = ngx_atoi(tf[i - 1].name.data + 1, tf[i - 1].name.len - 2); + + if (code == NGX_ERROR || code > 999) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "invalid code \"%*s\"", + tf[i - 1].name.len - 1, tf[i - 1].name.data); + return NGX_CONF_ERROR; + } + + tf[i].code = code; + } + + return NGX_CONF_OK; +} + + +static void * +ngx_http_try_files_create_loc_conf(ngx_conf_t *cf) +{ + ngx_http_try_files_loc_conf_t *tlcf; + + tlcf = ngx_pcalloc(cf->pool, sizeof(ngx_http_try_files_loc_conf_t)); + if (tlcf == NULL) { + return NULL; + } + + /* + * set by ngx_pcalloc(): + * + * tlcf->try_files = NULL; + */ + + return tlcf; +} + + +static ngx_int_t +ngx_http_try_files_init(ngx_conf_t *cf) +{ + ngx_http_handler_pt *h; + ngx_http_core_main_conf_t *cmcf; + + cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); + + h = ngx_array_push(&cmcf->phases[NGX_HTTP_PRECONTENT_PHASE].handlers); + if (h == NULL) { + return NGX_ERROR; + } + + *h = ngx_http_try_files_handler; + + return NGX_OK; +} Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_ip_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_keepalive_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_zone_module.c (+87 -8) 74% =================================================================== --- vendor/nginx-1.13.3/src/http/modules/ngx_http_upstream_zone_module.c 2017-08-24 16:37:22 +0900 (7e5bd7476) +++ vendor/nginx-1.13.4/src/http/modules/ngx_http_upstream_zone_module.c 2017-08-24 16:52:56 +0900 (d340b481f) @@ -16,6 +16,8 @@ static ngx_int_t ngx_http_upstream_init_zone(ngx_shm_zone_t *shm_zone, void *data); static ngx_http_upstream_rr_peers_t *ngx_http_upstream_zone_copy_peers( ngx_slab_pool_t *shpool, ngx_http_upstream_srv_conf_t *uscf); +static ngx_http_upstream_rr_peer_t *ngx_http_upstream_zone_copy_peer( + ngx_http_upstream_rr_peers_t *peers, ngx_http_upstream_rr_peer_t *src); static ngx_command_t ngx_http_upstream_zone_commands[] = { @@ -185,6 +187,7 @@ static ngx_http_upstream_rr_peers_t * ngx_http_upstream_zone_copy_peers(ngx_slab_pool_t *shpool, ngx_http_upstream_srv_conf_t *uscf) { + ngx_str_t *name; ngx_http_upstream_rr_peer_t *peer, **peerp; ngx_http_upstream_rr_peers_t *peers, *backup; @@ -195,18 +198,30 @@ ngx_http_upstream_zone_copy_peers(ngx_slab_pool_t *shpool, ngx_memcpy(peers, uscf->peer.data, sizeof(ngx_http_upstream_rr_peers_t)); + name = ngx_slab_alloc(shpool, sizeof(ngx_str_t)); + if (name == NULL) { + return NULL; + } + + name->data = ngx_slab_alloc(shpool, peers->name->len); + if (name->data == NULL) { + return NULL; + } + + ngx_memcpy(name->data, peers->name->data, peers->name->len); + name->len = peers->name->len; + + peers->name = name; + peers->shpool = shpool; for (peerp = &peers->peer; *peerp; peerp = &peer->next) { /* pool is unlocked */ - peer = ngx_slab_calloc_locked(shpool, - sizeof(ngx_http_upstream_rr_peer_t)); + peer = ngx_http_upstream_zone_copy_peer(peers, *peerp); if (peer == NULL) { return NULL; } - ngx_memcpy(peer, *peerp, sizeof(ngx_http_upstream_rr_peer_t)); - *peerp = peer; } @@ -221,18 +236,17 @@ ngx_http_upstream_zone_copy_peers(ngx_slab_pool_t *shpool, ngx_memcpy(backup, peers->next, sizeof(ngx_http_upstream_rr_peers_t)); + backup->name = name; + backup->shpool = shpool; for (peerp = &backup->peer; *peerp; peerp = &peer->next) { /* pool is unlocked */ - peer = ngx_slab_calloc_locked(shpool, - sizeof(ngx_http_upstream_rr_peer_t)); + peer = ngx_http_upstream_zone_copy_peer(backup, *peerp); if (peer == NULL) { return NULL; } - ngx_memcpy(peer, *peerp, sizeof(ngx_http_upstream_rr_peer_t)); - *peerp = peer; } @@ -244,3 +258,68 @@ done: return peers; } + + +static ngx_http_upstream_rr_peer_t * +ngx_http_upstream_zone_copy_peer(ngx_http_upstream_rr_peers_t *peers, + ngx_http_upstream_rr_peer_t *src) +{ + ngx_slab_pool_t *pool; + ngx_http_upstream_rr_peer_t *dst; + + pool = peers->shpool; + + dst = ngx_slab_calloc_locked(pool, sizeof(ngx_http_upstream_rr_peer_t)); + if (dst == NULL) { + return NULL; + } + + if (src) { + ngx_memcpy(dst, src, sizeof(ngx_http_upstream_rr_peer_t)); + dst->sockaddr = NULL; + dst->name.data = NULL; + dst->server.data = NULL; + } + + dst->sockaddr = ngx_slab_calloc_locked(pool, NGX_SOCKADDRLEN); + if (dst->sockaddr == NULL) { + goto failed; + } + + dst->name.data = ngx_slab_calloc_locked(pool, NGX_SOCKADDR_STRLEN); + if (dst->name.data == NULL) { + goto failed; + } + + if (src) { + ngx_memcpy(dst->sockaddr, src->sockaddr, src->socklen); + ngx_memcpy(dst->name.data, src->name.data, src->name.len); + + dst->server.data = ngx_slab_alloc_locked(pool, src->server.len); + if (dst->server.data == NULL) { + goto failed; + } + + ngx_memcpy(dst->server.data, src->server.data, src->server.len); + } + + return dst; + +failed: + + if (dst->server.data) { + ngx_slab_free_locked(pool, dst->server.data); + } + + if (dst->name.data) { + ngx_slab_free_locked(pool, dst->name.data); + } + + if (dst->sockaddr) { + ngx_slab_free_locked(pool, dst->sockaddr); + } + + ngx_slab_free_locked(pool, dst); + + return NULL; +} Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_userid_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_uwsgi_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/ngx_http_xslt_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/perl/Makefile.PL (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/perl/nginx.pm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/perl/nginx.xs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/perl/ngx_http_perl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/perl/ngx_http_perl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/modules/perl/typemap (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http.c (+9 -12) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http.c 2017-08-24 16:37:22 +0900 (c036389a8) +++ vendor/nginx-1.13.4/src/http/ngx_http.c 2017-08-24 16:52:56 +0900 (9d8b6d79a) @@ -382,6 +382,13 @@ ngx_http_init_phases(ngx_conf_t *cf, ngx_http_core_main_conf_t *cmcf) return NGX_ERROR; } + if (ngx_array_init(&cmcf->phases[NGX_HTTP_PRECONTENT_PHASE].handlers, + cf->pool, 2, sizeof(ngx_http_handler_pt)) + != NGX_OK) + { + return NGX_ERROR; + } + if (ngx_array_init(&cmcf->phases[NGX_HTTP_CONTENT_PHASE].handlers, cf->pool, 4, sizeof(ngx_http_handler_pt)) != NGX_OK) @@ -459,8 +466,7 @@ ngx_http_init_phase_handlers(ngx_conf_t *cf, ngx_http_core_main_conf_t *cmcf) n = 1 /* find config phase */ + use_rewrite /* post rewrite phase */ - + use_access /* post access phase */ - + cmcf->try_files; + + use_access; /* post access phase */ for (i = 0; i < NGX_HTTP_LOG_PHASE; i++) { n += cmcf->phases[i].handlers.nelts; @@ -529,15 +535,6 @@ ngx_http_init_phase_handlers(ngx_conf_t *cf, ngx_http_core_main_conf_t *cmcf) continue; - case NGX_HTTP_TRY_FILES_PHASE: - if (cmcf->try_files) { - ph->checker = ngx_http_core_try_files_phase; - n++; - ph++; - } - - continue; - case NGX_HTTP_CONTENT_PHASE: checker = ngx_http_core_content_phase; break; @@ -548,7 +545,7 @@ ngx_http_init_phase_handlers(ngx_conf_t *cf, ngx_http_core_main_conf_t *cmcf) n += cmcf->phases[i].handlers.nelts; - for (j = cmcf->phases[i].handlers.nelts - 1; j >=0; j--) { + for (j = cmcf->phases[i].handlers.nelts - 1; j >= 0; j--) { ph->checker = checker; ph->handler = h[j]; ph->next = n; Renamed: vendor/nginx-1.13.4/src/http/ngx_http.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_copy_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_core_module.c (+0 -310) 94% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_core_module.c 2017-08-24 16:37:22 +0900 (02059efd8) +++ vendor/nginx-1.13.4/src/http/ngx_http_core_module.c 2017-08-24 16:52:56 +0900 (57a47427f) @@ -61,8 +61,6 @@ static char *ngx_http_core_directio(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); static char *ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -static char *ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); static char *ngx_http_core_open_file_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); static char *ngx_http_core_error_log(ngx_conf_t *cf, ngx_command_t *cmd, @@ -649,13 +647,6 @@ static ngx_command_t ngx_http_core_commands[] = { 0, NULL }, - { ngx_string("try_files"), - NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_2MORE, - ngx_http_core_try_files, - NGX_HTTP_LOC_CONF_OFFSET, - 0, - NULL }, - { ngx_string("post_action"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF |NGX_CONF_TAKE1, @@ -1159,223 +1150,6 @@ ngx_http_core_post_access_phase(ngx_http_request_t *r, ngx_int_t -ngx_http_core_try_files_phase(ngx_http_request_t *r, - ngx_http_phase_handler_t *ph) -{ - size_t len, root, alias, reserve, allocated; - u_char *p, *name; - ngx_str_t path, args; - ngx_uint_t test_dir; - ngx_http_try_file_t *tf; - ngx_open_file_info_t of; - ngx_http_script_code_pt code; - ngx_http_script_engine_t e; - ngx_http_core_loc_conf_t *clcf; - ngx_http_script_len_code_pt lcode; - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "try files phase: %ui", r->phase_handler); - - clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); - - if (clcf->try_files == NULL) { - r->phase_handler++; - return NGX_AGAIN; - } - - allocated = 0; - root = 0; - name = NULL; - /* suppress MSVC warning */ - path.data = NULL; - - tf = clcf->try_files; - - alias = clcf->alias; - - for ( ;; ) { - - if (tf->lengths) { - ngx_memzero(&e, sizeof(ngx_http_script_engine_t)); - - e.ip = tf->lengths->elts; - e.request = r; - - /* 1 is for terminating '\0' as in static names */ - len = 1; - - while (*(uintptr_t *) e.ip) { - lcode = *(ngx_http_script_len_code_pt *) e.ip; - len += lcode(&e); - } - - } else { - len = tf->name.len; - } - - if (!alias) { - reserve = len > r->uri.len ? len - r->uri.len : 0; - - } else if (alias == NGX_MAX_SIZE_T_VALUE) { - reserve = len; - - } else { - reserve = len > r->uri.len - alias ? len - (r->uri.len - alias) : 0; - } - - if (reserve > allocated || !allocated) { - - /* 16 bytes are preallocation */ - allocated = reserve + 16; - - if (ngx_http_map_uri_to_path(r, &path, &root, allocated) == NULL) { - ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return NGX_OK; - } - - name = path.data + root; - } - - if (tf->values == NULL) { - - /* tf->name.len includes the terminating '\0' */ - - ngx_memcpy(name, tf->name.data, tf->name.len); - - path.len = (name + tf->name.len - 1) - path.data; - - } else { - e.ip = tf->values->elts; - e.pos = name; - e.flushed = 1; - - while (*(uintptr_t *) e.ip) { - code = *(ngx_http_script_code_pt *) e.ip; - code((ngx_http_script_engine_t *) &e); - } - - path.len = e.pos - path.data; - - *e.pos = '\0'; - - if (alias && alias != NGX_MAX_SIZE_T_VALUE - && ngx_strncmp(name, r->uri.data, alias) == 0) - { - ngx_memmove(name, name + alias, len - alias); - path.len -= alias; - } - } - - test_dir = tf->test_dir; - - tf++; - - ngx_log_debug3(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "trying to use %s: \"%s\" \"%s\"", - test_dir ? "dir" : "file", name, path.data); - - if (tf->lengths == NULL && tf->name.len == 0) { - - if (tf->code) { - ngx_http_finalize_request(r, tf->code); - return NGX_OK; - } - - path.len -= root; - path.data += root; - - if (path.data[0] == '@') { - (void) ngx_http_named_location(r, &path); - - } else { - ngx_http_split_args(r, &path, &args); - - (void) ngx_http_internal_redirect(r, &path, &args); - } - - ngx_http_finalize_request(r, NGX_DONE); - return NGX_OK; - } - - ngx_memzero(&of, sizeof(ngx_open_file_info_t)); - - of.read_ahead = clcf->read_ahead; - of.directio = clcf->directio; - of.valid = clcf->open_file_cache_valid; - of.min_uses = clcf->open_file_cache_min_uses; - of.test_only = 1; - of.errors = clcf->open_file_cache_errors; - of.events = clcf->open_file_cache_events; - - if (ngx_http_set_disable_symlinks(r, clcf, &path, &of) != NGX_OK) { - ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return NGX_OK; - } - - if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool) - != NGX_OK) - { - if (of.err == 0) { - ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return NGX_OK; - } - - if (of.err != NGX_ENOENT - && of.err != NGX_ENOTDIR - && of.err != NGX_ENAMETOOLONG) - { - ngx_log_error(NGX_LOG_CRIT, r->connection->log, of.err, - "%s \"%s\" failed", of.failed, path.data); - } - - continue; - } - - if (of.is_dir != test_dir) { - continue; - } - - path.len -= root; - path.data += root; - - if (!alias) { - r->uri = path; - - } else if (alias == NGX_MAX_SIZE_T_VALUE) { - if (!test_dir) { - r->uri = path; - r->add_uri_to_alias = 1; - } - - } else { - name = r->uri.data; - - r->uri.len = alias + path.len; - r->uri.data = ngx_pnalloc(r->pool, r->uri.len); - if (r->uri.data == NULL) { - r->uri.len = 0; - ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); - return NGX_OK; - } - - p = ngx_copy(r->uri.data, name, alias); - ngx_memcpy(p, path.data, path.len); - } - - ngx_http_set_exten(r); - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "try file uri: \"%V\"", &r->uri); - - r->phase_handler++; - return NGX_AGAIN; - } - - /* not reached */ -} - - -ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) { @@ -3561,7 +3335,6 @@ ngx_http_core_create_loc_conf(ngx_conf_t *cf) * clcf->default_type = { 0, NULL }; * clcf->error_log = NULL; * clcf->error_pages = NULL; - * clcf->try_files = NULL; * clcf->client_body_path = NULL; * clcf->regex = NULL; * clcf->exact_match = 0; @@ -4885,89 +4658,6 @@ ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) static char * -ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - ngx_http_core_loc_conf_t *clcf = conf; - - ngx_str_t *value; - ngx_int_t code; - ngx_uint_t i, n; - ngx_http_try_file_t *tf; - ngx_http_script_compile_t sc; - ngx_http_core_main_conf_t *cmcf; - - if (clcf->try_files) { - return "is duplicate"; - } - - cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); - - cmcf->try_files = 1; - - tf = ngx_pcalloc(cf->pool, cf->args->nelts * sizeof(ngx_http_try_file_t)); - if (tf == NULL) { - return NGX_CONF_ERROR; - } - - clcf->try_files = tf; - - value = cf->args->elts; - - for (i = 0; i < cf->args->nelts - 1; i++) { - - tf[i].name = value[i + 1]; - - if (tf[i].name.len > 0 - && tf[i].name.data[tf[i].name.len - 1] == '/' - && i + 2 < cf->args->nelts) - { - tf[i].test_dir = 1; - tf[i].name.len--; - tf[i].name.data[tf[i].name.len] = '\0'; - } - - n = ngx_http_script_variables_count(&tf[i].name); - - if (n) { - ngx_memzero(&sc, sizeof(ngx_http_script_compile_t)); - - sc.cf = cf; - sc.source = &tf[i].name; - sc.lengths = &tf[i].lengths; - sc.values = &tf[i].values; - sc.variables = n; - sc.complete_lengths = 1; - sc.complete_values = 1; - - if (ngx_http_script_compile(&sc) != NGX_OK) { - return NGX_CONF_ERROR; - } - - } else { - /* add trailing '\0' to length */ - tf[i].name.len++; - } - } - - if (tf[i - 1].name.data[0] == '=') { - - code = ngx_atoi(tf[i - 1].name.data + 1, tf[i - 1].name.len - 2); - - if (code == NGX_ERROR || code > 999) { - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid code \"%*s\"", - tf[i - 1].name.len - 1, tf[i - 1].name.data); - return NGX_CONF_ERROR; - } - - tf[i].code = code; - } - - return NGX_CONF_OK; -} - - -static char * ngx_http_core_open_file_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ngx_http_core_loc_conf_t *clcf = conf; Renamed: vendor/nginx-1.13.4/src/http/ngx_http_core_module.h (+2 -16) 97% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_core_module.h 2017-08-24 16:37:22 +0900 (5018da09a) +++ vendor/nginx-1.13.4/src/http/ngx_http_core_module.h 2017-08-24 16:52:56 +0900 (a6128b541) @@ -119,7 +119,8 @@ typedef enum { NGX_HTTP_ACCESS_PHASE, NGX_HTTP_POST_ACCESS_PHASE, - NGX_HTTP_TRY_FILES_PHASE, + NGX_HTTP_PRECONTENT_PHASE, + NGX_HTTP_CONTENT_PHASE, NGX_HTTP_LOG_PHASE @@ -172,8 +173,6 @@ typedef struct { ngx_array_t *ports; - ngx_uint_t try_files; /* unsigned try_files:1 */ - ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1]; } ngx_http_core_main_conf_t; @@ -296,16 +295,6 @@ typedef struct { } ngx_http_err_page_t; -typedef struct { - ngx_array_t *lengths; - ngx_array_t *values; - ngx_str_t name; - - unsigned code:10; - unsigned test_dir:1; -} ngx_http_try_file_t; - - struct ngx_http_core_loc_conf_s { ngx_str_t name; /* location name */ @@ -425,7 +414,6 @@ struct ngx_http_core_loc_conf_s { #endif ngx_array_t *error_pages; /* error_page */ - ngx_http_try_file_t *try_files; /* try_files */ ngx_path_t *client_body_temp_path; /* client_body_temp_path */ @@ -486,8 +474,6 @@ ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph); ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph); -ngx_int_t ngx_http_core_try_files_phase(ngx_http_request_t *r, - ngx_http_phase_handler_t *ph); ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph); Renamed: vendor/nginx-1.13.4/src/http/ngx_http_file_cache.c (+1 -0) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_file_cache.c 2017-08-24 16:37:22 +0900 (a823c51ae) +++ vendor/nginx-1.13.4/src/http/ngx_http_file_cache.c 2017-08-24 16:52:56 +0900 (3b2b68a26) @@ -129,6 +129,7 @@ ngx_http_file_cache_init(ngx_shm_zone_t *shm_zone, void *data) if (shm_zone->shm.exists) { cache->sh = cache->shpool->data; cache->bsize = ngx_fs_bsize(cache->path->name.data); + cache->max_size /= cache->bsize; return NGX_OK; } Renamed: vendor/nginx-1.13.4/src/http/ngx_http_header_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_parse.c (+7 -7) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_parse.c 2017-08-24 16:37:22 +0900 (e8e51563f) +++ vendor/nginx-1.13.4/src/http/ngx_http_parse.c 2017-08-24 16:52:56 +0900 (844054c9d) @@ -742,7 +742,7 @@ ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b) return NGX_HTTP_PARSE_INVALID_REQUEST; } - r->http_major = r->http_major * 10 + ch - '0'; + r->http_major = r->http_major * 10 + (ch - '0'); if (r->http_major > 1) { return NGX_HTTP_PARSE_INVALID_VERSION; @@ -784,7 +784,7 @@ ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b) return NGX_HTTP_PARSE_INVALID_REQUEST; } - r->http_minor = r->http_minor * 10 + ch - '0'; + r->http_minor = r->http_minor * 10 + (ch - '0'); break; case sw_spaces_after_digit: @@ -1518,7 +1518,7 @@ ngx_http_parse_complex_uri(ngx_http_request_t *r, ngx_uint_t merge_slashes) case sw_quoted_second: if (ch >= '0' && ch <= '9') { - ch = (u_char) ((decoded << 4) + ch - '0'); + ch = (u_char) ((decoded << 4) + (ch - '0')); if (ch == '%' || ch == '#') { state = sw_usual; @@ -1536,7 +1536,7 @@ ngx_http_parse_complex_uri(ngx_http_request_t *r, ngx_uint_t merge_slashes) c = (u_char) (ch | 0x20); if (c >= 'a' && c <= 'f') { - ch = (u_char) ((decoded << 4) + c - 'a' + 10); + ch = (u_char) ((decoded << 4) + (c - 'a') + 10); if (ch == '?') { state = sw_usual; @@ -1701,7 +1701,7 @@ ngx_http_parse_status_line(ngx_http_request_t *r, ngx_buf_t *b, return NGX_ERROR; } - r->http_major = r->http_major * 10 + ch - '0'; + r->http_major = r->http_major * 10 + (ch - '0'); break; /* the first digit of minor HTTP version */ @@ -1729,7 +1729,7 @@ ngx_http_parse_status_line(ngx_http_request_t *r, ngx_buf_t *b, return NGX_ERROR; } - r->http_minor = r->http_minor * 10 + ch - '0'; + r->http_minor = r->http_minor * 10 + (ch - '0'); break; /* HTTP status code */ @@ -1742,7 +1742,7 @@ ngx_http_parse_status_line(ngx_http_request_t *r, ngx_buf_t *b, return NGX_ERROR; } - status->code = status->code * 10 + ch - '0'; + status->code = status->code * 10 + (ch - '0'); if (++status->count == 3) { state = sw_space_after_status; Renamed: vendor/nginx-1.13.4/src/http/ngx_http_postpone_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_request.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_request.h (+1 -0) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_request.h 2017-08-24 16:37:22 +0900 (f7f3e97f4) +++ vendor/nginx-1.13.4/src/http/ngx_http_request.h 2017-08-24 16:52:56 +0900 (421004a0d) @@ -537,6 +537,7 @@ struct ngx_http_request_s { unsigned main_filter_need_in_memory:1; unsigned filter_need_in_memory:1; unsigned filter_need_temporary:1; + unsigned preserve_body:1; unsigned allow_ranges:1; unsigned subrequest_ranges:1; unsigned single_range:1; Renamed: vendor/nginx-1.13.4/src/http/ngx_http_request_body.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_special_response.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_upstream.c (+11 -5) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_upstream.c 2017-08-24 16:37:22 +0900 (c394b2914) +++ vendor/nginx-1.13.4/src/http/ngx_http_upstream.c 2017-08-24 16:52:56 +0900 (6a2b32238) @@ -427,7 +427,7 @@ static ngx_http_variable_t ngx_http_upstream_vars[] = { { ngx_string("upstream_cookie_"), NULL, ngx_http_upstream_cookie_variable, 0, NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_PREFIX, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; @@ -1077,6 +1077,10 @@ ngx_http_upstream_cache_background_update(ngx_http_request_t *r, return NGX_OK; } + if (r == r->main) { + r->preserve_body = 1; + } + if (ngx_http_subrequest(r, &r->uri, &r->args, &sr, NULL, NGX_HTTP_SUBREQUEST_CLONE |NGX_HTTP_SUBREQUEST_BACKGROUND) @@ -2857,7 +2861,9 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u) u->pipe->downstream_error = 1; } - if (r->request_body && r->request_body->temp_file) { + if (r->request_body && r->request_body->temp_file + && r == r->main && !r->preserve_body) + { ngx_pool_run_cleanup_file(r->pool, r->request_body->temp_file->file.fd); r->request_body->temp_file->file.fd = NGX_INVALID_FILE; } @@ -4503,7 +4509,7 @@ ngx_http_upstream_process_cache_control(ngx_http_request_t *r, } if (*p >= '0' && *p <= '9') { - n = n * 10 + *p - '0'; + n = n * 10 + (*p - '0'); continue; } @@ -4531,7 +4537,7 @@ ngx_http_upstream_process_cache_control(ngx_http_request_t *r, } if (*p >= '0' && *p <= '9') { - n = n * 10 + *p - '0'; + n = n * 10 + (*p - '0'); continue; } @@ -4554,7 +4560,7 @@ ngx_http_upstream_process_cache_control(ngx_http_request_t *r, } if (*p >= '0' && *p <= '9') { - n = n * 10 + *p - '0'; + n = n * 10 + (*p - '0'); continue; } Renamed: vendor/nginx-1.13.4/src/http/ngx_http_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/ngx_http_variables.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_variables.c 2017-08-24 16:37:22 +0900 (fbc9ffafd) +++ vendor/nginx-1.13.4/src/http/ngx_http_variables.c 2017-08-24 16:52:56 +0900 (afeb4ce65) @@ -376,7 +376,7 @@ static ngx_http_variable_t ngx_http_core_variables[] = { { ngx_string("arg_"), NULL, ngx_http_variable_argument, 0, NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_PREFIX, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/ngx_http_variables.h (+2 -0) 97% =================================================================== --- vendor/nginx-1.13.3/src/http/ngx_http_variables.h 2017-08-24 16:37:22 +0900 (df337defc) +++ vendor/nginx-1.13.4/src/http/ngx_http_variables.h 2017-08-24 16:52:56 +0900 (f3f7f3c1c) @@ -43,6 +43,8 @@ struct ngx_http_variable_s { ngx_uint_t index; }; +#define ngx_http_null_variable { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_variable_t *ngx_http_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags); Renamed: vendor/nginx-1.13.4/src/http/ngx_http_write_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_huff_decode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_huff_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/http/v2/ngx_http_v2_module.c 2017-08-24 16:37:22 +0900 (032abcb64) +++ vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_module.c 2017-08-24 16:52:56 +0900 (7f7dab29e) @@ -225,7 +225,7 @@ static ngx_http_variable_t ngx_http_v2_vars[] = { { ngx_string("http2"), NULL, ngx_http_v2_variable, 0, 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_http_null_variable }; Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/http/v2/ngx_http_v2_table.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_auth_http_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_core_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_imap_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_imap_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_imap_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_pop3_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_pop3_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_pop3_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_smtp_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_smtp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_smtp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_ssl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/mail/ngx_mail_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/misc/ngx_cpp_test_module.cpp (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/misc/ngx_google_perftools_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/misc/ngx_google_perftools_module.c 2017-08-24 16:37:22 +0900 (f2f8221b5) +++ vendor/nginx-1.13.4/src/misc/ngx_google_perftools_module.c 2017-08-24 16:52:56 +0900 (381f3d105) @@ -36,7 +36,7 @@ static ngx_command_t ngx_google_perftools_commands[] = { offsetof(ngx_google_perftools_conf_t, profiles), NULL }, - ngx_null_command + ngx_null_command }; Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_channel.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_channel.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_daemon.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_darwin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_darwin_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_darwin_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_darwin_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_file_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_freebsd.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_freebsd_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_freebsd_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_freebsd_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_amd64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_ppc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_gcc_atomic_x86.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_linux.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_linux_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_linux_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_linux_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_linux_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_posix_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_posix_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_readv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_setaffinity.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_setaffinity.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_setproctitle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_setproctitle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_solaris.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_solaris_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_solaris_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_solaris_sendfilev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_amd64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_sparc64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_sunpro_x86.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_thread_cond.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_thread_id.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_thread_mutex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_udp_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_udp_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_udp_sendmsg_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/unix/ngx_writev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/nginx.ico (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/nginx.rc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/nginx_icon16.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/nginx_icon32.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/nginx_icon48.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_event_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_process_cycle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_service.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_stat.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_thread.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_udp_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_win32_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_win32_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_wsarecv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_wsasend.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/os/win32/ngx_wsasend_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_core_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_geoip_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_geoip_module.c 2017-08-24 16:37:22 +0900 (f694033cb) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_geoip_module.c 2017-08-24 16:52:56 +0900 (6507b716e) @@ -210,7 +210,7 @@ static ngx_stream_variable_t ngx_stream_geoip_vars[] = { ngx_stream_geoip_city_int_variable, offsetof(GeoIPRecord, area_code), 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_null_variable }; Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_log_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_realip_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_realip_module.c 2017-08-24 16:37:22 +0900 (1266605ce) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_realip_module.c 2017-08-24 16:52:56 +0900 (57b1ac21e) @@ -89,7 +89,7 @@ static ngx_stream_variable_t ngx_stream_realip_vars[] = { { ngx_string("realip_remote_port"), NULL, ngx_stream_realip_remote_port_variable, 0, 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_null_variable }; Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_return_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_ssl_module.c 2017-08-24 16:37:22 +0900 (da26a41f7) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_module.c 2017-08-24 16:52:56 +0900 (010b98b30) @@ -273,7 +273,7 @@ static ngx_stream_variable_t ngx_stream_ssl_vars[] = { { ngx_string("ssl_client_v_remain"), NULL, ngx_stream_ssl_variable, (uintptr_t) ngx_ssl_get_client_v_remain, NGX_STREAM_VAR_CHANGEABLE, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_null_variable }; Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_preread_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_ssl_preread_module.c 2017-08-24 16:37:22 +0900 (2040b4fe8) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_ssl_preread_module.c 2017-08-24 16:52:56 +0900 (e3d11fd93) @@ -85,7 +85,7 @@ static ngx_stream_variable_t ngx_stream_ssl_preread_vars[] = { { ngx_string("ssl_preread_server_name"), NULL, ngx_stream_ssl_preread_server_name_variable, 0, 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_null_variable }; Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_upstream.c 2017-08-24 16:37:22 +0900 (c9e17845e) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_upstream.c 2017-08-24 16:52:56 +0900 (7feac4381) @@ -100,7 +100,7 @@ static ngx_stream_variable_t ngx_stream_upstream_vars[] = { ngx_stream_upstream_bytes_variable, 1, NGX_STREAM_VAR_NOCACHEABLE, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_null_variable }; Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_zone_module.c (+87 -8) 73% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_upstream_zone_module.c 2017-08-24 16:37:22 +0900 (07ab88dfa) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_upstream_zone_module.c 2017-08-24 16:52:56 +0900 (4f72188f6) @@ -16,6 +16,8 @@ static ngx_int_t ngx_stream_upstream_init_zone(ngx_shm_zone_t *shm_zone, void *data); static ngx_stream_upstream_rr_peers_t *ngx_stream_upstream_zone_copy_peers( ngx_slab_pool_t *shpool, ngx_stream_upstream_srv_conf_t *uscf); +static ngx_stream_upstream_rr_peer_t *ngx_stream_upstream_zone_copy_peer( + ngx_stream_upstream_rr_peers_t *peers, ngx_stream_upstream_rr_peer_t *src); static ngx_command_t ngx_stream_upstream_zone_commands[] = { @@ -182,6 +184,7 @@ static ngx_stream_upstream_rr_peers_t * ngx_stream_upstream_zone_copy_peers(ngx_slab_pool_t *shpool, ngx_stream_upstream_srv_conf_t *uscf) { + ngx_str_t *name; ngx_stream_upstream_rr_peer_t *peer, **peerp; ngx_stream_upstream_rr_peers_t *peers, *backup; @@ -192,18 +195,30 @@ ngx_stream_upstream_zone_copy_peers(ngx_slab_pool_t *shpool, ngx_memcpy(peers, uscf->peer.data, sizeof(ngx_stream_upstream_rr_peers_t)); + name = ngx_slab_alloc(shpool, sizeof(ngx_str_t)); + if (name == NULL) { + return NULL; + } + + name->data = ngx_slab_alloc(shpool, peers->name->len); + if (name->data == NULL) { + return NULL; + } + + ngx_memcpy(name->data, peers->name->data, peers->name->len); + name->len = peers->name->len; + + peers->name = name; + peers->shpool = shpool; for (peerp = &peers->peer; *peerp; peerp = &peer->next) { /* pool is unlocked */ - peer = ngx_slab_calloc_locked(shpool, - sizeof(ngx_stream_upstream_rr_peer_t)); + peer = ngx_stream_upstream_zone_copy_peer(peers, *peerp); if (peer == NULL) { return NULL; } - ngx_memcpy(peer, *peerp, sizeof(ngx_stream_upstream_rr_peer_t)); - *peerp = peer; } @@ -218,18 +233,17 @@ ngx_stream_upstream_zone_copy_peers(ngx_slab_pool_t *shpool, ngx_memcpy(backup, peers->next, sizeof(ngx_stream_upstream_rr_peers_t)); + backup->name = name; + backup->shpool = shpool; for (peerp = &backup->peer; *peerp; peerp = &peer->next) { /* pool is unlocked */ - peer = ngx_slab_calloc_locked(shpool, - sizeof(ngx_stream_upstream_rr_peer_t)); + peer = ngx_stream_upstream_zone_copy_peer(backup, *peerp); if (peer == NULL) { return NULL; } - ngx_memcpy(peer, *peerp, sizeof(ngx_stream_upstream_rr_peer_t)); - *peerp = peer; } @@ -241,3 +255,68 @@ done: return peers; } + + +static ngx_stream_upstream_rr_peer_t * +ngx_stream_upstream_zone_copy_peer(ngx_stream_upstream_rr_peers_t *peers, + ngx_stream_upstream_rr_peer_t *src) +{ + ngx_slab_pool_t *pool; + ngx_stream_upstream_rr_peer_t *dst; + + pool = peers->shpool; + + dst = ngx_slab_calloc_locked(pool, sizeof(ngx_stream_upstream_rr_peer_t)); + if (dst == NULL) { + return NULL; + } + + if (src) { + ngx_memcpy(dst, src, sizeof(ngx_stream_upstream_rr_peer_t)); + dst->sockaddr = NULL; + dst->name.data = NULL; + dst->server.data = NULL; + } + + dst->sockaddr = ngx_slab_calloc_locked(pool, NGX_SOCKADDRLEN); + if (dst->sockaddr == NULL) { + goto failed; + } + + dst->name.data = ngx_slab_calloc_locked(pool, NGX_SOCKADDR_STRLEN); + if (dst->name.data == NULL) { + goto failed; + } + + if (src) { + ngx_memcpy(dst->sockaddr, src->sockaddr, src->socklen); + ngx_memcpy(dst->name.data, src->name.data, src->name.len); + + dst->server.data = ngx_slab_alloc_locked(pool, src->server.len); + if (dst->server.data == NULL) { + goto failed; + } + + ngx_memcpy(dst->server.data, src->server.data, src->server.len); + } + + return dst; + +failed: + + if (dst->server.data) { + ngx_slab_free_locked(pool, dst->server.data); + } + + if (dst->name.data) { + ngx_slab_free_locked(pool, dst->name.data); + } + + if (dst->sockaddr) { + ngx_slab_free_locked(pool, dst->sockaddr); + } + + ngx_slab_free_locked(pool, dst); + + return NULL; +} Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_variables.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_variables.c 2017-08-24 16:37:22 +0900 (5d15f3a6d) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_variables.c 2017-08-24 16:52:56 +0900 (45d6e60c8) @@ -111,7 +111,7 @@ static ngx_stream_variable_t ngx_stream_core_variables[] = { { ngx_string("protocol"), NULL, ngx_stream_variable_protocol, 0, 0, 0 }, - { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_null_variable }; Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_variables.h (+2 -0) 97% =================================================================== --- vendor/nginx-1.13.3/src/stream/ngx_stream_variables.h 2017-08-24 16:37:22 +0900 (815511154) +++ vendor/nginx-1.13.4/src/stream/ngx_stream_variables.h 2017-08-24 16:52:56 +0900 (4ead2a624) @@ -43,6 +43,8 @@ struct ngx_stream_variable_s { ngx_uint_t index; }; +#define ngx_stream_null_variable { ngx_null_string, NULL, NULL, 0, 0, 0 } + ngx_stream_variable_t *ngx_stream_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags); Renamed: vendor/nginx-1.13.4/src/stream/ngx_stream_write_filter_module.c (+0 -0) 100% ===================================================================