Kentaro Hayashi
null+****@clear*****
Fri Mar 24 12:03:04 JST 2017
Kentaro Hayashi 2017-03-24 12:03:04 +0900 (Fri, 24 Mar 2017) New Revision: 98fd90b3091ae8ac9ea8e5aec6c04a5a60d7aa46 https://github.com/groonga/groonga/commit/98fd90b3091ae8ac9ea8e5aec6c04a5a60d7aa46 Message: vendor nginx: update latest release $ ./update_nginx.sh 1.11.11 Added files: vendor/nginx-1.11.11/auto/modules vendor/nginx-1.11.11/contrib/vim/syntax/nginx.vim Removed files: vendor/nginx-1.11.9/auto/modules vendor/nginx-1.11.9/contrib/vim/syntax/nginx.vim Modified files: nginx_version Renamed files: vendor/nginx-1.11.11/auto/cc/acc (from vendor/nginx-1.11.9/auto/cc/acc) vendor/nginx-1.11.11/auto/cc/bcc (from vendor/nginx-1.11.9/auto/cc/bcc) vendor/nginx-1.11.11/auto/cc/ccc (from vendor/nginx-1.11.9/auto/cc/ccc) vendor/nginx-1.11.11/auto/cc/clang (from vendor/nginx-1.11.9/auto/cc/clang) vendor/nginx-1.11.11/auto/cc/conf (from vendor/nginx-1.11.9/auto/cc/conf) vendor/nginx-1.11.11/auto/cc/gcc (from vendor/nginx-1.11.9/auto/cc/gcc) vendor/nginx-1.11.11/auto/cc/icc (from vendor/nginx-1.11.9/auto/cc/icc) vendor/nginx-1.11.11/auto/cc/msvc (from vendor/nginx-1.11.9/auto/cc/msvc) vendor/nginx-1.11.11/auto/cc/name (from vendor/nginx-1.11.9/auto/cc/name) vendor/nginx-1.11.11/auto/cc/owc (from vendor/nginx-1.11.9/auto/cc/owc) vendor/nginx-1.11.11/auto/cc/sunc (from vendor/nginx-1.11.9/auto/cc/sunc) vendor/nginx-1.11.11/auto/configure (from vendor/nginx-1.11.9/auto/configure) vendor/nginx-1.11.11/auto/define (from vendor/nginx-1.11.9/auto/define) vendor/nginx-1.11.11/auto/endianness (from vendor/nginx-1.11.9/auto/endianness) vendor/nginx-1.11.11/auto/feature (from vendor/nginx-1.11.9/auto/feature) vendor/nginx-1.11.11/auto/have (from vendor/nginx-1.11.9/auto/have) vendor/nginx-1.11.11/auto/have_headers (from vendor/nginx-1.11.9/auto/have_headers) vendor/nginx-1.11.11/auto/headers (from vendor/nginx-1.11.9/auto/headers) vendor/nginx-1.11.11/auto/include (from vendor/nginx-1.11.9/auto/include) vendor/nginx-1.11.11/auto/init (from vendor/nginx-1.11.9/auto/init) vendor/nginx-1.11.11/auto/install (from vendor/nginx-1.11.9/auto/install) vendor/nginx-1.11.11/auto/lib/conf (from vendor/nginx-1.11.9/auto/lib/conf) vendor/nginx-1.11.11/auto/lib/geoip/conf (from vendor/nginx-1.11.9/auto/lib/geoip/conf) vendor/nginx-1.11.11/auto/lib/google-perftools/conf (from vendor/nginx-1.11.9/auto/lib/google-perftools/conf) vendor/nginx-1.11.11/auto/lib/libatomic/conf (from vendor/nginx-1.11.9/auto/lib/libatomic/conf) vendor/nginx-1.11.11/auto/lib/libatomic/make (from vendor/nginx-1.11.9/auto/lib/libatomic/make) vendor/nginx-1.11.11/auto/lib/libgd/conf (from vendor/nginx-1.11.9/auto/lib/libgd/conf) vendor/nginx-1.11.11/auto/lib/libxslt/conf (from vendor/nginx-1.11.9/auto/lib/libxslt/conf) vendor/nginx-1.11.11/auto/lib/make (from vendor/nginx-1.11.9/auto/lib/make) vendor/nginx-1.11.11/auto/lib/openssl/conf (from vendor/nginx-1.11.9/auto/lib/openssl/conf) vendor/nginx-1.11.11/auto/lib/openssl/make (from vendor/nginx-1.11.9/auto/lib/openssl/make) vendor/nginx-1.11.11/auto/lib/openssl/makefile.bcc (from vendor/nginx-1.11.9/auto/lib/openssl/makefile.bcc) vendor/nginx-1.11.11/auto/lib/openssl/makefile.msvc (from vendor/nginx-1.11.9/auto/lib/openssl/makefile.msvc) vendor/nginx-1.11.11/auto/lib/pcre/conf (from vendor/nginx-1.11.9/auto/lib/pcre/conf) vendor/nginx-1.11.11/auto/lib/pcre/make (from vendor/nginx-1.11.9/auto/lib/pcre/make) vendor/nginx-1.11.11/auto/lib/pcre/makefile.bcc (from vendor/nginx-1.11.9/auto/lib/pcre/makefile.bcc) vendor/nginx-1.11.11/auto/lib/pcre/makefile.msvc (from vendor/nginx-1.11.9/auto/lib/pcre/makefile.msvc) vendor/nginx-1.11.11/auto/lib/pcre/makefile.owc (from vendor/nginx-1.11.9/auto/lib/pcre/makefile.owc) vendor/nginx-1.11.11/auto/lib/perl/conf (from vendor/nginx-1.11.9/auto/lib/perl/conf) vendor/nginx-1.11.11/auto/lib/perl/make (from vendor/nginx-1.11.9/auto/lib/perl/make) vendor/nginx-1.11.11/auto/lib/zlib/conf (from vendor/nginx-1.11.9/auto/lib/zlib/conf) vendor/nginx-1.11.11/auto/lib/zlib/make (from vendor/nginx-1.11.9/auto/lib/zlib/make) vendor/nginx-1.11.11/auto/lib/zlib/makefile.bcc (from vendor/nginx-1.11.9/auto/lib/zlib/makefile.bcc) vendor/nginx-1.11.11/auto/lib/zlib/makefile.msvc (from vendor/nginx-1.11.9/auto/lib/zlib/makefile.msvc) vendor/nginx-1.11.11/auto/lib/zlib/makefile.owc (from vendor/nginx-1.11.9/auto/lib/zlib/makefile.owc) vendor/nginx-1.11.11/auto/make (from vendor/nginx-1.11.9/auto/make) vendor/nginx-1.11.11/auto/module (from vendor/nginx-1.11.9/auto/module) vendor/nginx-1.11.11/auto/nohave (from vendor/nginx-1.11.9/auto/nohave) vendor/nginx-1.11.11/auto/options (from vendor/nginx-1.11.9/auto/options) vendor/nginx-1.11.11/auto/os/conf (from vendor/nginx-1.11.9/auto/os/conf) vendor/nginx-1.11.11/auto/os/darwin (from vendor/nginx-1.11.9/auto/os/darwin) vendor/nginx-1.11.11/auto/os/freebsd (from vendor/nginx-1.11.9/auto/os/freebsd) vendor/nginx-1.11.11/auto/os/linux (from vendor/nginx-1.11.9/auto/os/linux) vendor/nginx-1.11.11/auto/os/solaris (from vendor/nginx-1.11.9/auto/os/solaris) vendor/nginx-1.11.11/auto/os/win32 (from vendor/nginx-1.11.9/auto/os/win32) vendor/nginx-1.11.11/auto/sources (from vendor/nginx-1.11.9/auto/sources) vendor/nginx-1.11.11/auto/stubs (from vendor/nginx-1.11.9/auto/stubs) vendor/nginx-1.11.11/auto/summary (from vendor/nginx-1.11.9/auto/summary) vendor/nginx-1.11.11/auto/threads (from vendor/nginx-1.11.9/auto/threads) vendor/nginx-1.11.11/auto/types/sizeof (from vendor/nginx-1.11.9/auto/types/sizeof) vendor/nginx-1.11.11/auto/types/typedef (from vendor/nginx-1.11.9/auto/types/typedef) vendor/nginx-1.11.11/auto/types/uintptr_t (from vendor/nginx-1.11.9/auto/types/uintptr_t) vendor/nginx-1.11.11/auto/types/value (from vendor/nginx-1.11.9/auto/types/value) vendor/nginx-1.11.11/auto/unix (from vendor/nginx-1.11.9/auto/unix) vendor/nginx-1.11.11/conf/fastcgi.conf (from vendor/nginx-1.11.9/conf/fastcgi.conf) vendor/nginx-1.11.11/conf/fastcgi_params (from vendor/nginx-1.11.9/conf/fastcgi_params) vendor/nginx-1.11.11/conf/koi-utf (from vendor/nginx-1.11.9/conf/koi-utf) vendor/nginx-1.11.11/conf/koi-win (from vendor/nginx-1.11.9/conf/koi-win) vendor/nginx-1.11.11/conf/mime.types (from vendor/nginx-1.11.9/conf/mime.types) vendor/nginx-1.11.11/conf/nginx.conf (from vendor/nginx-1.11.9/conf/nginx.conf) vendor/nginx-1.11.11/conf/scgi_params (from vendor/nginx-1.11.9/conf/scgi_params) vendor/nginx-1.11.11/conf/uwsgi_params (from vendor/nginx-1.11.9/conf/uwsgi_params) vendor/nginx-1.11.11/conf/win-utf (from vendor/nginx-1.11.9/conf/win-utf) vendor/nginx-1.11.11/contrib/README (from vendor/nginx-1.11.9/contrib/README) vendor/nginx-1.11.11/contrib/geo2nginx.pl (from vendor/nginx-1.11.9/contrib/geo2nginx.pl) vendor/nginx-1.11.11/contrib/unicode2nginx/koi-utf (from vendor/nginx-1.11.9/contrib/unicode2nginx/koi-utf) vendor/nginx-1.11.11/contrib/unicode2nginx/unicode-to-nginx.pl (from vendor/nginx-1.11.9/contrib/unicode2nginx/unicode-to-nginx.pl) vendor/nginx-1.11.11/contrib/unicode2nginx/win-utf (from vendor/nginx-1.11.9/contrib/unicode2nginx/win-utf) vendor/nginx-1.11.11/contrib/vim/ftdetect/nginx.vim (from vendor/nginx-1.11.9/contrib/vim/ftdetect/nginx.vim) vendor/nginx-1.11.11/contrib/vim/ftplugin/nginx.vim (from vendor/nginx-1.11.9/contrib/vim/ftplugin/nginx.vim) vendor/nginx-1.11.11/contrib/vim/indent/nginx.vim (from vendor/nginx-1.11.9/contrib/vim/indent/nginx.vim) vendor/nginx-1.11.11/docs/GNUmakefile (from vendor/nginx-1.11.9/docs/GNUmakefile) vendor/nginx-1.11.11/docs/dtd/change_log_conf.dtd (from vendor/nginx-1.11.9/docs/dtd/change_log_conf.dtd) vendor/nginx-1.11.11/docs/dtd/changes.dtd (from vendor/nginx-1.11.9/docs/dtd/changes.dtd) vendor/nginx-1.11.11/docs/html/50x.html (from vendor/nginx-1.11.9/docs/html/50x.html) vendor/nginx-1.11.11/docs/html/index.html (from vendor/nginx-1.11.9/docs/html/index.html) vendor/nginx-1.11.11/docs/man/nginx.8 (from vendor/nginx-1.11.9/docs/man/nginx.8) vendor/nginx-1.11.11/docs/text/LICENSE (from vendor/nginx-1.11.9/docs/text/LICENSE) vendor/nginx-1.11.11/docs/text/README (from vendor/nginx-1.11.9/docs/text/README) vendor/nginx-1.11.11/docs/xml/change_log_conf.xml (from vendor/nginx-1.11.9/docs/xml/change_log_conf.xml) vendor/nginx-1.11.11/docs/xml/nginx/changes.xml (from vendor/nginx-1.11.9/docs/xml/nginx/changes.xml) vendor/nginx-1.11.11/docs/xsls/changes.xsls (from vendor/nginx-1.11.9/docs/xsls/changes.xsls) vendor/nginx-1.11.11/docs/xslt/changes.xslt (from vendor/nginx-1.11.9/docs/xslt/changes.xslt) vendor/nginx-1.11.11/misc/GNUmakefile (from vendor/nginx-1.11.9/misc/GNUmakefile) vendor/nginx-1.11.11/misc/README (from vendor/nginx-1.11.9/misc/README) vendor/nginx-1.11.11/src/core/nginx.c (from vendor/nginx-1.11.9/src/core/nginx.c) vendor/nginx-1.11.11/src/core/nginx.h (from vendor/nginx-1.11.9/src/core/nginx.h) vendor/nginx-1.11.11/src/core/ngx_array.c (from vendor/nginx-1.11.9/src/core/ngx_array.c) vendor/nginx-1.11.11/src/core/ngx_array.h (from vendor/nginx-1.11.9/src/core/ngx_array.h) vendor/nginx-1.11.11/src/core/ngx_buf.c (from vendor/nginx-1.11.9/src/core/ngx_buf.c) vendor/nginx-1.11.11/src/core/ngx_buf.h (from vendor/nginx-1.11.9/src/core/ngx_buf.h) vendor/nginx-1.11.11/src/core/ngx_conf_file.c (from vendor/nginx-1.11.9/src/core/ngx_conf_file.c) vendor/nginx-1.11.11/src/core/ngx_conf_file.h (from vendor/nginx-1.11.9/src/core/ngx_conf_file.h) vendor/nginx-1.11.11/src/core/ngx_config.h (from vendor/nginx-1.11.9/src/core/ngx_config.h) vendor/nginx-1.11.11/src/core/ngx_connection.c (from vendor/nginx-1.11.9/src/core/ngx_connection.c) vendor/nginx-1.11.11/src/core/ngx_connection.h (from vendor/nginx-1.11.9/src/core/ngx_connection.h) vendor/nginx-1.11.11/src/core/ngx_core.h (from vendor/nginx-1.11.9/src/core/ngx_core.h) vendor/nginx-1.11.11/src/core/ngx_cpuinfo.c (from vendor/nginx-1.11.9/src/core/ngx_cpuinfo.c) vendor/nginx-1.11.11/src/core/ngx_crc.h (from vendor/nginx-1.11.9/src/core/ngx_crc.h) vendor/nginx-1.11.11/src/core/ngx_crc32.c (from vendor/nginx-1.11.9/src/core/ngx_crc32.c) vendor/nginx-1.11.11/src/core/ngx_crc32.h (from vendor/nginx-1.11.9/src/core/ngx_crc32.h) vendor/nginx-1.11.11/src/core/ngx_crypt.c (from vendor/nginx-1.11.9/src/core/ngx_crypt.c) vendor/nginx-1.11.11/src/core/ngx_crypt.h (from vendor/nginx-1.11.9/src/core/ngx_crypt.h) vendor/nginx-1.11.11/src/core/ngx_cycle.c (from vendor/nginx-1.11.9/src/core/ngx_cycle.c) vendor/nginx-1.11.11/src/core/ngx_cycle.h (from vendor/nginx-1.11.9/src/core/ngx_cycle.h) vendor/nginx-1.11.11/src/core/ngx_file.c (from vendor/nginx-1.11.9/src/core/ngx_file.c) vendor/nginx-1.11.11/src/core/ngx_file.h (from vendor/nginx-1.11.9/src/core/ngx_file.h) vendor/nginx-1.11.11/src/core/ngx_hash.c (from vendor/nginx-1.11.9/src/core/ngx_hash.c) vendor/nginx-1.11.11/src/core/ngx_hash.h (from vendor/nginx-1.11.9/src/core/ngx_hash.h) vendor/nginx-1.11.11/src/core/ngx_inet.c (from vendor/nginx-1.11.9/src/core/ngx_inet.c) vendor/nginx-1.11.11/src/core/ngx_inet.h (from vendor/nginx-1.11.9/src/core/ngx_inet.h) vendor/nginx-1.11.11/src/core/ngx_list.c (from vendor/nginx-1.11.9/src/core/ngx_list.c) vendor/nginx-1.11.11/src/core/ngx_list.h (from vendor/nginx-1.11.9/src/core/ngx_list.h) vendor/nginx-1.11.11/src/core/ngx_log.c (from vendor/nginx-1.11.9/src/core/ngx_log.c) vendor/nginx-1.11.11/src/core/ngx_log.h (from vendor/nginx-1.11.9/src/core/ngx_log.h) vendor/nginx-1.11.11/src/core/ngx_md5.c (from vendor/nginx-1.11.9/src/core/ngx_md5.c) vendor/nginx-1.11.11/src/core/ngx_md5.h (from vendor/nginx-1.11.9/src/core/ngx_md5.h) vendor/nginx-1.11.11/src/core/ngx_module.c (from vendor/nginx-1.11.9/src/core/ngx_module.c) vendor/nginx-1.11.11/src/core/ngx_module.h (from vendor/nginx-1.11.9/src/core/ngx_module.h) vendor/nginx-1.11.11/src/core/ngx_murmurhash.c (from vendor/nginx-1.11.9/src/core/ngx_murmurhash.c) vendor/nginx-1.11.11/src/core/ngx_murmurhash.h (from vendor/nginx-1.11.9/src/core/ngx_murmurhash.h) vendor/nginx-1.11.11/src/core/ngx_open_file_cache.c (from vendor/nginx-1.11.9/src/core/ngx_open_file_cache.c) vendor/nginx-1.11.11/src/core/ngx_open_file_cache.h (from vendor/nginx-1.11.9/src/core/ngx_open_file_cache.h) vendor/nginx-1.11.11/src/core/ngx_output_chain.c (from vendor/nginx-1.11.9/src/core/ngx_output_chain.c) vendor/nginx-1.11.11/src/core/ngx_palloc.c (from vendor/nginx-1.11.9/src/core/ngx_palloc.c) vendor/nginx-1.11.11/src/core/ngx_palloc.h (from vendor/nginx-1.11.9/src/core/ngx_palloc.h) vendor/nginx-1.11.11/src/core/ngx_parse.c (from vendor/nginx-1.11.9/src/core/ngx_parse.c) vendor/nginx-1.11.11/src/core/ngx_parse.h (from vendor/nginx-1.11.9/src/core/ngx_parse.h) vendor/nginx-1.11.11/src/core/ngx_parse_time.c (from vendor/nginx-1.11.9/src/core/ngx_parse_time.c) vendor/nginx-1.11.11/src/core/ngx_parse_time.h (from vendor/nginx-1.11.9/src/core/ngx_parse_time.h) vendor/nginx-1.11.11/src/core/ngx_proxy_protocol.c (from vendor/nginx-1.11.9/src/core/ngx_proxy_protocol.c) vendor/nginx-1.11.11/src/core/ngx_proxy_protocol.h (from vendor/nginx-1.11.9/src/core/ngx_proxy_protocol.h) vendor/nginx-1.11.11/src/core/ngx_queue.c (from vendor/nginx-1.11.9/src/core/ngx_queue.c) vendor/nginx-1.11.11/src/core/ngx_queue.h (from vendor/nginx-1.11.9/src/core/ngx_queue.h) vendor/nginx-1.11.11/src/core/ngx_radix_tree.c (from vendor/nginx-1.11.9/src/core/ngx_radix_tree.c) vendor/nginx-1.11.11/src/core/ngx_radix_tree.h (from vendor/nginx-1.11.9/src/core/ngx_radix_tree.h) vendor/nginx-1.11.11/src/core/ngx_rbtree.c (from vendor/nginx-1.11.9/src/core/ngx_rbtree.c) vendor/nginx-1.11.11/src/core/ngx_rbtree.h (from vendor/nginx-1.11.9/src/core/ngx_rbtree.h) vendor/nginx-1.11.11/src/core/ngx_regex.c (from vendor/nginx-1.11.9/src/core/ngx_regex.c) vendor/nginx-1.11.11/src/core/ngx_regex.h (from vendor/nginx-1.11.9/src/core/ngx_regex.h) vendor/nginx-1.11.11/src/core/ngx_resolver.c (from vendor/nginx-1.11.9/src/core/ngx_resolver.c) vendor/nginx-1.11.11/src/core/ngx_resolver.h (from vendor/nginx-1.11.9/src/core/ngx_resolver.h) vendor/nginx-1.11.11/src/core/ngx_rwlock.c (from vendor/nginx-1.11.9/src/core/ngx_rwlock.c) vendor/nginx-1.11.11/src/core/ngx_rwlock.h (from vendor/nginx-1.11.9/src/core/ngx_rwlock.h) vendor/nginx-1.11.11/src/core/ngx_sha1.c (from vendor/nginx-1.11.9/src/core/ngx_sha1.c) vendor/nginx-1.11.11/src/core/ngx_sha1.h (from vendor/nginx-1.11.9/src/core/ngx_sha1.h) vendor/nginx-1.11.11/src/core/ngx_shmtx.c (from vendor/nginx-1.11.9/src/core/ngx_shmtx.c) vendor/nginx-1.11.11/src/core/ngx_shmtx.h (from vendor/nginx-1.11.9/src/core/ngx_shmtx.h) vendor/nginx-1.11.11/src/core/ngx_slab.c (from vendor/nginx-1.11.9/src/core/ngx_slab.c) vendor/nginx-1.11.11/src/core/ngx_slab.h (from vendor/nginx-1.11.9/src/core/ngx_slab.h) vendor/nginx-1.11.11/src/core/ngx_spinlock.c (from vendor/nginx-1.11.9/src/core/ngx_spinlock.c) vendor/nginx-1.11.11/src/core/ngx_string.c (from vendor/nginx-1.11.9/src/core/ngx_string.c) vendor/nginx-1.11.11/src/core/ngx_string.h (from vendor/nginx-1.11.9/src/core/ngx_string.h) vendor/nginx-1.11.11/src/core/ngx_syslog.c (from vendor/nginx-1.11.9/src/core/ngx_syslog.c) vendor/nginx-1.11.11/src/core/ngx_syslog.h (from vendor/nginx-1.11.9/src/core/ngx_syslog.h) vendor/nginx-1.11.11/src/core/ngx_thread_pool.c (from vendor/nginx-1.11.9/src/core/ngx_thread_pool.c) vendor/nginx-1.11.11/src/core/ngx_thread_pool.h (from vendor/nginx-1.11.9/src/core/ngx_thread_pool.h) vendor/nginx-1.11.11/src/core/ngx_times.c (from vendor/nginx-1.11.9/src/core/ngx_times.c) vendor/nginx-1.11.11/src/core/ngx_times.h (from vendor/nginx-1.11.9/src/core/ngx_times.h) vendor/nginx-1.11.11/src/event/modules/ngx_devpoll_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_devpoll_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_epoll_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_epoll_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_eventport_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_eventport_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_iocp_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_iocp_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_iocp_module.h (from vendor/nginx-1.11.9/src/event/modules/ngx_iocp_module.h) vendor/nginx-1.11.11/src/event/modules/ngx_kqueue_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_kqueue_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_poll_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_poll_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_select_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_select_module.c) vendor/nginx-1.11.11/src/event/modules/ngx_win32_select_module.c (from vendor/nginx-1.11.9/src/event/modules/ngx_win32_select_module.c) vendor/nginx-1.11.11/src/event/ngx_event.c (from vendor/nginx-1.11.9/src/event/ngx_event.c) vendor/nginx-1.11.11/src/event/ngx_event.h (from vendor/nginx-1.11.9/src/event/ngx_event.h) vendor/nginx-1.11.11/src/event/ngx_event_accept.c (from vendor/nginx-1.11.9/src/event/ngx_event_accept.c) vendor/nginx-1.11.11/src/event/ngx_event_acceptex.c (from vendor/nginx-1.11.9/src/event/ngx_event_acceptex.c) vendor/nginx-1.11.11/src/event/ngx_event_connect.c (from vendor/nginx-1.11.9/src/event/ngx_event_connect.c) vendor/nginx-1.11.11/src/event/ngx_event_connect.h (from vendor/nginx-1.11.9/src/event/ngx_event_connect.h) vendor/nginx-1.11.11/src/event/ngx_event_connectex.c (from vendor/nginx-1.11.9/src/event/ngx_event_connectex.c) vendor/nginx-1.11.11/src/event/ngx_event_openssl.c (from vendor/nginx-1.11.9/src/event/ngx_event_openssl.c) vendor/nginx-1.11.11/src/event/ngx_event_openssl.h (from vendor/nginx-1.11.9/src/event/ngx_event_openssl.h) vendor/nginx-1.11.11/src/event/ngx_event_openssl_stapling.c (from vendor/nginx-1.11.9/src/event/ngx_event_openssl_stapling.c) vendor/nginx-1.11.11/src/event/ngx_event_pipe.c (from vendor/nginx-1.11.9/src/event/ngx_event_pipe.c) vendor/nginx-1.11.11/src/event/ngx_event_pipe.h (from vendor/nginx-1.11.9/src/event/ngx_event_pipe.h) vendor/nginx-1.11.11/src/event/ngx_event_posted.c (from vendor/nginx-1.11.9/src/event/ngx_event_posted.c) vendor/nginx-1.11.11/src/event/ngx_event_posted.h (from vendor/nginx-1.11.9/src/event/ngx_event_posted.h) vendor/nginx-1.11.11/src/event/ngx_event_timer.c (from vendor/nginx-1.11.9/src/event/ngx_event_timer.c) vendor/nginx-1.11.11/src/event/ngx_event_timer.h (from vendor/nginx-1.11.9/src/event/ngx_event_timer.h) vendor/nginx-1.11.11/src/http/modules/ngx_http_access_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_access_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_addition_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_addition_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_auth_basic_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_auth_basic_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_auth_request_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_auth_request_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_autoindex_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_autoindex_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_browser_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_browser_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_charset_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_charset_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_chunked_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_chunked_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_dav_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_dav_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_degradation_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_degradation_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_empty_gif_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_empty_gif_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_fastcgi_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_fastcgi_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_flv_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_flv_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_geo_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_geo_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_geoip_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_geoip_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_gunzip_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_gunzip_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_gzip_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_gzip_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_gzip_static_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_gzip_static_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_headers_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_headers_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_image_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_image_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_index_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_index_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_limit_conn_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_limit_conn_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_limit_req_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_limit_req_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_log_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_log_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_map_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_map_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_memcached_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_memcached_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_mp4_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_mp4_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_not_modified_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_not_modified_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_proxy_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_proxy_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_random_index_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_random_index_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_range_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_range_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_realip_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_realip_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_referer_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_referer_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_rewrite_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_rewrite_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_scgi_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_scgi_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_secure_link_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_secure_link_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_slice_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_slice_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_split_clients_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_split_clients_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_ssi_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_ssi_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_ssi_filter_module.h (from vendor/nginx-1.11.9/src/http/modules/ngx_http_ssi_filter_module.h) vendor/nginx-1.11.11/src/http/modules/ngx_http_ssl_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_ssl_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_ssl_module.h (from vendor/nginx-1.11.9/src/http/modules/ngx_http_ssl_module.h) vendor/nginx-1.11.11/src/http/modules/ngx_http_static_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_static_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_stub_status_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_stub_status_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_sub_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_sub_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_hash_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_upstream_hash_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_ip_hash_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_upstream_ip_hash_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_keepalive_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_upstream_keepalive_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_least_conn_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_upstream_least_conn_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_zone_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_upstream_zone_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_userid_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_userid_filter_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_uwsgi_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_uwsgi_module.c) vendor/nginx-1.11.11/src/http/modules/ngx_http_xslt_filter_module.c (from vendor/nginx-1.11.9/src/http/modules/ngx_http_xslt_filter_module.c) vendor/nginx-1.11.11/src/http/modules/perl/Makefile.PL (from vendor/nginx-1.11.9/src/http/modules/perl/Makefile.PL) vendor/nginx-1.11.11/src/http/modules/perl/nginx.pm (from vendor/nginx-1.11.9/src/http/modules/perl/nginx.pm) vendor/nginx-1.11.11/src/http/modules/perl/nginx.xs (from vendor/nginx-1.11.9/src/http/modules/perl/nginx.xs) vendor/nginx-1.11.11/src/http/modules/perl/ngx_http_perl_module.c (from vendor/nginx-1.11.9/src/http/modules/perl/ngx_http_perl_module.c) vendor/nginx-1.11.11/src/http/modules/perl/ngx_http_perl_module.h (from vendor/nginx-1.11.9/src/http/modules/perl/ngx_http_perl_module.h) vendor/nginx-1.11.11/src/http/modules/perl/typemap (from vendor/nginx-1.11.9/src/http/modules/perl/typemap) vendor/nginx-1.11.11/src/http/ngx_http.c (from vendor/nginx-1.11.9/src/http/ngx_http.c) vendor/nginx-1.11.11/src/http/ngx_http.h (from vendor/nginx-1.11.9/src/http/ngx_http.h) vendor/nginx-1.11.11/src/http/ngx_http_cache.h (from vendor/nginx-1.11.9/src/http/ngx_http_cache.h) vendor/nginx-1.11.11/src/http/ngx_http_config.h (from vendor/nginx-1.11.9/src/http/ngx_http_config.h) vendor/nginx-1.11.11/src/http/ngx_http_copy_filter_module.c (from vendor/nginx-1.11.9/src/http/ngx_http_copy_filter_module.c) vendor/nginx-1.11.11/src/http/ngx_http_core_module.c (from vendor/nginx-1.11.9/src/http/ngx_http_core_module.c) vendor/nginx-1.11.11/src/http/ngx_http_core_module.h (from vendor/nginx-1.11.9/src/http/ngx_http_core_module.h) vendor/nginx-1.11.11/src/http/ngx_http_file_cache.c (from vendor/nginx-1.11.9/src/http/ngx_http_file_cache.c) vendor/nginx-1.11.11/src/http/ngx_http_header_filter_module.c (from vendor/nginx-1.11.9/src/http/ngx_http_header_filter_module.c) vendor/nginx-1.11.11/src/http/ngx_http_parse.c (from vendor/nginx-1.11.9/src/http/ngx_http_parse.c) vendor/nginx-1.11.11/src/http/ngx_http_postpone_filter_module.c (from vendor/nginx-1.11.9/src/http/ngx_http_postpone_filter_module.c) vendor/nginx-1.11.11/src/http/ngx_http_request.c (from vendor/nginx-1.11.9/src/http/ngx_http_request.c) vendor/nginx-1.11.11/src/http/ngx_http_request.h (from vendor/nginx-1.11.9/src/http/ngx_http_request.h) vendor/nginx-1.11.11/src/http/ngx_http_request_body.c (from vendor/nginx-1.11.9/src/http/ngx_http_request_body.c) vendor/nginx-1.11.11/src/http/ngx_http_script.c (from vendor/nginx-1.11.9/src/http/ngx_http_script.c) vendor/nginx-1.11.11/src/http/ngx_http_script.h (from vendor/nginx-1.11.9/src/http/ngx_http_script.h) vendor/nginx-1.11.11/src/http/ngx_http_special_response.c (from vendor/nginx-1.11.9/src/http/ngx_http_special_response.c) vendor/nginx-1.11.11/src/http/ngx_http_upstream.c (from vendor/nginx-1.11.9/src/http/ngx_http_upstream.c) vendor/nginx-1.11.11/src/http/ngx_http_upstream.h (from vendor/nginx-1.11.9/src/http/ngx_http_upstream.h) vendor/nginx-1.11.11/src/http/ngx_http_upstream_round_robin.c (from vendor/nginx-1.11.9/src/http/ngx_http_upstream_round_robin.c) vendor/nginx-1.11.11/src/http/ngx_http_upstream_round_robin.h (from vendor/nginx-1.11.9/src/http/ngx_http_upstream_round_robin.h) vendor/nginx-1.11.11/src/http/ngx_http_variables.c (from vendor/nginx-1.11.9/src/http/ngx_http_variables.c) vendor/nginx-1.11.11/src/http/ngx_http_variables.h (from vendor/nginx-1.11.9/src/http/ngx_http_variables.h) vendor/nginx-1.11.11/src/http/ngx_http_write_filter_module.c (from vendor/nginx-1.11.9/src/http/ngx_http_write_filter_module.c) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2.c (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2.c) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2.h (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2.h) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_filter_module.c (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_filter_module.c) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_huff_decode.c (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_huff_decode.c) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_huff_encode.c (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_huff_encode.c) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_module.c (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_module.c) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_module.h (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_module.h) vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_table.c (from vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_table.c) vendor/nginx-1.11.11/src/mail/ngx_mail.c (from vendor/nginx-1.11.9/src/mail/ngx_mail.c) vendor/nginx-1.11.11/src/mail/ngx_mail.h (from vendor/nginx-1.11.9/src/mail/ngx_mail.h) vendor/nginx-1.11.11/src/mail/ngx_mail_auth_http_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_auth_http_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_core_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_core_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_handler.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_handler.c) vendor/nginx-1.11.11/src/mail/ngx_mail_imap_handler.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_imap_handler.c) vendor/nginx-1.11.11/src/mail/ngx_mail_imap_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_imap_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_imap_module.h (from vendor/nginx-1.11.9/src/mail/ngx_mail_imap_module.h) vendor/nginx-1.11.11/src/mail/ngx_mail_parse.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_parse.c) vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_handler.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_pop3_handler.c) vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_pop3_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_module.h (from vendor/nginx-1.11.9/src/mail/ngx_mail_pop3_module.h) vendor/nginx-1.11.11/src/mail/ngx_mail_proxy_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_proxy_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_smtp_handler.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_smtp_handler.c) vendor/nginx-1.11.11/src/mail/ngx_mail_smtp_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_smtp_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_smtp_module.h (from vendor/nginx-1.11.9/src/mail/ngx_mail_smtp_module.h) vendor/nginx-1.11.11/src/mail/ngx_mail_ssl_module.c (from vendor/nginx-1.11.9/src/mail/ngx_mail_ssl_module.c) vendor/nginx-1.11.11/src/mail/ngx_mail_ssl_module.h (from vendor/nginx-1.11.9/src/mail/ngx_mail_ssl_module.h) vendor/nginx-1.11.11/src/misc/ngx_cpp_test_module.cpp (from vendor/nginx-1.11.9/src/misc/ngx_cpp_test_module.cpp) vendor/nginx-1.11.11/src/misc/ngx_google_perftools_module.c (from vendor/nginx-1.11.9/src/misc/ngx_google_perftools_module.c) vendor/nginx-1.11.11/src/os/unix/ngx_alloc.c (from vendor/nginx-1.11.9/src/os/unix/ngx_alloc.c) vendor/nginx-1.11.11/src/os/unix/ngx_alloc.h (from vendor/nginx-1.11.9/src/os/unix/ngx_alloc.h) vendor/nginx-1.11.11/src/os/unix/ngx_atomic.h (from vendor/nginx-1.11.9/src/os/unix/ngx_atomic.h) vendor/nginx-1.11.11/src/os/unix/ngx_channel.c (from vendor/nginx-1.11.9/src/os/unix/ngx_channel.c) vendor/nginx-1.11.11/src/os/unix/ngx_channel.h (from vendor/nginx-1.11.9/src/os/unix/ngx_channel.h) vendor/nginx-1.11.11/src/os/unix/ngx_daemon.c (from vendor/nginx-1.11.9/src/os/unix/ngx_daemon.c) vendor/nginx-1.11.11/src/os/unix/ngx_darwin.h (from vendor/nginx-1.11.9/src/os/unix/ngx_darwin.h) vendor/nginx-1.11.11/src/os/unix/ngx_darwin_config.h (from vendor/nginx-1.11.9/src/os/unix/ngx_darwin_config.h) vendor/nginx-1.11.11/src/os/unix/ngx_darwin_init.c (from vendor/nginx-1.11.9/src/os/unix/ngx_darwin_init.c) vendor/nginx-1.11.11/src/os/unix/ngx_darwin_sendfile_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_darwin_sendfile_chain.c) vendor/nginx-1.11.11/src/os/unix/ngx_dlopen.c (from vendor/nginx-1.11.9/src/os/unix/ngx_dlopen.c) vendor/nginx-1.11.11/src/os/unix/ngx_dlopen.h (from vendor/nginx-1.11.9/src/os/unix/ngx_dlopen.h) vendor/nginx-1.11.11/src/os/unix/ngx_errno.c (from vendor/nginx-1.11.9/src/os/unix/ngx_errno.c) vendor/nginx-1.11.11/src/os/unix/ngx_errno.h (from vendor/nginx-1.11.9/src/os/unix/ngx_errno.h) vendor/nginx-1.11.11/src/os/unix/ngx_file_aio_read.c (from vendor/nginx-1.11.9/src/os/unix/ngx_file_aio_read.c) vendor/nginx-1.11.11/src/os/unix/ngx_files.c (from vendor/nginx-1.11.9/src/os/unix/ngx_files.c) vendor/nginx-1.11.11/src/os/unix/ngx_files.h (from vendor/nginx-1.11.9/src/os/unix/ngx_files.h) vendor/nginx-1.11.11/src/os/unix/ngx_freebsd.h (from vendor/nginx-1.11.9/src/os/unix/ngx_freebsd.h) vendor/nginx-1.11.11/src/os/unix/ngx_freebsd_config.h (from vendor/nginx-1.11.9/src/os/unix/ngx_freebsd_config.h) vendor/nginx-1.11.11/src/os/unix/ngx_freebsd_init.c (from vendor/nginx-1.11.9/src/os/unix/ngx_freebsd_init.c) vendor/nginx-1.11.11/src/os/unix/ngx_freebsd_sendfile_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_freebsd_sendfile_chain.c) vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_amd64.h (from vendor/nginx-1.11.9/src/os/unix/ngx_gcc_atomic_amd64.h) vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_ppc.h (from vendor/nginx-1.11.9/src/os/unix/ngx_gcc_atomic_ppc.h) vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_sparc64.h (from vendor/nginx-1.11.9/src/os/unix/ngx_gcc_atomic_sparc64.h) vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_x86.h (from vendor/nginx-1.11.9/src/os/unix/ngx_gcc_atomic_x86.h) vendor/nginx-1.11.11/src/os/unix/ngx_linux.h (from vendor/nginx-1.11.9/src/os/unix/ngx_linux.h) vendor/nginx-1.11.11/src/os/unix/ngx_linux_aio_read.c (from vendor/nginx-1.11.9/src/os/unix/ngx_linux_aio_read.c) vendor/nginx-1.11.11/src/os/unix/ngx_linux_config.h (from vendor/nginx-1.11.9/src/os/unix/ngx_linux_config.h) vendor/nginx-1.11.11/src/os/unix/ngx_linux_init.c (from vendor/nginx-1.11.9/src/os/unix/ngx_linux_init.c) vendor/nginx-1.11.11/src/os/unix/ngx_linux_sendfile_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_linux_sendfile_chain.c) vendor/nginx-1.11.11/src/os/unix/ngx_os.h (from vendor/nginx-1.11.9/src/os/unix/ngx_os.h) vendor/nginx-1.11.11/src/os/unix/ngx_posix_config.h (from vendor/nginx-1.11.9/src/os/unix/ngx_posix_config.h) vendor/nginx-1.11.11/src/os/unix/ngx_posix_init.c (from vendor/nginx-1.11.9/src/os/unix/ngx_posix_init.c) vendor/nginx-1.11.11/src/os/unix/ngx_process.c (from vendor/nginx-1.11.9/src/os/unix/ngx_process.c) vendor/nginx-1.11.11/src/os/unix/ngx_process.h (from vendor/nginx-1.11.9/src/os/unix/ngx_process.h) vendor/nginx-1.11.11/src/os/unix/ngx_process_cycle.c (from vendor/nginx-1.11.9/src/os/unix/ngx_process_cycle.c) vendor/nginx-1.11.11/src/os/unix/ngx_process_cycle.h (from vendor/nginx-1.11.9/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.11.11/src/os/unix/ngx_readv_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_readv_chain.c) vendor/nginx-1.11.11/src/os/unix/ngx_recv.c (from vendor/nginx-1.11.9/src/os/unix/ngx_recv.c) vendor/nginx-1.11.11/src/os/unix/ngx_send.c (from vendor/nginx-1.11.9/src/os/unix/ngx_send.c) vendor/nginx-1.11.11/src/os/unix/ngx_setaffinity.c (from vendor/nginx-1.11.9/src/os/unix/ngx_setaffinity.c) vendor/nginx-1.11.11/src/os/unix/ngx_setaffinity.h (from vendor/nginx-1.11.9/src/os/unix/ngx_setaffinity.h) vendor/nginx-1.11.11/src/os/unix/ngx_setproctitle.c (from vendor/nginx-1.11.9/src/os/unix/ngx_setproctitle.c) vendor/nginx-1.11.11/src/os/unix/ngx_setproctitle.h (from vendor/nginx-1.11.9/src/os/unix/ngx_setproctitle.h) vendor/nginx-1.11.11/src/os/unix/ngx_shmem.c (from vendor/nginx-1.11.9/src/os/unix/ngx_shmem.c) vendor/nginx-1.11.11/src/os/unix/ngx_shmem.h (from vendor/nginx-1.11.9/src/os/unix/ngx_shmem.h) vendor/nginx-1.11.11/src/os/unix/ngx_socket.c (from vendor/nginx-1.11.9/src/os/unix/ngx_socket.c) vendor/nginx-1.11.11/src/os/unix/ngx_socket.h (from vendor/nginx-1.11.9/src/os/unix/ngx_socket.h) vendor/nginx-1.11.11/src/os/unix/ngx_solaris.h (from vendor/nginx-1.11.9/src/os/unix/ngx_solaris.h) vendor/nginx-1.11.11/src/os/unix/ngx_solaris_config.h (from vendor/nginx-1.11.9/src/os/unix/ngx_solaris_config.h) vendor/nginx-1.11.11/src/os/unix/ngx_solaris_init.c (from vendor/nginx-1.11.9/src/os/unix/ngx_solaris_init.c) vendor/nginx-1.11.11/src/os/unix/ngx_solaris_sendfilev_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_solaris_sendfilev_chain.c) vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_amd64.il (from vendor/nginx-1.11.9/src/os/unix/ngx_sunpro_amd64.il) vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_atomic_sparc64.h (from vendor/nginx-1.11.9/src/os/unix/ngx_sunpro_atomic_sparc64.h) vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_sparc64.il (from vendor/nginx-1.11.9/src/os/unix/ngx_sunpro_sparc64.il) vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_x86.il (from vendor/nginx-1.11.9/src/os/unix/ngx_sunpro_x86.il) vendor/nginx-1.11.11/src/os/unix/ngx_thread.h (from vendor/nginx-1.11.9/src/os/unix/ngx_thread.h) vendor/nginx-1.11.11/src/os/unix/ngx_thread_cond.c (from vendor/nginx-1.11.9/src/os/unix/ngx_thread_cond.c) vendor/nginx-1.11.11/src/os/unix/ngx_thread_id.c (from vendor/nginx-1.11.9/src/os/unix/ngx_thread_id.c) vendor/nginx-1.11.11/src/os/unix/ngx_thread_mutex.c (from vendor/nginx-1.11.9/src/os/unix/ngx_thread_mutex.c) vendor/nginx-1.11.11/src/os/unix/ngx_time.c (from vendor/nginx-1.11.9/src/os/unix/ngx_time.c) vendor/nginx-1.11.11/src/os/unix/ngx_time.h (from vendor/nginx-1.11.9/src/os/unix/ngx_time.h) vendor/nginx-1.11.11/src/os/unix/ngx_udp_recv.c (from vendor/nginx-1.11.9/src/os/unix/ngx_udp_recv.c) vendor/nginx-1.11.11/src/os/unix/ngx_udp_send.c (from vendor/nginx-1.11.9/src/os/unix/ngx_udp_send.c) vendor/nginx-1.11.11/src/os/unix/ngx_udp_sendmsg_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_udp_sendmsg_chain.c) vendor/nginx-1.11.11/src/os/unix/ngx_user.c (from vendor/nginx-1.11.9/src/os/unix/ngx_user.c) vendor/nginx-1.11.11/src/os/unix/ngx_user.h (from vendor/nginx-1.11.9/src/os/unix/ngx_user.h) vendor/nginx-1.11.11/src/os/unix/ngx_writev_chain.c (from vendor/nginx-1.11.9/src/os/unix/ngx_writev_chain.c) vendor/nginx-1.11.11/src/os/win32/nginx.ico (from vendor/nginx-1.11.9/src/os/win32/nginx.ico) vendor/nginx-1.11.11/src/os/win32/nginx.rc (from vendor/nginx-1.11.9/src/os/win32/nginx.rc) vendor/nginx-1.11.11/src/os/win32/nginx_icon16.xpm (from vendor/nginx-1.11.9/src/os/win32/nginx_icon16.xpm) vendor/nginx-1.11.11/src/os/win32/nginx_icon32.xpm (from vendor/nginx-1.11.9/src/os/win32/nginx_icon32.xpm) vendor/nginx-1.11.11/src/os/win32/nginx_icon48.xpm (from vendor/nginx-1.11.9/src/os/win32/nginx_icon48.xpm) vendor/nginx-1.11.11/src/os/win32/ngx_alloc.c (from vendor/nginx-1.11.9/src/os/win32/ngx_alloc.c) vendor/nginx-1.11.11/src/os/win32/ngx_alloc.h (from vendor/nginx-1.11.9/src/os/win32/ngx_alloc.h) vendor/nginx-1.11.11/src/os/win32/ngx_atomic.h (from vendor/nginx-1.11.9/src/os/win32/ngx_atomic.h) vendor/nginx-1.11.11/src/os/win32/ngx_dlopen.c (from vendor/nginx-1.11.9/src/os/win32/ngx_dlopen.c) vendor/nginx-1.11.11/src/os/win32/ngx_dlopen.h (from vendor/nginx-1.11.9/src/os/win32/ngx_dlopen.h) vendor/nginx-1.11.11/src/os/win32/ngx_errno.c (from vendor/nginx-1.11.9/src/os/win32/ngx_errno.c) vendor/nginx-1.11.11/src/os/win32/ngx_errno.h (from vendor/nginx-1.11.9/src/os/win32/ngx_errno.h) vendor/nginx-1.11.11/src/os/win32/ngx_event_log.c (from vendor/nginx-1.11.9/src/os/win32/ngx_event_log.c) vendor/nginx-1.11.11/src/os/win32/ngx_files.c (from vendor/nginx-1.11.9/src/os/win32/ngx_files.c) vendor/nginx-1.11.11/src/os/win32/ngx_files.h (from vendor/nginx-1.11.9/src/os/win32/ngx_files.h) vendor/nginx-1.11.11/src/os/win32/ngx_os.h (from vendor/nginx-1.11.9/src/os/win32/ngx_os.h) vendor/nginx-1.11.11/src/os/win32/ngx_process.c (from vendor/nginx-1.11.9/src/os/win32/ngx_process.c) vendor/nginx-1.11.11/src/os/win32/ngx_process.h (from vendor/nginx-1.11.9/src/os/win32/ngx_process.h) vendor/nginx-1.11.11/src/os/win32/ngx_process_cycle.c (from vendor/nginx-1.11.9/src/os/win32/ngx_process_cycle.c) vendor/nginx-1.11.11/src/os/win32/ngx_process_cycle.h (from vendor/nginx-1.11.9/src/os/win32/ngx_process_cycle.h) vendor/nginx-1.11.11/src/os/win32/ngx_service.c (from vendor/nginx-1.11.9/src/os/win32/ngx_service.c) vendor/nginx-1.11.11/src/os/win32/ngx_shmem.c (from vendor/nginx-1.11.9/src/os/win32/ngx_shmem.c) vendor/nginx-1.11.11/src/os/win32/ngx_shmem.h (from vendor/nginx-1.11.9/src/os/win32/ngx_shmem.h) vendor/nginx-1.11.11/src/os/win32/ngx_socket.c (from vendor/nginx-1.11.9/src/os/win32/ngx_socket.c) vendor/nginx-1.11.11/src/os/win32/ngx_socket.h (from vendor/nginx-1.11.9/src/os/win32/ngx_socket.h) vendor/nginx-1.11.11/src/os/win32/ngx_stat.c (from vendor/nginx-1.11.9/src/os/win32/ngx_stat.c) vendor/nginx-1.11.11/src/os/win32/ngx_thread.c (from vendor/nginx-1.11.9/src/os/win32/ngx_thread.c) vendor/nginx-1.11.11/src/os/win32/ngx_thread.h (from vendor/nginx-1.11.9/src/os/win32/ngx_thread.h) vendor/nginx-1.11.11/src/os/win32/ngx_time.c (from vendor/nginx-1.11.9/src/os/win32/ngx_time.c) vendor/nginx-1.11.11/src/os/win32/ngx_time.h (from vendor/nginx-1.11.9/src/os/win32/ngx_time.h) vendor/nginx-1.11.11/src/os/win32/ngx_udp_wsarecv.c (from vendor/nginx-1.11.9/src/os/win32/ngx_udp_wsarecv.c) vendor/nginx-1.11.11/src/os/win32/ngx_user.c (from vendor/nginx-1.11.9/src/os/win32/ngx_user.c) vendor/nginx-1.11.11/src/os/win32/ngx_user.h (from vendor/nginx-1.11.9/src/os/win32/ngx_user.h) vendor/nginx-1.11.11/src/os/win32/ngx_win32_config.h (from vendor/nginx-1.11.9/src/os/win32/ngx_win32_config.h) vendor/nginx-1.11.11/src/os/win32/ngx_win32_init.c (from vendor/nginx-1.11.9/src/os/win32/ngx_win32_init.c) vendor/nginx-1.11.11/src/os/win32/ngx_wsarecv.c (from vendor/nginx-1.11.9/src/os/win32/ngx_wsarecv.c) vendor/nginx-1.11.11/src/os/win32/ngx_wsarecv_chain.c (from vendor/nginx-1.11.9/src/os/win32/ngx_wsarecv_chain.c) vendor/nginx-1.11.11/src/os/win32/ngx_wsasend.c (from vendor/nginx-1.11.9/src/os/win32/ngx_wsasend.c) vendor/nginx-1.11.11/src/os/win32/ngx_wsasend_chain.c (from vendor/nginx-1.11.9/src/os/win32/ngx_wsasend_chain.c) vendor/nginx-1.11.11/src/stream/ngx_stream.c (from vendor/nginx-1.11.9/src/stream/ngx_stream.c) vendor/nginx-1.11.11/src/stream/ngx_stream.h (from vendor/nginx-1.11.9/src/stream/ngx_stream.h) vendor/nginx-1.11.11/src/stream/ngx_stream_access_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_access_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_core_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_core_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_geo_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_geo_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_geoip_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_geoip_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_handler.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_handler.c) vendor/nginx-1.11.11/src/stream/ngx_stream_limit_conn_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_limit_conn_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_log_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_log_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_map_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_map_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_proxy_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_proxy_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_realip_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_realip_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_return_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_return_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_script.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_script.c) vendor/nginx-1.11.11/src/stream/ngx_stream_script.h (from vendor/nginx-1.11.9/src/stream/ngx_stream_script.h) vendor/nginx-1.11.11/src/stream/ngx_stream_split_clients_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_split_clients_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_ssl_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_ssl_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_ssl_module.h (from vendor/nginx-1.11.9/src/stream/ngx_stream_ssl_module.h) vendor/nginx-1.11.11/src/stream/ngx_stream_ssl_preread_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_ssl_preread_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream.c) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream.h (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream.h) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_hash_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream_hash_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_least_conn_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream_least_conn_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_round_robin.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream_round_robin.c) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_round_robin.h (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream_round_robin.h) vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_zone_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_upstream_zone_module.c) vendor/nginx-1.11.11/src/stream/ngx_stream_variables.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_variables.c) vendor/nginx-1.11.11/src/stream/ngx_stream_variables.h (from vendor/nginx-1.11.9/src/stream/ngx_stream_variables.h) vendor/nginx-1.11.11/src/stream/ngx_stream_write_filter_module.c (from vendor/nginx-1.11.9/src/stream/ngx_stream_write_filter_module.c) Modified: nginx_version (+1 -1) =================================================================== --- nginx_version 2017-03-24 11:49:37 +0900 (361ffc5) +++ nginx_version 2017-03-24 12:03:04 +0900 (319bf4d) @@ -1 +1 @@ -1.11.9 +1.11.11 Renamed: vendor/nginx-1.11.11/auto/cc/acc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/ccc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/clang (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/gcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/icc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/name (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/cc/sunc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/configure (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/define (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/endianness (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/feature (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/have (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/have_headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/include (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/init (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/install (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/geoip/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/google-perftools/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/libatomic/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/libatomic/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/libgd/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/libxslt/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/openssl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/openssl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/openssl/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/openssl/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/pcre/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/pcre/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/pcre/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/pcre/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/pcre/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/perl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/perl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/zlib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/zlib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/zlib/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/zlib/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/lib/zlib/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/module (+0 -0) 100% =================================================================== Added: vendor/nginx-1.11.11/auto/modules (+1365 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.11.11/auto/modules 2017-03-24 12:03:04 +0900 (be3561e) @@ -0,0 +1,1365 @@ + +# Copyright (C) Igor Sysoev +# Copyright (C) Nginx, Inc. + + +if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then + EVENT_SELECT=YES +fi + +if [ $EVENT_SELECT = YES ]; then + have=NGX_HAVE_SELECT . auto/have + CORE_SRCS="$CORE_SRCS $SELECT_SRCS" + EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" +fi + + +if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then + EVENT_POLL=YES +fi + +if [ $EVENT_POLL = YES ]; then + have=NGX_HAVE_POLL . auto/have + CORE_SRCS="$CORE_SRCS $POLL_SRCS" + EVENT_MODULES="$EVENT_MODULES $POLL_MODULE" +fi + + +if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then + have=NGX_HAVE_DEVPOLL . auto/have + have=NGX_TEST_BUILD_DEVPOLL . auto/have + EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" + CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" +fi + + +if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then + have=NGX_HAVE_EVENTPORT . auto/have + have=NGX_TEST_BUILD_EVENTPORT . auto/have + EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE" + CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS" +fi + +if [ $NGX_TEST_BUILD_EPOLL = YES ]; then + have=NGX_HAVE_EPOLL . auto/have + have=NGX_HAVE_EPOLLRDHUP . auto/have + have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have + have=NGX_HAVE_EVENTFD . auto/have + have=NGX_TEST_BUILD_EPOLL . auto/have + EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" + CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" +fi + +if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then + have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have + CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS" +fi + + +if [ $HTTP = YES ]; then + HTTP_MODULES= + HTTP_DEPS= + HTTP_INCS= + + ngx_module_type=HTTP + + if :; then + ngx_module_name="ngx_http_module \ + ngx_http_core_module \ + ngx_http_log_module \ + ngx_http_upstream_module" + ngx_module_incs="src/http src/http/modules" + ngx_module_deps="src/http/ngx_http.h \ + src/http/ngx_http_request.h \ + src/http/ngx_http_config.h \ + src/http/ngx_http_core_module.h \ + src/http/ngx_http_cache.h \ + src/http/ngx_http_variables.h \ + src/http/ngx_http_script.h \ + src/http/ngx_http_upstream.h \ + src/http/ngx_http_upstream_round_robin.h" + ngx_module_srcs="src/http/ngx_http.c \ + src/http/ngx_http_core_module.c \ + src/http/ngx_http_special_response.c \ + src/http/ngx_http_request.c \ + src/http/ngx_http_parse.c \ + src/http/modules/ngx_http_log_module.c \ + src/http/ngx_http_request_body.c \ + src/http/ngx_http_variables.c \ + src/http/ngx_http_script.c \ + src/http/ngx_http_upstream.c \ + src/http/ngx_http_upstream_round_robin.c" + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + + if [ $HTTP_CACHE = YES ]; then + have=NGX_HTTP_CACHE . auto/have + HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS" + fi + + + if [ $HTTP_SSI = YES ]; then + HTTP_POSTPONE=YES + fi + + + if [ $HTTP_SLICE = YES ]; then + HTTP_POSTPONE=YES + fi + + + if [ $HTTP_ADDITION = YES ]; then + HTTP_POSTPONE=YES + fi + + + # the module order is important + # ngx_http_static_module + # ngx_http_gzip_static_module + # ngx_http_dav_module + # ngx_http_autoindex_module + # ngx_http_index_module + # ngx_http_random_index_module + # + # ngx_http_access_module + # ngx_http_realip_module + # + # + # the filter order is important + # ngx_http_write_filter + # ngx_http_header_filter + # ngx_http_chunked_filter + # ngx_http_v2_filter + # ngx_http_range_header_filter + # ngx_http_gzip_filter + # ngx_http_postpone_filter + # ngx_http_ssi_filter + # ngx_http_charset_filter + # ngx_http_xslt_filter + # ngx_http_image_filter + # ngx_http_sub_filter + # ngx_http_addition_filter + # ngx_http_gunzip_filter + # ngx_http_userid_filter + # ngx_http_headers_filter + # ngx_http_copy_filter + # ngx_http_range_body_filter + # ngx_http_not_modified_filter + # ngx_http_slice_filter + + ngx_module_type=HTTP_FILTER + HTTP_FILTER_MODULES= + + ngx_module_order="ngx_http_static_module \ + ngx_http_gzip_static_module \ + ngx_http_dav_module \ + ngx_http_autoindex_module \ + ngx_http_index_module \ + ngx_http_random_index_module \ + ngx_http_access_module \ + ngx_http_realip_module \ + ngx_http_write_filter_module \ + ngx_http_header_filter_module \ + ngx_http_chunked_filter_module \ + ngx_http_v2_filter_module \ + ngx_http_range_header_filter_module \ + ngx_http_gzip_filter_module \ + ngx_http_postpone_filter_module \ + ngx_http_ssi_filter_module \ + ngx_http_charset_filter_module \ + ngx_http_xslt_filter_module \ + ngx_http_image_filter_module \ + ngx_http_sub_filter_module \ + ngx_http_addition_filter_module \ + ngx_http_gunzip_filter_module \ + ngx_http_userid_filter_module \ + ngx_http_headers_filter_module \ + ngx_http_copy_filter_module \ + ngx_http_range_body_filter_module \ + ngx_http_not_modified_filter_module \ + ngx_http_slice_filter_module" + + if :; then + ngx_module_name=ngx_http_write_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/ngx_http_write_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_header_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/ngx_http_header_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_chunked_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if [ $HTTP_V2 = YES ]; then + ngx_module_name=ngx_http_v2_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_V2 + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_range_header_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if [ $HTTP_GZIP = YES ]; then + have=NGX_HTTP_GZIP . auto/have + USE_ZLIB=YES + + ngx_module_name=ngx_http_gzip_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_GZIP + + . auto/module + fi + + if [ $HTTP_POSTPONE = YES ]; then + ngx_module_name=ngx_http_postpone_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_POSTPONE + + . auto/module + fi + + if [ $HTTP_SSI = YES ]; then + have=NGX_HTTP_SSI . auto/have + + ngx_module_name=ngx_http_ssi_filter_module + ngx_module_incs= + ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h + ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SSI + + . auto/module + fi + + if [ $HTTP_CHARSET = YES ]; then + ngx_module_name=ngx_http_charset_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_CHARSET + + . auto/module + fi + + if [ $HTTP_XSLT != NO ]; then + ngx_module_name=ngx_http_xslt_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c + ngx_module_libs=LIBXSLT + ngx_module_link=$HTTP_XSLT + + . auto/module + fi + + if [ $HTTP_IMAGE_FILTER != NO ]; then + ngx_module_name=ngx_http_image_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c + ngx_module_libs=LIBGD + ngx_module_link=$HTTP_IMAGE_FILTER + + . auto/module + fi + + if [ $HTTP_SUB = YES ]; then + ngx_module_name=ngx_http_sub_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SUB + + . auto/module + fi + + if [ $HTTP_ADDITION = YES ]; then + ngx_module_name=ngx_http_addition_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_ADDITION + + . auto/module + fi + + if [ $HTTP_GUNZIP = YES ]; then + have=NGX_HTTP_GZIP . auto/have + USE_ZLIB=YES + + ngx_module_name=ngx_http_gunzip_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_GUNZIP + + . auto/module + fi + + if [ $HTTP_USERID = YES ]; then + ngx_module_name=ngx_http_userid_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_USERID + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_headers_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + + ngx_module_type=HTTP_INIT_FILTER + HTTP_INIT_FILTER_MODULES= + + if :; then + ngx_module_name=ngx_http_copy_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/ngx_http_copy_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_range_body_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs= + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_not_modified_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if [ $HTTP_SLICE = YES ]; then + ngx_module_name=ngx_http_slice_filter_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SLICE + + . auto/module + fi + + + ngx_module_type=HTTP + + if [ $HTTP_V2 = YES ]; then + have=NGX_HTTP_V2 . auto/have + + ngx_module_name=ngx_http_v2_module + ngx_module_incs=src/http/v2 + ngx_module_deps="src/http/v2/ngx_http_v2.h \ + src/http/v2/ngx_http_v2_module.h" + ngx_module_srcs="src/http/v2/ngx_http_v2.c \ + src/http/v2/ngx_http_v2_table.c \ + src/http/v2/ngx_http_v2_huff_decode.c \ + src/http/v2/ngx_http_v2_huff_encode.c \ + src/http/v2/ngx_http_v2_module.c" + ngx_module_libs= + ngx_module_link=$HTTP_V2 + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_static_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_static_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if [ $HTTP_GZIP_STATIC = YES ]; then + have=NGX_HTTP_GZIP . auto/have + + ngx_module_name=ngx_http_gzip_static_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c + ngx_module_libs= + ngx_module_link=$HTTP_GZIP_STATIC + + . auto/module + fi + + if [ $HTTP_DAV = YES ]; then + have=NGX_HTTP_DAV . auto/have + + ngx_module_name=ngx_http_dav_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_dav_module.c + ngx_module_libs= + ngx_module_link=$HTTP_DAV + + . auto/module + fi + + if [ $HTTP_AUTOINDEX = YES ]; then + ngx_module_name=ngx_http_autoindex_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c + ngx_module_libs= + ngx_module_link=$HTTP_AUTOINDEX + + . auto/module + fi + + if :; then + ngx_module_name=ngx_http_index_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_index_module.c + ngx_module_libs= + ngx_module_link=YES + + . auto/module + fi + + if [ $HTTP_RANDOM_INDEX = YES ]; then + ngx_module_name=ngx_http_random_index_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c + ngx_module_libs= + ngx_module_link=$HTTP_RANDOM_INDEX + + . auto/module + fi + + if [ $HTTP_AUTH_REQUEST = YES ]; then + ngx_module_name=ngx_http_auth_request_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c + ngx_module_libs= + ngx_module_link=$HTTP_AUTH_REQUEST + + . auto/module + fi + + if [ $HTTP_AUTH_BASIC = YES ]; then + have=NGX_CRYPT . auto/have + + ngx_module_name=ngx_http_auth_basic_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c + ngx_module_libs=$CRYPT_LIB + ngx_module_link=$HTTP_AUTH_BASIC + + . auto/module + fi + + if [ $HTTP_ACCESS = YES ]; then + ngx_module_name=ngx_http_access_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_access_module.c + ngx_module_libs= + ngx_module_link=$HTTP_ACCESS + + . auto/module + fi + + if [ $HTTP_LIMIT_CONN = YES ]; then + ngx_module_name=ngx_http_limit_conn_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c + ngx_module_libs= + ngx_module_link=$HTTP_LIMIT_CONN + + . auto/module + fi + + if [ $HTTP_LIMIT_REQ = YES ]; then + ngx_module_name=ngx_http_limit_req_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c + ngx_module_libs= + ngx_module_link=$HTTP_LIMIT_REQ + + . auto/module + fi + + if [ $HTTP_REALIP = YES ]; then + have=NGX_HTTP_REALIP . auto/have + have=NGX_HTTP_X_FORWARDED_FOR . auto/have + + ngx_module_name=ngx_http_realip_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_realip_module.c + ngx_module_libs= + ngx_module_link=$HTTP_REALIP + + . auto/module + fi + + if [ $HTTP_STATUS = YES ]; then + ngx_module_name=ngx_http_status_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_status_module.c + ngx_module_libs= + ngx_module_link=$HTTP_STATUS + + . auto/module + fi + + if [ $HTTP_GEO = YES ]; then + have=NGX_HTTP_X_FORWARDED_FOR . auto/have + + ngx_module_name=ngx_http_geo_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_geo_module.c + ngx_module_libs= + ngx_module_link=$HTTP_GEO + + . auto/module + fi + + if [ $HTTP_GEOIP != NO ]; then + have=NGX_HTTP_X_FORWARDED_FOR . auto/have + + ngx_module_name=ngx_http_geoip_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c + ngx_module_libs=GEOIP + ngx_module_link=$HTTP_GEOIP + + . auto/module + fi + + if [ $HTTP_MAP = YES ]; then + ngx_module_name=ngx_http_map_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_map_module.c + ngx_module_libs= + ngx_module_link=$HTTP_MAP + + . auto/module + fi + + if [ $HTTP_SPLIT_CLIENTS = YES ]; then + ngx_module_name=ngx_http_split_clients_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SPLIT_CLIENTS + + . auto/module + fi + + if [ $HTTP_REFERER = YES ]; then + ngx_module_name=ngx_http_referer_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_referer_module.c + ngx_module_libs= + ngx_module_link=$HTTP_REFERER + + . auto/module + fi + + if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then + USE_PCRE=YES + + ngx_module_name=ngx_http_rewrite_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c + ngx_module_libs= + ngx_module_link=$HTTP_REWRITE + + . auto/module + fi + + if [ $HTTP_SSL = YES ]; then + USE_OPENSSL=YES + have=NGX_HTTP_SSL . auto/have + + ngx_module_name=ngx_http_ssl_module + ngx_module_incs= + ngx_module_deps=src/http/modules/ngx_http_ssl_module.h + ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SSL + + . auto/module + fi + + if [ $HTTP_PROXY = YES ]; then + have=NGX_HTTP_X_FORWARDED_FOR . auto/have + + ngx_module_name=ngx_http_proxy_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c + ngx_module_libs= + ngx_module_link=$HTTP_PROXY + + . auto/module + fi + + if [ $HTTP_FASTCGI = YES ]; then + ngx_module_name=ngx_http_fastcgi_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c + ngx_module_libs= + ngx_module_link=$HTTP_FASTCGI + + . auto/module + fi + + if [ $HTTP_UWSGI = YES ]; then + ngx_module_name=ngx_http_uwsgi_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c + ngx_module_libs= + ngx_module_link=$HTTP_UWSGI + + . auto/module + fi + + if [ $HTTP_SCGI = YES ]; then + ngx_module_name=ngx_http_scgi_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SCGI + + . auto/module + fi + + if [ $HTTP_PERL != NO ]; then + ngx_module_name=ngx_http_perl_module + ngx_module_incs=src/http/modules/perl + ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h + ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c + ngx_module_libs=PERL + ngx_module_link=$HTTP_PERL + + . auto/module + fi + + if [ $HTTP_MEMCACHED = YES ]; then + ngx_module_name=ngx_http_memcached_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c + ngx_module_libs= + ngx_module_link=$HTTP_MEMCACHED + + . auto/module + fi + + if [ $HTTP_EMPTY_GIF = YES ]; then + ngx_module_name=ngx_http_empty_gif_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c + ngx_module_libs= + ngx_module_link=$HTTP_EMPTY_GIF + + . auto/module + fi + + if [ $HTTP_BROWSER = YES ]; then + ngx_module_name=ngx_http_browser_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_browser_module.c + ngx_module_libs= + ngx_module_link=$HTTP_BROWSER + + . auto/module + fi + + if [ $HTTP_SECURE_LINK = YES ]; then + ngx_module_name=ngx_http_secure_link_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c + ngx_module_libs= + ngx_module_link=$HTTP_SECURE_LINK + + . auto/module + fi + + if [ $HTTP_DEGRADATION = YES ]; then + have=NGX_HTTP_DEGRADATION . auto/have + + ngx_module_name=ngx_http_degradation_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c + ngx_module_libs= + ngx_module_link=$HTTP_DEGRADATION + + . auto/module + fi + + if [ $HTTP_FLV = YES ]; then + ngx_module_name=ngx_http_flv_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_flv_module.c + ngx_module_libs= + ngx_module_link=$HTTP_FLV + + . auto/module + fi + + if [ $HTTP_MP4 = YES ]; then + ngx_module_name=ngx_http_mp4_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c + ngx_module_libs= + ngx_module_link=$HTTP_MP4 + + . auto/module + fi + + if [ $HTTP_UPSTREAM_HASH = YES ]; then + ngx_module_name=ngx_http_upstream_hash_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c + ngx_module_libs= + ngx_module_link=$HTTP_UPSTREAM_HASH + + . auto/module + fi + + if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then + ngx_module_name=ngx_http_upstream_ip_hash_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c + ngx_module_libs= + ngx_module_link=$HTTP_UPSTREAM_IP_HASH + + . auto/module + fi + + if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then + ngx_module_name=ngx_http_upstream_least_conn_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c + ngx_module_libs= + ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN + + . auto/module + fi + + if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then + ngx_module_name=ngx_http_upstream_keepalive_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c + ngx_module_libs= + ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE + + . auto/module + fi + + if [ $HTTP_UPSTREAM_ZONE = YES ]; then + have=NGX_HTTP_UPSTREAM_ZONE . auto/have + + ngx_module_name=ngx_http_upstream_zone_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c + ngx_module_libs= + ngx_module_link=$HTTP_UPSTREAM_ZONE + + . auto/module + fi + + if [ $HTTP_STUB_STATUS = YES ]; then + have=NGX_STAT_STUB . auto/have + + ngx_module_name=ngx_http_stub_status_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c + ngx_module_libs= + ngx_module_link=$HTTP_STUB_STATUS + + . auto/module + fi +fi + + +if [ $MAIL != NO ]; then + MAIL_MODULES= + MAIL_DEPS= + MAIL_INCS= + + ngx_module_type=MAIL + ngx_module_libs= + ngx_module_link=YES + + ngx_module_order= + + ngx_module_name="ngx_mail_module ngx_mail_core_module" + ngx_module_incs="src/mail" + ngx_module_deps="src/mail/ngx_mail.h" + ngx_module_srcs="src/mail/ngx_mail.c \ + src/mail/ngx_mail_core_module.c \ + src/mail/ngx_mail_handler.c \ + src/mail/ngx_mail_parse.c" + + . auto/module + + ngx_module_incs= + + if [ $MAIL_SSL = YES ]; then + USE_OPENSSL=YES + have=NGX_MAIL_SSL . auto/have + + ngx_module_name=ngx_mail_ssl_module + ngx_module_deps=src/mail/ngx_mail_ssl_module.h + ngx_module_srcs=src/mail/ngx_mail_ssl_module.c + + . auto/module + fi + + if [ $MAIL_POP3 = YES ]; then + ngx_module_name=ngx_mail_pop3_module + ngx_module_deps=src/mail/ngx_mail_pop3_module.h + ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \ + src/mail/ngx_mail_pop3_handler.c" + + . auto/module + fi + + if [ $MAIL_IMAP = YES ]; then + ngx_module_name=ngx_mail_imap_module + ngx_module_deps=src/mail/ngx_mail_imap_module.h + ngx_module_srcs="src/mail/ngx_mail_imap_module.c \ + src/mail/ngx_mail_imap_handler.c" + + . auto/module + fi + + if [ $MAIL_SMTP = YES ]; then + ngx_module_name=ngx_mail_smtp_module + ngx_module_deps=src/mail/ngx_mail_smtp_module.h + ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \ + src/mail/ngx_mail_smtp_handler.c" + + . auto/module + fi + + ngx_module_name=ngx_mail_auth_http_module + ngx_module_deps= + ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c + + . auto/module + + ngx_module_name=ngx_mail_proxy_module + ngx_module_deps= + ngx_module_srcs=src/mail/ngx_mail_proxy_module.c + + . auto/module +fi + + +if [ $STREAM != NO ]; then + STREAM_MODULES= + STREAM_DEPS= + STREAM_INCS= + + ngx_module_type=STREAM + ngx_module_libs= + ngx_module_link=YES + + ngx_module_order= + + ngx_module_name="ngx_stream_module \ + ngx_stream_core_module \ + ngx_stream_log_module \ + ngx_stream_proxy_module \ + ngx_stream_upstream_module \ + ngx_stream_write_filter_module" + ngx_module_incs="src/stream" + ngx_module_deps="src/stream/ngx_stream.h \ + src/stream/ngx_stream_variables.h \ + src/stream/ngx_stream_script.h \ + src/stream/ngx_stream_upstream.h \ + src/stream/ngx_stream_upstream_round_robin.h" + ngx_module_srcs="src/stream/ngx_stream.c \ + src/stream/ngx_stream_variables.c \ + src/stream/ngx_stream_script.c \ + src/stream/ngx_stream_handler.c \ + src/stream/ngx_stream_core_module.c \ + src/stream/ngx_stream_log_module.c \ + src/stream/ngx_stream_proxy_module.c \ + src/stream/ngx_stream_upstream.c \ + src/stream/ngx_stream_upstream_round_robin.c \ + src/stream/ngx_stream_write_filter_module.c" + + . auto/module + + ngx_module_incs= + + if [ $STREAM_SSL = YES ]; then + USE_OPENSSL=YES + have=NGX_STREAM_SSL . auto/have + + ngx_module_name=ngx_stream_ssl_module + ngx_module_deps=src/stream/ngx_stream_ssl_module.h + ngx_module_srcs=src/stream/ngx_stream_ssl_module.c + ngx_module_libs= + ngx_module_link=$STREAM_SSL + + . auto/module + fi + + if [ $STREAM_REALIP = YES ]; then + ngx_module_name=ngx_stream_realip_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_realip_module.c + ngx_module_libs= + ngx_module_link=$STREAM_REALIP + + . auto/module + fi + + if [ $STREAM_LIMIT_CONN = YES ]; then + ngx_module_name=ngx_stream_limit_conn_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c + ngx_module_libs= + ngx_module_link=$STREAM_LIMIT_CONN + + . auto/module + fi + + if [ $STREAM_ACCESS = YES ]; then + ngx_module_name=ngx_stream_access_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_access_module.c + ngx_module_libs= + ngx_module_link=$STREAM_ACCESS + + . auto/module + fi + + if [ $STREAM_GEO = YES ]; then + ngx_module_name=ngx_stream_geo_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_geo_module.c + ngx_module_libs= + ngx_module_link=$STREAM_GEO + + . auto/module + fi + + if [ $STREAM_GEOIP != NO ]; then + ngx_module_name=ngx_stream_geoip_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_geoip_module.c + ngx_module_libs=GEOIP + ngx_module_link=$STREAM_GEOIP + + . auto/module + fi + + if [ $STREAM_MAP = YES ]; then + ngx_module_name=ngx_stream_map_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_map_module.c + ngx_module_libs= + ngx_module_link=$STREAM_MAP + + . auto/module + fi + + if [ $STREAM_SPLIT_CLIENTS = YES ]; then + ngx_module_name=ngx_stream_split_clients_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c + ngx_module_libs= + ngx_module_link=$STREAM_SPLIT_CLIENTS + + . auto/module + fi + + if [ $STREAM_RETURN = YES ]; then + ngx_module_name=ngx_stream_return_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_return_module.c + ngx_module_libs= + ngx_module_link=$STREAM_RETURN + + . auto/module + fi + + if [ $STREAM_UPSTREAM_HASH = YES ]; then + ngx_module_name=ngx_stream_upstream_hash_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c + ngx_module_libs= + ngx_module_link=$STREAM_UPSTREAM_HASH + + . auto/module + fi + + if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then + ngx_module_name=ngx_stream_upstream_least_conn_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c + ngx_module_libs= + ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN + + . auto/module + fi + + if [ $STREAM_UPSTREAM_ZONE = YES ]; then + have=NGX_STREAM_UPSTREAM_ZONE . auto/have + + ngx_module_name=ngx_stream_upstream_zone_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c + ngx_module_libs= + ngx_module_link=$STREAM_UPSTREAM_ZONE + + . auto/module + fi + + if [ $STREAM_SSL_PREREAD = YES ]; then + ngx_module_name=ngx_stream_ssl_preread_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c + ngx_module_libs= + ngx_module_link=$STREAM_SSL_PREREAD + + . auto/module + fi +fi + + +#if [ -r $NGX_OBJS/auto ]; then +# . $NGX_OBJS/auto +#fi + + +if test -n "$NGX_ADDONS"; then + + echo configuring additional modules + + for ngx_addon_dir in $NGX_ADDONS + do + echo "adding module in $ngx_addon_dir" + + ngx_module_type= + ngx_module_name= + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs= + ngx_module_libs= + ngx_module_order= + ngx_module_link=ADDON + + if test -f $ngx_addon_dir/config; then + . $ngx_addon_dir/config + + echo " + $ngx_addon_name was configured" + + else + echo "$0: error: no $ngx_addon_dir/config was found" + exit 1 + fi + done +fi + + +if test -n "$DYNAMIC_ADDONS"; then + + echo configuring additional dynamic modules + + for ngx_addon_dir in $DYNAMIC_ADDONS + do + echo "adding module in $ngx_addon_dir" + + ngx_module_type= + ngx_module_name= + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs= + ngx_module_libs= + ngx_module_order= + ngx_module_link=DYNAMIC + + if test -f $ngx_addon_dir/config; then + . $ngx_addon_dir/config + + echo " + $ngx_addon_name was configured" + + else + echo "$0: error: no $ngx_addon_dir/config was found" + exit 1 + fi + done +fi + + +if [ $USE_OPENSSL = YES ]; then + ngx_module_type=CORE + ngx_module_name=ngx_openssl_module + ngx_module_incs= + ngx_module_deps=src/event/ngx_event_openssl.h + ngx_module_srcs="src/event/ngx_event_openssl.c + src/event/ngx_event_openssl_stapling.c" + ngx_module_libs= + ngx_module_link=YES + ngx_module_order= + + . auto/module +fi + + +if [ $USE_PCRE = YES ]; then + ngx_module_type=CORE + ngx_module_name=ngx_regex_module + ngx_module_incs= + ngx_module_deps=src/core/ngx_regex.h + ngx_module_srcs=src/core/ngx_regex.c + ngx_module_libs= + ngx_module_link=YES + ngx_module_order= + + . auto/module +fi + + +modules="$CORE_MODULES $EVENT_MODULES" + + +# thread pool module should be initialized after events +if [ $USE_THREADS = YES ]; then + modules="$modules $THREAD_POOL_MODULE" +fi + + +if [ $HTTP = YES ]; then + modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \ + $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES" + + NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)" +fi + + +if [ $MAIL != NO ]; then + + if [ $MAIL = YES ]; then + modules="$modules $MAIL_MODULES" + + elif [ $MAIL = DYNAMIC ]; then + ngx_module_name=$MAIL_MODULES + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=$MAIL_SRCS + ngx_module_libs= + ngx_module_link=DYNAMIC + + . auto/module + fi + + NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)" +fi + + +if [ $STREAM != NO ]; then + + if [ $STREAM = YES ]; then + modules="$modules $STREAM_MODULES" + + elif [ $STREAM = DYNAMIC ]; then + ngx_module_name=$STREAM_MODULES + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=$STREAM_SRCS + ngx_module_libs= + ngx_module_link=DYNAMIC + + . auto/module + fi + + NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)" +fi + + +ngx_module_type=MISC +MISC_MODULES= + +if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then + ngx_module_name=ngx_google_perftools_module + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/misc/ngx_google_perftools_module.c + ngx_module_libs= + ngx_module_link=$NGX_GOOGLE_PERFTOOLS + + . auto/module +fi + +if [ $NGX_CPP_TEST = YES ]; then + ngx_module_name= + ngx_module_incs= + ngx_module_deps= + ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp + ngx_module_libs=-lstdc++ + ngx_module_link=$NGX_CPP_TEST + + . auto/module +fi + +modules="$modules $MISC_MODULES" + + +if [ $NGX_COMPAT = YES ]; then + have=NGX_COMPAT . auto/have + have=NGX_HTTP_GZIP . auto/have + have=NGX_HTTP_DAV . auto/have + have=NGX_HTTP_REALIP . auto/have + have=NGX_HTTP_X_FORWARDED_FOR . auto/have + have=NGX_HTTP_HEADERS . auto/have + have=NGX_HTTP_UPSTREAM_ZONE . auto/have + have=NGX_STREAM_UPSTREAM_ZONE . auto/have +fi + + +cat << END > $NGX_MODULES_C + +#include <ngx_config.h> +#include <ngx_core.h> + +$NGX_PRAGMA + +END + +for mod in $modules +do + echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C +done + +echo >> $NGX_MODULES_C +echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C + +for mod in $modules +do + echo " &$mod," >> $NGX_MODULES_C +done + +cat << END >> $NGX_MODULES_C + NULL +}; + +END + +echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C + +for mod in $modules +do + echo " \"$mod\"," >> $NGX_MODULES_C +done + +cat << END >> $NGX_MODULES_C + NULL +}; + +END Renamed: vendor/nginx-1.11.11/auto/nohave (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/options (+0 -13) 99% =================================================================== --- vendor/nginx-1.11.9/auto/options 2017-03-24 11:49:37 +0900 (43724b1) +++ vendor/nginx-1.11.11/auto/options 2017-03-24 12:03:04 +0900 (66b822a) @@ -574,19 +574,6 @@ END fi -if [ $HTTP = NO ]; then - HTTP_CHARSET=NO - HTTP_GZIP=NO - HTTP_SSI=NO - HTTP_USERID=NO - HTTP_ACCESS=NO - HTTP_STATUS=NO - HTTP_REWRITE=NO - HTTP_PROXY=NO - HTTP_FASTCGI=NO -fi - - if [ ".$NGX_PLATFORM" = ".win32" ]; then NGX_WINE=$WINE fi Renamed: vendor/nginx-1.11.11/auto/os/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/os/darwin (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/os/freebsd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/os/linux (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/os/solaris (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/os/win32 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/sources (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/stubs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/summary (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/threads (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/types/sizeof (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/types/typedef (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/types/uintptr_t (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/types/value (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/auto/unix (+0 -0) 100% Mode: 100755 -> 100644 =================================================================== Renamed: vendor/nginx-1.11.11/conf/fastcgi.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/fastcgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/koi-win (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/mime.types (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/nginx.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/scgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/uwsgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/conf/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/geo2nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/unicode2nginx/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/unicode2nginx/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/vim/ftdetect/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/vim/ftplugin/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/contrib/vim/indent/nginx.vim (+0 -0) 100% =================================================================== Added: vendor/nginx-1.11.11/contrib/vim/syntax/nginx.vim (+2144 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.11.11/contrib/vim/syntax/nginx.vim 2017-03-24 12:03:04 +0900 (a52891b) @@ -0,0 +1,2144 @@ +" Vim syntax file +" Language: nginx.conf + +if exists("b:current_syntax") + finish +end + +setlocal iskeyword+=. +setlocal iskeyword+=/ +setlocal iskeyword+=: + +syn match ngxVariable '\$\(\w\+\|{\w\+}\)' +syn match ngxVariableBlock '\$\(\w\+\|{\w\+}\)' contained +syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained +syn region ngxBlock start=+^+ end=+{+ skip=+\${+ contains=ngxComment,ngxDirectiveBlock,ngxVariableBlock,ngxString oneline +syn region ngxString start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString +syn match ngxComment ' *#.*$' + +syn keyword ngxBoolean on +syn keyword ngxBoolean off + +syn keyword ngxDirectiveBlock http contained +syn keyword ngxDirectiveBlock mail contained +syn keyword ngxDirectiveBlock events contained +syn keyword ngxDirectiveBlock server contained +syn keyword ngxDirectiveBlock types contained +syn keyword ngxDirectiveBlock location contained +syn keyword ngxDirectiveBlock upstream contained +syn keyword ngxDirectiveBlock charset_map contained +syn keyword ngxDirectiveBlock limit_except contained +syn keyword ngxDirectiveBlock if contained +syn keyword ngxDirectiveBlock geo contained +syn keyword ngxDirectiveBlock map contained +syn keyword ngxDirectiveBlock split_clients contained + +syn keyword ngxDirectiveImportant include +syn keyword ngxDirectiveImportant root +syn keyword ngxDirectiveImportant server +syn keyword ngxDirectiveImportant server_name +syn keyword ngxDirectiveImportant listen contained +syn region ngxDirectiveImportantListen matchgroup=ngxDirectiveImportant start=+listen+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxListenOptions,ngxString +syn keyword ngxDirectiveImportant internal +syn keyword ngxDirectiveImportant proxy_pass +syn keyword ngxDirectiveImportant memcached_pass +syn keyword ngxDirectiveImportant fastcgi_pass +syn keyword ngxDirectiveImportant scgi_pass +syn keyword ngxDirectiveImportant uwsgi_pass +syn keyword ngxDirectiveImportant try_files + +syn keyword ngxListenOptions default_server contained +syn keyword ngxListenOptions ssl contained +syn keyword ngxListenOptions http2 contained +syn keyword ngxListenOptions spdy contained +syn keyword ngxListenOptions proxy_protocol contained +syn keyword ngxListenOptions setfib contained +syn keyword ngxListenOptions fastopen contained +syn keyword ngxListenOptions backlog contained +syn keyword ngxListenOptions rcvbuf contained +syn keyword ngxListenOptions sndbuf contained +syn keyword ngxListenOptions accept_filter contained +syn keyword ngxListenOptions deferred contained +syn keyword ngxListenOptions bind contained +syn keyword ngxListenOptions ipv6only contained +syn keyword ngxListenOptions reuseport contained +syn keyword ngxListenOptions so_keepalive contained +syn keyword ngxListenOptions keepidle contained + +syn keyword ngxDirectiveControl break +syn keyword ngxDirectiveControl return +syn keyword ngxDirectiveControl rewrite +syn keyword ngxDirectiveControl set + +syn keyword ngxDirectiveError error_page +syn keyword ngxDirectiveError post_action + +syn keyword ngxDirectiveDeprecated connections +syn keyword ngxDirectiveDeprecated imap +syn keyword ngxDirectiveDeprecated limit_zone +syn keyword ngxDirectiveDeprecated mysql_test +syn keyword ngxDirectiveDeprecated open_file_cache_retest +syn keyword ngxDirectiveDeprecated optimize_server_names +syn keyword ngxDirectiveDeprecated satisfy_any +syn keyword ngxDirectiveDeprecated so_keepalive + +syn keyword ngxDirective absolute_redirect +syn keyword ngxDirective accept_mutex +syn keyword ngxDirective accept_mutex_delay +syn keyword ngxDirective acceptex_read +syn keyword ngxDirective access_log +syn keyword ngxDirective add_after_body +syn keyword ngxDirective add_before_body +syn keyword ngxDirective add_header +syn keyword ngxDirective addition_types +syn keyword ngxDirective aio +syn keyword ngxDirective aio_write +syn keyword ngxDirective alias +syn keyword ngxDirective allow +syn keyword ngxDirective ancient_browser +syn keyword ngxDirective ancient_browser_value +syn keyword ngxDirective auth_basic +syn keyword ngxDirective auth_basic_user_file +syn keyword ngxDirective auth_http +syn keyword ngxDirective auth_http_header +syn keyword ngxDirective auth_http_pass_client_cert +syn keyword ngxDirective auth_http_timeout +syn keyword ngxDirective auth_jwt +syn keyword ngxDirective auth_jwt_key_file +syn keyword ngxDirective auth_request +syn keyword ngxDirective auth_request_set +syn keyword ngxDirective autoindex +syn keyword ngxDirective autoindex_exact_size +syn keyword ngxDirective autoindex_format +syn keyword ngxDirective autoindex_localtime +syn keyword ngxDirective charset +syn keyword ngxDirective charset_map +syn keyword ngxDirective charset_types +syn keyword ngxDirective chunked_transfer_encoding +syn keyword ngxDirective client_body_buffer_size +syn keyword ngxDirective client_body_in_file_only +syn keyword ngxDirective client_body_in_single_buffer +syn keyword ngxDirective client_body_temp_path +syn keyword ngxDirective client_body_timeout +syn keyword ngxDirective client_header_buffer_size +syn keyword ngxDirective client_header_timeout +syn keyword ngxDirective client_max_body_size +syn keyword ngxDirective connection_pool_size +syn keyword ngxDirective create_full_put_path +syn keyword ngxDirective daemon +syn keyword ngxDirective dav_access +syn keyword ngxDirective dav_methods +syn keyword ngxDirective debug_connection +syn keyword ngxDirective debug_points +syn keyword ngxDirective default_type +syn keyword ngxDirective degradation +syn keyword ngxDirective degrade +syn keyword ngxDirective deny +syn keyword ngxDirective devpoll_changes +syn keyword ngxDirective devpoll_events +syn keyword ngxDirective directio +syn keyword ngxDirective directio_alignment +syn keyword ngxDirective disable_symlinks +syn keyword ngxDirective empty_gif +syn keyword ngxDirective env +syn keyword ngxDirective epoll_events +syn keyword ngxDirective error_log +syn keyword ngxDirective etag +syn keyword ngxDirective eventport_events +syn keyword ngxDirective expires +syn keyword ngxDirective f4f +syn keyword ngxDirective f4f_buffer_size +syn keyword ngxDirective fastcgi_bind +syn keyword ngxDirective fastcgi_buffer_size +syn keyword ngxDirective fastcgi_buffering +syn keyword ngxDirective fastcgi_buffers +syn keyword ngxDirective fastcgi_busy_buffers_size +syn keyword ngxDirective fastcgi_cache +syn keyword ngxDirective fastcgi_cache_bypass +syn keyword ngxDirective fastcgi_cache_key +syn keyword ngxDirective fastcgi_cache_lock +syn keyword ngxDirective fastcgi_cache_lock_age +syn keyword ngxDirective fastcgi_cache_lock_timeout +syn keyword ngxDirective fastcgi_cache_max_range_offset +syn keyword ngxDirective fastcgi_cache_methods +syn keyword ngxDirective fastcgi_cache_min_uses +syn keyword ngxDirective fastcgi_cache_path +syn keyword ngxDirective fastcgi_cache_purge +syn keyword ngxDirective fastcgi_cache_revalidate +syn keyword ngxDirective fastcgi_cache_use_stale +syn keyword ngxDirective fastcgi_cache_valid +syn keyword ngxDirective fastcgi_catch_stderr +syn keyword ngxDirective fastcgi_connect_timeout +syn keyword ngxDirective fastcgi_force_ranges +syn keyword ngxDirective fastcgi_hide_header +syn keyword ngxDirective fastcgi_ignore_client_abort +syn keyword ngxDirective fastcgi_ignore_headers +syn keyword ngxDirective fastcgi_index +syn keyword ngxDirective fastcgi_intercept_errors +syn keyword ngxDirective fastcgi_keep_conn +syn keyword ngxDirective fastcgi_limit_rate +syn keyword ngxDirective fastcgi_max_temp_file_size +syn keyword ngxDirective fastcgi_next_upstream +syn keyword ngxDirective fastcgi_next_upstream_timeout +syn keyword ngxDirective fastcgi_next_upstream_tries +syn keyword ngxDirective fastcgi_no_cache +syn keyword ngxDirective fastcgi_param +syn keyword ngxDirective fastcgi_pass_header +syn keyword ngxDirective fastcgi_pass_request_body +syn keyword ngxDirective fastcgi_pass_request_headers +syn keyword ngxDirective fastcgi_read_timeout +syn keyword ngxDirective fastcgi_request_buffering +syn keyword ngxDirective fastcgi_send_lowat +syn keyword ngxDirective fastcgi_send_timeout +syn keyword ngxDirective fastcgi_split_path_info +syn keyword ngxDirective fastcgi_store +syn keyword ngxDirective fastcgi_store_access +syn keyword ngxDirective fastcgi_temp_file_write_size +syn keyword ngxDirective fastcgi_temp_path +syn keyword ngxDirective flv +syn keyword ngxDirective geoip_city +syn keyword ngxDirective geoip_country +syn keyword ngxDirective geoip_org +syn keyword ngxDirective geoip_proxy +syn keyword ngxDirective geoip_proxy_recursive +syn keyword ngxDirective google_perftools_profiles +syn keyword ngxDirective gunzip +syn keyword ngxDirective gunzip_buffers +syn keyword ngxDirective gzip +syn keyword ngxDirective gzip_buffers +syn keyword ngxDirective gzip_comp_level +syn keyword ngxDirective gzip_disable +syn keyword ngxDirective gzip_hash +syn keyword ngxDirective gzip_http_version +syn keyword ngxDirective gzip_min_length +syn keyword ngxDirective gzip_no_buffer +syn keyword ngxDirective gzip_proxied +syn keyword ngxDirective gzip_static +syn keyword ngxDirective gzip_types +syn keyword ngxDirective gzip_vary +syn keyword ngxDirective gzip_window +syn keyword ngxDirective hash +syn keyword ngxDirective health_check +syn keyword ngxDirective health_check_timeout +syn keyword ngxDirective hls +syn keyword ngxDirective hls_buffers +syn keyword ngxDirective hls_forward_args +syn keyword ngxDirective hls_fragment +syn keyword ngxDirective hls_mp4_buffer_size +syn keyword ngxDirective hls_mp4_max_buffer_size +syn keyword ngxDirective http2_chunk_size +syn keyword ngxDirective http2_body_preread_size +syn keyword ngxDirective http2_idle_timeout +syn keyword ngxDirective http2_max_concurrent_streams +syn keyword ngxDirective http2_max_field_size +syn keyword ngxDirective http2_max_header_size +syn keyword ngxDirective http2_max_requests +syn keyword ngxDirective http2_recv_buffer_size +syn keyword ngxDirective http2_recv_timeout +syn keyword ngxDirective if_modified_since +syn keyword ngxDirective ignore_invalid_headers +syn keyword ngxDirective image_filter +syn keyword ngxDirective image_filter_buffer +syn keyword ngxDirective image_filter_interlace +syn keyword ngxDirective image_filter_jpeg_quality +syn keyword ngxDirective image_filter_sharpen +syn keyword ngxDirective image_filter_transparency +syn keyword ngxDirective image_filter_webp_quality +syn keyword ngxDirective imap_auth +syn keyword ngxDirective imap_capabilities +syn keyword ngxDirective imap_client_buffer +syn keyword ngxDirective index +syn keyword ngxDirective iocp_threads +syn keyword ngxDirective ip_hash +syn keyword ngxDirective js_access +syn keyword ngxDirective js_content +syn keyword ngxDirective js_filter +syn keyword ngxDirective js_include +syn keyword ngxDirective js_preread +syn keyword ngxDirective js_set +syn keyword ngxDirective keepalive +syn keyword ngxDirective keepalive_disable +syn keyword ngxDirective keepalive_requests +syn keyword ngxDirective keepalive_timeout +syn keyword ngxDirective kqueue_changes +syn keyword ngxDirective kqueue_events +syn keyword ngxDirective large_client_header_buffers +syn keyword ngxDirective least_conn +syn keyword ngxDirective least_time +syn keyword ngxDirective limit_conn +syn keyword ngxDirective limit_conn_log_level +syn keyword ngxDirective limit_conn_status +syn keyword ngxDirective limit_conn_zone +syn keyword ngxDirective limit_rate +syn keyword ngxDirective limit_rate_after +syn keyword ngxDirective limit_req +syn keyword ngxDirective limit_req_log_level +syn keyword ngxDirective limit_req_status +syn keyword ngxDirective limit_req_zone +syn keyword ngxDirective lingering_close +syn keyword ngxDirective lingering_time +syn keyword ngxDirective lingering_timeout +syn keyword ngxDirective load_module +syn keyword ngxDirective lock_file +syn keyword ngxDirective log_format +syn keyword ngxDirective log_not_found +syn keyword ngxDirective log_subrequest +syn keyword ngxDirective map_hash_bucket_size +syn keyword ngxDirective map_hash_max_size +syn keyword ngxDirective match +syn keyword ngxDirective master_process +syn keyword ngxDirective max_ranges +syn keyword ngxDirective memcached_bind +syn keyword ngxDirective memcached_buffer_size +syn keyword ngxDirective memcached_connect_timeout +syn keyword ngxDirective memcached_force_ranges +syn keyword ngxDirective memcached_gzip_flag +syn keyword ngxDirective memcached_next_upstream +syn keyword ngxDirective memcached_next_upstream_timeout +syn keyword ngxDirective memcached_next_upstream_tries +syn keyword ngxDirective memcached_read_timeout +syn keyword ngxDirective memcached_send_timeout +syn keyword ngxDirective merge_slashes +syn keyword ngxDirective min_delete_depth +syn keyword ngxDirective modern_browser +syn keyword ngxDirective modern_browser_value +syn keyword ngxDirective mp4 +syn keyword ngxDirective mp4_buffer_size +syn keyword ngxDirective mp4_max_buffer_size +syn keyword ngxDirective mp4_limit_rate +syn keyword ngxDirective mp4_limit_rate_after +syn keyword ngxDirective msie_padding +syn keyword ngxDirective msie_refresh +syn keyword ngxDirective multi_accept +syn keyword ngxDirective ntlm +syn keyword ngxDirective open_file_cache +syn keyword ngxDirective open_file_cache_errors +syn keyword ngxDirective open_file_cache_events +syn keyword ngxDirective open_file_cache_min_uses +syn keyword ngxDirective open_file_cache_valid +syn keyword ngxDirective open_log_file_cache +syn keyword ngxDirective output_buffers +syn keyword ngxDirective override_charset +syn keyword ngxDirective pcre_jit +syn keyword ngxDirective perl +syn keyword ngxDirective perl_modules +syn keyword ngxDirective perl_require +syn keyword ngxDirective perl_set +syn keyword ngxDirective pid +syn keyword ngxDirective pop3_auth +syn keyword ngxDirective pop3_capabilities +syn keyword ngxDirective port_in_redirect +syn keyword ngxDirective post_acceptex +syn keyword ngxDirective postpone_gzipping +syn keyword ngxDirective postpone_output +syn keyword ngxDirective preread_buffer_size +syn keyword ngxDirective preread_timeout +syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite +syn keyword ngxMailProtocol imap pop3 smtp contained +syn keyword ngxDirective proxy +syn keyword ngxDirective proxy_bind +syn keyword ngxDirective proxy_buffer +syn keyword ngxDirective proxy_buffer_size +syn keyword ngxDirective proxy_buffering +syn keyword ngxDirective proxy_buffers +syn keyword ngxDirective proxy_busy_buffers_size +syn keyword ngxDirective proxy_cache +syn keyword ngxDirective proxy_cache_bypass +syn keyword ngxDirective proxy_cache_convert_head +syn keyword ngxDirective proxy_cache_key +syn keyword ngxDirective proxy_cache_lock +syn keyword ngxDirective proxy_cache_lock_age +syn keyword ngxDirective proxy_cache_lock_timeout +syn keyword ngxDirective proxy_cache_max_range_offset +syn keyword ngxDirective proxy_cache_methods +syn keyword ngxDirective proxy_cache_min_uses +syn keyword ngxDirective proxy_cache_path +syn keyword ngxDirective proxy_cache_purge +syn keyword ngxDirective proxy_cache_revalidate +syn keyword ngxDirective proxy_cache_use_stale +syn keyword ngxDirective proxy_cache_valid +syn keyword ngxDirective proxy_connect_timeout +syn keyword ngxDirective proxy_cookie_domain +syn keyword ngxDirective proxy_cookie_path +syn keyword ngxDirective proxy_download_rate +syn keyword ngxDirective proxy_force_ranges +syn keyword ngxDirective proxy_headers_hash_bucket_size +syn keyword ngxDirective proxy_headers_hash_max_size +syn keyword ngxDirective proxy_hide_header +syn keyword ngxDirective proxy_http_version +syn keyword ngxDirective proxy_ignore_client_abort +syn keyword ngxDirective proxy_ignore_headers +syn keyword ngxDirective proxy_intercept_errors +syn keyword ngxDirective proxy_limit_rate +syn keyword ngxDirective proxy_max_temp_file_size +syn keyword ngxDirective proxy_method +syn keyword ngxDirective proxy_next_upstream +syn keyword ngxDirective proxy_next_upstream_timeout +syn keyword ngxDirective proxy_next_upstream_tries +syn keyword ngxDirective proxy_no_cache +syn keyword ngxDirective proxy_pass_error_message +syn keyword ngxDirective proxy_pass_header +syn keyword ngxDirective proxy_pass_request_body +syn keyword ngxDirective proxy_pass_request_headers +syn keyword ngxDirective proxy_protocol +syn keyword ngxDirective proxy_protocol_timeout +syn keyword ngxDirective proxy_read_timeout +syn keyword ngxDirective proxy_redirect +syn keyword ngxDirective proxy_request_buffering +syn keyword ngxDirective proxy_responses +syn keyword ngxDirective proxy_send_lowat +syn keyword ngxDirective proxy_send_timeout +syn keyword ngxDirective proxy_set_body +syn keyword ngxDirective proxy_set_header +syn keyword ngxDirective proxy_ssl_certificate +syn keyword ngxDirective proxy_ssl_certificate_key +syn keyword ngxDirective proxy_ssl_ciphers +syn keyword ngxDirective proxy_ssl_crl +syn keyword ngxDirective proxy_ssl_name +syn keyword ngxDirective proxy_ssl_password_file +syn keyword ngxDirective proxy_ssl_protocols nextgroup=ngxSSLProtocol skipwhite +syn keyword ngxDirective proxy_ssl_server_name +syn keyword ngxDirective proxy_ssl_session_reuse +syn keyword ngxDirective proxy_ssl_trusted_certificate +syn keyword ngxDirective proxy_ssl_verify +syn keyword ngxDirective proxy_ssl_verify_depth +syn keyword ngxDirective proxy_store +syn keyword ngxDirective proxy_store_access +syn keyword ngxDirective proxy_temp_file_write_size +syn keyword ngxDirective proxy_temp_path +syn keyword ngxDirective proxy_timeout +syn keyword ngxDirective proxy_upload_rate +syn keyword ngxDirective queue +syn keyword ngxDirective random_index +syn keyword ngxDirective read_ahead +syn keyword ngxDirective real_ip_header +syn keyword ngxDirective real_ip_recursive +syn keyword ngxDirective recursive_error_pages +syn keyword ngxDirective referer_hash_bucket_size +syn keyword ngxDirective referer_hash_max_size +syn keyword ngxDirective request_pool_size +syn keyword ngxDirective reset_timedout_connection +syn keyword ngxDirective resolver +syn keyword ngxDirective resolver_timeout +syn keyword ngxDirective rewrite_log +syn keyword ngxDirective rtsig_overflow_events +syn keyword ngxDirective rtsig_overflow_test +syn keyword ngxDirective rtsig_overflow_threshold +syn keyword ngxDirective rtsig_signo +syn keyword ngxDirective satisfy +syn keyword ngxDirective scgi_bind +syn keyword ngxDirective scgi_buffer_size +syn keyword ngxDirective scgi_buffering +syn keyword ngxDirective scgi_buffers +syn keyword ngxDirective scgi_busy_buffers_size +syn keyword ngxDirective scgi_cache +syn keyword ngxDirective scgi_cache_bypass +syn keyword ngxDirective scgi_cache_key +syn keyword ngxDirective scgi_cache_lock +syn keyword ngxDirective scgi_cache_lock_age +syn keyword ngxDirective scgi_cache_lock_timeout +syn keyword ngxDirective scgi_cache_max_range_offset +syn keyword ngxDirective scgi_cache_methods +syn keyword ngxDirective scgi_cache_min_uses +syn keyword ngxDirective scgi_cache_path +syn keyword ngxDirective scgi_cache_purge +syn keyword ngxDirective scgi_cache_revalidate +syn keyword ngxDirective scgi_cache_use_stale +syn keyword ngxDirective scgi_cache_valid +syn keyword ngxDirective scgi_connect_timeout +syn keyword ngxDirective scgi_force_ranges +syn keyword ngxDirective scgi_hide_header +syn keyword ngxDirective scgi_ignore_client_abort +syn keyword ngxDirective scgi_ignore_headers +syn keyword ngxDirective scgi_intercept_errors +syn keyword ngxDirective scgi_limit_rate +syn keyword ngxDirective scgi_max_temp_file_size +syn keyword ngxDirective scgi_next_upstream +syn keyword ngxDirective scgi_next_upstream_timeout +syn keyword ngxDirective scgi_next_upstream_tries +syn keyword ngxDirective scgi_no_cache +syn keyword ngxDirective scgi_param +syn keyword ngxDirective scgi_pass_header +syn keyword ngxDirective scgi_pass_request_body +syn keyword ngxDirective scgi_pass_request_headers +syn keyword ngxDirective scgi_read_timeout +syn keyword ngxDirective scgi_request_buffering +syn keyword ngxDirective scgi_send_timeout +syn keyword ngxDirective scgi_store +syn keyword ngxDirective scgi_store_access +syn keyword ngxDirective scgi_temp_file_write_size +syn keyword ngxDirective scgi_temp_path +syn keyword ngxDirective secure_link +syn keyword ngxDirective secure_link_md5 +syn keyword ngxDirective secure_link_secret +syn keyword ngxDirective send_lowat +syn keyword ngxDirective send_timeout +syn keyword ngxDirective sendfile +syn keyword ngxDirective sendfile_max_chunk +syn keyword ngxDirective server_name_in_redirect +syn keyword ngxDirective server_names_hash_bucket_size +syn keyword ngxDirective server_names_hash_max_size +syn keyword ngxDirective server_tokens +syn keyword ngxDirective session_log +syn keyword ngxDirective session_log_format +syn keyword ngxDirective session_log_zone +syn keyword ngxDirective set_real_ip_from +syn keyword ngxDirective slice +syn keyword ngxDirective smtp_auth +syn keyword ngxDirective smtp_capabilities +syn keyword ngxDirective smtp_client_buffer +syn keyword ngxDirective smtp_greeting_delay +syn keyword ngxDirective source_charset +syn keyword ngxDirective spdy_chunk_size +syn keyword ngxDirective spdy_headers_comp +syn keyword ngxDirective spdy_keepalive_timeout +syn keyword ngxDirective spdy_max_concurrent_streams +syn keyword ngxDirective spdy_pool_size +syn keyword ngxDirective spdy_recv_buffer_size +syn keyword ngxDirective spdy_recv_timeout +syn keyword ngxDirective spdy_streams_index_size +syn keyword ngxDirective ssi +syn keyword ngxDirective ssi_ignore_recycled_buffers +syn keyword ngxDirective ssi_last_modified +syn keyword ngxDirective ssi_min_file_chunk +syn keyword ngxDirective ssi_silent_errors +syn keyword ngxDirective ssi_types +syn keyword ngxDirective ssi_value_length +syn keyword ngxDirective ssl +syn keyword ngxDirective ssl_buffer_size +syn keyword ngxDirective ssl_certificate +syn keyword ngxDirective ssl_certificate_key +syn keyword ngxDirective ssl_ciphers +syn keyword ngxDirective ssl_client_certificate +syn keyword ngxDirective ssl_crl +syn keyword ngxDirective ssl_dhparam +syn keyword ngxDirective ssl_ecdh_curve +syn keyword ngxDirective ssl_engine +syn keyword ngxDirective ssl_handshake_timeout +syn keyword ngxDirective ssl_password_file +syn keyword ngxDirective ssl_prefer_server_ciphers +syn keyword ngxDirective ssl_preread +syn keyword ngxDirective ssl_protocols nextgroup=ngxSSLProtocol skipwhite +syn keyword ngxSSLProtocol SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2 contained nextgroup=ngxSSLProtocol skipwhite +syn keyword ngxDirective ssl_session_cache +syn keyword ngxDirective ssl_session_ticket_key +syn keyword ngxDirective ssl_session_tickets +syn keyword ngxDirective ssl_session_timeout +syn keyword ngxDirective ssl_stapling +syn keyword ngxDirective ssl_stapling_file +syn keyword ngxDirective ssl_stapling_responder +syn keyword ngxDirective ssl_stapling_verify +syn keyword ngxDirective ssl_trusted_certificate +syn keyword ngxDirective ssl_verify_client +syn keyword ngxDirective ssl_verify_depth +syn keyword ngxDirective starttls +syn keyword ngxDirective state +syn keyword ngxDirective status +syn keyword ngxDirective status_format +syn keyword ngxDirective status_zone +syn keyword ngxDirective sticky +syn keyword ngxDirective sticky_cookie_insert +syn keyword ngxDirective stub_status +syn keyword ngxDirective sub_filter +syn keyword ngxDirective sub_filter_last_modified +syn keyword ngxDirective sub_filter_once +syn keyword ngxDirective sub_filter_types +syn keyword ngxDirective tcp_nodelay +syn keyword ngxDirective tcp_nopush +syn keyword ngxDirective thread_pool +syn keyword ngxDirective thread_stack_size +syn keyword ngxDirective timeout +syn keyword ngxDirective timer_resolution +syn keyword ngxDirective types_hash_bucket_size +syn keyword ngxDirective types_hash_max_size +syn keyword ngxDirective underscores_in_headers +syn keyword ngxDirective uninitialized_variable_warn +syn keyword ngxDirective upstream_conf +syn keyword ngxDirective use +syn keyword ngxDirective user +syn keyword ngxDirective userid +syn keyword ngxDirective userid_domain +syn keyword ngxDirective userid_expires +syn keyword ngxDirective userid_mark +syn keyword ngxDirective userid_name +syn keyword ngxDirective userid_p3p +syn keyword ngxDirective userid_path +syn keyword ngxDirective userid_service +syn keyword ngxDirective uwsgi_bind +syn keyword ngxDirective uwsgi_buffer_size +syn keyword ngxDirective uwsgi_buffering +syn keyword ngxDirective uwsgi_buffers +syn keyword ngxDirective uwsgi_busy_buffers_size +syn keyword ngxDirective uwsgi_cache +syn keyword ngxDirective uwsgi_cache_bypass +syn keyword ngxDirective uwsgi_cache_key +syn keyword ngxDirective uwsgi_cache_lock +syn keyword ngxDirective uwsgi_cache_lock_age +syn keyword ngxDirective uwsgi_cache_lock_timeout +syn keyword ngxDirective uwsgi_cache_methods +syn keyword ngxDirective uwsgi_cache_min_uses +syn keyword ngxDirective uwsgi_cache_path +syn keyword ngxDirective uwsgi_cache_purge +syn keyword ngxDirective uwsgi_cache_revalidate +syn keyword ngxDirective uwsgi_cache_use_stale +syn keyword ngxDirective uwsgi_cache_valid +syn keyword ngxDirective uwsgi_connect_timeout +syn keyword ngxDirective uwsgi_force_ranges +syn keyword ngxDirective uwsgi_hide_header +syn keyword ngxDirective uwsgi_ignore_client_abort +syn keyword ngxDirective uwsgi_ignore_headers +syn keyword ngxDirective uwsgi_intercept_errors +syn keyword ngxDirective uwsgi_limit_rate +syn keyword ngxDirective uwsgi_max_temp_file_size +syn keyword ngxDirective uwsgi_modifier1 +syn keyword ngxDirective uwsgi_modifier2 +syn keyword ngxDirective uwsgi_next_upstream +syn keyword ngxDirective uwsgi_next_upstream_timeout +syn keyword ngxDirective uwsgi_next_upstream_tries +syn keyword ngxDirective uwsgi_no_cache +syn keyword ngxDirective uwsgi_param +syn keyword ngxDirective uwsgi_pass +syn keyword ngxDirective uwsgi_pass_header +syn keyword ngxDirective uwsgi_pass_request_body +syn keyword ngxDirective uwsgi_pass_request_headers +syn keyword ngxDirective uwsgi_read_timeout +syn keyword ngxDirective uwsgi_request_buffering +syn keyword ngxDirective uwsgi_send_timeout +syn keyword ngxDirective uwsgi_ssl_certificate +syn keyword ngxDirective uwsgi_ssl_certificate_key +syn keyword ngxDirective uwsgi_ssl_ciphers +syn keyword ngxDirective uwsgi_ssl_crl +syn keyword ngxDirective uwsgi_ssl_name +syn keyword ngxDirective uwsgi_ssl_password_file +syn keyword ngxDirective uwsgi_ssl_protocols nextgroup=ngxSSLProtocol skipwhite +syn keyword ngxDirective uwsgi_ssl_server_name +syn keyword ngxDirective uwsgi_ssl_session_reuse +syn keyword ngxDirective uwsgi_ssl_trusted_certificate +syn keyword ngxDirective uwsgi_ssl_verify +syn keyword ngxDirective uwsgi_ssl_verify_depth +syn keyword ngxDirective uwsgi_store +syn keyword ngxDirective uwsgi_store_access +syn keyword ngxDirective uwsgi_string +syn keyword ngxDirective uwsgi_temp_file_write_size +syn keyword ngxDirective uwsgi_temp_path +syn keyword ngxDirective valid_referers +syn keyword ngxDirective variables_hash_bucket_size +syn keyword ngxDirective variables_hash_max_size +syn keyword ngxDirective worker_aio_requests +syn keyword ngxDirective worker_connections +syn keyword ngxDirective worker_cpu_affinity +syn keyword ngxDirective worker_priority +syn keyword ngxDirective worker_processes +syn keyword ngxDirective worker_rlimit_core +syn keyword ngxDirective worker_rlimit_nofile +syn keyword ngxDirective worker_rlimit_sigpending +syn keyword ngxDirective worker_threads +syn keyword ngxDirective working_directory +syn keyword ngxDirective xclient +syn keyword ngxDirective xml_entities +syn keyword ngxDirective xslt_last_modified +syn keyword ngxDirective xslt_param +syn keyword ngxDirective xslt_string_param +syn keyword ngxDirective xslt_stylesheet +syn keyword ngxDirective xslt_types +syn keyword ngxDirective zone + +" 3rd party module list: +" https://www.nginx.com/resources/wiki/modules/ + +" Accept Language Module <https://www.nginx.com/resources/wiki/modules/accept_language/> +" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. +syn keyword ngxDirectiveThirdParty set_from_accept_language + +" Access Key Module (DEPRECATED) <http://wiki.nginx.org/NginxHttpAccessKeyModule> +" Denies access unless the request URL contains an access key. +syn keyword ngxDirectiveDeprecated accesskey +syn keyword ngxDirectiveDeprecated accesskey_arg +syn keyword ngxDirectiveDeprecated accesskey_hashmethod +syn keyword ngxDirectiveDeprecated accesskey_signature + +" Asynchronous FastCGI Module <https://github.com/rsms/afcgi> +" Primarily a modified version of the Nginx FastCGI module which implements multiplexing of connections, allowing a single FastCGI server to handle many concurrent requests. +" syn keyword ngxDirectiveThirdParty fastcgi_bind +" syn keyword ngxDirectiveThirdParty fastcgi_buffer_size +" syn keyword ngxDirectiveThirdParty fastcgi_buffers +" syn keyword ngxDirectiveThirdParty fastcgi_busy_buffers_size +" syn keyword ngxDirectiveThirdParty fastcgi_cache +" syn keyword ngxDirectiveThirdParty fastcgi_cache_key +" syn keyword ngxDirectiveThirdParty fastcgi_cache_methods +" syn keyword ngxDirectiveThirdParty fastcgi_cache_min_uses +" syn keyword ngxDirectiveThirdParty fastcgi_cache_path +" syn keyword ngxDirectiveThirdParty fastcgi_cache_use_stale +" syn keyword ngxDirectiveThirdParty fastcgi_cache_valid +" syn keyword ngxDirectiveThirdParty fastcgi_catch_stderr +" syn keyword ngxDirectiveThirdParty fastcgi_connect_timeout +" syn keyword ngxDirectiveThirdParty fastcgi_hide_header +" syn keyword ngxDirectiveThirdParty fastcgi_ignore_client_abort +" syn keyword ngxDirectiveThirdParty fastcgi_ignore_headers +" syn keyword ngxDirectiveThirdParty fastcgi_index +" syn keyword ngxDirectiveThirdParty fastcgi_intercept_errors +" syn keyword ngxDirectiveThirdParty fastcgi_max_temp_file_size +" syn keyword ngxDirectiveThirdParty fastcgi_next_upstream +" syn keyword ngxDirectiveThirdParty fastcgi_param +" syn keyword ngxDirectiveThirdParty fastcgi_pass +" syn keyword ngxDirectiveThirdParty fastcgi_pass_header +" syn keyword ngxDirectiveThirdParty fastcgi_pass_request_body +" syn keyword ngxDirectiveThirdParty fastcgi_pass_request_headers +" syn keyword ngxDirectiveThirdParty fastcgi_read_timeout +" syn keyword ngxDirectiveThirdParty fastcgi_send_lowat +" syn keyword ngxDirectiveThirdParty fastcgi_send_timeout +" syn keyword ngxDirectiveThirdParty fastcgi_split_path_info +" syn keyword ngxDirectiveThirdParty fastcgi_store +" syn keyword ngxDirectiveThirdParty fastcgi_store_access +" syn keyword ngxDirectiveThirdParty fastcgi_temp_file_write_size +" syn keyword ngxDirectiveThirdParty fastcgi_temp_path +syn keyword ngxDirectiveDeprecated fastcgi_upstream_fail_timeout +syn keyword ngxDirectiveDeprecated fastcgi_upstream_max_fails + +" Akamai G2O Module <https://github.com/kaltura/nginx_mod_akamai_g2o> +" Nginx Module for Authenticating Akamai G2O requests +syn keyword ngxDirectiveThirdParty g2o +syn keyword ngxDirectiveThirdParty g2o_nonce +syn keyword ngxDirectiveThirdParty g2o_key + +" Lua Module <https://github.com/alacner/nginx_lua_module> +" You can be very simple to execute lua code for nginx +syn keyword ngxDirectiveThirdParty lua_file + +" Array Variable Module <https://github.com/openresty/array-var-nginx-module> +" Add support for array-typed variables to nginx config files +syn keyword ngxDirectiveThirdParty array_split +syn keyword ngxDirectiveThirdParty array_join +syn keyword ngxDirectiveThirdParty array_map +syn keyword ngxDirectiveThirdParty array_map_op + +" Nginx Audio Track for HTTP Live Streaming <https://github.com/flavioribeiro/nginx-audio-track-for-hls-module> +" This nginx module generates audio track for hls streams on the fly. +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_rootpath +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_format +syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_header + +" AWS Proxy Module <https://github.com/anomalizer/ngx_aws_auth> +" Nginx module to proxy to authenticated AWS services +syn keyword ngxDirectiveThirdParty aws_access_key +syn keyword ngxDirectiveThirdParty aws_key_scope +syn keyword ngxDirectiveThirdParty aws_signing_key +syn keyword ngxDirectiveThirdParty aws_endpoint +syn keyword ngxDirectiveThirdParty aws_s3_bucket +syn keyword ngxDirectiveThirdParty aws_sign + +" Backtrace module <https://github.com/alibaba/nginx-backtrace> +" A Nginx module to dump backtrace when a worker process exits abnormally +syn keyword ngxDirectiveThirdParty backtrace_log +syn keyword ngxDirectiveThirdParty backtrace_max_stack_size + +" Brotli Module <https://github.com/google/ngx_brotli> +" Nginx module for Brotli compression +syn keyword ngxDirectiveThirdParty brotli_static +syn keyword ngxDirectiveThirdParty brotli +syn keyword ngxDirectiveThirdParty brotli_types +syn keyword ngxDirectiveThirdParty brotli_buffers +syn keyword ngxDirectiveThirdParty brotli_comp_level +syn keyword ngxDirectiveThirdParty brotli_window +syn keyword ngxDirectiveThirdParty brotli_min_length + +" Cache Purge Module <https://github.com/FRiCKLE/ngx_cache_purge> +" Adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches. +syn keyword ngxDirectiveThirdParty fastcgi_cache_purge +syn keyword ngxDirectiveThirdParty proxy_cache_purge +" syn keyword ngxDirectiveThirdParty scgi_cache_purge +" syn keyword ngxDirectiveThirdParty uwsgi_cache_purge + +" Chunkin Module (DEPRECATED) <http://wiki.nginx.org/NginxHttpChunkinModule> +" HTTP 1.1 chunked-encoding request body support for Nginx. +syn keyword ngxDirectiveDeprecated chunkin +syn keyword ngxDirectiveDeprecated chunkin_keepalive +syn keyword ngxDirectiveDeprecated chunkin_max_chunks_per_buf +syn keyword ngxDirectiveDeprecated chunkin_resume + +" Circle GIF Module <https://github.com/evanmiller/nginx_circle_gif> +" Generates simple circle images with the colors and size specified in the URL. +syn keyword ngxDirectiveThirdParty circle_gif +syn keyword ngxDirectiveThirdParty circle_gif_max_radius +syn keyword ngxDirectiveThirdParty circle_gif_min_radius +syn keyword ngxDirectiveThirdParty circle_gif_step_radius + +" Nginx-Clojure Module <http://nginx-clojure.github.io/index.html> +" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. +syn keyword ngxDirectiveThirdParty jvm_path +syn keyword ngxDirectiveThirdParty jvm_var +syn keyword ngxDirectiveThirdParty jvm_classpath +syn keyword ngxDirectiveThirdParty jvm_classpath_check +syn keyword ngxDirectiveThirdParty jvm_workers +syn keyword ngxDirectiveThirdParty jvm_options +syn keyword ngxDirectiveThirdParty jvm_handler_type +syn keyword ngxDirectiveThirdParty jvm_init_handler_name +syn keyword ngxDirectiveThirdParty jvm_init_handler_code +syn keyword ngxDirectiveThirdParty jvm_exit_handler_name +syn keyword ngxDirectiveThirdParty jvm_exit_handler_code +syn keyword ngxDirectiveThirdParty handlers_lazy_init +syn keyword ngxDirectiveThirdParty auto_upgrade_ws +syn keyword ngxDirectiveThirdParty content_handler_type +syn keyword ngxDirectiveThirdParty content_handler_name +syn keyword ngxDirectiveThirdParty content_handler_code +syn keyword ngxDirectiveThirdParty rewrite_handler_type +syn keyword ngxDirectiveThirdParty rewrite_handler_name +syn keyword ngxDirectiveThirdParty rewrite_handler_code +syn keyword ngxDirectiveThirdParty access_handler_type +syn keyword ngxDirectiveThirdParty access_handler_name +syn keyword ngxDirectiveThirdParty access_handler_code +syn keyword ngxDirectiveThirdParty header_filter_type +syn keyword ngxDirectiveThirdParty header_filter_name +syn keyword ngxDirectiveThirdParty header_filter_code +syn keyword ngxDirectiveThirdParty content_handler_property +syn keyword ngxDirectiveThirdParty rewrite_handler_property +syn keyword ngxDirectiveThirdParty access_handler_property +syn keyword ngxDirectiveThirdParty header_filter_property +syn keyword ngxDirectiveThirdParty always_read_body +syn keyword ngxDirectiveThirdParty shared_map +syn keyword ngxDirectiveThirdParty write_page_size + +" Upstream Consistent Hash <https://www.nginx.com/resources/wiki/modules/consistent_hash/> +" A load balancer that uses an internal consistent hash ring to select the right backend node. +syn keyword ngxDirectiveThirdParty consistent_hash + +" Nginx Development Kit <https://github.com/simpl/ngx_devel_kit> +" The NDK is an Nginx module that is designed to extend the core functionality of the excellent Nginx webserver in a way that can be used as a basis of other Nginx modules. +" NDK_UPSTREAM_LIST +" This submodule provides a directive that creates a list of upstreams, with optional weighting. This list can then be used by other modules to hash over the upstreams however they choose. +syn keyword ngxDirectiveThirdParty upstream_list + +" Drizzle Module <https://www.nginx.com/resources/wiki/modules/drizzle/> +" Upstream module for talking to MySQL and Drizzle directly +syn keyword ngxDirectiveThirdParty drizzle_server +syn keyword ngxDirectiveThirdParty drizzle_keepalive +syn keyword ngxDirectiveThirdParty drizzle_query +syn keyword ngxDirectiveThirdParty drizzle_pass +syn keyword ngxDirectiveThirdParty drizzle_connect_timeout +syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout +syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout +syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout +syn keyword ngxDirectiveThirdParty drizzle_buffer_size +syn keyword ngxDirectiveThirdParty drizzle_module_header +syn keyword ngxDirectiveThirdParty drizzle_status + +" Dynamic ETags Module <https://github.com/kali/nginx-dynamic-etags> +" Attempt at handling ETag / If-None-Match on proxied content. +syn keyword ngxDirectiveThirdParty dynamic_etags + +" Echo Module <https://www.nginx.com/resources/wiki/modules/echo/> +" Bringing the power of "echo", "sleep", "time" and more to Nginx's config file +syn keyword ngxDirectiveThirdParty echo +syn keyword ngxDirectiveThirdParty echo_duplicate +syn keyword ngxDirectiveThirdParty echo_flush +syn keyword ngxDirectiveThirdParty echo_sleep +syn keyword ngxDirectiveThirdParty echo_blocking_sleep +syn keyword ngxDirectiveThirdParty echo_reset_timer +syn keyword ngxDirectiveThirdParty echo_read_request_body +syn keyword ngxDirectiveThirdParty echo_location_async +syn keyword ngxDirectiveThirdParty echo_location +syn keyword ngxDirectiveThirdParty echo_subrequest_async +syn keyword ngxDirectiveThirdParty echo_subrequest +syn keyword ngxDirectiveThirdParty echo_foreach_split +syn keyword ngxDirectiveThirdParty echo_end +syn keyword ngxDirectiveThirdParty echo_request_body +syn keyword ngxDirectiveThirdParty echo_exec +syn keyword ngxDirectiveThirdParty echo_status +syn keyword ngxDirectiveThirdParty echo_before_body +syn keyword ngxDirectiveThirdParty echo_after_body + +" Encrypted Session Module <https://github.com/openresty/encrypted-session-nginx-module> +" Encrypt and decrypt nginx variable values +syn keyword ngxDirectiveThirdParty encrypted_session_key +syn keyword ngxDirectiveThirdParty encrypted_session_iv +syn keyword ngxDirectiveThirdParty encrypted_session_expires +syn keyword ngxDirectiveThirdParty set_encrypt_session +syn keyword ngxDirectiveThirdParty set_decrypt_session + +" Enhanced Memcached Module <https://github.com/bpaquet/ngx_http_enhanced_memcached_module> +" This module is based on the standard Nginx Memcached module, with some additonal features +syn keyword ngxDirectiveThirdParty enhanced_memcached_pass +syn keyword ngxDirectiveThirdParty enhanced_memcached_hash_keys_with_md5 +syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_put +syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_delete +syn keyword ngxDirectiveThirdParty enhanced_memcached_stats +syn keyword ngxDirectiveThirdParty enhanced_memcached_flush +syn keyword ngxDirectiveThirdParty enhanced_memcached_flush_namespace +syn keyword ngxDirectiveThirdParty enhanced_memcached_bind +syn keyword ngxDirectiveThirdParty enhanced_memcached_connect_timeout +syn keyword ngxDirectiveThirdParty enhanced_memcached_send_timeout +syn keyword ngxDirectiveThirdParty enhanced_memcached_buffer_size +syn keyword ngxDirectiveThirdParty enhanced_memcached_read_timeout + +" Events Module (DEPRECATED) <http://docs.dutov.org/nginx_modules_events_en.html> +" Provides options for start/stop events. +syn keyword ngxDirectiveDeprecated on_start +syn keyword ngxDirectiveDeprecated on_stop + +" EY Balancer Module <https://github.com/ezmobius/nginx-ey-balancer> +" Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream. +syn keyword ngxDirectiveThirdParty max_connections +syn keyword ngxDirectiveThirdParty max_connections_max_queue_length +syn keyword ngxDirectiveThirdParty max_connections_queue_timeout + +" Upstream Fair Balancer <https://www.nginx.com/resources/wiki/modules/fair_balancer/> +" Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin. +syn keyword ngxDirectiveThirdParty fair +syn keyword ngxDirectiveThirdParty upstream_fair_shm_size + +" Fancy Indexes Module <https://github.com/aperezdc/ngx-fancyindex> +" Like the built-in autoindex module, but fancier. +syn keyword ngxDirectiveThirdParty fancyindex +syn keyword ngxDirectiveThirdParty fancyindex_default_sort +syn keyword ngxDirectiveThirdParty fancyindex_directories_first +syn keyword ngxDirectiveThirdParty fancyindex_css_href +syn keyword ngxDirectiveThirdParty fancyindex_exact_size +syn keyword ngxDirectiveThirdParty fancyindex_name_length +syn keyword ngxDirectiveThirdParty fancyindex_footer +syn keyword ngxDirectiveThirdParty fancyindex_header +syn keyword ngxDirectiveThirdParty fancyindex_show_path +syn keyword ngxDirectiveThirdParty fancyindex_ignore +syn keyword ngxDirectiveThirdParty fancyindex_hide_symlinks +syn keyword ngxDirectiveThirdParty fancyindex_localtime +syn keyword ngxDirectiveThirdParty fancyindex_time_format + +" Form Auth Module <https://github.com/veruu/ngx_form_auth> +" Provides authentication and authorization with credentials submitted via POST request +syn keyword ngxDirectiveThirdParty form_auth +syn keyword ngxDirectiveThirdParty form_auth_pam_service +syn keyword ngxDirectiveThirdParty form_auth_login +syn keyword ngxDirectiveThirdParty form_auth_password +syn keyword ngxDirectiveThirdParty form_auth_remote_user + +" Form Input Module <https://github.com/calio/form-input-nginx-module> +" Reads HTTP POST and PUT request body encoded in "application/x-www-form-urlencoded" and parses the arguments into nginx variables. +syn keyword ngxDirectiveThirdParty set_form_input +syn keyword ngxDirectiveThirdParty set_form_input_multi + +" GeoIP Module (DEPRECATED) <http://wiki.nginx.org/NginxHttp3rdPartyGeoIPModule> +" Country code lookups via the MaxMind GeoIP API. +syn keyword ngxDirectiveDeprecated geoip_country_file + +" GeoIP 2 Module <https://github.com/leev/ngx_http_geoip2_module> +" Creates variables with values from the maxmind geoip2 databases based on the client IP +syn keyword ngxDirectiveThirdParty geoip2 + +" GridFS Module <https://github.com/mdirolf/nginx-gridfs> +" Nginx module for serving files from MongoDB's GridFS +syn keyword ngxDirectiveThirdParty gridfs + +" Headers More Module <https://github.com/openresty/headers-more-nginx-module> +" Set and clear input and output headers...more than "add"! +syn keyword ngxDirectiveThirdParty more_clear_headers +syn keyword ngxDirectiveThirdParty more_clear_input_headers +syn keyword ngxDirectiveThirdParty more_set_headers +syn keyword ngxDirectiveThirdParty more_set_input_headers + +" Health Checks Upstreams Module <https://www.nginx.com/resources/wiki/modules/healthcheck/> +" Polls backends and if they respond with HTTP 200 + an optional request body, they are marked good. Otherwise, they are marked bad. +syn keyword ngxDirectiveThirdParty healthcheck_enabled +syn keyword ngxDirectiveThirdParty healthcheck_delay +syn keyword ngxDirectiveThirdParty healthcheck_timeout +syn keyword ngxDirectiveThirdParty healthcheck_failcount +syn keyword ngxDirectiveThirdParty healthcheck_send +syn keyword ngxDirectiveThirdParty healthcheck_expected +syn keyword ngxDirectiveThirdParty healthcheck_buffer +syn keyword ngxDirectiveThirdParty healthcheck_status + +" HTTP Accounting Module <https://github.com/Lax/ngx_http_accounting_module> +" Add traffic stat function to nginx. Useful for http accounting based on nginx configuration logic +syn keyword ngxDirectiveThirdParty http_accounting +syn keyword ngxDirectiveThirdParty http_accounting_log +syn keyword ngxDirectiveThirdParty http_accounting_id +syn keyword ngxDirectiveThirdParty http_accounting_interval +syn keyword ngxDirectiveThirdParty http_accounting_perturb + +" Nginx Digest Authentication module <https://github.com/atomx/nginx-http-auth-digest> +" Digest Authentication for Nginx +syn keyword ngxDirectiveThirdParty auth_digest +syn keyword ngxDirectiveThirdParty auth_digest_user_file +syn keyword ngxDirectiveThirdParty auth_digest_timeout +syn keyword ngxDirectiveThirdParty auth_digest_expires +syn keyword ngxDirectiveThirdParty auth_digest_replays +syn keyword ngxDirectiveThirdParty auth_digest_shm_size + +" Auth PAM Module <https://github.com/sto/ngx_http_auth_pam_module> +" HTTP Basic Authentication using PAM. +syn keyword ngxDirectiveThirdParty auth_pam +syn keyword ngxDirectiveThirdParty auth_pam_service_name + +" HTTP Auth Request Module <http://nginx.org/en/docs/http/ngx_http_auth_request_module.html> +" Implements client authorization based on the result of a subrequest +" syn keyword ngxDirectiveThirdParty auth_request +" syn keyword ngxDirectiveThirdParty auth_request_set + +" HTTP Concatenation module for Nginx <https://github.com/alibaba/nginx-http-concat> +" A Nginx module for concatenating files in a given context: CSS and JS files usually +syn keyword ngxDirectiveThirdParty concat +syn keyword ngxDirectiveThirdParty concat_types +syn keyword ngxDirectiveThirdParty concat_unique +syn keyword ngxDirectiveThirdParty concat_max_files +syn keyword ngxDirectiveThirdParty concat_delimiter +syn keyword ngxDirectiveThirdParty concat_ignore_file_error + +" HTTP Dynamic Upstream Module <https://github.com/yzprofile/ngx_http_dyups_module> +" Update upstreams' config by restful interface +syn keyword ngxDirectiveThirdParty dyups_interface +syn keyword ngxDirectiveThirdParty dyups_read_msg_timeout +syn keyword ngxDirectiveThirdParty dyups_shm_zone_size +syn keyword ngxDirectiveThirdParty dyups_upstream_conf +syn keyword ngxDirectiveThirdParty dyups_trylock + +" HTTP Footer If Filter Module <https://github.com/flygoast/ngx_http_footer_if_filter> +" The ngx_http_footer_if_filter_module is used to add given content to the end of the response according to the condition specified. +syn keyword ngxDirectiveThirdParty footer_if + +" HTTP Footer Filter Module <https://github.com/alibaba/nginx-http-footer-filter> +" This module implements a body filter that adds a given string to the page footer. +syn keyword ngxDirectiveThirdParty footer +syn keyword ngxDirectiveThirdParty footer_types + +" HTTP Internal Redirect Module <https://github.com/flygoast/ngx_http_internal_redirect> +" Make an internal redirect to the uri specified according to the condition specified. +syn keyword ngxDirectiveThirdParty internal_redirect_if +syn keyword ngxDirectiveThirdParty internal_redirect_if_no_postponed + +" HTTP JavaScript Module <https://github.com/peter-leonov/ngx_http_js_module> +" Embedding SpiderMonkey. Nearly full port on Perl module. +syn keyword ngxDirectiveThirdParty js +syn keyword ngxDirectiveThirdParty js_filter +syn keyword ngxDirectiveThirdParty js_filter_types +syn keyword ngxDirectiveThirdParty js_load +syn keyword ngxDirectiveThirdParty js_maxmem +syn keyword ngxDirectiveThirdParty js_require +syn keyword ngxDirectiveThirdParty js_set +syn keyword ngxDirectiveThirdParty js_utf8 + +" HTTP Push Module (DEPRECATED) <http://pushmodule.slact.net/> +" Turn Nginx into an adept long-polling HTTP Push (Comet) server. +syn keyword ngxDirectiveDeprecated push_buffer_size +syn keyword ngxDirectiveDeprecated push_listener +syn keyword ngxDirectiveDeprecated push_message_timeout +syn keyword ngxDirectiveDeprecated push_queue_messages +syn keyword ngxDirectiveDeprecated push_sender + +" HTTP Redis Module <https://www.nginx.com/resources/wiki/modules/redis/> +" Redis <http://code.google.com/p/redis/> support. +syn keyword ngxDirectiveThirdParty redis_bind +syn keyword ngxDirectiveThirdParty redis_buffer_size +syn keyword ngxDirectiveThirdParty redis_connect_timeout +syn keyword ngxDirectiveThirdParty redis_next_upstream +syn keyword ngxDirectiveThirdParty redis_pass +syn keyword ngxDirectiveThirdParty redis_read_timeout +syn keyword ngxDirectiveThirdParty redis_send_timeout + +" Iconv Module <https://github.com/calio/iconv-nginx-module> +" A character conversion nginx module using libiconv +syn keyword ngxDirectiveThirdParty set_iconv +syn keyword ngxDirectiveThirdParty iconv_buffer_size +syn keyword ngxDirectiveThirdParty iconv_filter + +" IP Blocker Module <https://github.com/tmthrgd/nginx-ip-blocker> +" An efficient shared memory IP blocking system for nginx. +syn keyword ngxDirectiveThirdParty ip_blocker + +" IP2Location Module <https://github.com/chrislim2888/ip2location-nginx> +" Allows user to lookup for geolocation information using IP2Location database +syn keyword ngxDirectiveThirdParty ip2location_database + +" JS Module <https://github.com/peter-leonov/ngx_http_js_module> +" Reflect the nginx functionality in JS +syn keyword ngxDirectiveThirdParty js +syn keyword ngxDirectiveThirdParty js_access +syn keyword ngxDirectiveThirdParty js_load +syn keyword ngxDirectiveThirdParty js_set + +" Limit Upload Rate Module <https://github.com/cfsego/limit_upload_rate> +" Limit client-upload rate when they are sending request bodies to you +syn keyword ngxDirectiveThirdParty limit_upload_rate +syn keyword ngxDirectiveThirdParty limit_upload_rate_after + +" Limit Upstream Module <https://github.com/cfsego/nginx-limit-upstream> +" Limit the number of connections to upstream for NGINX +syn keyword ngxDirectiveThirdParty limit_upstream_zone +syn keyword ngxDirectiveThirdParty limit_upstream_conn +syn keyword ngxDirectiveThirdParty limit_upstream_log_level + +" Log If Module <https://github.com/cfsego/ngx_log_if> +" Conditional accesslog for nginx +syn keyword ngxDirectiveThirdParty access_log_bypass_if + +" Log Request Speed (DEPRECATED) <http://wiki.nginx.org/NginxHttpLogRequestSpeed> +" Log the time it took to process each request. +syn keyword ngxDirectiveDeprecated log_request_speed_filter +syn keyword ngxDirectiveDeprecated log_request_speed_filter_timeout + +" Log ZeroMQ Module <https://github.com/alticelabs/nginx-log-zmq> +" ZeroMQ logger module for nginx +syn keyword ngxDirectiveThirdParty log_zmq_server +syn keyword ngxDirectiveThirdParty log_zmq_endpoint +syn keyword ngxDirectiveThirdParty log_zmq_format +syn keyword ngxDirectiveThirdParty log_zmq_off + +" Lower/UpperCase Module <https://github.com/replay/ngx_http_lower_upper_case> +" This module simply uppercases or lowercases a string and saves it into a new variable. +syn keyword ngxDirectiveThirdParty lower +syn keyword ngxDirectiveThirdParty upper + +" Lua Upstream Module <https://github.com/openresty/lua-upstream-nginx-module> +" Nginx C module to expose Lua API to ngx_lua for Nginx upstreams + +" Lua Module <https://github.com/openresty/lua-nginx-module> +" Embed the Power of Lua into NGINX HTTP servers +syn keyword ngxDirectiveThirdParty lua_use_default_type +syn keyword ngxDirectiveThirdParty lua_malloc_trim +syn keyword ngxDirectiveThirdParty lua_code_cache +syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries +syn keyword ngxDirectiveThirdParty lua_regex_match_limit +syn keyword ngxDirectiveThirdParty lua_package_path +syn keyword ngxDirectiveThirdParty lua_package_cpath +syn keyword ngxDirectiveThirdParty init_by_lua +syn keyword ngxDirectiveThirdParty init_by_lua_block +syn keyword ngxDirectiveThirdParty init_by_lua_file +syn keyword ngxDirectiveThirdParty init_worker_by_lua +syn keyword ngxDirectiveThirdParty init_worker_by_lua_block +syn keyword ngxDirectiveThirdParty init_worker_by_lua_file +syn keyword ngxDirectiveThirdParty set_by_lua +syn keyword ngxDirectiveThirdParty set_by_lua_block +syn keyword ngxDirectiveThirdParty set_by_lua_file +syn keyword ngxDirectiveThirdParty content_by_lua +syn keyword ngxDirectiveThirdParty content_by_lua_block +syn keyword ngxDirectiveThirdParty content_by_lua_file +syn keyword ngxDirectiveThirdParty rewrite_by_lua +syn keyword ngxDirectiveThirdParty rewrite_by_lua_block +syn keyword ngxDirectiveThirdParty rewrite_by_lua_file +syn keyword ngxDirectiveThirdParty access_by_lua +syn keyword ngxDirectiveThirdParty access_by_lua_block +syn keyword ngxDirectiveThirdParty access_by_lua_file +syn keyword ngxDirectiveThirdParty header_filter_by_lua +syn keyword ngxDirectiveThirdParty header_filter_by_lua_block +syn keyword ngxDirectiveThirdParty header_filter_by_lua_file +syn keyword ngxDirectiveThirdParty body_filter_by_lua +syn keyword ngxDirectiveThirdParty body_filter_by_lua_block +syn keyword ngxDirectiveThirdParty body_filter_by_lua_file +syn keyword ngxDirectiveThirdParty log_by_lua +syn keyword ngxDirectiveThirdParty log_by_lua_block +syn keyword ngxDirectiveThirdParty log_by_lua_file +syn keyword ngxDirectiveThirdParty balancer_by_lua_block +syn keyword ngxDirectiveThirdParty balancer_by_lua_file +syn keyword ngxDirectiveThirdParty lua_need_request_body +syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file +syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_file +syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_block +syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_file +syn keyword ngxDirectiveThirdParty lua_shared_dict +syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout +syn keyword ngxDirectiveThirdParty lua_socket_send_timeout +syn keyword ngxDirectiveThirdParty lua_socket_send_lowat +syn keyword ngxDirectiveThirdParty lua_socket_read_timeout +syn keyword ngxDirectiveThirdParty lua_socket_buffer_size +syn keyword ngxDirectiveThirdParty lua_socket_pool_size +syn keyword ngxDirectiveThirdParty lua_socket_keepalive_timeout +syn keyword ngxDirectiveThirdParty lua_socket_log_errors +syn keyword ngxDirectiveThirdParty lua_ssl_ciphers +syn keyword ngxDirectiveThirdParty lua_ssl_crl +syn keyword ngxDirectiveThirdParty lua_ssl_protocols +syn keyword ngxDirectiveThirdParty lua_ssl_trusted_certificate +syn keyword ngxDirectiveThirdParty lua_ssl_verify_depth +syn keyword ngxDirectiveThirdParty lua_http10_buffering +syn keyword ngxDirectiveThirdParty rewrite_by_lua_no_postpone +syn keyword ngxDirectiveThirdParty access_by_lua_no_postpone +syn keyword ngxDirectiveThirdParty lua_transform_underscores_in_response_headers +syn keyword ngxDirectiveThirdParty lua_check_client_abort +syn keyword ngxDirectiveThirdParty lua_max_pending_timers +syn keyword ngxDirectiveThirdParty lua_max_running_timers + +" MD5 Filter Module <https://github.com/kainswor/nginx_md5_filter> +" A content filter for nginx, which returns the md5 hash of the content otherwise returned. +syn keyword ngxDirectiveThirdParty md5_filter + +" Memc Module <https://github.com/openresty/memc-nginx-module> +" An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. +syn keyword ngxDirectiveThirdParty memc_buffer_size +syn keyword ngxDirectiveThirdParty memc_cmds_allowed +syn keyword ngxDirectiveThirdParty memc_connect_timeout +syn keyword ngxDirectiveThirdParty memc_flags_to_last_modified +syn keyword ngxDirectiveThirdParty memc_next_upstream +syn keyword ngxDirectiveThirdParty memc_pass +syn keyword ngxDirectiveThirdParty memc_read_timeout +syn keyword ngxDirectiveThirdParty memc_send_timeout +syn keyword ngxDirectiveThirdParty memc_upstream_fail_timeout +syn keyword ngxDirectiveThirdParty memc_upstream_max_fails + +" Mod Security Module <https://github.com/SpiderLabs/ModSecurity> +" ModSecurity is an open source, cross platform web application firewall (WAF) engine +syn keyword ngxDirectiveThirdParty ModSecurityConfig +syn keyword ngxDirectiveThirdParty ModSecurityEnabled +syn keyword ngxDirectiveThirdParty pool_context +syn keyword ngxDirectiveThirdParty pool_context_hash_size + +" Mogilefs Module <http://www.grid.net.ru/nginx/mogilefs.en.html> +" MogileFS client for nginx web server. +syn keyword ngxDirectiveThirdParty mogilefs_pass +syn keyword ngxDirectiveThirdParty mogilefs_methods +syn keyword ngxDirectiveThirdParty mogilefs_domain +syn keyword ngxDirectiveThirdParty mogilefs_class +syn keyword ngxDirectiveThirdParty mogilefs_tracker +syn keyword ngxDirectiveThirdParty mogilefs_noverify +syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout +syn keyword ngxDirectiveThirdParty mogilefs_send_timeout +syn keyword ngxDirectiveThirdParty mogilefs_read_timeout + +" Mongo Module <https://github.com/simpl/ngx_mongo> +" Upstream module that allows nginx to communicate directly with MongoDB database. +syn keyword ngxDirectiveThirdParty mongo_auth +syn keyword ngxDirectiveThirdParty mongo_pass +syn keyword ngxDirectiveThirdParty mongo_query +syn keyword ngxDirectiveThirdParty mongo_json +syn keyword ngxDirectiveThirdParty mongo_bind +syn keyword ngxDirectiveThirdParty mongo_connect_timeout +syn keyword ngxDirectiveThirdParty mongo_send_timeout +syn keyword ngxDirectiveThirdParty mongo_read_timeout +syn keyword ngxDirectiveThirdParty mongo_buffering +syn keyword ngxDirectiveThirdParty mongo_buffer_size +syn keyword ngxDirectiveThirdParty mongo_buffers +syn keyword ngxDirectiveThirdParty mongo_busy_buffers_size +syn keyword ngxDirectiveThirdParty mongo_next_upstream + +" MP4 Streaming Lite Module <https://www.nginx.com/resources/wiki/modules/mp4_streaming/> +" Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. +" syn keyword ngxDirectiveThirdParty mp4 + +" NAXSI Module <https://github.com/nbs-system/naxsi> +" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX +syn keyword ngxDirectiveThirdParty DeniedUrl denied_url +syn keyword ngxDirectiveThirdParty LearningMode learning_mode +syn keyword ngxDirectiveThirdParty SecRulesEnabled rules_enabled +syn keyword ngxDirectiveThirdParty SecRulesDisabled rules_disabled +syn keyword ngxDirectiveThirdParty CheckRule check_rule +syn keyword ngxDirectiveThirdParty BasicRule basic_rule +syn keyword ngxDirectiveThirdParty MainRule main_rule +syn keyword ngxDirectiveThirdParty LibInjectionSql libinjection_sql +syn keyword ngxDirectiveThirdParty LibInjectionXss libinjection_xss + +" Nchan Module <https://nchan.slact.net/> +" Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE) +syn keyword ngxDirectiveThirdParty nchan_channel_id +syn keyword ngxDirectiveThirdParty nchan_channel_id_split_delimiter +syn keyword ngxDirectiveThirdParty nchan_eventsource_event +syn keyword ngxDirectiveThirdParty nchan_longpoll_multipart_response +syn keyword ngxDirectiveThirdParty nchan_publisher +syn keyword ngxDirectiveThirdParty nchan_publisher_channel_id +syn keyword ngxDirectiveThirdParty nchan_publisher_upstream_request +syn keyword ngxDirectiveThirdParty nchan_pubsub +syn keyword ngxDirectiveThirdParty nchan_subscribe_request +syn keyword ngxDirectiveThirdParty nchan_subscriber +syn keyword ngxDirectiveThirdParty nchan_subscriber_channel_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_compound_etag_message_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_first_message +syn keyword ngxDirectiveThirdParty nchan_subscriber_http_raw_stream_separator +syn keyword ngxDirectiveThirdParty nchan_subscriber_last_message_id +syn keyword ngxDirectiveThirdParty nchan_subscriber_message_id_custom_etag_header +syn keyword ngxDirectiveThirdParty nchan_subscriber_timeout +syn keyword ngxDirectiveThirdParty nchan_unsubscribe_request +syn keyword ngxDirectiveThirdParty nchan_websocket_ping_interval +syn keyword ngxDirectiveThirdParty nchan_authorize_request +syn keyword ngxDirectiveThirdParty nchan_max_reserved_memory +syn keyword ngxDirectiveThirdParty nchan_message_buffer_length +syn keyword ngxDirectiveThirdParty nchan_message_timeout +syn keyword ngxDirectiveThirdParty nchan_redis_idle_channel_cache_timeout +syn keyword ngxDirectiveThirdParty nchan_redis_namespace +syn keyword ngxDirectiveThirdParty nchan_redis_pass +syn keyword ngxDirectiveThirdParty nchan_redis_ping_interval +syn keyword ngxDirectiveThirdParty nchan_redis_server +syn keyword ngxDirectiveThirdParty nchan_redis_storage_mode +syn keyword ngxDirectiveThirdParty nchan_redis_url +syn keyword ngxDirectiveThirdParty nchan_store_messages +syn keyword ngxDirectiveThirdParty nchan_use_redis +syn keyword ngxDirectiveThirdParty nchan_access_control_allow_origin +syn keyword ngxDirectiveThirdParty nchan_channel_group +syn keyword ngxDirectiveThirdParty nchan_channel_group_accounting +syn keyword ngxDirectiveThirdParty nchan_group_location +syn keyword ngxDirectiveThirdParty nchan_group_max_channels +syn keyword ngxDirectiveThirdParty nchan_group_max_messages +syn keyword ngxDirectiveThirdParty nchan_group_max_messages_disk +syn keyword ngxDirectiveThirdParty nchan_group_max_messages_memory +syn keyword ngxDirectiveThirdParty nchan_group_max_subscribers +syn keyword ngxDirectiveThirdParty nchan_subscribe_existing_channels_only +syn keyword ngxDirectiveThirdParty nchan_channel_event_string +syn keyword ngxDirectiveThirdParty nchan_channel_events_channel_id +syn keyword ngxDirectiveThirdParty nchan_stub_status +syn keyword ngxDirectiveThirdParty nchan_max_channel_id_length +syn keyword ngxDirectiveThirdParty nchan_max_channel_subscribers +syn keyword ngxDirectiveThirdParty nchan_channel_timeout +syn keyword ngxDirectiveThirdParty nchan_storage_engine + +" Nginx Notice Module <https://github.com/kr/nginx-notice> +" Serve static file to POST requests. +syn keyword ngxDirectiveThirdParty notice +syn keyword ngxDirectiveThirdParty notice_type + +" OCSP Proxy Module <https://github.com/kyprizel/nginx_ocsp_proxy-module> +" Nginx OCSP processing module designed for response caching +syn keyword ngxDirectiveThirdParty ocsp_proxy +syn keyword ngxDirectiveThirdParty ocsp_cache_timeout + +" Eval Module <https://github.com/openresty/nginx-eval-module> +" Module for nginx web server evaluates response of proxy or memcached module into variables. +syn keyword ngxDirectiveThirdParty eval +syn keyword ngxDirectiveThirdParty eval_escalate +syn keyword ngxDirectiveThirdParty eval_buffer_size +syn keyword ngxDirectiveThirdParty eval_override_content_type +syn keyword ngxDirectiveThirdParty eval_subrequest_in_memory + +" OpenSSL Version Module <https://github.com/apcera/nginx-openssl-version> +" Nginx OpenSSL version check at startup +syn keyword ngxDirectiveThirdParty openssl_version_minimum +syn keyword ngxDirectiveThirdParty openssl_builddate_minimum + +" Owner Match Module <https://www.nginx.com/resources/wiki/modules/owner_match/> +" Control access for specific owners and groups of files +syn keyword ngxDirectiveThirdParty omallow +syn keyword ngxDirectiveThirdParty omdeny + +" Accept Language Module <https://www.nginx.com/resources/wiki/modules/accept_language/> +" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. +syn keyword ngxDirectiveThirdParty pagespeed + +" PHP Memcache Standard Balancer Module <https://github.com/replay/ngx_http_php_memcache_standard_balancer> +" Loadbalancer that is compatible to the standard loadbalancer in the php-memcache module +syn keyword ngxDirectiveThirdParty hash_key + +" PHP Session Module <https://github.com/replay/ngx_http_php_session> +" Nginx module to parse php sessions +syn keyword ngxDirectiveThirdParty php_session_parse +syn keyword ngxDirectiveThirdParty php_session_strip_formatting + +" Phusion Passenger Module <https://www.phusionpassenger.com/library/config/nginx/> +" Passenger is an open source web application server. +syn keyword ngxDirectiveThirdParty passenger_root +syn keyword ngxDirectiveThirdParty passenger_enabled +syn keyword ngxDirectiveThirdParty passenger_base_uri +syn keyword ngxDirectiveThirdParty passenger_document_root +syn keyword ngxDirectiveThirdParty passenger_ruby +syn keyword ngxDirectiveThirdParty passenger_python +syn keyword ngxDirectiveThirdParty passenger_nodejs +syn keyword ngxDirectiveThirdParty passenger_meteor_app_settings +syn keyword ngxDirectiveThirdParty passenger_app_env +syn keyword ngxDirectiveThirdParty passenger_app_root +syn keyword ngxDirectiveThirdParty passenger_app_group_name +syn keyword ngxDirectiveThirdParty passenger_app_type +syn keyword ngxDirectiveThirdParty passenger_startup_file +syn keyword ngxDirectiveThirdParty passenger_restart_dir +syn keyword ngxDirectiveThirdParty passenger_spawn_method +syn keyword ngxDirectiveThirdParty passenger_env_var +syn keyword ngxDirectiveThirdParty passenger_load_shell_envvars +syn keyword ngxDirectiveThirdParty passenger_rolling_restarts +syn keyword ngxDirectiveThirdParty passenger_resist_deployment_errors +syn keyword ngxDirectiveThirdParty passenger_user_switching +syn keyword ngxDirectiveThirdParty passenger_user +syn keyword ngxDirectiveThirdParty passenger_group +syn keyword ngxDirectiveThirdParty passenger_default_user +syn keyword ngxDirectiveThirdParty passenger_default_group +syn keyword ngxDirectiveThirdParty passenger_show_version_in_header +syn keyword ngxDirectiveThirdParty passenger_friendly_error_pages +syn keyword ngxDirectiveThirdParty passenger_disable_security_update_check +syn keyword ngxDirectiveThirdParty passenger_security_update_check_proxy +syn keyword ngxDirectiveThirdParty passenger_max_pool_size +syn keyword ngxDirectiveThirdParty passenger_min_instances +syn keyword ngxDirectiveThirdParty passenger_max_instances +syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app +syn keyword ngxDirectiveThirdParty passenger_pool_idle_time +syn keyword ngxDirectiveThirdParty passenger_max_preloader_idle_time +syn keyword ngxDirectiveThirdParty passenger_force_max_concurrent_requests_per_process +syn keyword ngxDirectiveThirdParty passenger_start_timeout +syn keyword ngxDirectiveThirdParty passenger_concurrency_model +syn keyword ngxDirectiveThirdParty passenger_thread_count +syn keyword ngxDirectiveThirdParty passenger_max_requests +syn keyword ngxDirectiveThirdParty passenger_max_request_time +syn keyword ngxDirectiveThirdParty passenger_memory_limit +syn keyword ngxDirectiveThirdParty passenger_stat_throttle_rate +syn keyword ngxDirectiveThirdParty passenger_core_file_descriptor_ulimit +syn keyword ngxDirectiveThirdParty passenger_app_file_descriptor_ulimit +syn keyword ngxDirectiveThirdParty passenger_pre_start +syn keyword ngxDirectiveThirdParty passenger_set_header +syn keyword ngxDirectiveThirdParty passenger_max_request_queue_size +syn keyword ngxDirectiveThirdParty passenger_request_queue_overflow_status_code +syn keyword ngxDirectiveThirdParty passenger_sticky_sessions +syn keyword ngxDirectiveThirdParty passenger_sticky_sessions_cookie_name +syn keyword ngxDirectiveThirdParty passenger_abort_websockets_on_process_shutdown +syn keyword ngxDirectiveThirdParty passenger_ignore_client_abort +syn keyword ngxDirectiveThirdParty passenger_intercept_errors +syn keyword ngxDirectiveThirdParty passenger_pass_header +syn keyword ngxDirectiveThirdParty passenger_ignore_headers +syn keyword ngxDirectiveThirdParty passenger_headers_hash_bucket_size +syn keyword ngxDirectiveThirdParty passenger_headers_hash_max_size +syn keyword ngxDirectiveThirdParty passenger_buffer_response +syn keyword ngxDirectiveThirdParty passenger_response_buffer_high_watermark +syn keyword ngxDirectiveThirdParty passenger_buffer_size, passenger_buffers, passenger_busy_buffers_size +syn keyword ngxDirectiveThirdParty passenger_socket_backlog +syn keyword ngxDirectiveThirdParty passenger_log_level +syn keyword ngxDirectiveThirdParty passenger_log_file +syn keyword ngxDirectiveThirdParty passenger_file_descriptor_log_file +syn keyword ngxDirectiveThirdParty passenger_debugger +syn keyword ngxDirectiveThirdParty passenger_instance_registry_dir +syn keyword ngxDirectiveThirdParty passenger_data_buffer_dir +syn keyword ngxDirectiveThirdParty passenger_fly_with +syn keyword ngxDirectiveThirdParty union_station_support +syn keyword ngxDirectiveThirdParty union_station_key +syn keyword ngxDirectiveThirdParty union_station_proxy_address +syn keyword ngxDirectiveThirdParty union_station_filter +syn keyword ngxDirectiveThirdParty union_station_gateway_address +syn keyword ngxDirectiveThirdParty union_station_gateway_port +syn keyword ngxDirectiveThirdParty union_station_gateway_cert +syn keyword ngxDirectiveDeprecated rails_spawn_method +syn keyword ngxDirectiveDeprecated passenger_debug_log_file + +" Postgres Module <http://labs.frickle.com/nginx_ngx_postgres/> +" Upstream module that allows nginx to communicate directly with PostgreSQL database. +syn keyword ngxDirectiveThirdParty postgres_server +syn keyword ngxDirectiveThirdParty postgres_keepalive +syn keyword ngxDirectiveThirdParty postgres_pass +syn keyword ngxDirectiveThirdParty postgres_query +syn keyword ngxDirectiveThirdParty postgres_rewrite +syn keyword ngxDirectiveThirdParty postgres_output +syn keyword ngxDirectiveThirdParty postgres_set +syn keyword ngxDirectiveThirdParty postgres_escape +syn keyword ngxDirectiveThirdParty postgres_connect_timeout +syn keyword ngxDirectiveThirdParty postgres_result_timeout + +" Pubcookie Module <https://www.vanko.me/book/page/pubcookie-module-nginx> +" Authorizes users using encrypted cookies +syn keyword ngxDirectiveThirdParty pubcookie_inactive_expire +syn keyword ngxDirectiveThirdParty pubcookie_hard_expire +syn keyword ngxDirectiveThirdParty pubcookie_app_id +syn keyword ngxDirectiveThirdParty pubcookie_dir_depth +syn keyword ngxDirectiveThirdParty pubcookie_catenate_app_ids +syn keyword ngxDirectiveThirdParty pubcookie_app_srv_id +syn keyword ngxDirectiveThirdParty pubcookie_login +syn keyword ngxDirectiveThirdParty pubcookie_login_method +syn keyword ngxDirectiveThirdParty pubcookie_post +syn keyword ngxDirectiveThirdParty pubcookie_domain +syn keyword ngxDirectiveThirdParty pubcookie_granting_cert_file +syn keyword ngxDirectiveThirdParty pubcookie_session_key_file +syn keyword ngxDirectiveThirdParty pubcookie_session_cert_file +syn keyword ngxDirectiveThirdParty pubcookie_crypt_key_file +syn keyword ngxDirectiveThirdParty pubcookie_end_session +syn keyword ngxDirectiveThirdParty pubcookie_encryption +syn keyword ngxDirectiveThirdParty pubcookie_session_reauth +syn keyword ngxDirectiveThirdParty pubcookie_auth_type_names +syn keyword ngxDirectiveThirdParty pubcookie_no_prompt +syn keyword ngxDirectiveThirdParty pubcookie_on_demand +syn keyword ngxDirectiveThirdParty pubcookie_addl_request +syn keyword ngxDirectiveThirdParty pubcookie_no_obscure_cookies +syn keyword ngxDirectiveThirdParty pubcookie_no_clean_creds +syn keyword ngxDirectiveThirdParty pubcookie_egd_device +syn keyword ngxDirectiveThirdParty pubcookie_no_blank +syn keyword ngxDirectiveThirdParty pubcookie_super_debug +syn keyword ngxDirectiveThirdParty pubcookie_set_remote_user + +" Push Stream Module <https://github.com/wandenberg/nginx-push-stream-module> +" A pure stream http push technology for your Nginx setup +syn keyword ngxDirectiveThirdParty push_stream_channels_statistics +syn keyword ngxDirectiveThirdParty push_stream_publisher +syn keyword ngxDirectiveThirdParty push_stream_subscriber +syn keyword ngxDirectiveThirdParty push_stream_shared_memory_size +syn keyword ngxDirectiveThirdParty push_stream_channel_deleted_message_text +syn keyword ngxDirectiveThirdParty push_stream_channel_inactivity_time +syn keyword ngxDirectiveThirdParty push_stream_ping_message_text +syn keyword ngxDirectiveThirdParty push_stream_timeout_with_body +syn keyword ngxDirectiveThirdParty push_stream_message_ttl +syn keyword ngxDirectiveThirdParty push_stream_max_subscribers_per_channel +syn keyword ngxDirectiveThirdParty push_stream_max_messages_stored_per_channel +syn keyword ngxDirectiveThirdParty push_stream_max_channel_id_length +syn keyword ngxDirectiveThirdParty push_stream_max_number_of_channels +syn keyword ngxDirectiveThirdParty push_stream_max_number_of_wildcard_channels +syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_prefix +syn keyword ngxDirectiveThirdParty push_stream_events_channel_id +syn keyword ngxDirectiveThirdParty push_stream_channels_path +syn keyword ngxDirectiveThirdParty push_stream_store_messages +syn keyword ngxDirectiveThirdParty push_stream_channel_info_on_publish +syn keyword ngxDirectiveThirdParty push_stream_authorized_channels_only +syn keyword ngxDirectiveThirdParty push_stream_header_template_file +syn keyword ngxDirectiveThirdParty push_stream_header_template +syn keyword ngxDirectiveThirdParty push_stream_message_template +syn keyword ngxDirectiveThirdParty push_stream_footer_template +syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_max_qtd +syn keyword ngxDirectiveThirdParty push_stream_ping_message_interval +syn keyword ngxDirectiveThirdParty push_stream_subscriber_connection_ttl +syn keyword ngxDirectiveThirdParty push_stream_longpolling_connection_ttl +syn keyword ngxDirectiveThirdParty push_stream_websocket_allow_publish +syn keyword ngxDirectiveThirdParty push_stream_last_received_message_time +syn keyword ngxDirectiveThirdParty push_stream_last_received_message_tag +syn keyword ngxDirectiveThirdParty push_stream_last_event_id +syn keyword ngxDirectiveThirdParty push_stream_user_agent +syn keyword ngxDirectiveThirdParty push_stream_padding_by_user_agent +syn keyword ngxDirectiveThirdParty push_stream_allowed_origins +syn keyword ngxDirectiveThirdParty push_stream_allow_connections_to_events_channel + +" rDNS Module <https://github.com/flant/nginx-http-rdns> +" Make a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname by allow/deny rules +syn keyword ngxDirectiveThirdParty rdns +syn keyword ngxDirectiveThirdParty rdns_allow +syn keyword ngxDirectiveThirdParty rdns_deny + +" RDS CSV Module <https://github.com/openresty/rds-csv-nginx-module> +" Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV) +syn keyword ngxDirectiveThirdParty rds_csv +syn keyword ngxDirectiveThirdParty rds_csv_row_terminator +syn keyword ngxDirectiveThirdParty rds_csv_field_separator +syn keyword ngxDirectiveThirdParty rds_csv_field_name_header +syn keyword ngxDirectiveThirdParty rds_csv_content_type +syn keyword ngxDirectiveThirdParty rds_csv_buffer_size + +" RDS JSON Module <https://github.com/openresty/rds-json-nginx-module> +" An output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON +syn keyword ngxDirectiveThirdParty rds_json +syn keyword ngxDirectiveThirdParty rds_json_buffer_size +syn keyword ngxDirectiveThirdParty rds_json_format +syn keyword ngxDirectiveThirdParty rds_json_root +syn keyword ngxDirectiveThirdParty rds_json_success_property +syn keyword ngxDirectiveThirdParty rds_json_user_property +syn keyword ngxDirectiveThirdParty rds_json_errcode_key +syn keyword ngxDirectiveThirdParty rds_json_errstr_key +syn keyword ngxDirectiveThirdParty rds_json_ret +syn keyword ngxDirectiveThirdParty rds_json_content_type + +" Redis Module <https://www.nginx.com/resources/wiki/modules/redis/> +" Use this module to perform simple caching +syn keyword ngxDirectiveThirdParty redis_pass +syn keyword ngxDirectiveThirdParty redis_bind +syn keyword ngxDirectiveThirdParty redis_connect_timeout +syn keyword ngxDirectiveThirdParty redis_read_timeout +syn keyword ngxDirectiveThirdParty redis_send_timeout +syn keyword ngxDirectiveThirdParty redis_buffer_size +syn keyword ngxDirectiveThirdParty redis_next_upstream +syn keyword ngxDirectiveThirdParty redis_gzip_flag + +" Redis 2 Module <https://github.com/openresty/redis2-nginx-module> +" Nginx upstream module for the Redis 2.0 protocol +syn keyword ngxDirectiveThirdParty redis2_query +syn keyword ngxDirectiveThirdParty redis2_raw_query +syn keyword ngxDirectiveThirdParty redis2_raw_queries +syn keyword ngxDirectiveThirdParty redis2_literal_raw_query +syn keyword ngxDirectiveThirdParty redis2_pass +syn keyword ngxDirectiveThirdParty redis2_connect_timeout +syn keyword ngxDirectiveThirdParty redis2_send_timeout +syn keyword ngxDirectiveThirdParty redis2_read_timeout +syn keyword ngxDirectiveThirdParty redis2_buffer_size +syn keyword ngxDirectiveThirdParty redis2_next_upstream + +" Replace Filter Module <https://github.com/openresty/replace-filter-nginx-module> +" Streaming regular expression replacement in response bodies +syn keyword ngxDirectiveThirdParty replace_filter +syn keyword ngxDirectiveThirdParty replace_filter_types +syn keyword ngxDirectiveThirdParty replace_filter_max_buffered_size +syn keyword ngxDirectiveThirdParty replace_filter_last_modified +syn keyword ngxDirectiveThirdParty replace_filter_skip + +" Roboo Module <https://github.com/yuri-gushin/Roboo> +" HTTP Robot Mitigator + +" RRD Graph Module <https://www.nginx.com/resources/wiki/modules/rrd_graph/> +" This module provides an HTTP interface to RRDtool's graphing facilities. +syn keyword ngxDirectiveThirdParty rrd_graph +syn keyword ngxDirectiveThirdParty rrd_graph_root + +" RTMP Module <https://github.com/arut/nginx-rtmp-module> +" NGINX-based Media Streaming Server +syn keyword ngxDirectiveThirdParty rtmp +" syn keyword ngxDirectiveThirdParty server +" syn keyword ngxDirectiveThirdParty listen +syn keyword ngxDirectiveThirdParty application +" syn keyword ngxDirectiveThirdParty timeout +syn keyword ngxDirectiveThirdParty ping +syn keyword ngxDirectiveThirdParty ping_timeout +syn keyword ngxDirectiveThirdParty max_streams +syn keyword ngxDirectiveThirdParty ack_window +syn keyword ngxDirectiveThirdParty chunk_size +syn keyword ngxDirectiveThirdParty max_queue +syn keyword ngxDirectiveThirdParty max_message +syn keyword ngxDirectiveThirdParty out_queue +syn keyword ngxDirectiveThirdParty out_cork +" syn keyword ngxDirectiveThirdParty allow +" syn keyword ngxDirectiveThirdParty deny +syn keyword ngxDirectiveThirdParty exec_push +syn keyword ngxDirectiveThirdParty exec_pull +syn keyword ngxDirectiveThirdParty exec +syn keyword ngxDirectiveThirdParty exec_options +syn keyword ngxDirectiveThirdParty exec_static +syn keyword ngxDirectiveThirdParty exec_kill_signal +syn keyword ngxDirectiveThirdParty respawn +syn keyword ngxDirectiveThirdParty respawn_timeout +syn keyword ngxDirectiveThirdParty exec_publish +syn keyword ngxDirectiveThirdParty exec_play +syn keyword ngxDirectiveThirdParty exec_play_done +syn keyword ngxDirectiveThirdParty exec_publish_done +syn keyword ngxDirectiveThirdParty exec_record_done +syn keyword ngxDirectiveThirdParty live +syn keyword ngxDirectiveThirdParty meta +syn keyword ngxDirectiveThirdParty interleave +syn keyword ngxDirectiveThirdParty wait_key +syn keyword ngxDirectiveThirdParty wait_video +syn keyword ngxDirectiveThirdParty publish_notify +syn keyword ngxDirectiveThirdParty drop_idle_publisher +syn keyword ngxDirectiveThirdParty sync +syn keyword ngxDirectiveThirdParty play_restart +syn keyword ngxDirectiveThirdParty idle_streams +syn keyword ngxDirectiveThirdParty record +syn keyword ngxDirectiveThirdParty record_path +syn keyword ngxDirectiveThirdParty record_suffix +syn keyword ngxDirectiveThirdParty record_unique +syn keyword ngxDirectiveThirdParty record_append +syn keyword ngxDirectiveThirdParty record_lock +syn keyword ngxDirectiveThirdParty record_max_size +syn keyword ngxDirectiveThirdParty record_max_frames +syn keyword ngxDirectiveThirdParty record_interval +syn keyword ngxDirectiveThirdParty recorder +syn keyword ngxDirectiveThirdParty record_notify +syn keyword ngxDirectiveThirdParty play +syn keyword ngxDirectiveThirdParty play_temp_path +syn keyword ngxDirectiveThirdParty play_local_path +syn keyword ngxDirectiveThirdParty pull +syn keyword ngxDirectiveThirdParty push +syn keyword ngxDirectiveThirdParty push_reconnect +syn keyword ngxDirectiveThirdParty session_relay +syn keyword ngxDirectiveThirdParty on_connect +syn keyword ngxDirectiveThirdParty on_play +syn keyword ngxDirectiveThirdParty on_publish +syn keyword ngxDirectiveThirdParty on_done +syn keyword ngxDirectiveThirdParty on_play_done +syn keyword ngxDirectiveThirdParty on_publish_done +syn keyword ngxDirectiveThirdParty on_record_done +syn keyword ngxDirectiveThirdParty on_update +syn keyword ngxDirectiveThirdParty notify_update_timeout +syn keyword ngxDirectiveThirdParty notify_update_strict +syn keyword ngxDirectiveThirdParty notify_relay_redirect +syn keyword ngxDirectiveThirdParty notify_method +syn keyword ngxDirectiveThirdParty hls +syn keyword ngxDirectiveThirdParty hls_path +syn keyword ngxDirectiveThirdParty hls_fragment +syn keyword ngxDirectiveThirdParty hls_playlist_length +syn keyword ngxDirectiveThirdParty hls_sync +syn keyword ngxDirectiveThirdParty hls_continuous +syn keyword ngxDirectiveThirdParty hls_nested +syn keyword ngxDirectiveThirdParty hls_base_url +syn keyword ngxDirectiveThirdParty hls_cleanup +syn keyword ngxDirectiveThirdParty hls_fragment_naming +syn keyword ngxDirectiveThirdParty hls_fragment_slicing +syn keyword ngxDirectiveThirdParty hls_variant +syn keyword ngxDirectiveThirdParty hls_type +syn keyword ngxDirectiveThirdParty hls_keys +syn keyword ngxDirectiveThirdParty hls_key_path +syn keyword ngxDirectiveThirdParty hls_key_url +syn keyword ngxDirectiveThirdParty hls_fragments_per_key +syn keyword ngxDirectiveThirdParty dash +syn keyword ngxDirectiveThirdParty dash_path +syn keyword ngxDirectiveThirdParty dash_fragment +syn keyword ngxDirectiveThirdParty dash_playlist_length +syn keyword ngxDirectiveThirdParty dash_nested +syn keyword ngxDirectiveThirdParty dash_cleanup +" syn keyword ngxDirectiveThirdParty access_log +" syn keyword ngxDirectiveThirdParty log_format +syn keyword ngxDirectiveThirdParty max_connections +syn keyword ngxDirectiveThirdParty rtmp_stat +syn keyword ngxDirectiveThirdParty rtmp_stat_stylesheet +syn keyword ngxDirectiveThirdParty rtmp_auto_push +syn keyword ngxDirectiveThirdParty rtmp_auto_push_reconnect +syn keyword ngxDirectiveThirdParty rtmp_socket_dir +syn keyword ngxDirectiveThirdParty rtmp_control + +" RTMPT Module <https://github.com/kwojtek/nginx-rtmpt-proxy-module> +" Module for nginx to proxy rtmp using http protocol +syn keyword ngxDirectiveThirdParty rtmpt_proxy_target +syn keyword ngxDirectiveThirdParty rtmpt_proxy_rtmp_timeout +syn keyword ngxDirectiveThirdParty rtmpt_proxy_http_timeout +syn keyword ngxDirectiveThirdParty rtmpt_proxy +syn keyword ngxDirectiveThirdParty rtmpt_proxy_stat +syn keyword ngxDirectiveThirdParty rtmpt_proxy_stylesheet + +" Syntactically Awesome Module <https://github.com/mneudert/sass-nginx-module> +" Providing on-the-fly compiling of Sass files as an NGINX module. +syn keyword ngxDirectiveThirdParty sass_compile +syn keyword ngxDirectiveThirdParty sass_error_log +syn keyword ngxDirectiveThirdParty sass_include_path +syn keyword ngxDirectiveThirdParty sass_indent +syn keyword ngxDirectiveThirdParty sass_is_indented_syntax +syn keyword ngxDirectiveThirdParty sass_linefeed +syn keyword ngxDirectiveThirdParty sass_precision +syn keyword ngxDirectiveThirdParty sass_output_style +syn keyword ngxDirectiveThirdParty sass_source_comments +syn keyword ngxDirectiveThirdParty sass_source_map_embed + +" Secure Download Module <https://www.nginx.com/resources/wiki/modules/secure_download/> +" Enables you to create links which are only valid until a certain datetime is reached +syn keyword ngxDirectiveThirdParty secure_download +syn keyword ngxDirectiveThirdParty secure_download_secret +syn keyword ngxDirectiveThirdParty secure_download_path_mode + +" Selective Cache Purge Module <https://github.com/wandenberg/nginx-selective-cache-purge-module> +" A module to purge cache by GLOB patterns. The supported patterns are the same as supported by Redis. +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_unix_socket +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_host +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_port +syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_database +syn keyword ngxDirectiveThirdParty selective_cache_purge_query + +" Set cconv Module <https://github.com/liseen/set-cconv-nginx-module> +" Cconv rewrite set commands +syn keyword ngxDirectiveThirdParty set_cconv_to_simp +syn keyword ngxDirectiveThirdParty set_cconv_to_trad +syn keyword ngxDirectiveThirdParty set_pinyin_to_normal + +" Set Hash Module <https://github.com/simpl/ngx_http_set_hash> +" Nginx module that allows the setting of variables to the value of a variety of hashes +syn keyword ngxDirectiveThirdParty set_md5 +syn keyword ngxDirectiveThirdParty set_md5_upper +syn keyword ngxDirectiveThirdParty set_murmur2 +syn keyword ngxDirectiveThirdParty set_murmur2_upper +syn keyword ngxDirectiveThirdParty set_sha1 +syn keyword ngxDirectiveThirdParty set_sha1_upper + +" Set Lang Module <https://github.com/simpl/ngx_http_set_lang> +" Provides a variety of ways for setting a variable denoting the langauge that content should be returned in. +syn keyword ngxDirectiveThirdParty set_lang +syn keyword ngxDirectiveThirdParty set_lang_method +syn keyword ngxDirectiveThirdParty lang_cookie +syn keyword ngxDirectiveThirdParty lang_get_var +syn keyword ngxDirectiveThirdParty lang_list +syn keyword ngxDirectiveThirdParty lang_post_var +syn keyword ngxDirectiveThirdParty lang_host +syn keyword ngxDirectiveThirdParty lang_referer + +" Set Misc Module <https://github.com/openresty/set-misc-nginx-module> +" Various set_xxx directives added to nginx's rewrite module +syn keyword ngxDirectiveThirdParty set_if_empty +syn keyword ngxDirectiveThirdParty set_quote_sql_str +syn keyword ngxDirectiveThirdParty set_quote_pgsql_str +syn keyword ngxDirectiveThirdParty set_quote_json_str +syn keyword ngxDirectiveThirdParty set_unescape_uri +syn keyword ngxDirectiveThirdParty set_escape_uri +syn keyword ngxDirectiveThirdParty set_hashed_upstream +syn keyword ngxDirectiveThirdParty set_encode_base32 +syn keyword ngxDirectiveThirdParty set_base32_padding +syn keyword ngxDirectiveThirdParty set_misc_base32_padding +syn keyword ngxDirectiveThirdParty set_base32_alphabet +syn keyword ngxDirectiveThirdParty set_decode_base32 +syn keyword ngxDirectiveThirdParty set_encode_base64 +syn keyword ngxDirectiveThirdParty set_decode_base64 +syn keyword ngxDirectiveThirdParty set_encode_hex +syn keyword ngxDirectiveThirdParty set_decode_hex +syn keyword ngxDirectiveThirdParty set_sha1 +syn keyword ngxDirectiveThirdParty set_md5 +syn keyword ngxDirectiveThirdParty set_hmac_sha1 +syn keyword ngxDirectiveThirdParty set_random +syn keyword ngxDirectiveThirdParty set_secure_random_alphanum +syn keyword ngxDirectiveThirdParty set_secure_random_lcalpha +syn keyword ngxDirectiveThirdParty set_rotate +syn keyword ngxDirectiveThirdParty set_local_today +syn keyword ngxDirectiveThirdParty set_formatted_gmt_time +syn keyword ngxDirectiveThirdParty set_formatted_local_time + +" SFlow Module <https://github.com/sflow/nginx-sflow-module> +" A binary, random-sampling nginx module designed for: lightweight, centralized, continuous, real-time monitoring of very large and very busy web farms. +syn keyword ngxDirectiveThirdParty sflow + +" Shibboleth Module <https://github.com/nginx-shib/nginx-http-shibboleth> +" Shibboleth auth request module for nginx +syn keyword ngxDirectiveThirdParty shib_request +syn keyword ngxDirectiveThirdParty shib_request_set +syn keyword ngxDirectiveThirdParty shib_request_use_headers + +" Slice Module <https://github.com/alibaba/nginx-http-slice> +" Nginx module for serving a file in slices (reverse byte-range) +" syn keyword ngxDirectiveThirdParty slice +syn keyword ngxDirectiveThirdParty slice_arg_begin +syn keyword ngxDirectiveThirdParty slice_arg_end +syn keyword ngxDirectiveThirdParty slice_header +syn keyword ngxDirectiveThirdParty slice_footer +syn keyword ngxDirectiveThirdParty slice_header_first +syn keyword ngxDirectiveThirdParty slice_footer_last + +" SlowFS Cache Module <https://github.com/FRiCKLE/ngx_slowfs_cache/> +" Module adding ability to cache static files. +syn keyword ngxDirectiveThirdParty slowfs_big_file_size +syn keyword ngxDirectiveThirdParty slowfs_cache +syn keyword ngxDirectiveThirdParty slowfs_cache_key +syn keyword ngxDirectiveThirdParty slowfs_cache_min_uses +syn keyword ngxDirectiveThirdParty slowfs_cache_path +syn keyword ngxDirectiveThirdParty slowfs_cache_purge +syn keyword ngxDirectiveThirdParty slowfs_cache_valid +syn keyword ngxDirectiveThirdParty slowfs_temp_path + +" Small Light Module <https://github.com/cubicdaiya/ngx_small_light> +" Dynamic Image Transformation Module For nginx. +syn keyword ngxDirectiveThirdParty small_light +syn keyword ngxDirectiveThirdParty small_light_getparam_mode +syn keyword ngxDirectiveThirdParty small_light_material_dir +syn keyword ngxDirectiveThirdParty small_light_pattern_define +syn keyword ngxDirectiveThirdParty small_light_radius_max +syn keyword ngxDirectiveThirdParty small_light_sigma_max +syn keyword ngxDirectiveThirdParty small_light_imlib2_temp_dir +syn keyword ngxDirectiveThirdParty small_light_buffer + +" Sorted Querystring Filter Module <https://github.com/wandenberg/nginx-sorted-querystring-module> +" Nginx module to expose querystring parameters sorted in a variable to be used on cache_key as example +syn keyword ngxDirectiveThirdParty sorted_querystring_filter_parameter + +" Sphinx2 Module <https://github.com/reeteshranjan/sphinx2-nginx-module> +" Nginx upstream module for Sphinx 2.x +syn keyword ngxDirectiveThirdParty sphinx2_pass +syn keyword ngxDirectiveThirdParty sphinx2_bind +syn keyword ngxDirectiveThirdParty sphinx2_connect_timeout +syn keyword ngxDirectiveThirdParty sphinx2_send_timeout +syn keyword ngxDirectiveThirdParty sphinx2_buffer_size +syn keyword ngxDirectiveThirdParty sphinx2_read_timeout +syn keyword ngxDirectiveThirdParty sphinx2_next_upstream + +" HTTP SPNEGO auth Module <https://github.com/stnoonan/spnego-http-auth-nginx-module> +" This module implements adds SPNEGO support to nginx(http://nginx.org). It currently supports only Kerberos authentication via GSSAPI +syn keyword ngxDirectiveThirdParty auth_gss +syn keyword ngxDirectiveThirdParty auth_gss_keytab +syn keyword ngxDirectiveThirdParty auth_gss_realm +syn keyword ngxDirectiveThirdParty auth_gss_service_name +syn keyword ngxDirectiveThirdParty auth_gss_authorized_principal +syn keyword ngxDirectiveThirdParty auth_gss_allow_basic_fallback + +" SR Cache Module <https://github.com/openresty/srcache-nginx-module> +" Transparent subrequest-based caching layout for arbitrary nginx locations +syn keyword ngxDirectiveThirdParty srcache_fetch +syn keyword ngxDirectiveThirdParty srcache_fetch_skip +syn keyword ngxDirectiveThirdParty srcache_store +syn keyword ngxDirectiveThirdParty srcache_store_max_size +syn keyword ngxDirectiveThirdParty srcache_store_skip +syn keyword ngxDirectiveThirdParty srcache_store_statuses +syn keyword ngxDirectiveThirdParty srcache_store_ranges +syn keyword ngxDirectiveThirdParty srcache_header_buffer_size +syn keyword ngxDirectiveThirdParty srcache_store_hide_header +syn keyword ngxDirectiveThirdParty srcache_store_pass_header +syn keyword ngxDirectiveThirdParty srcache_methods +syn keyword ngxDirectiveThirdParty srcache_ignore_content_encoding +syn keyword ngxDirectiveThirdParty srcache_request_cache_control +syn keyword ngxDirectiveThirdParty srcache_response_cache_control +syn keyword ngxDirectiveThirdParty srcache_store_no_store +syn keyword ngxDirectiveThirdParty srcache_store_no_cache +syn keyword ngxDirectiveThirdParty srcache_store_private +syn keyword ngxDirectiveThirdParty srcache_default_expire +syn keyword ngxDirectiveThirdParty srcache_max_expire + +" SSSD Info Module <https://github.com/veruu/ngx_sssd_info> +" Retrives additional attributes from SSSD for current authentizated user +syn keyword ngxDirectiveThirdParty sssd_info +syn keyword ngxDirectiveThirdParty sssd_info_output_to +syn keyword ngxDirectiveThirdParty sssd_info_groups +syn keyword ngxDirectiveThirdParty sssd_info_group +syn keyword ngxDirectiveThirdParty sssd_info_group_separator +syn keyword ngxDirectiveThirdParty sssd_info_attributes +syn keyword ngxDirectiveThirdParty sssd_info_attribute +syn keyword ngxDirectiveThirdParty sssd_info_attribute_separator + +" Static Etags Module <https://github.com/mikewest/nginx-static-etags> +" Generate etags for static content +syn keyword ngxDirectiveThirdParty FileETag + +" Statsd Module <https://github.com/zebrafishlabs/nginx-statsd> +" An nginx module for sending statistics to statsd +syn keyword ngxDirectiveThirdParty statsd_server +syn keyword ngxDirectiveThirdParty statsd_sample_rate +syn keyword ngxDirectiveThirdParty statsd_count +syn keyword ngxDirectiveThirdParty statsd_timing + +" Sticky Module <https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng> +" Add a sticky cookie to be always forwarded to the same upstream server +" syn keyword ngxDirectiveThirdParty sticky + +" Stream Echo Module <https://github.com/openresty/stream-echo-nginx-module> +" TCP/stream echo module for NGINX (a port of ngx_http_echo_module) +syn keyword ngxDirectiveThirdParty echo +syn keyword ngxDirectiveThirdParty echo_duplicate +syn keyword ngxDirectiveThirdParty echo_flush_wait +syn keyword ngxDirectiveThirdParty echo_sleep +syn keyword ngxDirectiveThirdParty echo_send_timeout +syn keyword ngxDirectiveThirdParty echo_read_bytes +syn keyword ngxDirectiveThirdParty echo_read_line +syn keyword ngxDirectiveThirdParty echo_request_data +syn keyword ngxDirectiveThirdParty echo_discard_request +syn keyword ngxDirectiveThirdParty echo_read_buffer_size +syn keyword ngxDirectiveThirdParty echo_read_timeout +syn keyword ngxDirectiveThirdParty echo_client_error_log_level +syn keyword ngxDirectiveThirdParty echo_lingering_close +syn keyword ngxDirectiveThirdParty echo_lingering_time +syn keyword ngxDirectiveThirdParty echo_lingering_timeout + +" Stream Lua Module <https://github.com/openresty/stream-lua-nginx-module> +" Embed the power of Lua into Nginx stream/TCP Servers. +syn keyword ngxDirectiveThirdParty lua_resolver +syn keyword ngxDirectiveThirdParty lua_resolver_timeout +syn keyword ngxDirectiveThirdParty lua_lingering_close +syn keyword ngxDirectiveThirdParty lua_lingering_time +syn keyword ngxDirectiveThirdParty lua_lingering_timeout + +" Stream Upsync Module <https://github.com/xiaokai-wang/nginx-stream-upsync-module> +" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx. +syn keyword ngxDirectiveThirdParty upsync +syn keyword ngxDirectiveThirdParty upsync_dump_path +syn keyword ngxDirectiveThirdParty upsync_lb +syn keyword ngxDirectiveThirdParty upsync_show + +" Strip Module <https://github.com/evanmiller/mod_strip> +" Whitespace remover. +syn keyword ngxDirectiveThirdParty strip + +" Subrange Module <https://github.com/Qihoo360/ngx_http_subrange_module> +" Split one big HTTP/Range request to multiple subrange requesets +syn keyword ngxDirectiveThirdParty subrange + +" Substitutions Module <https://www.nginx.com/resources/wiki/modules/substitutions/> +" A filter module which can do both regular expression and fixed string substitutions on response bodies. +syn keyword ngxDirectiveThirdParty subs_filter +syn keyword ngxDirectiveThirdParty subs_filter_types + +" Summarizer Module <https://github.com/reeteshranjan/summarizer-nginx-module> +" Upstream nginx module to get summaries of documents using the summarizer daemon service +syn keyword ngxDirectiveThirdParty smrzr_filename +syn keyword ngxDirectiveThirdParty smrzr_ratio + +" Supervisord Module <https://github.com/FRiCKLE/ngx_supervisord/> +" Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. +syn keyword ngxDirectiveThirdParty supervisord +syn keyword ngxDirectiveThirdParty supervisord_inherit_backend_status +syn keyword ngxDirectiveThirdParty supervisord_name +syn keyword ngxDirectiveThirdParty supervisord_start +syn keyword ngxDirectiveThirdParty supervisord_stop + +" Tarantool Upstream Module <https://github.com/tarantool/nginx_upstream_module> +" Tarantool NginX upstream module (REST, JSON API, websockets, load balancing) +syn keyword ngxDirectiveThirdParty tnt_pass +syn keyword ngxDirectiveThirdParty tnt_http_methods +syn keyword ngxDirectiveThirdParty tnt_http_rest_methods +syn keyword ngxDirectiveThirdParty tnt_pass_http_request +syn keyword ngxDirectiveThirdParty tnt_pass_http_request_buffer_size +syn keyword ngxDirectiveThirdParty tnt_method +syn keyword ngxDirectiveThirdParty tnt_http_allowed_methods - experemental +syn keyword ngxDirectiveThirdParty tnt_send_timeout +syn keyword ngxDirectiveThirdParty tnt_read_timeout +syn keyword ngxDirectiveThirdParty tnt_buffer_size +syn keyword ngxDirectiveThirdParty tnt_next_upstream +syn keyword ngxDirectiveThirdParty tnt_connect_timeout +syn keyword ngxDirectiveThirdParty tnt_next_upstream +syn keyword ngxDirectiveThirdParty tnt_next_upstream_tries +syn keyword ngxDirectiveThirdParty tnt_next_upstream_timeout + +" TCP Proxy Module <http://yaoweibin.github.io/nginx_tcp_proxy_module/> +" Add the feature of tcp proxy with nginx, with health check and status monitor +syn keyword ngxDirectiveBlock tcp +" syn keyword ngxDirectiveThirdParty server +" syn keyword ngxDirectiveThirdParty listen +" syn keyword ngxDirectiveThirdParty allow +" syn keyword ngxDirectiveThirdParty deny +" syn keyword ngxDirectiveThirdParty so_keepalive +" syn keyword ngxDirectiveThirdParty tcp_nodelay +" syn keyword ngxDirectiveThirdParty timeout +" syn keyword ngxDirectiveThirdParty server_name +" syn keyword ngxDirectiveThirdParty resolver +" syn keyword ngxDirectiveThirdParty resolver_timeout +" syn keyword ngxDirectiveThirdParty upstream +syn keyword ngxDirectiveThirdParty check +syn keyword ngxDirectiveThirdParty check_http_send +syn keyword ngxDirectiveThirdParty check_http_expect_alive +syn keyword ngxDirectiveThirdParty check_smtp_send +syn keyword ngxDirectiveThirdParty check_smtp_expect_alive +syn keyword ngxDirectiveThirdParty check_shm_size +syn keyword ngxDirectiveThirdParty check_status +" syn keyword ngxDirectiveThirdParty ip_hash +" syn keyword ngxDirectiveThirdParty proxy_pass +" syn keyword ngxDirectiveThirdParty proxy_buffer +" syn keyword ngxDirectiveThirdParty proxy_connect_timeout +" syn keyword ngxDirectiveThirdParty proxy_read_timeout +syn keyword ngxDirectiveThirdParty proxy_write_timeout + +" Testcookie Module <https://github.com/kyprizel/testcookie-nginx-module> +" NGINX module for L7 DDoS attack mitigation +syn keyword ngxDirectiveThirdParty testcookie +syn keyword ngxDirectiveThirdParty testcookie_name +syn keyword ngxDirectiveThirdParty testcookie_domain +syn keyword ngxDirectiveThirdParty testcookie_expires +syn keyword ngxDirectiveThirdParty testcookie_path +syn keyword ngxDirectiveThirdParty testcookie_secret +syn keyword ngxDirectiveThirdParty testcookie_session +syn keyword ngxDirectiveThirdParty testcookie_arg +syn keyword ngxDirectiveThirdParty testcookie_max_attempts +syn keyword ngxDirectiveThirdParty testcookie_p3p +syn keyword ngxDirectiveThirdParty testcookie_fallback +syn keyword ngxDirectiveThirdParty testcookie_whitelist +syn keyword ngxDirectiveThirdParty testcookie_pass +syn keyword ngxDirectiveThirdParty testcookie_redirect_via_refresh +syn keyword ngxDirectiveThirdParty testcookie_refresh_template +syn keyword ngxDirectiveThirdParty testcookie_refresh_status +syn keyword ngxDirectiveThirdParty testcookie_deny_keepalive +syn keyword ngxDirectiveThirdParty testcookie_get_only +syn keyword ngxDirectiveThirdParty testcookie_https_location +syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie +syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie_key +syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_iv +syn keyword ngxDirectiveThirdParty testcookie_internal +syn keyword ngxDirectiveThirdParty testcookie_httponly_flag +syn keyword ngxDirectiveThirdParty testcookie_secure_flag + +" Types Filter Module <https://github.com/flygoast/ngx_http_types_filter> +" Change the `Content-Type` output header depending on an extension variable according to a condition specified in the 'if' clause. +syn keyword ngxDirectiveThirdParty types_filter +syn keyword ngxDirectiveThirdParty types_filter_use_default + +" Unzip Module <https://github.com/youzee/nginx-unzip-module> +" Enabling fetching of files that are stored in zipped archives. +syn keyword ngxDirectiveThirdParty file_in_unzip_archivefile +syn keyword ngxDirectiveThirdParty file_in_unzip_extract +syn keyword ngxDirectiveThirdParty file_in_unzip + +" Upload Progress Module <https://www.nginx.com/resources/wiki/modules/upload_progress/> +" An upload progress system, that monitors RFC1867 POST upload as they are transmitted to upstream servers +syn keyword ngxDirectiveThirdParty upload_progress +syn keyword ngxDirectiveThirdParty track_uploads +syn keyword ngxDirectiveThirdParty report_uploads +syn keyword ngxDirectiveThirdParty upload_progress_content_type +syn keyword ngxDirectiveThirdParty upload_progress_header +syn keyword ngxDirectiveThirdParty upload_progress_jsonp_parameter +syn keyword ngxDirectiveThirdParty upload_progress_json_output +syn keyword ngxDirectiveThirdParty upload_progress_jsonp_output +syn keyword ngxDirectiveThirdParty upload_progress_template + +" Upload Module <https://www.nginx.com/resources/wiki/modules/upload/> +" Parses request body storing all files being uploaded to a directory specified by upload_store directive +syn keyword ngxDirectiveThirdParty upload_pass +syn keyword ngxDirectiveThirdParty upload_resumable +syn keyword ngxDirectiveThirdParty upload_store +syn keyword ngxDirectiveThirdParty upload_state_store +syn keyword ngxDirectiveThirdParty upload_store_access +syn keyword ngxDirectiveThirdParty upload_set_form_field +syn keyword ngxDirectiveThirdParty upload_aggregate_form_field +syn keyword ngxDirectiveThirdParty upload_pass_form_field +syn keyword ngxDirectiveThirdParty upload_cleanup +syn keyword ngxDirectiveThirdParty upload_buffer_size +syn keyword ngxDirectiveThirdParty upload_max_part_header_len +syn keyword ngxDirectiveThirdParty upload_max_file_size +syn keyword ngxDirectiveThirdParty upload_limit_rate +syn keyword ngxDirectiveThirdParty upload_max_output_body_len +syn keyword ngxDirectiveThirdParty upload_tame_arrays +syn keyword ngxDirectiveThirdParty upload_pass_args + +" Upstream Fair Module <https://github.com/gnosek/nginx-upstream-fair> +" The fair load balancer module for nginx http://nginx.localdomain.pl +syn keyword ngxDirectiveThirdParty fair +syn keyword ngxDirectiveThirdParty upstream_fair_shm_size + +" Upstream Hash Module (DEPRECATED) <http://wiki.nginx.org/NginxHttpUpstreamRequestHashModule> +" Provides simple upstream load distribution by hashing a configurable variable. +" syn keyword ngxDirectiveDeprecated hash +syn keyword ngxDirectiveDeprecated hash_again + +" Upstream Domain Resolve Module <https://www.nginx.com/resources/wiki/modules/domain_resolve/> +" A load-balancer that resolves an upstream domain name asynchronously. +syn keyword ngxDirectiveThirdParty jdomain + +" Upsync Module <https://github.com/weibocom/nginx-upsync-module> +" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx +syn keyword ngxDirectiveThirdParty upsync +syn keyword ngxDirectiveThirdParty upsync_dump_path +syn keyword ngxDirectiveThirdParty upsync_lb +syn keyword ngxDirectiveThirdParty upstream_show + +" URL Module <https://github.com/vozlt/nginx-module-url> +" Nginx url encoding converting module +syn keyword ngxDirectiveThirdParty url_encoding_convert +syn keyword ngxDirectiveThirdParty url_encoding_convert_from +syn keyword ngxDirectiveThirdParty url_encoding_convert_to + +" User Agent Module <https://github.com/alibaba/nginx-http-user-agent> +" Match browsers and crawlers +syn keyword ngxDirectiveThirdParty user_agent + +" Upstrema Ketama Chash Module <https://github.com/flygoast/ngx_http_upstream_ketama_chash> +" Nginx load-balancer module implementing ketama consistent hashing. +syn keyword ngxDirectiveThirdParty ketama_chash + +" Video Thumbextractor Module <https://github.com/wandenberg/nginx-video-thumbextractor-module> +" Extract thumbs from a video file +syn keyword ngxDirectiveThirdParty video_thumbextractor +syn keyword ngxDirectiveThirdParty video_thumbextractor_video_filename +syn keyword ngxDirectiveThirdParty video_thumbextractor_video_second +syn keyword ngxDirectiveThirdParty video_thumbextractor_image_width +syn keyword ngxDirectiveThirdParty video_thumbextractor_image_height +syn keyword ngxDirectiveThirdParty video_thumbextractor_only_keyframe +syn keyword ngxDirectiveThirdParty video_thumbextractor_next_time +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_rows +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_cols +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_rows +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_cols +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_sample_interval +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_color +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_margin +syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_padding +syn keyword ngxDirectiveThirdParty video_thumbextractor_threads +syn keyword ngxDirectiveThirdParty video_thumbextractor_processes_per_worker + +" Eval Module <http://www.grid.net.ru/nginx/eval.en.html> +" Module for nginx web server evaluates response of proxy or memcached module into variables. +syn keyword ngxDirectiveThirdParty eval +syn keyword ngxDirectiveThirdParty eval_escalate +syn keyword ngxDirectiveThirdParty eval_override_content_type + +" VTS Module <https://github.com/vozlt/nginx-module-vts> +" Nginx virtual host traffic status module +syn keyword ngxDirectiveThirdParty vhost_traffic_status +syn keyword ngxDirectiveThirdParty vhost_traffic_status_zone +syn keyword ngxDirectiveThirdParty vhost_traffic_status_display +syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_format +syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_jsonp +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_host +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_set_key +syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_check_duplicate +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic_by_set_key +syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_check_duplicate + +" XSS Module <https://github.com/openresty/xss-nginx-module> +" Native support for cross-site scripting (XSS) in an nginx. +syn keyword ngxDirectiveThirdParty xss_get +syn keyword ngxDirectiveThirdParty xss_callback_arg +syn keyword ngxDirectiveThirdParty xss_override_status +syn keyword ngxDirectiveThirdParty xss_check_status +syn keyword ngxDirectiveThirdParty xss_input_types + +" ZIP Module <https://www.nginx.com/resources/wiki/modules/zip/> +" ZIP archiver for nginx + + +" highlight + +hi link ngxComment Comment +hi link ngxVariable Identifier +hi link ngxVariableBlock Identifier +hi link ngxVariableString PreProc +hi link ngxBlock Normal +hi link ngxString String + +hi link ngxBoolean Boolean +hi link ngxDirectiveBlock Statement +hi link ngxDirectiveImportant Type +hi link ngxDirectiveControl Keyword +hi link ngxDirectiveError Constant +hi link ngxDirectiveDeprecated Error +hi link ngxDirective Identifier +hi link ngxDirectiveThirdParty Special + +hi link ngxListenOptions Keyword +hi link ngxMailProtocol Keyword +hi link ngxSSLProtocol Keyword + +let b:current_syntax = "nginx" Renamed: vendor/nginx-1.11.11/docs/GNUmakefile (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/dtd/change_log_conf.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/dtd/changes.dtd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/html/50x.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/html/index.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/man/nginx.8 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/text/LICENSE (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/text/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/xml/change_log_conf.xml (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/docs/xml/nginx/changes.xml (+581 -408) 96% =================================================================== --- vendor/nginx-1.11.9/docs/xml/nginx/changes.xml 2017-03-24 11:49:37 +0900 (8af5842) +++ vendor/nginx-1.11.11/docs/xml/nginx/changes.xml 2017-03-24 12:03:04 +0900 (ce4a1b9) @@ -5,7 +5,180 @@ <change_log title="nginx"> -<changes ver="1.11.9" date="24.01.2017"> +<changes ver="1.11.11" date="2017-03-21"> + +<change type="feature"> +<para lang="ru"> +директива worker_shutdown_timeout. +</para> +<para lang="en"> +the "worker_shutdown_timeout" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +улучшения в скриптах подсветки синтаксиса для vim.<br/> +Спасибо Wei-Ko Kao. +</para> +<para lang="en"> +vim syntax highlighting scripts improvements.<br/> +Thanks to Wei-Ko Kao. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при попытке установить переменную $limit_rate в пустую строку +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the $limit_rate variable was set to an empty string. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_cache_background_update, fastcgi_cache_background_update, +scgi_cache_background_update и uwsgi_cache_background_update +могли работать некорректно, если использовалась директива if. +</para> +<para lang="en"> +the "proxy_cache_background_update", "fastcgi_cache_background_update", +"scgi_cache_background_update", and "uwsgi_cache_background_update" directives +might work incorrectly if the "if" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если количество large_client_header_buffers в виртуальном сервере +отличалось от такового в сервере по умолчанию. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if number of large_client_header_buffers in a virtual server +was different from the one in the default server. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в почтовом прокси-сервере. +</para> +<para lang="en"> +in the mail proxy server. +</para> +</change> + +</changes> + + +<changes ver="1.11.10" date="2017-02-14"> + +<change type="change"> +<para lang="ru"> +формат заголовка кэша был изменен, +ранее закэшированные ответы будут загружены заново. +</para> +<para lang="en"> +cache header format has been changed, +previously cached responses will be invalidated. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка расширений stale-while-revalidate и stale-if-error +в строке "Cache-Control" в заголовке ответа бэкенда. +</para> +<para lang="en"> +support of "stale-while-revalidate" and "stale-if-error" extensions +in the "Cache-Control" backend response header line. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_cache_background_update, fastcgi_cache_background_update, +scgi_cache_background_update и uwsgi_cache_background_update. +</para> +<para lang="en"> +the "proxy_cache_background_update", "fastcgi_cache_background_update", +"scgi_cache_background_update", and "uwsgi_cache_background_update" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь nginx может кэшировать ответы +со строкой Vary заголовка длиной до 128 символов +(вместо 42 символов в предыдущих версиях). +</para> +<para lang="en"> +nginx is now able to cache responses +with the "Vary" header line up to 128 characters long +(instead of 42 characters in previous versions). +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр build директивы server_tokens.<br/> +Спасибо Tom Thorogood. +</para> +<para lang="en"> +the "build" parameter of the "server_tokens" directive.<br/> +Thanks to Tom Thorogood. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при обработке запросов со строкой "Expect: 100-continue" в заголовке запроса +в логах могли появляться сообщения "[crit] SSL_write() failed". +</para> +<para lang="en"> +"[crit] SSL_write() failed" messages might appear in logs +when handling requests with the "Expect: 100-continue" request header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_slice_module не работал в именованных location'ах. +</para> +<para lang="en"> +the ngx_http_slice_module did not work in named locations. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании AIO после перенаправления запроса с помощью X-Accel-Redirect +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +when using AIO after an "X-Accel-Redirect" redirection. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +уменьшено потребление памяти для долгоживущих запросов, использующих сжатие. +</para> +<para lang="en"> +reduced memory consumption for long-lived requests using gzipping. +</para> +</change> + +</changes> + + +<changes ver="1.11.9" date="2017-01-24"> <change type="bugfix"> <para lang="ru"> @@ -100,7 +273,7 @@ when using the "aio_write" directive. </changes> -<changes ver="1.11.8" date="27.12.2016"> +<changes ver="1.11.8" date="2016-12-27"> <change type="feature"> <para lang="ru"> @@ -207,7 +380,7 @@ nginx/Windows could not be built with OpenSSL 1.1.0. </changes> -<changes ver="1.11.7" date="13.12.2016"> +<changes ver="1.11.7" date="2016-12-13"> <change type="change"> <para lang="ru"> @@ -301,7 +474,7 @@ in the ngx_http_perl_module. </changes> -<changes ver="1.11.6" date="15.11.2016"> +<changes ver="1.11.6" date="2016-11-15"> <change type="change"> <para lang="ru"> @@ -431,7 +604,7 @@ when a timeout occurred during an SSL handshake to a backend. </changes> -<changes ver="1.11.5" date="11.10.2016"> +<changes ver="1.11.5" date="2016-10-11"> <change type="change"> <para lang="ru"> @@ -565,7 +738,7 @@ with the "-" character in the HTTP method. </changes> -<changes ver="1.11.4" date="13.09.2016"> +<changes ver="1.11.4" date="2016-09-13"> <change type="feature"> <para lang="ru"> @@ -670,7 +843,7 @@ the bug had appeared in 1.9.13. </changes> -<changes ver="1.11.3" date="26.07.2016"> +<changes ver="1.11.3" date="2016-07-26"> <change type="change"> <para lang="ru"> @@ -751,7 +924,7 @@ Thanks to Piotr Sikora. </changes> -<changes ver="1.11.2" date="05.07.2016"> +<changes ver="1.11.2" date="2016-07-05"> <change type="change"> <para lang="ru"> @@ -864,7 +1037,7 @@ the issue had appeared in 1.9.4. </changes> -<changes ver="1.11.1" date="31.05.2016"> +<changes ver="1.11.1" date="2016-05-31"> <change type="security"> <para lang="ru"> @@ -884,7 +1057,7 @@ the bug had appeared in 1.3.9. </changes> -<changes ver="1.11.0" date="24.05.2016"> +<changes ver="1.11.0" date="2016-05-24"> <change type="feature"> <para lang="ru"> @@ -1040,7 +1213,7 @@ when using the "proxy_cache_bypass" directive. </changes> -<changes ver="1.9.15" date="19.04.2016"> +<changes ver="1.9.15" date="2016-04-19"> <change type="bugfix"> <para lang="ru"> @@ -1095,7 +1268,7 @@ Thanks to Mindaugas Rasiukevicius. </changes> -<changes ver="1.9.14" date="05.04.2016"> +<changes ver="1.9.14" date="2016-04-05"> <change type="feature"> <para lang="ru"> @@ -1153,7 +1326,7 @@ of minor bugs in logging. </changes> -<changes ver="1.9.13" date="29.03.2016"> +<changes ver="1.9.13" date="2016-03-29"> <change type="change"> <para lang="ru"> @@ -1318,7 +1491,7 @@ regardless of the proxy_next_upstream directive. </changes> -<changes ver="1.9.12" date="24.02.2016"> +<changes ver="1.9.12" date="2016-02-24"> <change type="feature"> <para lang="ru"> @@ -1420,7 +1593,7 @@ in the ngx_http_v2_module. </changes> -<changes ver="1.9.11" date="09.02.2016"> +<changes ver="1.9.11" date="2016-02-09"> <change type="feature"> <para lang="ru"> @@ -1463,7 +1636,7 @@ in the ngx_http_v2_module. </changes> -<changes ver="1.9.10" date="26.01.2016"> +<changes ver="1.9.10" date="2016-01-26"> <change type="security"> <para lang="ru"> @@ -1566,7 +1739,7 @@ after an "X-Accel-Redirect" redirection. </changes> -<changes ver="1.9.9" date="09.12.2015"> +<changes ver="1.9.9" date="2015-12-09"> <change type="bugfix"> <para lang="ru"> @@ -1582,7 +1755,7 @@ the bug had appeared in 1.9.8. </changes> -<changes ver="1.9.8" date="08.12.2015"> +<changes ver="1.9.8" date="2015-12-08"> <change type="feature"> <para lang="ru"> @@ -1636,7 +1809,7 @@ nginx could not be built on OS X in some cases. </changes> -<changes ver="1.9.7" date="17.11.2015"> +<changes ver="1.9.7" date="2015-11-17"> <change type="feature"> <para lang="ru"> @@ -1712,7 +1885,7 @@ in the ngx_http_v2_module. </changes> -<changes ver="1.9.6" date="27.10.2015"> +<changes ver="1.9.6" date="2015-10-27"> <change type="bugfix"> <para lang="ru"> @@ -1796,7 +1969,7 @@ Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora. </changes> -<changes ver="1.9.5" date="22.09.2015"> +<changes ver="1.9.5" date="2015-09-22"> <change type="feature"> <para lang="ru"> @@ -1893,7 +2066,7 @@ the bug had appeared in 1.9.4. </changes> -<changes ver="1.9.4" date="18.08.2015"> +<changes ver="1.9.4" date="2015-08-18"> <change type="change"> <para lang="ru"> @@ -2004,7 +2177,7 @@ nginx could not be built with Visual Studio 2015. </changes> -<changes ver="1.9.3" date="14.07.2015"> +<changes ver="1.9.3" date="2015-07-14"> <change type="change"> <para lang="ru"> @@ -2095,7 +2268,7 @@ Thanks to Matthew Baldwin. </changes> -<changes ver="1.9.2" date="16.06.2015"> +<changes ver="1.9.2" date="2015-06-16"> <change type="feature"> <para lang="ru"> @@ -2178,7 +2351,7 @@ OCSP stapling might return an expired OCSP response in some cases. </changes> -<changes ver="1.9.1" date="26.05.2015"> +<changes ver="1.9.1" date="2015-05-26"> <change type="change"> <para lang="ru"> @@ -2252,7 +2425,7 @@ Thanks to Sergey Polovko. </changes> -<changes ver="1.9.0" date="28.04.2015"> +<changes ver="1.9.0" date="2015-04-28"> <change type="change"> <para lang="ru"> @@ -2330,7 +2503,7 @@ if not specified in the first "listen" directive for a listen socket. </changes> -<changes ver="1.7.12" date="07.04.2015"> +<changes ver="1.7.12" date="2015-04-07"> <change type="feature"> <para lang="ru"> @@ -2393,7 +2566,7 @@ in the ngx_http_spdy_module. </changes> -<changes ver="1.7.11" date="24.03.2015"> +<changes ver="1.7.11" date="2015-03-24"> <change type="change"> <para lang="ru"> @@ -2561,7 +2734,7 @@ to automatically construct certificate chains. </changes> -<changes ver="1.7.10" date="10.02.2015"> +<changes ver="1.7.10" date="2015-02-10"> <change type="feature"> <para lang="ru"> @@ -2653,7 +2826,7 @@ Thanks to Goetz T. Fischer. </changes> -<changes ver="1.7.9" date="23.12.2014"> +<changes ver="1.7.9" date="2014-12-23"> <change type="feature"> <para lang="ru"> @@ -2757,7 +2930,7 @@ Thanks to Lukas Tribus. </changes> -<changes ver="1.7.8" date="02.12.2014"> +<changes ver="1.7.8" date="2014-12-02"> <change type="change"> <para lang="ru"> @@ -2923,7 +3096,7 @@ Thanks to Yichun Zhang. </changes> -<changes ver="1.7.7" date="28.10.2014"> +<changes ver="1.7.7" date="2014-10-28"> <change type="change"> <para lang="ru"> @@ -3033,7 +3206,7 @@ Thanks to Kouhei Sutou. </changes> -<changes ver="1.7.6" date="30.09.2014"> +<changes ver="1.7.6" date="2014-09-30"> <change type="change"> <para lang="ru"> @@ -3078,7 +3251,7 @@ in logging to syslog. </changes> -<changes ver="1.7.5" date="16.09.2014"> +<changes ver="1.7.5" date="2014-09-16"> <change type="security"> <para lang="ru"> @@ -3223,7 +3396,7 @@ Thanks to Markus Linnala and Feng Gu. </changes> -<changes ver="1.7.4" date="05.08.2014"> +<changes ver="1.7.4" date="2014-08-05"> <change type="security"> <para lang="ru"> @@ -3352,7 +3525,7 @@ Thanks to Tatsuhiko Kubo and Piotr Sikora. </changes> -<changes ver="1.7.3" date="08.07.2014"> +<changes ver="1.7.3" date="2014-07-08"> <change type="feature"> <para lang="ru"> @@ -3432,7 +3605,7 @@ if caching was used. </changes> -<changes ver="1.7.2" date="17.06.2014"> +<changes ver="1.7.2" date="2014-06-17"> <change type="feature"> <para lang="ru"> @@ -3501,7 +3674,7 @@ in the ngx_http_spdy_module. </changes> -<changes ver="1.7.1" date="27.05.2014"> +<changes ver="1.7.1" date="2014-05-27"> <change type="feature"> <para lang="ru"> @@ -3619,7 +3792,7 @@ nginx could not be built with the --with-file-aio option on Linux/aarch64. </changes> -<changes ver="1.7.0" date="24.04.2014"> +<changes ver="1.7.0" date="2014-04-24"> <change type="feature"> <para lang="ru"> @@ -3660,7 +3833,7 @@ the "if" parameter of the "access_log" directive. </changes> -<changes ver="1.5.13" date="08.04.2014"> +<changes ver="1.5.13" date="2014-04-08"> <change type="change"> <para lang="ru"> @@ -3753,7 +3926,7 @@ in the ngx_http_spdy_module. </changes> -<changes ver="1.5.12" date="18.03.2014"> +<changes ver="1.5.12" date="2014-03-18"> <change type="security"> <para lang="ru"> @@ -3799,7 +3972,7 @@ Thanks to Lucas Molas. </changes> -<changes ver="1.5.11" date="04.03.2014"> +<changes ver="1.5.11" date="2014-03-04"> <change type="security"> <para lang="ru"> @@ -3909,7 +4082,7 @@ nginx/Windows could not be built with Visual Studio 2013. </changes> -<changes ver="1.5.10" date="04.02.2014"> +<changes ver="1.5.10" date="2014-02-04"> <change type="feature"> <para lang="ru"> @@ -3988,7 +4161,7 @@ Thanks to Piotr Sikora. </changes> -<changes ver="1.5.9" date="22.01.2014"> +<changes ver="1.5.9" date="2014-01-22"> <change type="change"> <para lang="ru"> @@ -4130,7 +4303,7 @@ incorrectly handled IPv6 client addresses. </changes> -<changes ver="1.5.8" date="17.12.2013"> +<changes ver="1.5.8" date="2013-12-17"> <change type="feature"> <para lang="ru"> @@ -4215,7 +4388,7 @@ in the ngx_http_spdy_module. </changes> -<changes ver="1.5.7" date="19.11.2013"> +<changes ver="1.5.7" date="2013-11-19"> <change type="security"> <para lang="ru"> @@ -4351,7 +4524,7 @@ memory leak in nginx/Windows. </changes> -<changes ver="1.5.6" date="01.10.2013"> +<changes ver="1.5.6" date="2013-10-01"> <change type="feature"> <para lang="ru"> @@ -4449,7 +4622,7 @@ in the ngx_http_spdy_module. </changes> -<changes ver="1.5.5" date="17.09.2013"> +<changes ver="1.5.5" date="2013-09-17"> <change type="change"> <para lang="ru"> @@ -4528,7 +4701,7 @@ Thanks to Piotr Sikora. </changes> -<changes ver="1.5.4" date="27.08.2013"> +<changes ver="1.5.4" date="2013-08-27"> <change type="change"> <para lang="ru"> @@ -4630,7 +4803,7 @@ in the ngx_http_spdy_module. </changes> -<changes ver="1.5.3" date="30.07.2013"> +<changes ver="1.5.3" date="2013-07-30"> <change> <para lang="ru"> @@ -4705,7 +4878,7 @@ in the ngx_http_sub_filter_module. </changes> -<changes ver="1.5.2" date="02.07.2013"> +<changes ver="1.5.2" date="2013-07-02"> <change type="feature"> <para lang="ru"> @@ -4754,7 +4927,7 @@ Thanks to Serguei Ivantsov. </changes> -<changes ver="1.5.1" date="04.06.2013"> +<changes ver="1.5.1" date="2013-06-04"> <change type="feature"> <para lang="ru"> @@ -4877,7 +5050,7 @@ if several worker processes were used. </changes> -<changes ver="1.5.0" date="07.05.2013"> +<changes ver="1.5.0" date="2013-05-07"> <change type="security"> <para lang="ru"> @@ -4899,7 +5072,7 @@ Thanks to Greg MacManus, iSIGHT Partners Labs. </changes> -<changes ver="1.4.0" date="24.04.2013"> +<changes ver="1.4.0" date="2013-04-24"> <change type="bugfix"> <para lang="ru"> @@ -4928,7 +5101,7 @@ the bug had appeared in 1.3.9. </changes> -<changes ver="1.3.16" date="16.04.2013"> +<changes ver="1.3.16" date="2013-04-16"> <change type="bugfix"> <para lang="ru"> @@ -4979,7 +5152,7 @@ in the eventport and /dev/poll methods. </changes> -<changes ver="1.3.15" date="26.03.2013"> +<changes ver="1.3.15" date="2013-03-26"> <change type="change"> <para lang="ru"> @@ -5096,7 +5269,7 @@ in backend usage accounting. </changes> -<changes ver="1.3.14" date="05.03.2013"> +<changes ver="1.3.14" date="2013-03-05"> <change type="feature"> <para lang="ru"> @@ -5169,7 +5342,7 @@ Thanks to Gernot Vormayr. </changes> -<changes ver="1.3.13" date="19.02.2013"> +<changes ver="1.3.13" date="2013-02-19"> <change type="change"> <para lang="ru"> @@ -5207,7 +5380,7 @@ Thanks to Louis Opter. </changes> -<changes ver="1.3.12" date="05.02.2013"> +<changes ver="1.3.12" date="2013-02-05"> <change type="feature"> <para lang="ru"> @@ -5307,7 +5480,7 @@ in the "fastcgi_keep_conn" directive. </changes> -<changes ver="1.3.11" date="10.01.2013"> +<changes ver="1.3.11" date="2013-01-10"> <change type="bugfix"> <para lang="ru"> @@ -5360,7 +5533,7 @@ for IPv6 addresses. </changes> -<changes ver="1.3.10" date="25.12.2012"> +<changes ver="1.3.10" date="2012-12-25"> <change type="change"> <para lang="ru"> @@ -5538,7 +5711,7 @@ if the "gzip" directive was used. </changes> -<changes ver="1.3.9" date="27.11.2012"> +<changes ver="1.3.9" date="2012-11-27"> <change type="feature"> <para lang="ru"> @@ -5583,7 +5756,7 @@ in the ngx_http_dav_module. </changes> -<changes ver="1.3.8" date="30.10.2012"> +<changes ver="1.3.8" date="2012-10-30"> <change type="feature"> <para lang="ru"> @@ -5648,7 +5821,7 @@ in the "ssl_stapling" directive. </changes> -<changes ver="1.3.7" date="02.10.2012"> +<changes ver="1.3.7" date="2012-10-02"> <change type="feature"> <para lang="ru"> @@ -5695,7 +5868,7 @@ OpenSSL 0.9.7 compatibility. </changes> -<changes ver="1.3.6" date="12.09.2012"> +<changes ver="1.3.6" date="2012-09-12"> <change type="feature"> <para lang="ru"> @@ -5751,7 +5924,7 @@ if the --with-ipv6 option was used. </changes> -<changes ver="1.3.5" date="21.08.2012"> +<changes ver="1.3.5" date="2012-08-21"> <change type="change"> <para lang="ru"> @@ -5833,7 +6006,7 @@ Thanks to HAYASHI Kentaro. </changes> -<changes ver="1.3.4" date="31.07.2012"> +<changes ver="1.3.4" date="2012-07-31"> <change type="change"> <para lang="ru"> @@ -5896,7 +6069,7 @@ might be inherited incorrectly. </changes> -<changes ver="1.3.3" date="10.07.2012"> +<changes ver="1.3.3" date="2012-07-10"> <change type="feature"> <para lang="ru"> @@ -5934,7 +6107,7 @@ before an internal redirect to a named location. </changes> -<changes ver="1.3.2" date="26.06.2012"> +<changes ver="1.3.2" date="2012-06-26"> <change type="change"> <para lang="ru"> @@ -6039,7 +6212,7 @@ while reconfiguration. </changes> -<changes ver="1.3.1" date="05.06.2012"> +<changes ver="1.3.1" date="2012-06-05"> <change type="security"> <para lang="ru"> @@ -6169,7 +6342,7 @@ in the "proxy_cookie_domain" and "proxy_cookie_path" directives. </changes> -<changes ver="1.3.0" date="15.05.2012"> +<changes ver="1.3.0" date="2012-05-15"> <change type="feature"> <para lang="ru"> @@ -6308,7 +6481,7 @@ in the ngx_http_fastcgi_module. </changes> -<changes ver="1.2.0" date="23.04.2012"> +<changes ver="1.2.0" date="2012-04-23"> <change type="bugfix"> <para lang="ru"> @@ -6348,7 +6521,7 @@ Thanks to Maxim Bublis. </changes> -<changes ver="1.1.19" date="12.04.2012"> +<changes ver="1.1.19" date="2012-04-12"> <change type="security"> <para lang="ru"> @@ -6430,7 +6603,7 @@ in the ngx_http_mp4_module. </changes> -<changes ver="1.1.18" date="28.03.2012"> +<changes ver="1.1.18" date="2012-03-28"> <change type="change"> <para lang="ru"> @@ -6513,7 +6686,7 @@ nginx could not be built on Debian GNU/Hurd. </changes> -<changes ver="1.1.17" date="15.03.2012"> +<changes ver="1.1.17" date="2012-03-15"> <change type="security"> <para lang="ru"> @@ -6551,7 +6724,7 @@ in the ngx_http_uwsgi_module. </changes> -<changes ver="1.1.16" date="29.02.2012"> +<changes ver="1.1.16" date="2012-02-29"> <change type="change"> <para lang="ru"> @@ -6664,7 +6837,7 @@ the bug had appeared in 1.1.15. </changes> -<changes ver="1.1.15" date="15.02.2012"> +<changes ver="1.1.15" date="2012-02-15"> <change type="feature"> <para lang="ru"> @@ -6767,7 +6940,7 @@ the bug had appeared in 0.7.25. </changes> -<changes ver="1.1.14" date="30.01.2012"> +<changes ver="1.1.14" date="2012-01-30"> <change type="feature"> <para lang="ru"> @@ -6828,7 +7001,7 @@ memory leak during reconfiguration if the "pcre_jit" directive was used. </changes> -<changes ver="1.1.13" date="16.01.2012"> +<changes ver="1.1.13" date="2012-01-16"> <change type="feature"> <para lang="ru"> @@ -6904,7 +7077,7 @@ in the ngx_http_mp4_module. </changes> -<changes ver="1.1.12" date="26.12.2011"> +<changes ver="1.1.12" date="2011-12-26"> <change type="change"> <para lang="ru"> @@ -7044,7 +7217,7 @@ the bug had appeared in 1.1.9. </changes> -<changes ver="1.1.11" date="12.12.2011"> +<changes ver="1.1.11" date="2011-12-12"> <change type="feature"> <para lang="ru"> @@ -7142,7 +7315,7 @@ responses from cache might hang. </changes> -<changes ver="1.1.10" date="30.11.2011"> +<changes ver="1.1.10" date="2011-11-30"> <change type="bugfix"> <para lang="ru"> @@ -7158,7 +7331,7 @@ the bug had appeared in 1.1.9. </changes> -<changes ver="1.1.9" date="28.11.2011"> +<changes ver="1.1.9" date="2011-11-28"> <change type="change"> <para lang="ru"> @@ -7324,7 +7497,7 @@ nginx could not be built on AIX. </changes> -<changes ver="1.1.8" date="14.11.2011"> +<changes ver="1.1.8" date="2011-11-14"> <change type="change"> <para lang="ru"> @@ -7419,7 +7592,7 @@ Thanks to Piotr Sikora. </changes> -<changes ver="1.1.7" date="31.10.2011"> +<changes ver="1.1.7" date="2011-10-31"> <change type="feature"> <para lang="ru"> @@ -7479,7 +7652,7 @@ in the "expires @time" directive. </changes> -<changes ver="1.1.6" date="17.10.2011"> +<changes ver="1.1.6" date="2011-10-17"> <change> <para lang="ru"> @@ -7599,7 +7772,7 @@ the module ngx_http_mp4_module did not support seeking on 32-bit platforms. </changes> -<changes ver="1.1.5" date="05.10.2011"> +<changes ver="1.1.5" date="2011-10-05"> <change type="feature"> <para lang="ru"> @@ -7680,7 +7853,7 @@ the bug had appeared in 1.1.1. </changes> -<changes ver="1.1.4" date="20.09.2011"> +<changes ver="1.1.4" date="2011-09-20"> <change type="feature"> <para lang="ru"> @@ -7763,7 +7936,7 @@ the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom. </changes> -<changes ver="1.1.3" date="14.09.2011"> +<changes ver="1.1.3" date="2011-09-14"> <change type="feature"> <para lang="ru"> @@ -7806,7 +7979,7 @@ nginx could not be built on MacOSX 10.7. </changes> -<changes ver="1.1.2" date="05.09.2011"> +<changes ver="1.1.2" date="2011-09-05"> <change type="change"> <para lang="ru"> @@ -7851,7 +8024,7 @@ in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives. </changes> -<changes ver="1.1.1" date="22.08.2011"> +<changes ver="1.1.1" date="2011-08-22"> <change type="change"> <para lang="ru"> @@ -7995,7 +8168,7 @@ the bug had appeared in 0.8.40. </changes> -<changes ver="1.1.0" date="01.08.2011"> +<changes ver="1.1.0" date="2011-08-01"> <change type="feature"> <para lang="ru"> @@ -8128,7 +8301,7 @@ SSL modules could not be built by gcc 4.6 without --with-debug option. </changes> -<changes ver="1.0.5" date="19.07.2011"> +<changes ver="1.0.5" date="2011-07-19"> <change type="change"> <para lang="ru"> @@ -8204,7 +8377,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="1.0.4" date="01.06.2011"> +<changes ver="1.0.4" date="2011-06-01"> <change type="change"> <para lang="ru"> @@ -8251,7 +8424,7 @@ the bug had appeared in 1.0.3. </changes> -<changes ver="1.0.3" date="25.05.2011"> +<changes ver="1.0.3" date="2011-05-25"> <change type="feature"> <para lang="ru"> @@ -8320,7 +8493,7 @@ the bug had appeared in 0.8.46. </changes> -<changes ver="1.0.2" date="10.05.2011"> +<changes ver="1.0.2" date="2011-05-10"> <change type="feature"> <para lang="ru"> @@ -8356,7 +8529,7 @@ the bug had appeared in 1.0.1. </changes> -<changes ver="1.0.1" date="03.05.2011"> +<changes ver="1.0.1" date="2011-05-03"> <change type="change"> <para lang="ru"> @@ -8464,7 +8637,7 @@ Thanks to Igor A. Valcov. </changes> -<changes ver="1.0.0" date="12.04.2011"> +<changes ver="1.0.0" date="2011-04-12"> <change type="bugfix"> <para lang="ru"> @@ -8501,7 +8674,7 @@ a "satisfy any" directive disabled custom 401 error page. </changes> -<changes ver="0.9.7" date="04.04.2011"> +<changes ver="0.9.7" date="2011-04-04"> <change type="feature"> <para lang="ru"> @@ -8541,7 +8714,7 @@ directives is given by expression and refers to a defined upstream. </changes> -<changes ver="0.9.6" date="21.03.2011"> +<changes ver="0.9.6" date="2011-03-21"> <change type="feature"> <para lang="ru"> @@ -8568,7 +8741,7 @@ Thanks to Michael Lustfield. </changes> -<changes ver="0.9.5" date="21.02.2011"> +<changes ver="0.9.5" date="2011-02-21"> <change type="change"> <para lang="ru"> @@ -8622,7 +8795,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.9.4" date="21.01.2011"> +<changes ver="0.9.4" date="2011-01-21"> <change type="feature"> <para lang="ru"> @@ -8645,7 +8818,7 @@ the "server_name" directive supports the $hostname variable. </changes> -<changes ver="0.9.3" date="13.12.2010"> +<changes ver="0.9.3" date="2010-12-13"> <change type="bugfix"> <para lang="ru"> @@ -8672,7 +8845,7 @@ the bug had appeared in 0.9.0. </changes> -<changes ver="0.9.2" date="06.12.2010"> +<changes ver="0.9.2" date="2010-12-06"> <change type="feature"> <para lang="ru"> @@ -8719,7 +8892,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.9.1" date="30.11.2010"> +<changes ver="0.9.1" date="2010-11-30"> <change type="bugfix"> <para lang="ru"> @@ -8735,7 +8908,7 @@ the bug had appeared in 0.9.0. </changes> -<changes ver="0.9.0" date="29.11.2010"> +<changes ver="0.9.0" date="2010-11-29"> <change type="feature"> <para lang="ru"> @@ -8834,7 +9007,7 @@ the bug had appeared in 0.8.42. </changes> -<changes ver="0.8.53" date="18.10.2010"> +<changes ver="0.8.53" date="2010-10-18"> <change type="feature"> <para lang="ru"> @@ -8883,7 +9056,7 @@ the bug had appeared in 0.8.21. </changes> -<changes ver="0.8.52" date="28.09.2010"> +<changes ver="0.8.52" date="2010-09-28"> <change type="bugfix"> <para lang="ru"> @@ -8900,7 +9073,7 @@ the bug had appeared in 0.8.51. </changes> -<changes ver="0.8.51" date="27.09.2010"> +<changes ver="0.8.51" date="2010-09-27"> <change type="change"> <para lang="ru"> @@ -8932,7 +9105,7 @@ now a listen socket "ssl" parameter may be set several times. </changes> -<changes ver="0.8.50" date="02.09.2010"> +<changes ver="0.8.50" date="2010-09-02"> <change type="feature"> <para lang="ru"> @@ -8994,7 +9167,7 @@ to a process run in other session. </changes> -<changes ver="0.8.49" date="09.08.2010"> +<changes ver="0.8.49" date="2010-08-09"> <change type="feature"> <para lang="ru"> @@ -9032,7 +9205,7 @@ the bug had appeared in 0.8.48. </changes> -<changes ver="0.8.48" date="03.08.2010"> +<changes ver="0.8.48" date="2010-08-03"> <change type="change"> <para lang="ru"> @@ -9129,7 +9302,7 @@ if an image was larger than "image_filter_buffer" size. </changes> -<changes ver="0.8.47" date="28.07.2010"> +<changes ver="0.8.47" date="2010-07-28"> <change type="bugfix"> <para lang="ru"> @@ -9164,7 +9337,7 @@ the bug had appeared in 0.8.46. </changes> -<changes ver="0.8.46" date="19.07.2010"> +<changes ver="0.8.46" date="2010-07-19"> <change type="change"> <para lang="ru"> @@ -9204,7 +9377,7 @@ time or on memory low condition. </changes> -<changes ver="0.8.45" date="13.07.2010"> +<changes ver="0.8.45" date="2010-07-13"> <change type="feature"> <para lang="ru"> @@ -9243,7 +9416,7 @@ the "listen" directive did not support the "setfib=0" parameter. </changes> -<changes ver="0.8.44" date="05.07.2010"> +<changes ver="0.8.44" date="2010-07-05"> <change type="change"> <para lang="ru"> @@ -9308,7 +9481,7 @@ Thanks to Miroslaw Jaworski. </changes> -<changes ver="0.8.43" date="30.06.2010"> +<changes ver="0.8.43" date="2010-06-30"> <change type="feature"> <para lang="ru"> @@ -9355,7 +9528,7 @@ the $uid_set variable may be used at any request processing stage. </changes> -<changes ver="0.8.42" date="21.06.2010"> +<changes ver="0.8.42" date="2010-06-21"> <change type="change"> <para lang="ru"> @@ -9393,7 +9566,7 @@ a text answer may be added to a "return" directive. </changes> -<changes ver="0.8.41" date="15.06.2010"> +<changes ver="0.8.41" date="2010-06-15"> <change type="security"> <para lang="ru"> @@ -9442,7 +9615,7 @@ in "Destination" request header line. </changes> -<changes ver="0.8.40" date="07.06.2010"> +<changes ver="0.8.40" date="2010-06-07"> <change type="security"> <para lang="ru"> @@ -9502,7 +9675,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.8.39" date="31.05.2010"> +<changes ver="0.8.39" date="2010-05-31"> <change type="bugfix"> <para lang="ru"> @@ -9537,7 +9710,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.8.38" date="24.05.2010"> +<changes ver="0.8.38" date="2010-05-24"> <change type="feature"> <para lang="ru"> @@ -9584,7 +9757,7 @@ the $uid_got variable might not be used in the SSI and perl modules. </changes> -<changes ver="0.8.37" date="17.05.2010"> +<changes ver="0.8.37" date="2010-05-17"> <change type="feature"> <para lang="ru"> @@ -9658,7 +9831,7 @@ Thanks to Alan Batie. </changes> -<changes ver="0.8.36" date="22.04.2010"> +<changes ver="0.8.36" date="2010-04-22"> <change type="bugfix"> <para lang="ru"> @@ -9731,7 +9904,7 @@ the bug had appeared in 0.8.35. </changes> -<changes ver="0.8.35" date="01.04.2010"> +<changes ver="0.8.35" date="2010-04-01"> <change type="change"> <para lang="ru"> @@ -9831,7 +10004,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.8.34" date="03.03.2010"> +<changes ver="0.8.34" date="2010-03-03"> <change type="bugfix"> <para lang="ru"> @@ -9942,7 +10115,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.33" date="01.02.2010"> +<changes ver="0.8.33" date="2010-02-01"> <change type="security"> <para lang="ru"> @@ -10021,7 +10194,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.32" date="11.01.2010"> +<changes ver="0.8.32" date="2010-01-11"> <change type="bugfix"> <para lang="ru"> @@ -10086,7 +10259,7 @@ Thanks to Alex Kapranoff. </changes> -<changes ver="0.8.31" date="23.12.2009"> +<changes ver="0.8.31" date="2009-12-23"> <change type="feature"> <para lang="ru"> @@ -10182,7 +10355,7 @@ if the file should replace an already existent file. </changes> -<changes ver="0.8.30" date="15.12.2009"> +<changes ver="0.8.30" date="2009-12-15"> <change type="change"> <para lang="ru"> @@ -10244,7 +10417,7 @@ Thanks to W-Mark Kubacki. </changes> -<changes ver="0.8.29" date="30.11.2009"> +<changes ver="0.8.29" date="2009-11-30"> <change type="change"> <para lang="ru"> @@ -10323,7 +10496,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.8.28" date="23.11.2009"> +<changes ver="0.8.28" date="2009-11-23"> <change type="bugfix"> <para lang="ru"> @@ -10339,7 +10512,7 @@ the bug had appeared in 0.8.25. </changes> -<changes ver="0.8.27" date="17.11.2009"> +<changes ver="0.8.27" date="2009-11-17"> <change type="bugfix"> <para lang="ru"> @@ -10355,7 +10528,7 @@ the bug had appeared in 0.8.25. </changes> -<changes ver="0.8.26" date="16.11.2009"> +<changes ver="0.8.26" date="2009-11-16"> <change type="bugfix"> <para lang="ru"> @@ -10382,7 +10555,7 @@ the bug had appeared in 0.8.25. </changes> -<changes ver="0.8.25" date="16.11.2009"> +<changes ver="0.8.25" date="2009-11-16"> <change type="change"> <para lang="ru"> @@ -10459,7 +10632,7 @@ the bug had appeared in 0.8.16. </changes> -<changes ver="0.8.24" date="11.11.2009"> +<changes ver="0.8.24" date="2009-11-11"> <change type="bugfix"> <para lang="ru"> @@ -10506,7 +10679,7 @@ in resolving empty name. </changes> -<changes ver="0.8.23" date="11.11.2009"> +<changes ver="0.8.23" date="2009-11-11"> <change type="security"> <para lang="ru"> @@ -10562,7 +10735,7 @@ Thanks to Artem Bokhan. </changes> -<changes ver="0.8.22" date="03.11.2009"> +<changes ver="0.8.22" date="2009-11-03"> <change type="feature"> <para lang="ru"> @@ -10671,7 +10844,7 @@ the bug had appeared in 0.8.21. </changes> -<changes ver="0.8.21" date="26.10.2009"> +<changes ver="0.8.21" date="2009-10-26"> <change type="feature"> <para lang="ru"> @@ -10734,7 +10907,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.20" date="14.10.2009"> +<changes ver="0.8.20" date="2009-10-14"> <change type="change"> <para lang="ru"> @@ -10818,7 +10991,7 @@ nginx counted incorrectly disk cache size. </changes> -<changes ver="0.8.19" date="06.10.2009"> +<changes ver="0.8.19" date="2009-10-06"> <change type="change"> <para lang="ru"> @@ -10853,7 +11026,7 @@ the bug had appeared in 0.8.18. </changes> -<changes ver="0.8.18" date="06.10.2009"> +<changes ver="0.8.18" date="2009-10-06"> <change type="feature"> <para lang="ru"> @@ -10941,7 +11114,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.17" date="28.09.2009"> +<changes ver="0.8.17" date="2009-09-28"> <change type="security"> <para lang="ru"> @@ -10984,7 +11157,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.16" date="22.09.2009"> +<changes ver="0.8.16" date="2009-09-22"> <change type="feature"> <para lang="ru"> @@ -11082,7 +11255,7 @@ Thanks to Igor Artemiev. </changes> -<changes ver="0.8.15" date="14.09.2009"> +<changes ver="0.8.15" date="2009-09-14"> <change type="security"> <para lang="ru"> @@ -11151,7 +11324,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.14" date="07.09.2009"> +<changes ver="0.8.14" date="2009-09-07"> <change type="bugfix"> <para lang="ru"> @@ -11200,7 +11373,7 @@ the bug had appeared in 0.6.10. </changes> -<changes ver="0.8.13" date="31.08.2009"> +<changes ver="0.8.13" date="2009-08-31"> <change type="bugfix"> <para lang="ru"> @@ -11227,7 +11400,7 @@ the bug had appeared in 0.8.12. </changes> -<changes ver="0.8.12" date="31.08.2009"> +<changes ver="0.8.12" date="2009-08-31"> <change type="feature"> <para lang="ru"> @@ -11262,7 +11435,7 @@ the bug had appeared in 0.8.11. </changes> -<changes ver="0.8.11" date="28.08.2009"> +<changes ver="0.8.11" date="2009-08-28"> <change type="change"> <para lang="ru"> @@ -11296,7 +11469,7 @@ the "directio_alignment" directive. </changes> -<changes ver="0.8.10" date="24.08.2009"> +<changes ver="0.8.10" date="2009-08-24"> <change type="bugfix"> <para lang="ru"> @@ -11321,7 +11494,7 @@ the bug had appeared in 0.8.9. </changes> -<changes ver="0.8.9" date="17.08.2009"> +<changes ver="0.8.9" date="2009-08-17"> <change type="feature"> <para lang="ru"> @@ -11348,7 +11521,7 @@ different file systems. </changes> -<changes ver="0.8.8" date="10.08.2009"> +<changes ver="0.8.8" date="2009-08-10"> <change type="bugfix"> <para lang="ru"> @@ -11377,7 +11550,7 @@ the bug had appeared in 0.8.7. </changes> -<changes ver="0.8.7" date="27.07.2009"> +<changes ver="0.8.7" date="2009-07-27"> <change type="change"> <para lang="ru"> @@ -11497,7 +11670,7 @@ the bug had appeared in 0.8.5. </changes> -<changes ver="0.8.6" date="20.07.2009"> +<changes ver="0.8.6" date="2009-07-20"> <change type="feature"> <para lang="ru"> @@ -11560,7 +11733,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.8.5" date="13.07.2009"> +<changes ver="0.8.5" date="2009-07-13"> <change type="bugfix"> <para lang="ru"> @@ -11605,7 +11778,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.8.4" date="22.06.2009"> +<changes ver="0.8.4" date="2009-06-22"> <change type="bugfix"> <para lang="ru"> @@ -11621,7 +11794,7 @@ the bug had appeared in 0.8.3. </changes> -<changes ver="0.8.3" date="19.06.2009"> +<changes ver="0.8.3" date="2009-06-19"> <change type="feature"> <para lang="ru"> @@ -11670,7 +11843,7 @@ Thanks to Eugene Mychlo. </changes> -<changes ver="0.8.2" date="15.06.2009"> +<changes ver="0.8.2" date="2009-06-15"> <change type="bugfix"> <para lang="ru"> @@ -11695,7 +11868,7 @@ the bug had appeared in 0.7.4. </changes> -<changes ver="0.8.1" date="08.06.2009"> +<changes ver="0.8.1" date="2009-06-08"> <change type="feature"> <para lang="ru"> @@ -11758,7 +11931,7 @@ the bug had appeared in 0.7.56. </changes> -<changes ver="0.8.0" date="02.06.2009"> +<changes ver="0.8.0" date="2009-06-02"> <change type="feature"> <para lang="ru"> @@ -11821,7 +11994,7 @@ Thanks to Maxim Dounin and Kirill A. Korinskiy. </changes> -<changes ver="0.7.59" date="25.05.2009"> +<changes ver="0.7.59" date="2009-05-25"> <change type="feature"> <para lang="ru"> @@ -11896,7 +12069,7 @@ responses. </changes> -<changes ver="0.7.58" date="18.05.2009"> +<changes ver="0.7.58" date="2009-05-18"> <change type="feature"> <para lang="ru"> @@ -11961,7 +12134,7 @@ Thanks to Denis F. Latypoff. </changes> -<changes ver="0.7.57" date="12.05.2009"> +<changes ver="0.7.57" date="2009-05-12"> <change type="bugfix"> <para lang="ru"> @@ -11979,7 +12152,7 @@ the bug had appeared in 0.7.56. </changes> -<changes ver="0.7.56" date="11.05.2009"> +<changes ver="0.7.56" date="2009-05-11"> <change type="feature"> <para lang="ru"> @@ -12002,7 +12175,7 @@ in ngx_http_image_filter_module. </changes> -<changes ver="0.7.55" date="06.05.2009"> +<changes ver="0.7.55" date="2009-05-06"> <change type="bugfix"> <para lang="ru"> @@ -12071,7 +12244,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.7.54" date="01.05.2009"> +<changes ver="0.7.54" date="2009-05-01"> <change type="feature"> <para lang="ru"> @@ -12147,7 +12320,7 @@ the bug had appeared in 0.7.53. </changes> -<changes ver="0.7.53" date="27.04.2009"> +<changes ver="0.7.53" date="2009-04-27"> <change type="change"> <para lang="ru"> @@ -12280,7 +12453,7 @@ Thanks to Andrew Vorobyoff. </changes> -<changes ver="0.7.52" date="20.04.2009"> +<changes ver="0.7.52" date="2009-04-20"> <change type="feature"> <para lang="ru"> @@ -12360,7 +12533,7 @@ the bug had appeared in 0.7.42. </changes> -<changes ver="0.7.51" date="12.04.2009"> +<changes ver="0.7.51" date="2009-04-12"> <change type="feature"> <para lang="ru"> @@ -12407,7 +12580,7 @@ the bug had appeared in 0.7.39. </changes> -<changes ver="0.7.50" date="06.04.2009"> +<changes ver="0.7.50" date="2009-04-06"> <change type="bugfix"> <para lang="ru"> @@ -12423,7 +12596,7 @@ the bug had appeared in 0.7.49. </changes> -<changes ver="0.7.49" date="06.04.2009"> +<changes ver="0.7.49" date="2009-04-06"> <change type="bugfix"> <para lang="ru"> @@ -12441,7 +12614,7 @@ the bug had appeared in 0.7.48. </changes> -<changes ver="0.7.48" date="06.04.2009"> +<changes ver="0.7.48" date="2009-04-06"> <change type="feature"> <para lang="ru"> @@ -12517,7 +12690,7 @@ the bug had <nobr>appeared in 0.7.46.</nobr> </changes> -<changes ver="0.7.47" date="01.04.2009"> +<changes ver="0.7.47" date="2009-04-01"> <change type="bugfix"> <para lang="ru"> @@ -12586,7 +12759,7 @@ the bug had appeared in 0.7.44. </changes> -<changes ver="0.7.46" date="30.03.2009"> +<changes ver="0.7.46" date="2009-03-30"> <change type="bugfix"> <para lang="ru"> @@ -12600,7 +12773,7 @@ the previous release tarball was incorrect. </changes> -<changes ver="0.7.45" date="30.03.2009"> +<changes ver="0.7.45" date="2009-03-30"> <change type="change"> <para lang="ru"> @@ -12694,7 +12867,7 @@ the bug had appeared in 0.7.42. </changes> -<changes ver="0.7.44" date="23.03.2009"> +<changes ver="0.7.44" date="2009-03-23"> <change type="feature"> <para lang="ru"> @@ -12757,7 +12930,7 @@ then captures in regular expressions in a "server_name" directive did not work. </changes> -<changes ver="0.7.43" date="18.03.2009"> +<changes ver="0.7.43" date="2009-03-18"> <change type="bugfix"> <para lang="ru"> @@ -12786,7 +12959,7 @@ the bug had appeared in 0.7.36. </changes> -<changes ver="0.7.42" date="16.03.2009"> +<changes ver="0.7.42" date="2009-03-16"> <change type="change"> <para lang="ru"> @@ -12870,7 +13043,7 @@ the bug had appeared in 0.7.41. </changes> -<changes ver="0.7.41" date="11.03.2009"> +<changes ver="0.7.41" date="2009-03-11"> <change type="bugfix"> <para lang="ru"> @@ -12891,7 +13064,7 @@ Thanks to Vladimir Sopot. </changes> -<changes ver="0.7.40" date="09.03.2009"> +<changes ver="0.7.40" date="2009-03-09"> <change type="feature"> <para lang="ru"> @@ -12941,7 +13114,7 @@ Thanks to Dmitry Kuzmenko. </changes> -<changes ver="0.7.39" date="02.03.2009"> +<changes ver="0.7.39" date="2009-03-02"> <change type="bugfix"> <para lang="ru"> @@ -12970,7 +13143,7 @@ if short static variants are used in a "try_files" directive. </changes> -<changes ver="0.7.38" date="23.02.2009"> +<changes ver="0.7.38" date="2009-02-23"> <change type="feature"> <para lang="ru"> @@ -13010,7 +13183,7 @@ the bug had appeared in 0.7.36. </changes> -<changes ver="0.7.37" date="21.02.2009"> +<changes ver="0.7.37" date="2009-02-21"> <change type="bugfix"> <para lang="ru"> @@ -13026,7 +13199,7 @@ the bug had appeared in 0.7.36. </changes> -<changes ver="0.7.36" date="21.02.2009"> +<changes ver="0.7.36" date="2009-02-21"> <change type="feature"> <para lang="ru"> @@ -13053,7 +13226,7 @@ preset by a "modern_browser" directives. </changes> -<changes ver="0.7.35" date="16.02.2009"> +<changes ver="0.7.35" date="2009-02-16"> <change type="bugfix"> <para lang="ru"> @@ -13097,7 +13270,7 @@ if ".domain.tld" and ".subdomain.domain.tld" wildcards were used; </changes> -<changes ver="0.7.34" date="10.02.2009"> +<changes ver="0.7.34" date="2009-02-10"> <change type="feature"> <para lang="ru"> @@ -13160,7 +13333,7 @@ nginx could not be built on AIX. </changes> -<changes ver="0.7.33" date="02.02.2009"> +<changes ver="0.7.33" date="2009-02-02"> <change type="bugfix"> <para lang="ru"> @@ -13199,7 +13372,7 @@ if "resolver" directive was used in SMTP proxy. </changes> -<changes ver="0.7.32" date="26.01.2009"> +<changes ver="0.7.32" date="2009-01-26"> <change type="feature"> <para lang="ru"> @@ -13244,7 +13417,7 @@ Thanks to Andrey Kvasov. </changes> -<changes ver="0.7.31" date="19.01.2009"> +<changes ver="0.7.31" date="2009-01-19"> <change type="change"> <para lang="ru"> @@ -13316,7 +13489,7 @@ Thanks to Maxim Dounin. -<changes ver="0.7.30" date="24.12.2008"> +<changes ver="0.7.30" date="2008-12-24"> <change type="bugfix"> <para lang="ru"> @@ -13336,7 +13509,7 @@ the bug had appeared in 0.7.29. </changes> -<changes ver="0.7.29" date="24.12.2008"> +<changes ver="0.7.29" date="2008-12-24"> <change type="bugfix"> <para lang="ru"> @@ -13383,7 +13556,7 @@ in memory allocation in the ngx_http_gzip_filter_module on Cygwin. </changes> -<changes ver="0.7.28" date="22.12.2008"> +<changes ver="0.7.28" date="2008-12-22"> <change type="change"> <para lang="ru"> @@ -13408,7 +13581,7 @@ to 32 4k or 16 8k from 4 4k/8k. </changes> -<changes ver="0.7.27" date="15.12.2008"> +<changes ver="0.7.27" date="2008-12-15"> <change type="feature"> <para lang="ru"> @@ -13504,7 +13677,7 @@ Thanks to Sergey Bochenkov. </changes> -<changes ver="0.7.26" date="08.12.2008"> +<changes ver="0.7.26" date="2008-12-08"> <change type="bugfix"> <para lang="ru"> @@ -13520,7 +13693,7 @@ the bug had appeared in 0.7.25. </changes> -<changes ver="0.7.25" date="08.12.2008"> +<changes ver="0.7.25" date="2008-12-08"> <change type="change"> <para lang="ru"> @@ -13561,7 +13734,7 @@ in the "delete" parameter of the "geo" directive. </changes> -<changes ver="0.7.24" date="01.12.2008"> +<changes ver="0.7.24" date="2008-12-01"> <change type="feature"> <para lang="ru"> @@ -13595,7 +13768,7 @@ the "$cookie_..." variables did not work in the SSI and the perl module. </changes> -<changes ver="0.7.23" date="27.11.2008"> +<changes ver="0.7.23" date="2008-11-27"> <change type="feature"> <para lang="ru"> @@ -13627,7 +13800,7 @@ decrease of memory required for geo base load. </changes> -<changes ver="0.7.22" date="20.11.2008"> +<changes ver="0.7.22" date="2008-11-20"> <change type="feature"> <para lang="ru"> @@ -13672,7 +13845,7 @@ Thanks to Zyb. </changes> -<changes ver="0.7.21" date="11.11.2008"> +<changes ver="0.7.21" date="2008-11-11"> <change> <para lang="ru"> @@ -13719,7 +13892,7 @@ the bug had appeared in 0.7.6. </changes> -<changes ver="0.7.20" date="10.11.2008"> +<changes ver="0.7.20" date="2008-11-10"> <change> <para lang="ru"> @@ -13795,7 +13968,7 @@ $server_addr variable might have no value. </changes> -<changes ver="0.7.19" date="13.10.2008"> +<changes ver="0.7.19" date="2008-10-13"> <change type="bugfix"> <para lang="ru"> @@ -13809,7 +13982,7 @@ version number update. </changes> -<changes ver="0.7.18" date="13.10.2008"> +<changes ver="0.7.18" date="2008-10-13"> <change type="change"> <para lang="ru"> @@ -13900,7 +14073,7 @@ now accept threshold depends on worker_connections. </changes> -<changes ver="0.7.17" date="15.09.2008"> +<changes ver="0.7.17" date="2008-09-15"> <change type="feature"> <para lang="ru"> @@ -13956,7 +14129,7 @@ received from backend. </changes> -<changes ver="0.7.16" date="08.09.2008"> +<changes ver="0.7.16" date="2008-09-08"> <change type="bugfix"> <para lang="ru"> @@ -13972,7 +14145,7 @@ the bug had appeared in 0.7.15. </changes> -<changes ver="0.7.15" date="08.09.2008"> +<changes ver="0.7.15" date="2008-09-08"> <change type="feature"> <para lang="ru"> @@ -14015,7 +14188,7 @@ now nginx allows underscores in a client request header line names. </changes> -<changes ver="0.7.14" date="01.09.2008"> +<changes ver="0.7.14" date="2008-09-01"> <change type="change"> <para lang="ru"> @@ -14083,7 +14256,7 @@ configuration file validity test improvements. </changes> -<changes ver="0.7.13" date="26.08.2008"> +<changes ver="0.7.13" date="2008-08-26"> <change type="bugfix"> <para lang="ru"> @@ -14099,7 +14272,7 @@ the bug had appeared in 0.7.12. </changes> -<changes ver="0.7.12" date="26.08.2008"> +<changes ver="0.7.12" date="2008-08-26"> <change type="feature"> <para lang="ru"> @@ -14169,7 +14342,7 @@ the bug had appeared in 0.7.0. </changes> -<changes ver="0.7.11" date="18.08.2008"> +<changes ver="0.7.11" date="2008-08-18"> <change type="change"> <para lang="ru"> @@ -14236,7 +14409,7 @@ the bugs had appeared in 0.7.1. </changes> -<changes ver="0.7.10" date="13.08.2008"> +<changes ver="0.7.10" date="2008-08-13"> <change type="bugfix"> <para lang="ru"> @@ -14274,7 +14447,7 @@ but for each request passed via the connection. </changes> -<changes ver="0.7.9" date="12.08.2008"> +<changes ver="0.7.9" date="2008-08-12"> <change type="change"> <para lang="ru"> @@ -14376,7 +14549,7 @@ the bug had appeared in 0.3.18. </changes> -<changes ver="0.7.8" date="04.08.2008"> +<changes ver="0.7.8" date="2008-08-04"> <change type="feature"> <para lang="ru"> @@ -14423,7 +14596,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.7.7" date="30.07.2008"> +<changes ver="0.7.7" date="2008-07-30"> <change type="change"> <para lang="ru"> @@ -14522,7 +14695,7 @@ UTF-8 encoding usage in the ngx_http_autoindex_module. </changes> -<changes ver="0.7.6" date="07.07.2008"> +<changes ver="0.7.6" date="2008-07-07"> <change type="bugfix"> <para lang="ru"> @@ -14548,7 +14721,7 @@ the ngx_http_flv_module did not support several values in a query string. </changes> -<changes ver="0.7.5" date="01.07.2008"> +<changes ver="0.7.5" date="2008-07-01"> <change> <para lang="ru"> @@ -14588,7 +14761,7 @@ were transferred incorrectly. </changes> -<changes ver="0.7.4" date="30.06.2008"> +<changes ver="0.7.4" date="2008-06-30"> <change type="feature"> <para lang="ru"> @@ -14638,7 +14811,7 @@ large SSI inclusions might be truncated. </changes> -<changes ver="0.7.3" date="23.06.2008"> +<changes ver="0.7.3" date="2008-06-23"> <change type="change"> <para lang="ru"> @@ -14687,7 +14860,7 @@ the bug had appeared in 0.6.9. </changes> -<changes ver="0.7.2" date="16.06.2008"> +<changes ver="0.7.2" date="2008-06-16"> <change type="feature"> <para lang="ru"> @@ -14757,7 +14930,7 @@ nginx dropped a query string from the original request. </changes> -<changes ver="0.7.1" date="26.05.2008"> +<changes ver="0.7.1" date="2008-05-26"> <change type="change"> <para lang="ru"> @@ -14825,7 +14998,7 @@ Thanks to Roxis. </changes> -<changes ver="0.7.0" date="19.05.2008"> +<changes ver="0.7.0" date="2008-05-19"> <change type="change"> <para lang="ru"> @@ -14903,7 +15076,7 @@ if keepalive was enabled. </changes> -<changes ver="0.6.31" date="12.05.2008"> +<changes ver="0.6.31" date="2008-05-12"> <change type="bugfix"> <para lang="ru"> @@ -14934,7 +15107,7 @@ and the "open_file_cache_errors" directive was off. </changes> -<changes ver="0.6.30" date="29.04.2008"> +<changes ver="0.6.30" date="2008-04-29"> <change type="change"> <para lang="ru"> @@ -15010,7 +15183,7 @@ the bug had appeared in 0.6.15. </changes> -<changes ver="0.6.29" date="18.03.2008"> +<changes ver="0.6.29" date="2008-03-18"> <change type="feature"> <para lang="ru"> @@ -15035,7 +15208,7 @@ the bug had appeared in 0.6.27. </changes> -<changes ver="0.6.28" date="13.03.2008"> +<changes ver="0.6.28" date="2008-03-13"> <change type="bugfix"> <para lang="ru"> @@ -15051,7 +15224,7 @@ the bug had appeared in 0.6.27. </changes> -<changes ver="0.6.27" date="12.03.2008"> +<changes ver="0.6.27" date="2008-03-12"> <change type="change"> <para lang="ru"> @@ -15221,7 +15394,7 @@ in copying URI part contained escaped symbols into arguments. </changes> -<changes ver="0.6.26" date="11.02.2008"> +<changes ver="0.6.26" date="2008-02-11"> <change type="bugfix"> <para lang="ru"> @@ -15304,7 +15477,7 @@ the bug had appeared in 0.6.23. </changes> -<changes ver="0.6.25" date="08.01.2008"> +<changes ver="0.6.25" date="2008-01-08"> <change type="change"> <para lang="ru"> @@ -15402,7 +15575,7 @@ the bug had appeared in 0.6.23. </changes> -<changes ver="0.6.24" date="27.12.2007"> +<changes ver="0.6.24" date="2007-12-27"> <change type="bugfix"> <para lang="ru"> @@ -15418,7 +15591,7 @@ the bug had appeared in 0.6.23. </changes> -<changes ver="0.6.23" date="27.12.2007"> +<changes ver="0.6.23" date="2007-12-27"> <change type="change"> <para lang="ru"> @@ -15557,7 +15730,7 @@ the bug had appeared in 0.5.13. </changes> -<changes ver="0.6.22" date="19.12.2007"> +<changes ver="0.6.22" date="2007-12-19"> <change type="change"> <para lang="ru"> @@ -15664,7 +15837,7 @@ Thanks to Manlio Perillo. </changes> -<changes ver="0.6.21" date="03.12.2007"> +<changes ver="0.6.21" date="2007-12-03"> <change type="change"> <para lang="ru"> @@ -15732,7 +15905,7 @@ then nginx returned usual response. </changes> -<changes ver="0.6.20" date="28.11.2007"> +<changes ver="0.6.20" date="2007-11-28"> <change type="bugfix"> <para lang="ru"> @@ -15750,7 +15923,7 @@ the bug had appeared in 0.6.19. </changes> -<changes ver="0.6.19" date="27.11.2007"> +<changes ver="0.6.19" date="2007-11-27"> <change type="bugfix"> <para lang="ru"> @@ -15763,7 +15936,7 @@ the 0.6.18 version could not be built. </changes> -<changes ver="0.6.18" date="27.11.2007"> +<changes ver="0.6.18" date="2007-11-27"> <change type="change"> <para lang="ru"> @@ -15828,7 +16001,7 @@ even if limit value was very high. </changes> -<changes ver="0.6.17" date="15.11.2007"> +<changes ver="0.6.17" date="2007-11-15"> <change type="feature"> <para lang="ru"> @@ -15895,7 +16068,7 @@ in HTTP/0.9 version. </changes> -<changes ver="0.6.16" date="29.10.2007"> +<changes ver="0.6.16" date="2007-10-29"> <change type="change"> <para lang="ru"> @@ -15933,7 +16106,7 @@ compatibility with mget. </changes> -<changes ver="0.6.15" date="22.10.2007"> +<changes ver="0.6.15" date="2007-10-22"> <change type="feature"> <para lang="ru"> @@ -16035,7 +16208,7 @@ the bug had appeared in 0.6.7. </changes> -<changes ver="0.6.14" date="15.10.2007"> +<changes ver="0.6.14" date="2007-10-15"> <change type="change"> <para lang="ru"> @@ -16156,7 +16329,7 @@ in sub_filter parsing. </changes> -<changes ver="0.6.13" date="24.09.2007"> +<changes ver="0.6.13" date="2007-09-24"> <change type="bugfix"> <para lang="ru"> @@ -16173,7 +16346,7 @@ Thanks to Arkadiusz Patyk. </changes> -<changes ver="0.6.12" date="21.09.2007"> +<changes ver="0.6.12" date="2007-09-21"> <change type="change"> <para lang="ru"> @@ -16243,7 +16416,7 @@ Thanks to Manlio Perillo. </changes> -<changes ver="0.6.11" date="11.09.2007"> +<changes ver="0.6.11" date="2007-09-11"> <change type="bugfix"> <para lang="ru"> @@ -16291,7 +16464,7 @@ the bug had appeared in 0.6.6. </changes> -<changes ver="0.6.10" date="03.09.2007"> +<changes ver="0.6.10" date="2007-09-03"> <change type="feature"> <para lang="ru"> @@ -16339,7 +16512,7 @@ if /dev/poll method was used. </changes> -<changes ver="0.6.9" date="28.08.2007"> +<changes ver="0.6.9" date="2007-08-28"> <change type="bugfix"> <para lang="ru"> @@ -16387,7 +16560,7 @@ the bug had appeared in 0.6.8. </changes> -<changes ver="0.6.8" date="20.08.2007"> +<changes ver="0.6.8" date="2007-08-20"> <change type="change"> <para lang="ru"> @@ -16447,7 +16620,7 @@ nginx did not work on FreeBSD/sparc64. </changes> -<changes ver="0.6.7" date="15.08.2007"> +<changes ver="0.6.7" date="2007-08-15"> <change type="change"> <para lang="ru"> @@ -16587,7 +16760,7 @@ to FastCGI-server via the unix domain socket. </changes> -<changes ver="0.6.6" date="30.07.2007"> +<changes ver="0.6.6" date="2007-07-30"> <change type="feature"> <para lang="ru"> @@ -16670,7 +16843,7 @@ the bug had appeared in 0.6.4. </changes> -<changes ver="0.6.5" date="23.07.2007"> +<changes ver="0.6.5" date="2007-07-23"> <change type="feature"> <para lang="ru"> @@ -16739,7 +16912,7 @@ Thanks to Coverity's Scan. </changes> -<changes ver="0.6.4" date="17.07.2007"> +<changes ver="0.6.4" date="2007-07-17"> <change type="security"> <para lang="ru"> @@ -16795,7 +16968,7 @@ Thanks to Jiang Hong. </changes> -<changes ver="0.6.3" date="12.07.2007"> +<changes ver="0.6.3" date="2007-07-12"> <change type="feature"> <para lang="ru"> @@ -16867,7 +17040,7 @@ the bug had appeared in 0.5.13. </changes> -<changes ver="0.6.2" date="09.07.2007"> +<changes ver="0.6.2" date="2007-07-09"> <change type="bugfix"> <para lang="ru"> @@ -16883,7 +17056,7 @@ then nginx passed garbage in the header to a client. </changes> -<changes ver="0.6.1" date="17.06.2007"> +<changes ver="0.6.1" date="2007-06-17"> <change type="bugfix"> <para lang="ru"> @@ -16929,7 +17102,7 @@ process identification number. </changes> -<changes ver="0.6.0" date="14.06.2007"> +<changes ver="0.6.0" date="2007-06-14"> <change type="feature"> <para lang="ru"> @@ -16945,7 +17118,7 @@ the "www.example.*" wildcards. </changes> -<changes ver="0.5.25" date="11.06.2007"> +<changes ver="0.5.25" date="2007-06-11"> <change type="bugfix"> <para lang="ru"> @@ -16961,7 +17134,7 @@ the bug had appeared in 0.5.24. </changes> -<changes ver="0.5.24" date="06.06.2007"> +<changes ver="0.5.24" date="2007-06-06"> <change type="security"> <para lang="ru"> @@ -16988,7 +17161,7 @@ the bug had appeared in 0.5.23. </changes> -<changes ver="0.5.23" date="04.06.2007"> +<changes ver="0.5.23" date="2007-06-04"> <change type="feature"> <para lang="ru"> @@ -17046,7 +17219,7 @@ in the HTTPS protocol in the "proxy_pass" directive. </changes> -<changes ver="0.5.22" date="29.05.2007"> +<changes ver="0.5.22" date="2007-05-29"> <change type="bugfix"> <para lang="ru"> @@ -17062,7 +17235,7 @@ the bug had appeared in 0.5.21. </changes> -<changes ver="0.5.21" date="28.05.2007"> +<changes ver="0.5.21" date="2007-05-28"> <change type="bugfix"> <para lang="ru"> @@ -17113,7 +17286,7 @@ in the HTTPS protocol in the "proxy_pass" directive. </changes> -<changes ver="0.5.20" date="07.05.2007"> +<changes ver="0.5.20" date="2007-05-07"> <change type="feature"> <para lang="ru"> @@ -17182,7 +17355,7 @@ Thanks to Andrei Nigmatulin. </changes> -<changes ver="0.5.19" date="24.04.2007"> +<changes ver="0.5.19" date="2007-04-24"> <change type="change"> <para lang="ru"> @@ -17248,7 +17421,7 @@ the files more than 2G could not be transferred using sendfile on 64-bit Linux. </changes> -<changes ver="0.5.18" date="19.04.2007"> +<changes ver="0.5.18" date="2007-04-19"> <change type="feature"> <para lang="ru"> @@ -17312,7 +17485,7 @@ the bug had appeared in 0.3.38. </changes> -<changes ver="0.5.17" date="02.04.2007"> +<changes ver="0.5.17" date="2007-04-02"> <change type="change"> <para lang="ru"> @@ -17366,7 +17539,7 @@ returned old cached value. </changes> -<changes ver="0.5.16" date="26.03.2007"> +<changes ver="0.5.16" date="2007-03-26"> <change type="bugfix"> <para lang="ru"> @@ -17420,7 +17593,7 @@ the bug had appeared in 0.5.15. </changes> -<changes ver="0.5.15" date="19.03.2007"> +<changes ver="0.5.15" date="2007-03-19"> <change type="feature"> <para lang="ru"> @@ -17513,7 +17686,7 @@ now nginx does not log some alerts if eventport or /dev/poll methods are used. </changes> -<changes ver="0.5.14" date="23.02.2007"> +<changes ver="0.5.14" date="2007-02-23"> <change type="bugfix"> <para lang="ru"> @@ -17528,7 +17701,7 @@ nginx ignored superfluous closing "}" in the end of configuration file. </changes> -<changes ver="0.5.13" date="19.02.2007"> +<changes ver="0.5.13" date="2007-02-19"> <change type="feature"> <para lang="ru"> @@ -17599,7 +17772,7 @@ the bug had appeared in 0.5.8. </changes> -<changes ver="0.5.12" date="12.02.2007"> +<changes ver="0.5.12" date="2007-02-12"> <change type="bugfix"> <para lang="ru"> @@ -17649,7 +17822,7 @@ ngx_http_perl_module could not be built on Solaris. </changes> -<changes ver="0.5.11" date="05.02.2007"> +<changes ver="0.5.11" date="2007-02-05"> <change type="feature"> <para lang="ru"> @@ -17710,7 +17883,7 @@ if nginx was built with -O2 optimization. </changes> -<changes ver="0.5.10" date="26.01.2007"> +<changes ver="0.5.10" date="2007-01-26"> <change type="bugfix"> <para lang="ru"> @@ -17741,7 +17914,7 @@ the bug had appeared in 0.5.1. </changes> -<changes ver="0.5.9" date="25.01.2007"> +<changes ver="0.5.9" date="2007-01-25"> <change type="change"> <para lang="ru"> @@ -17813,7 +17986,7 @@ the "access_log off" directive did not always turn off the logging. </changes> -<changes ver="0.5.8" date="19.01.2007"> +<changes ver="0.5.8" date="2007-01-19"> <change type="bugfix"> <para lang="ru"> @@ -17890,7 +18063,7 @@ Bugfixes in the "limit_zone" directive. </changes> -<changes ver="0.5.7" date="15.01.2007"> +<changes ver="0.5.7" date="2007-01-15"> <change type="feature"> <para lang="ru"> @@ -17957,7 +18130,7 @@ the PCRE-6.5+ library and the icc compiler compatibility. </changes> -<changes ver="0.5.6" date="09.01.2007"> +<changes ver="0.5.6" date="2007-01-09"> <change type="change"> <para lang="ru"> @@ -18019,7 +18192,7 @@ the byte-ranges were transferred incorrectly if the $r->sendfile() was used. </changes> -<changes ver="0.5.5" date="24.12.2006"> +<changes ver="0.5.5" date="2006-12-24"> <change type="change"> <para lang="ru"> @@ -18080,7 +18253,7 @@ the ppc platform specific bugs. </changes> -<changes ver="0.5.4" date="15.12.2006"> +<changes ver="0.5.4" date="2006-12-15"> <change type="feature"> <para lang="ru"> @@ -18127,7 +18300,7 @@ the bug had appeared in 0.4.14. </changes> -<changes ver="0.5.3" date="13.12.2006"> +<changes ver="0.5.3" date="2006-12-13"> <change type="feature"> <para lang="ru"> @@ -18162,7 +18335,7 @@ the $r->has_request_body method did not work. </changes> -<changes ver="0.5.2" date="11.12.2006"> +<changes ver="0.5.2" date="2006-12-11"> <change type="bugfix"> <para lang="ru"> @@ -18180,7 +18353,7 @@ the bug had appeared in 0.5.1. </changes> -<changes ver="0.5.1" date="11.12.2006"> +<changes ver="0.5.1" date="2006-12-11"> <change type="bugfix"> <para lang="ru"> @@ -18272,7 +18445,7 @@ response time was more than 1 millisecond. </changes> -<changes ver="0.5.0" date="04.12.2006"> +<changes ver="0.5.0" date="2006-12-04"> <change type="change"> <para lang="ru"> @@ -18344,7 +18517,7 @@ the bug had appeared in 0.4.14. </changes> -<changes ver="0.4.14" date="27.11.2006"> +<changes ver="0.4.14" date="2006-11-27"> <change type="feature"> <para lang="ru"> @@ -18440,7 +18613,7 @@ authentication server failed. </changes> -<changes ver="0.4.13" date="15.11.2006"> +<changes ver="0.4.13" date="2006-11-15"> <change type="feature"> <para lang="ru"> @@ -18527,7 +18700,7 @@ the bug had appeared in 0.3.50. </changes> -<changes ver="0.4.12" date="31.10.2006"> +<changes ver="0.4.12" date="2006-10-31"> <change type="feature"> <para lang="ru"> @@ -18561,7 +18734,7 @@ nginx did not omit the "#fragment" part in URI. </changes> -<changes ver="0.4.11" date="25.10.2006"> +<changes ver="0.4.11" date="2006-10-25"> <change type="feature"> <para lang="ru"> @@ -18597,7 +18770,7 @@ the bug had appeared in 0.4.10. </changes> -<changes ver="0.4.10" date="23.10.2006"> +<changes ver="0.4.10" date="2006-10-23"> <change type="feature"> <para lang="ru"> @@ -18655,7 +18828,7 @@ the bug had appeared in 0.4.9. </changes> -<changes ver="0.4.9" date="13.10.2006"> +<changes ver="0.4.9" date="2006-10-13"> <change type="feature"> <para lang="ru"> @@ -18678,7 +18851,7 @@ the ngx_http_perl_module now tests the nginx.pm module version. </changes> -<changes ver="0.4.8" date="11.10.2006"> +<changes ver="0.4.8" date="2006-10-11"> <change type="bugfix"> <para lang="ru"> @@ -18705,7 +18878,7 @@ Thanks to Alexey Kovyrin. </changes> -<changes ver="0.4.7" date="10.10.2006"> +<changes ver="0.4.7" date="2006-10-10"> <change type="feature"> <para lang="ru"> @@ -18768,7 +18941,7 @@ nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. </changes> -<changes ver="0.4.6" date="06.10.2006"> +<changes ver="0.4.6" date="2006-10-06"> <change type="bugfix"> <para lang="ru"> @@ -18808,7 +18981,7 @@ the bug had appeared in 0.4.4. </changes> -<changes ver="0.4.5" date="02.10.2006"> +<changes ver="0.4.5" date="2006-10-02"> <change type="bugfix"> <para lang="ru"> @@ -18824,7 +18997,7 @@ the bug had appeared in 0.4.4. </changes> -<changes ver="0.4.4" date="02.10.2006"> +<changes ver="0.4.4" date="2006-10-02"> <change type="feature"> <para lang="ru"> @@ -18890,7 +19063,7 @@ in the "proxy_redirect" directive. </changes> -<changes ver="0.4.3" date="26.09.2006"> +<changes ver="0.4.3" date="2006-09-26"> <change type="change"> <para lang="ru"> @@ -18965,7 +19138,7 @@ of the Sun Studio PAUSE hardware capability bug. </changes> -<changes ver="0.4.2" date="14.09.2006"> +<changes ver="0.4.2" date="2006-09-14"> <change type="bugfix"> <para lang="ru"> @@ -18981,7 +19154,7 @@ the bug had appeared in 0.4.1. </changes> -<changes ver="0.4.1" date="14.09.2006"> +<changes ver="0.4.1" date="2006-09-14"> <change type="bugfix"> <para lang="ru"> @@ -19017,7 +19190,7 @@ Thanks to Yusuf Goolamabbas. </changes> -<changes ver="0.4.0" date="30.08.2006"> +<changes ver="0.4.0" date="2006-08-30"> <change> <para lang="ru"> @@ -19086,7 +19259,7 @@ the bug had appeared in 0.1.29. </changes> -<changes ver="0.3.61" date="28.08.2006"> +<changes ver="0.3.61" date="2006-08-28"> <change type="change"> <para lang="ru"> @@ -19129,7 +19302,7 @@ had the captured escaped symbols from original URI. </changes> -<changes ver="0.3.60" date="18.08.2006"> +<changes ver="0.3.60" date="2006-08-18"> <change type="bugfix"> <para lang="ru"> @@ -19146,7 +19319,7 @@ the bug had appeared in 0.3.59. </changes> -<changes ver="0.3.59" date="16.08.2006"> +<changes ver="0.3.59" date="2006-08-16"> <change type="feature"> <para lang="ru"> @@ -19182,7 +19355,7 @@ the bug had appeared in 0.3.58. </changes> -<changes ver="0.3.58" date="14.08.2006"> +<changes ver="0.3.58" date="2006-08-14"> <change type="feature"> <para lang="ru"> @@ -19245,7 +19418,7 @@ nginx could not run on 64-bit FreeBSD 7.0-CURRENT. </changes> -<changes ver="0.3.57" date="09.08.2006"> +<changes ver="0.3.57" date="2006-08-09"> <change type="feature"> <para lang="ru"> @@ -19291,7 +19464,7 @@ directive. </changes> -<changes ver="0.3.56" date="04.08.2006"> +<changes ver="0.3.56" date="2006-08-04"> <change type="feature"> <para lang="ru"> @@ -19326,7 +19499,7 @@ some sent to client header lines were logged in the access log. </changes> -<changes ver="0.3.55" date="28.07.2006"> +<changes ver="0.3.55" date="2006-07-28"> <change type="feature"> <para lang="ru"> @@ -19416,7 +19589,7 @@ the bug had appeared in 0.3.50. </changes> -<changes ver="0.3.54" date="11.07.2006"> +<changes ver="0.3.54" date="2006-07-11"> <change type="feature"> <para lang="ru"> @@ -19483,7 +19656,7 @@ the bug had appeared in 0.3.53. </changes> -<changes ver="0.3.53" date="07.07.2006"> +<changes ver="0.3.53" date="2006-07-07"> <change type="change"> <para lang="ru"> @@ -19556,7 +19729,7 @@ anyway. </changes> -<changes ver="0.3.52" date="03.07.2006"> +<changes ver="0.3.52" date="2006-07-03"> <change type="change"> <para lang="ru"> @@ -19607,7 +19780,7 @@ was not removed. </changes> -<changes ver="0.3.51" date="30.06.2006"> +<changes ver="0.3.51" date="2006-06-30"> <change type="bugfix"> <para lang="ru"> @@ -19623,7 +19796,7 @@ the bug had appeared in 0.3.50. </changes> -<changes ver="0.3.50" date="28.06.2006"> +<changes ver="0.3.50" date="2006-06-28"> <change type="change"> <para lang="ru"> @@ -19697,7 +19870,7 @@ in nonbuffered proxying mode the client connection was not closed. </changes> -<changes ver="0.3.49" date="31.05.2006"> +<changes ver="0.3.49" date="2006-05-31"> <change type="bugfix"> <para lang="ru"> @@ -19723,7 +19896,7 @@ was included instead of second and following subrequests. </changes> -<changes ver="0.3.48" date="29.05.2006"> +<changes ver="0.3.48" date="2006-05-29"> <change type="change"> <para lang="ru"> @@ -19779,7 +19952,7 @@ the bug had appeared in 0.3.46. </changes> -<changes ver="0.3.47" date="23.05.2006"> +<changes ver="0.3.47" date="2006-05-23"> <change type="feature"> <para lang="ru"> @@ -19803,7 +19976,7 @@ is always removed. </changes> -<changes ver="0.3.46" date="11.05.2006"> +<changes ver="0.3.46" date="2006-05-11"> <change type="feature"> <para lang="ru"> @@ -19849,7 +20022,7 @@ the reconfiguration bug and memory leaks in the ngx_http_perl_module. </changes> -<changes ver="0.3.45" date="06.05.2006"> +<changes ver="0.3.45" date="2006-05-06"> <change type="feature"> <para lang="ru"> @@ -19904,7 +20077,7 @@ backend only instead of being distributed among the rest. </changes> -<changes ver="0.3.44" date="04.05.2006"> +<changes ver="0.3.44" date="2006-05-04"> <change type="feature"> <para lang="ru"> @@ -19937,7 +20110,7 @@ in the SSI. </changes> -<changes ver="0.3.43" date="26.04.2006"> +<changes ver="0.3.43" date="2006-04-26"> <change type="bugfix"> <para lang="ru"> @@ -19951,7 +20124,7 @@ in the SSI. </changes> -<changes ver="0.3.42" date="26.04.2006"> +<changes ver="0.3.42" date="2006-04-26"> <change type="feature"> <para lang="ru"> @@ -19999,7 +20172,7 @@ response header line. </changes> -<changes ver="0.3.41" date="21.04.2006"> +<changes ver="0.3.41" date="2006-04-21"> <change type="feature"> <para lang="ru"> @@ -20045,7 +20218,7 @@ the segmentation fault was occurred. </changes> -<changes ver="0.3.40" date="19.04.2006"> +<changes ver="0.3.40" date="2006-04-19"> <change type="feature"> <para lang="ru"> @@ -20077,7 +20250,7 @@ the "$limit_rate" variable. </changes> -<changes ver="0.3.39" date="17.04.2006"> +<changes ver="0.3.39" date="2006-04-17"> <change type="feature"> <para lang="ru"> @@ -20137,7 +20310,7 @@ the bug had appeared in 0.3.38. </changes> -<changes ver="0.3.38" date="14.04.2006"> +<changes ver="0.3.38" date="2006-04-14"> <change type="feature"> <para lang="ru"> @@ -20218,7 +20391,7 @@ Thanks to Maxim Dounin. </changes> -<changes ver="0.3.37" date="07.04.2006"> +<changes ver="0.3.37" date="2006-04-07"> <change type="feature"> <para lang="ru"> @@ -20259,7 +20432,7 @@ in the ngx_http_addition_filter_module. </changes> -<changes ver="0.3.36" date="05.04.2006"> +<changes ver="0.3.36" date="2006-04-05"> <change type="feature"> <para lang="ru"> @@ -20355,7 +20528,7 @@ to a server prefix. </changes> -<changes ver="0.3.35" date="22.03.2006"> +<changes ver="0.3.35" date="2006-03-22"> <change type="bugfix"> <para lang="ru"> @@ -20382,7 +20555,7 @@ in the "proxy_pass" directive without the URI part in a subrequest. </changes> -<changes ver="0.3.34" date="21.03.2006"> +<changes ver="0.3.34" date="2006-03-21"> <change type="feature"> <para lang="ru"> @@ -20396,7 +20569,7 @@ the "add_header" directive supports the variables. </changes> -<changes ver="0.3.33" date="15.03.2006"> +<changes ver="0.3.33" date="2006-03-15"> <change type="feature"> <para lang="ru"> @@ -20431,7 +20604,7 @@ in the "post_action" directive. </changes> -<changes ver="0.3.32" date="11.03.2006"> +<changes ver="0.3.32" date="2006-03-11"> <change type="bugfix"> <para lang="ru"> @@ -20447,7 +20620,7 @@ the bug had appeared in 0.3.31. </changes> -<changes ver="0.3.31" date="10.03.2006"> +<changes ver="0.3.31" date="2006-03-10"> <change type="change"> <para lang="ru"> @@ -20526,7 +20699,7 @@ perl 5.8.8 compatibility. </changes> -<changes ver="0.3.30" date="22.02.2006"> +<changes ver="0.3.30" date="2006-02-22"> <change type="change"> <para lang="ru"> @@ -20561,7 +20734,7 @@ the bug had appeared in 0.3.27. </changes> -<changes ver="0.3.29" date="20.02.2006"> +<changes ver="0.3.29" date="2006-02-20"> <change type="feature"> <para lang="ru"> @@ -20610,7 +20783,7 @@ only after a successful completion of a request. </changes> -<changes ver="0.3.28" date="16.02.2006"> +<changes ver="0.3.28" date="2006-02-16"> <change type="feature"> <para lang="ru"> @@ -20677,7 +20850,7 @@ was transferred to a client. </changes> -<changes ver="0.3.27" date="08.02.2006"> +<changes ver="0.3.27" date="2006-02-08"> <change type="change"> <para lang="ru"> @@ -20751,7 +20924,7 @@ the requests with the body was not transferred. </changes> -<changes ver="0.3.26" date="03.02.2006"> +<changes ver="0.3.26" date="2006-02-03"> <change type="change"> <para lang="ru"> @@ -20776,7 +20949,7 @@ URI was transferred to a backend while proxying the SSI subrequest. </changes> -<changes ver="0.3.25" date="01.02.2006"> +<changes ver="0.3.25" date="2006-02-01"> <change type="bugfix"> <para lang="ru"> @@ -20794,7 +20967,7 @@ the bug had appeared in 0.3.24. </changes> -<changes ver="0.3.24" date="01.02.2006"> +<changes ver="0.3.24" date="2006-02-01"> <change type="workaround"> <para lang="ru"> @@ -20849,7 +21022,7 @@ the bug had appeared in 0.3.18. </changes> -<changes ver="0.3.23" date="24.01.2006"> +<changes ver="0.3.23" date="2006-01-24"> <change type="feature"> <para lang="ru"> @@ -20881,7 +21054,7 @@ the ngx_http_perl_module was incorrectly built on Linux and Solaris. </changes> -<changes ver="0.3.22" date="17.01.2006"> +<changes ver="0.3.22" date="2006-01-17"> <change type="feature"> <para lang="ru"> @@ -20917,7 +21090,7 @@ the bug had appeared in 0.3.18. </changes> -<changes ver="0.3.21" date="16.01.2006"> +<changes ver="0.3.21" date="2006-01-16"> <change type="feature"> <para lang="ru"> @@ -20940,7 +21113,7 @@ the "valid_referers" directive allows the referrers without URI part. </changes> -<changes ver="0.3.20" date="11.01.2006"> +<changes ver="0.3.20" date="2006-01-11"> <change type="bugfix"> <para lang="ru"> @@ -20962,7 +21135,7 @@ the ngx_http_memcached_module did not support the keys in the "/usr?args" form. </changes> -<changes ver="0.3.19" date="28.12.2005"> +<changes ver="0.3.19" date="2005-12-28"> <change type="feature"> <para lang="ru"> @@ -20994,7 +21167,7 @@ in SSI handling. </changes> -<changes ver="0.3.18" date="26.12.2005"> +<changes ver="0.3.18" date="2005-12-26"> <change type="feature"> <para lang="ru"> @@ -21089,7 +21262,7 @@ the bug had appeared in 0.3.16. </changes> -<changes ver="0.3.17" date="18.12.2005"> +<changes ver="0.3.17" date="2005-12-18"> <change type="change"> <para lang="ru"> @@ -21143,7 +21316,7 @@ was used by default. </changes> -<changes ver="0.3.16" date="16.12.2005"> +<changes ver="0.3.16" date="2005-12-16"> <change type="feature"> <para lang="ru"> @@ -21230,7 +21403,7 @@ the bug had appeared in 0.3.13. </changes> -<changes ver="0.3.15" date="07.12.2005"> +<changes ver="0.3.15" date="2005-12-07"> <change type="feature"> <para lang="ru"> @@ -21264,7 +21437,7 @@ quit and active "debug_points" directive. </changes> -<changes ver="0.3.14" date="05.12.2005"> +<changes ver="0.3.14" date="2005-12-05"> <change type="bugfix"> <para lang="ru"> @@ -21280,7 +21453,7 @@ the bug had appeared in 0.3.13. </changes> -<changes ver="0.3.13" date="05.12.2005"> +<changes ver="0.3.13" date="2005-12-05"> <change type="feature"> <para lang="ru"> @@ -21334,7 +21507,7 @@ the bug had appeared in 0.3.11. </changes> -<changes ver="0.3.12" date="26.11.2005"> +<changes ver="0.3.12" date="2005-11-26"> <change type="security"> <para lang="ru"> @@ -21457,7 +21630,7 @@ bracket in the "if" directive. </changes> -<changes ver="0.3.11" date="15.11.2005"> +<changes ver="0.3.11" date="2005-11-15"> <change type="bugfix"> <para lang="ru"> @@ -21473,7 +21646,7 @@ the bug had appeared in 0.3.10. </changes> -<changes ver="0.3.10" date="15.11.2005"> +<changes ver="0.3.10" date="2005-11-15"> <change type="change"> <para lang="ru"> @@ -21592,7 +21765,7 @@ response was encoded incorrectly. </changes> -<changes ver="0.3.9" date="10.11.2005"> +<changes ver="0.3.9" date="2005-11-10"> <change type="bugfix"> <para lang="ru"> @@ -21609,7 +21782,7 @@ the bug had appeared in 0.3.8. </changes> -<changes ver="0.3.8" date="09.11.2005"> +<changes ver="0.3.8" date="2005-11-09"> <change type="security"> <para lang="ru"> @@ -21783,7 +21956,7 @@ then the response did not transferred complete or did not transferred at all. </changes> -<changes ver="0.3.7" date="27.10.2005"> +<changes ver="0.3.7" date="2005-10-27"> <change type="feature"> <para lang="ru"> @@ -21809,7 +21982,7 @@ the bug had appeared in 0.3.2. </changes> -<changes ver="0.3.6" date="24.10.2005"> +<changes ver="0.3.6" date="2005-10-24"> <change type="change"> <para lang="ru"> @@ -21855,7 +22028,7 @@ always used. </changes> -<changes ver="0.3.5" date="21.10.2005"> +<changes ver="0.3.5" date="2005-10-21"> <change type="bugfix"> <para lang="ru"> @@ -21895,7 +22068,7 @@ directive were used. </changes> -<changes ver="0.3.4" date="19.10.2005"> +<changes ver="0.3.4" date="2005-10-19"> <change type="bugfix"> <para lang="ru"> @@ -21911,7 +22084,7 @@ the bug had appeared in 0.3.3. </changes> -<changes ver="0.3.3" date="19.10.2005"> +<changes ver="0.3.3" date="2005-10-19"> <change type="change"> <para lang="ru"> @@ -22046,7 +22219,7 @@ the "ssl_protocols" directive allowed to specify the single protocol only. </changes> -<changes ver="0.3.2" date="12.10.2005"> +<changes ver="0.3.2" date="2005-10-12"> <change type="feature"> <para lang="ru"> @@ -22072,7 +22245,7 @@ directives. </changes> -<changes ver="0.3.1" date="10.10.2005"> +<changes ver="0.3.1" date="2005-10-10"> <change type="bugfix"> <para lang="ru"> @@ -22099,7 +22272,7 @@ correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. </changes> -<changes ver="0.3.0" date="07.10.2005"> +<changes ver="0.3.0" date="2005-10-07"> <change type="change"> <para lang="ru"> @@ -22115,7 +22288,7 @@ The limit was introduced because of millisecond timers overflow. </changes> -<changes ver="0.2.6" date="05.10.2005"> +<changes ver="0.2.6" date="2005-10-05"> <change type="change"> <para lang="ru"> @@ -22190,7 +22363,7 @@ the bug had appeared in 0.2.2. </changes> -<changes ver="0.2.5" date="04.10.2005"> +<changes ver="0.2.5" date="2005-10-04"> <change type="change"> <para lang="ru"> @@ -22235,7 +22408,7 @@ expressions of the "if" command. </changes> -<changes ver="0.2.4" date="03.10.2005"> +<changes ver="0.2.4" date="2005-10-03"> <change type="feature"> <para lang="ru"> @@ -22275,7 +22448,7 @@ the bug had appeared in 0.2.0. </changes> -<changes ver="0.2.3" date="30.09.2005"> +<changes ver="0.2.3" date="2005-09-30"> <change type="bugfix"> <para lang="ru"> @@ -22291,7 +22464,7 @@ the bug had appeared in 0.2.2. </changes> -<changes ver="0.2.2" date="30.09.2005"> +<changes ver="0.2.2" date="2005-09-30"> <change type="feature"> <para lang="ru"> @@ -22365,7 +22538,7 @@ the export versions of MSIE 5.x could not connect via HTTPS. </changes> -<changes ver="0.2.1" date="23.09.2005"> +<changes ver="0.2.1" date="2005-09-23"> <change type="bugfix"> <para lang="ru"> @@ -22383,7 +22556,7 @@ the bug had appeared in 0.2.0. </changes> -<changes ver="0.2.0" date="23.09.2005"> +<changes ver="0.2.0" date="2005-09-23"> <change> <para lang="ru"> @@ -22517,7 +22690,7 @@ Thanks to Alexandr Kukushkin. </changes> -<changes ver="0.1.45" date="08.09.2005"> +<changes ver="0.1.45" date="2005-09-08"> <change type="change"> <para lang="ru"> @@ -22552,7 +22725,7 @@ Various bug fixes in the IMAP/POP3 proxy. </changes> -<changes ver="0.1.44" date="06.09.2005"> +<changes ver="0.1.44" date="2005-09-06"> <change type="feature"> <para lang="ru"> @@ -22595,7 +22768,7 @@ authorization use. </changes> -<changes ver="0.1.43" date="30.08.2005"> +<changes ver="0.1.43" date="2005-08-30"> <change type="feature"> <para lang="ru"> @@ -22660,7 +22833,7 @@ in the proxied mode the bug had appeared in 0.1.29. </changes> -<changes ver="0.1.42" date="23.08.2005"> +<changes ver="0.1.42" date="2005-08-23"> <change type="bugfix"> <para lang="ru"> @@ -22689,7 +22862,7 @@ the bug had appeared in 0.1.38. </changes> -<changes ver="0.1.41" date="25.07.2005"> +<changes ver="0.1.41" date="2005-07-25"> <change type="bugfix"> <para lang="ru"> @@ -22705,7 +22878,7 @@ then it can not be used in SSI. </changes> -<changes ver="0.1.40" date="22.07.2005"> +<changes ver="0.1.40" date="2005-07-22"> <change type="bugfix"> <para lang="ru"> @@ -22764,7 +22937,7 @@ became shorter in the "ps" command. </changes> -<changes ver="0.1.39" date="14.07.2005"> +<changes ver="0.1.39" date="2005-07-14"> <change> <para lang="ru"> @@ -22883,7 +23056,7 @@ Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state. </changes> -<changes ver="0.1.38" date="08.07.2005"> +<changes ver="0.1.38" date="2005-07-08"> <change type="feature"> <para lang="ru"> @@ -23006,7 +23179,7 @@ the IMAP/POP3 proxy. </changes> -<changes ver="0.1.37" date="23.06.2005"> +<changes ver="0.1.37" date="2005-06-23"> <change type="change"> <para lang="ru"> @@ -23044,7 +23217,7 @@ then nginx started to request all backends again. </changes> -<changes ver="0.1.36" date="15.06.2005"> +<changes ver="0.1.36" date="2005-06-15"> <change type="change"> <para lang="ru"> @@ -23117,7 +23290,7 @@ the reconfiguration by the -HUP signal was made twice. </changes> -<changes ver="0.1.35" date="07.06.2005"> +<changes ver="0.1.35" date="2005-06-07"> <change type="feature"> <para lang="ru"> @@ -23189,7 +23362,7 @@ the bug had appeared in 0.1.28. </changes> -<changes ver="0.1.34" date="26.05.2005"> +<changes ver="0.1.34" date="2005-05-26"> <change type="bugfix"> <para lang="ru"> @@ -23232,7 +23405,7 @@ request header line passing. </changes> -<changes ver="0.1.33" date="23.05.2005"> +<changes ver="0.1.33" date="2005-05-23"> <change type="bugfix"> <para lang="ru"> @@ -23279,7 +23452,7 @@ the 500 error code was returned. </changes> -<changes ver="0.1.32" date="19.05.2005"> +<changes ver="0.1.32" date="2005-05-19"> <change type="bugfix"> <para lang="ru"> @@ -23325,7 +23498,7 @@ mode. </changes> -<changes ver="0.1.31" date="16.05.2005"> +<changes ver="0.1.31" date="2005-05-16"> <change type="bugfix"> <para lang="ru"> @@ -23368,7 +23541,7 @@ the bug had appeared in 0.1.30. </changes> -<changes ver="0.1.30" date="14.05.2005"> +<changes ver="0.1.30" date="2005-05-14"> <change type="bugfix"> <para lang="ru"> @@ -23431,7 +23604,7 @@ the "ignore_invalid_headers" directive. </changes> -<changes ver="0.1.29" date="12.05.2005"> +<changes ver="0.1.29" date="2005-05-12"> <change type="feature"> <para lang="ru"> @@ -23744,7 +23917,7 @@ nginx could not be built on MacOS X. </changes> -<changes ver="0.1.28" date="08.04.2005"> +<changes ver="0.1.28" date="2005-04-08"> <change type="bugfix"> <para lang="ru"> @@ -23767,7 +23940,7 @@ nginx could not be built by gcc 4.0 on Linux. </changes> -<changes ver="0.1.27" date="28.03.2005"> +<changes ver="0.1.27" date="2005-03-28"> <change type="feature"> <para lang="ru"> @@ -23826,7 +23999,7 @@ nginx could not be built on FreeBSD and Linux, if the </changes> -<changes ver="0.1.26" date="22.03.2005"> +<changes ver="0.1.26" date="2005-03-22"> <change type="change"> <para lang="ru"> @@ -23862,7 +24035,7 @@ auth_basic_user_file directives. </changes> -<changes ver="0.1.25" date="19.03.2005"> +<changes ver="0.1.25" date="2005-03-19"> <change type="bugfix"> <para lang="ru"> @@ -23979,7 +24152,7 @@ the --with-openssl-opt=OPTIONS autoconfiguration directive. </changes> -<changes ver="0.1.24" date="04.03.2005"> +<changes ver="0.1.24" date="2005-03-04"> <change type="feature"> <para lang="ru"> @@ -24025,7 +24198,7 @@ the lack of the "Referer" header line was always accounted as valid referrer. </changes> -<changes ver="0.1.23" date="01.03.2005"> +<changes ver="0.1.23" date="2005-03-01"> <change type="feature"> <para lang="ru"> @@ -24101,7 +24274,7 @@ of the response header if the no response was transferred to a client. </changes> -<changes ver="0.1.22" date="22.02.2005"> +<changes ver="0.1.22" date="2005-02-22"> <change type="bugfix"> <para lang="ru"> @@ -24129,7 +24302,7 @@ the bug had appeared in 0.1.21. </changes> -<changes ver="0.1.21" date="22.02.2005"> +<changes ver="0.1.21" date="2005-02-22"> <change type="bugfix"> <para lang="ru"> @@ -24166,7 +24339,7 @@ nginx could not be built on NetBSD 2.0. </changes> -<changes ver="0.1.20" date="17.02.2005"> +<changes ver="0.1.20" date="2005-02-17"> <change type="feature"> <para lang="ru"> @@ -24190,7 +24363,7 @@ the FastCGI stderr stream was handled incorrectly. </changes> -<changes ver="0.1.19" date="16.02.2005"> +<changes ver="0.1.19" date="2005-02-16"> <change type="bugfix"> <para lang="ru"> @@ -24225,7 +24398,7 @@ via SSL connections. </changes> -<changes ver="0.1.18" date="09.02.2005"> +<changes ver="0.1.18" date="2005-02-09"> <change type="workaround"> <para lang="ru"> @@ -24320,7 +24493,7 @@ the rewrite/location cycle and sets the current configuration to the request. </changes> -<changes ver="0.1.17" date="03.02.2005"> +<changes ver="0.1.17" date="2005-02-03"> <change type="change"> <para lang="ru"> @@ -24417,7 +24590,7 @@ the system error message was not logged on Linux. </changes> -<changes ver="0.1.16" date="25.01.2005"> +<changes ver="0.1.16" date="2005-01-25"> <change type="bugfix"> <para lang="ru"> @@ -24494,7 +24667,7 @@ the bug had appeared in 0.1.14. </changes> -<changes ver="0.1.15" date="19.01.2005"> +<changes ver="0.1.15" date="2005-01-19"> <change type="bugfix"> <para lang="ru"> @@ -24582,7 +24755,7 @@ caused segmentation fault. </changes> -<changes ver="0.1.14" date="18.01.2005"> +<changes ver="0.1.14" date="2005-01-18"> <change type="feature"> <para lang="ru"> @@ -24706,7 +24879,7 @@ Thanks to Sergey Skvortsov for SSL-accelerator. </changes> -<changes ver="0.1.13" date="21.12.2004"> +<changes ver="0.1.13" date="2004-12-21"> <change type="feature"> <para lang="ru"> @@ -24738,7 +24911,7 @@ the %request_length log parameter logged the incorrect length. </changes> -<changes ver="0.1.12" date="06.12.2004"> +<changes ver="0.1.12" date="2004-12-06"> <change type="feature"> <para lang="ru"> @@ -24778,7 +24951,7 @@ the SO_SNDLOWAT option. </changes> -<changes ver="0.1.11" date="02.12.2004"> +<changes ver="0.1.11" date="2004-12-02"> <change type="feature"> <para lang="ru"> @@ -24919,7 +25092,7 @@ the double slashes in "://" in the URI were converted to ":/". </changes> -<changes ver="0.1.10" date="26.11.2004"> +<changes ver="0.1.10" date="2004-11-26"> <change type="bugfix"> <para lang="ru"> @@ -24946,7 +25119,7 @@ the fix in 0.1.9 for the files bigger than 2G on Linux did not work. </changes> -<changes ver="0.1.9" date="25.11.2004"> +<changes ver="0.1.9" date="2004-11-25"> <change type="bugfix"> <para lang="ru"> @@ -24994,7 +25167,7 @@ the bug had appeared in 0.1.8. </changes> -<changes ver="0.1.8" date="20.11.2004"> +<changes ver="0.1.8" date="2004-11-20"> <change type="bugfix"> <para lang="ru"> @@ -25026,7 +25199,7 @@ the proxy_max_temp_file_size directive. </changes> -<changes ver="0.1.7" date="12.11.2004"> +<changes ver="0.1.7" date="2004-11-12"> <change type="bugfix"> <para lang="ru"> @@ -25044,7 +25217,7 @@ the bug had appeared in 0.1.5. </changes> -<changes ver="0.1.6" date="11.11.2004"> +<changes ver="0.1.6" date="2004-11-11"> <change type="bugfix"> <para lang="ru"> @@ -25060,7 +25233,7 @@ the wrong configuration choose. </changes> -<changes ver="0.1.5" date="11.11.2004"> +<changes ver="0.1.5" date="2004-11-11"> <change type="bugfix"> <para lang="ru"> @@ -25146,7 +25319,7 @@ the userid_p3p directive. </changes> -<changes ver="0.1.4" date="26.10.2004"> +<changes ver="0.1.4" date="2004-10-26"> <change type="bugfix"> <para lang="ru"> @@ -25160,7 +25333,7 @@ in the ngx_http_autoindex_module. </changes> -<changes ver="0.1.3" date="25.10.2004"> +<changes ver="0.1.3" date="2004-10-25"> <change type="feature"> <para lang="ru"> @@ -25193,7 +25366,7 @@ proxy module may get caught in an endless loop when sendfile is not used. </changes> -<changes ver="0.1.2" date="21.10.2004"> +<changes ver="0.1.2" date="2004-10-21"> <change type="feature"> <para lang="ru"> @@ -25279,7 +25452,7 @@ the gzip module compressed the proxied responses that was already compressed. </changes> -<changes ver="0.1.1" date="11.10.2004"> +<changes ver="0.1.1" date="2004-10-11"> <change type="feature"> <para lang="ru"> @@ -25379,7 +25552,7 @@ was required. </changes> -<changes ver="0.1.0" date="04.10.2004"> +<changes ver="0.1.0" date="2004-10-04"> <change> <para lang="ru"> Renamed: vendor/nginx-1.11.11/docs/xsls/changes.xsls (+10 -4) 90% =================================================================== --- vendor/nginx-1.11.9/docs/xsls/changes.xsls 2017-03-24 11:49:37 +0900 (8be25a2) +++ vendor/nginx-1.11.11/docs/xsls/changes.xsls 2017-03-24 12:03:04 +0900 (4b34254) @@ -25,13 +25,19 @@ X:template = "changes" { ' '), 1, $conf/changes[@lang=$lang]/length)} - X:if "$lang='ru'" { !{@date} } + X:if "$lang='ru'" { + !{substring(@date, 9, 2)} + X:text {.} + !{substring(@date, 6, 2)} + X:text {.} + !{substring(@date, 1, 4)} + } X:if "$lang='en'" { - !{substring(@date, 1, 2)} + !{substring(@date, 9, 2)} !{$conf/changes[@lang=$lang]/month[number(substring(current()/@date, - 4, 2))]} - !{substring(@date, 7, 4)} + 6, 2))]} + !{substring(@date, 1, 4)} } X:text { } Renamed: vendor/nginx-1.11.11/docs/xslt/changes.xslt (+10 -4) 91% =================================================================== --- vendor/nginx-1.11.9/docs/xslt/changes.xslt 2017-03-24 11:49:37 +0900 (a0178f6) +++ vendor/nginx-1.11.11/docs/xslt/changes.xslt 2017-03-24 12:03:04 +0900 (55ee515) @@ -26,13 +26,19 @@ ' '), 1, $conf/changes[@lang=$lang]/length)"/> - <xsl:if test="$lang='ru'"> <xsl:value-of select="@date"/> </xsl:if> + <xsl:if test="$lang='ru'"> + <xsl:value-of select="substring(@date, 9, 2)"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring(@date, 6, 2)"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring(@date, 1, 4)"/> + </xsl:if> <xsl:if test="$lang='en'"> - <xsl:value-of select="substring(@date, 1, 2)"/> + <xsl:value-of select="substring(@date, 9, 2)"/> <xsl:value-of select="$conf/changes[@lang=$lang]/month[number(substring(current()/@date, - 4, 2))]"/> - <xsl:value-of select="substring(@date, 7, 4)"/> + 6, 2))]"/> + <xsl:value-of select="substring(@date, 1, 4)"/> </xsl:if> <xsl:text> </xsl:text> Renamed: vendor/nginx-1.11.11/misc/GNUmakefile (+2 -1) 98% =================================================================== --- vendor/nginx-1.11.9/misc/GNUmakefile 2017-03-24 11:49:37 +0900 (d1ef15b) +++ vendor/nginx-1.11.11/misc/GNUmakefile 2017-03-24 12:03:04 +0900 (bef4f0e) @@ -6,7 +6,7 @@ TEMP = tmp CC = cl OBJS = objs.msvc8 -OPENSSL = openssl-1.0.2j +OPENSSL = openssl-1.0.2k ZLIB = zlib-1.2.11 PCRE = pcre-8.40 @@ -66,6 +66,7 @@ win32: --with-pcre=$(OBJS)/lib/$(PCRE) \ --with-zlib=$(OBJS)/lib/$(ZLIB) \ --with-select_module \ + --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ Renamed: vendor/nginx-1.11.11/misc/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/nginx.c (+9 -0) 99% =================================================================== --- vendor/nginx-1.11.9/src/core/nginx.c 2017-03-24 11:49:37 +0900 (c5f09a5) +++ vendor/nginx-1.11.11/src/core/nginx.c 2017-03-24 12:03:04 +0900 (abaa50d) @@ -124,6 +124,13 @@ static ngx_command_t ngx_core_commands[] = { offsetof(ngx_core_conf_t, rlimit_core), NULL }, + { ngx_string("worker_shutdown_timeout"), + NGX_MAIN_CONF|NGX_DIRECT_CONF|NGX_CONF_TAKE1, + ngx_conf_set_msec_slot, + 0, + offsetof(ngx_core_conf_t, shutdown_timeout), + NULL }, + { ngx_string("working_directory"), NGX_MAIN_CONF|NGX_DIRECT_CONF|NGX_CONF_TAKE1, ngx_conf_set_str_slot, @@ -1014,6 +1021,7 @@ ngx_core_module_create_conf(ngx_cycle_t *cycle) ccf->daemon = NGX_CONF_UNSET; ccf->master = NGX_CONF_UNSET; ccf->timer_resolution = NGX_CONF_UNSET_MSEC; + ccf->shutdown_timeout = NGX_CONF_UNSET_MSEC; ccf->worker_processes = NGX_CONF_UNSET; ccf->debug_points = NGX_CONF_UNSET; @@ -1042,6 +1050,7 @@ ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf) ngx_conf_init_value(ccf->daemon, 1); ngx_conf_init_value(ccf->master, 1); ngx_conf_init_msec_value(ccf->timer_resolution, 0); + ngx_conf_init_msec_value(ccf->shutdown_timeout, 0); ngx_conf_init_value(ccf->worker_processes, 1); ngx_conf_init_value(ccf->debug_points, 0); Renamed: vendor/nginx-1.11.11/src/core/nginx.h (+2 -2) 84% =================================================================== --- vendor/nginx-1.11.9/src/core/nginx.h 2017-03-24 11:49:37 +0900 (3c06864) +++ vendor/nginx-1.11.11/src/core/nginx.h 2017-03-24 12:03:04 +0900 (5dc1ea2) @@ -9,8 +9,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1011009 -#define NGINX_VERSION "1.11.9" +#define nginx_version 1011011 +#define NGINX_VERSION "1.11.11" #define NGINX_VER "nginx/" NGINX_VERSION #ifdef NGX_BUILD Renamed: vendor/nginx-1.11.11/src/core/ngx_array.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_array.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_buf.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_buf.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_conf_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_conf_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_connection.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_connection.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_core.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_cpuinfo.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_crc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_crc32.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_crc32.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_crypt.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_crypt.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_cycle.c (+53 -0) 96% =================================================================== --- vendor/nginx-1.11.9/src/core/ngx_cycle.c 2017-03-24 11:49:37 +0900 (5e95628) +++ vendor/nginx-1.11.11/src/core/ngx_cycle.c 2017-03-24 12:03:04 +0900 (3dfdf2e) @@ -15,6 +15,7 @@ static ngx_int_t ngx_init_zone_pool(ngx_cycle_t *cycle, ngx_shm_zone_t *shm_zone); static ngx_int_t ngx_test_lockfile(u_char *file, ngx_log_t *log); static void ngx_clean_old_cycles(ngx_event_t *ev); +static void ngx_shutdown_timer_handler(ngx_event_t *ev); volatile ngx_cycle_t *ngx_cycle; @@ -22,6 +23,7 @@ ngx_array_t ngx_old_cycles; static ngx_pool_t *ngx_temp_pool; static ngx_event_t ngx_cleaner_event; +static ngx_event_t ngx_shutdown_event; ngx_uint_t ngx_test_config; ngx_uint_t ngx_dump_config; @@ -1333,3 +1335,54 @@ ngx_clean_old_cycles(ngx_event_t *ev) ngx_old_cycles.nelts = 0; } } + + +void +ngx_set_shutdown_timer(ngx_cycle_t *cycle) +{ + ngx_core_conf_t *ccf; + + ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); + + if (ccf->shutdown_timeout) { + ngx_shutdown_event.handler = ngx_shutdown_timer_handler; + ngx_shutdown_event.data = cycle; + ngx_shutdown_event.log = cycle->log; + ngx_shutdown_event.cancelable = 1; + + ngx_add_timer(&ngx_shutdown_event, ccf->shutdown_timeout); + } +} + + +static void +ngx_shutdown_timer_handler(ngx_event_t *ev) +{ + ngx_uint_t i; + ngx_cycle_t *cycle; + ngx_connection_t *c; + + cycle = ev->data; + + c = cycle->connections; + + for (i = 0; i < cycle->connection_n; i++) { + + if (c[i].fd == (ngx_socket_t) -1 + || c[i].read == NULL + || c[i].read->accept + || c[i].read->channel + || c[i].read->resolver) + { + continue; + } + + ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, + "*%uA shutdown timeout", c[i].number); + + c[i].close = 1; + c[i].error = 1; + + c[i].read->handler(c[i].read); + } +} Renamed: vendor/nginx-1.11.11/src/core/ngx_cycle.h (+2 -0) 97% =================================================================== --- vendor/nginx-1.11.9/src/core/ngx_cycle.h 2017-03-24 11:49:37 +0900 (d804eb4) +++ vendor/nginx-1.11.11/src/core/ngx_cycle.h 2017-03-24 12:03:04 +0900 (2b48ccb) @@ -88,6 +88,7 @@ typedef struct { ngx_flag_t master; ngx_msec_t timer_resolution; + ngx_msec_t shutdown_timeout; ngx_int_t worker_processes; ngx_int_t debug_points; @@ -129,6 +130,7 @@ ngx_pid_t ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv); ngx_cpuset_t *ngx_get_cpu_affinity(ngx_uint_t n); ngx_shm_zone_t *ngx_shared_memory_add(ngx_conf_t *cf, ngx_str_t *name, size_t size, void *tag); +void ngx_set_shutdown_timer(ngx_cycle_t *cycle); extern volatile ngx_cycle_t *ngx_cycle; Renamed: vendor/nginx-1.11.11/src/core/ngx_file.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_file.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_hash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_hash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_inet.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_inet.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_list.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_list.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_log.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_md5.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_md5.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_murmurhash.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_murmurhash.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_open_file_cache.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_open_file_cache.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_output_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_palloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_palloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_parse.c (+10 -0) 98% =================================================================== --- vendor/nginx-1.11.9/src/core/ngx_parse.c 2017-03-24 11:49:37 +0900 (7b60c5f) +++ vendor/nginx-1.11.11/src/core/ngx_parse.c 2017-03-24 12:03:04 +0900 (d35e60f) @@ -17,6 +17,11 @@ ngx_parse_size(ngx_str_t *line) ssize_t size, scale, max; len = line->len; + + if (len == 0) { + return NGX_ERROR; + } + unit = line->data[len - 1]; switch (unit) { @@ -58,6 +63,11 @@ ngx_parse_offset(ngx_str_t *line) size_t len; len = line->len; + + if (len == 0) { + return NGX_ERROR; + } + unit = line->data[len - 1]; switch (unit) { Renamed: vendor/nginx-1.11.11/src/core/ngx_parse.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_parse_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_parse_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_proxy_protocol.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_proxy_protocol.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_queue.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_queue.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_radix_tree.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_radix_tree.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_rbtree.c (+31 -2) 94% =================================================================== --- vendor/nginx-1.11.9/src/core/ngx_rbtree.c 2017-03-24 11:49:37 +0900 (6c66f40) +++ vendor/nginx-1.11.11/src/core/ngx_rbtree.c 2017-03-24 12:03:04 +0900 (969d549) @@ -28,7 +28,7 @@ ngx_rbtree_insert(ngx_rbtree_t *tree, ngx_rbtree_node_t *node) /* a binary tree insert */ - root = (ngx_rbtree_node_t **) &tree->root; + root = &tree->root; sentinel = tree->sentinel; if (*root == sentinel) { @@ -161,7 +161,7 @@ ngx_rbtree_delete(ngx_rbtree_t *tree, ngx_rbtree_node_t *node) /* a binary tree delete */ - root = (ngx_rbtree_node_t **) &tree->root; + root = &tree->root; sentinel = tree->sentinel; if (node->left == sentinel) { @@ -378,3 +378,32 @@ ngx_rbtree_right_rotate(ngx_rbtree_node_t **root, ngx_rbtree_node_t *sentinel, temp->right = node; node->parent = temp; } + + +ngx_rbtree_node_t * +ngx_rbtree_next(ngx_rbtree_t *tree, ngx_rbtree_node_t *node) +{ + ngx_rbtree_node_t *root, *sentinel, *parent; + + sentinel = tree->sentinel; + + if (node->right != sentinel) { + return ngx_rbtree_min(node->right, sentinel); + } + + root = tree->root; + + for ( ;; ) { + parent = node->parent; + + if (node == root) { + return NULL; + } + + if (node == parent->left) { + return parent; + } + + node = parent; + } +} Renamed: vendor/nginx-1.11.11/src/core/ngx_rbtree.h (+2 -0) 96% =================================================================== --- vendor/nginx-1.11.9/src/core/ngx_rbtree.h 2017-03-24 11:49:37 +0900 (1d33e3f) +++ vendor/nginx-1.11.11/src/core/ngx_rbtree.h 2017-03-24 12:03:04 +0900 (97f0e3e) @@ -54,6 +54,8 @@ void ngx_rbtree_insert_value(ngx_rbtree_node_t *root, ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel); void ngx_rbtree_insert_timer_value(ngx_rbtree_node_t *root, ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel); +ngx_rbtree_node_t *ngx_rbtree_next(ngx_rbtree_t *tree, + ngx_rbtree_node_t *node); #define ngx_rbt_red(node) ((node)->color = 1) Renamed: vendor/nginx-1.11.11/src/core/ngx_regex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_regex.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_resolver.c (+4 -4) 99% =================================================================== --- vendor/nginx-1.11.9/src/core/ngx_resolver.c 2017-03-24 11:49:37 +0900 (2065f75) +++ vendor/nginx-1.11.11/src/core/ngx_resolver.c 2017-03-24 12:03:04 +0900 (e140ab6) @@ -56,8 +56,8 @@ typedef struct { ((u_char *) (n) - offsetof(ngx_resolver_node_t, node)) -ngx_int_t ngx_udp_connect(ngx_resolver_connection_t *rec); -ngx_int_t ngx_tcp_connect(ngx_resolver_connection_t *rec); +static ngx_int_t ngx_udp_connect(ngx_resolver_connection_t *rec); +static ngx_int_t ngx_tcp_connect(ngx_resolver_connection_t *rec); static void ngx_resolver_cleanup(void *data); @@ -4379,7 +4379,7 @@ ngx_resolver_log_error(ngx_log_t *log, u_char *buf, size_t len) } -ngx_int_t +static ngx_int_t ngx_udp_connect(ngx_resolver_connection_t *rec) { int rc; @@ -4463,7 +4463,7 @@ failed: } -ngx_int_t +static ngx_int_t ngx_tcp_connect(ngx_resolver_connection_t *rec) { int rc; Renamed: vendor/nginx-1.11.11/src/core/ngx_resolver.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_rwlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_rwlock.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_sha1.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_sha1.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_shmtx.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_shmtx.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_slab.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_slab.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_spinlock.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_string.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_string.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_syslog.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_syslog.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_thread_pool.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_thread_pool.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_times.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/core/ngx_times.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_devpoll_module.c (+2 -2) 99% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_devpoll_module.c 2017-03-24 11:49:37 +0900 (39e480e) +++ vendor/nginx-1.11.11/src/event/modules/ngx_devpoll_module.c 2017-03-24 12:03:04 +0900 (ee9f854) @@ -78,7 +78,7 @@ static ngx_command_t ngx_devpoll_commands[] = { }; -ngx_event_module_t ngx_devpoll_module_ctx = { +static ngx_event_module_t ngx_devpoll_module_ctx = { &devpoll_name, ngx_devpoll_create_conf, /* create configuration */ ngx_devpoll_init_conf, /* init configuration */ @@ -336,7 +336,7 @@ ngx_devpoll_set_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags) } -ngx_int_t +static ngx_int_t ngx_devpoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) { Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_epoll_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_epoll_module.c 2017-03-24 11:49:37 +0900 (760c69b) +++ vendor/nginx-1.11.11/src/event/modules/ngx_epoll_module.c 2017-03-24 12:03:04 +0900 (76aee08) @@ -176,7 +176,7 @@ static ngx_command_t ngx_epoll_commands[] = { }; -ngx_event_module_t ngx_epoll_module_ctx = { +static ngx_event_module_t ngx_epoll_module_ctx = { &epoll_name, ngx_epoll_create_conf, /* create configuration */ ngx_epoll_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_eventport_module.c (+2 -2) 99% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_eventport_module.c 2017-03-24 11:49:37 +0900 (0413599) +++ vendor/nginx-1.11.11/src/event/modules/ngx_eventport_module.c 2017-03-24 12:03:04 +0900 (e723f92) @@ -169,7 +169,7 @@ static ngx_command_t ngx_eventport_commands[] = { }; -ngx_event_module_t ngx_eventport_module_ctx = { +static ngx_event_module_t ngx_eventport_module_ctx = { &eventport_name, ngx_eventport_create_conf, /* create configuration */ ngx_eventport_init_conf, /* init configuration */ @@ -432,7 +432,7 @@ ngx_eventport_notify(ngx_event_handler_pt handler) } -ngx_int_t +static ngx_int_t ngx_eventport_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) { Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_iocp_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_iocp_module.c 2017-03-24 11:49:37 +0900 (e00d967) +++ vendor/nginx-1.11.11/src/event/modules/ngx_iocp_module.c 2017-03-24 12:03:04 +0900 (b03944b) @@ -52,7 +52,7 @@ static ngx_command_t ngx_iocp_commands[] = { }; -ngx_event_module_t ngx_iocp_module_ctx = { +static ngx_event_module_t ngx_iocp_module_ctx = { &iocp_name, ngx_iocp_create_conf, /* create configuration */ ngx_iocp_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_iocp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_kqueue_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_kqueue_module.c 2017-03-24 11:49:37 +0900 (ca3bfe4) +++ vendor/nginx-1.11.11/src/event/modules/ngx_kqueue_module.c 2017-03-24 12:03:04 +0900 (9c7244c) @@ -73,7 +73,7 @@ static ngx_command_t ngx_kqueue_commands[] = { }; -ngx_event_module_t ngx_kqueue_module_ctx = { +static ngx_event_module_t ngx_kqueue_module_ctx = { &kqueue_name, ngx_kqueue_create_conf, /* create configuration */ ngx_kqueue_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_poll_module.c (+2 -2) 98% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_poll_module.c 2017-03-24 11:49:37 +0900 (a2a7079) +++ vendor/nginx-1.11.11/src/event/modules/ngx_poll_module.c 2017-03-24 12:03:04 +0900 (4e03dab) @@ -25,9 +25,9 @@ static struct pollfd *event_list; static ngx_uint_t nevents; -static ngx_str_t poll_name = ngx_string("poll"); +static ngx_str_t poll_name = ngx_string("poll"); -ngx_event_module_t ngx_poll_module_ctx = { +static ngx_event_module_t ngx_poll_module_ctx = { &poll_name, NULL, /* create configuration */ ngx_poll_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_select_module.c (+2 -2) 98% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_select_module.c 2017-03-24 11:49:37 +0900 (5a976bd) +++ vendor/nginx-1.11.11/src/event/modules/ngx_select_module.c 2017-03-24 12:03:04 +0900 (0644621) @@ -33,9 +33,9 @@ static ngx_uint_t nevents; static ngx_event_t **event_index; -static ngx_str_t select_name = ngx_string("select"); +static ngx_str_t select_name = ngx_string("select"); -ngx_event_module_t ngx_select_module_ctx = { +static ngx_event_module_t ngx_select_module_ctx = { &select_name, NULL, /* create configuration */ ngx_select_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/modules/ngx_win32_select_module.c (+2 -2) 98% =================================================================== --- vendor/nginx-1.11.9/src/event/modules/ngx_win32_select_module.c 2017-03-24 11:49:37 +0900 (c671f83) +++ vendor/nginx-1.11.11/src/event/modules/ngx_win32_select_module.c 2017-03-24 12:03:04 +0900 (a98a83f) @@ -34,9 +34,9 @@ static ngx_uint_t nevents; static ngx_event_t **event_index; -static ngx_str_t select_name = ngx_string("select"); +static ngx_str_t select_name = ngx_string("select"); -ngx_event_module_t ngx_select_module_ctx = { +static ngx_event_module_t ngx_select_module_ctx = { &select_name, NULL, /* create configuration */ ngx_select_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/ngx_event.c (+15 -15) 97% =================================================================== --- vendor/nginx-1.11.9/src/event/ngx_event.c 2017-03-24 11:49:37 +0900 (9d6c4c9) +++ vendor/nginx-1.11.11/src/event/ngx_event.c 2017-03-24 12:03:04 +0900 (dca41ee) @@ -59,20 +59,20 @@ ngx_int_t ngx_accept_disabled; #if (NGX_STAT_STUB) -ngx_atomic_t ngx_stat_accepted0; -ngx_atomic_t *ngx_stat_accepted = &ngx_stat_accepted0; -ngx_atomic_t ngx_stat_handled0; -ngx_atomic_t *ngx_stat_handled = &ngx_stat_handled0; -ngx_atomic_t ngx_stat_requests0; -ngx_atomic_t *ngx_stat_requests = &ngx_stat_requests0; -ngx_atomic_t ngx_stat_active0; -ngx_atomic_t *ngx_stat_active = &ngx_stat_active0; -ngx_atomic_t ngx_stat_reading0; -ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0; -ngx_atomic_t ngx_stat_writing0; -ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0; -ngx_atomic_t ngx_stat_waiting0; -ngx_atomic_t *ngx_stat_waiting = &ngx_stat_waiting0; +static ngx_atomic_t ngx_stat_accepted0; +ngx_atomic_t *ngx_stat_accepted = &ngx_stat_accepted0; +static ngx_atomic_t ngx_stat_handled0; +ngx_atomic_t *ngx_stat_handled = &ngx_stat_handled0; +static ngx_atomic_t ngx_stat_requests0; +ngx_atomic_t *ngx_stat_requests = &ngx_stat_requests0; +static ngx_atomic_t ngx_stat_active0; +ngx_atomic_t *ngx_stat_active = &ngx_stat_active0; +static ngx_atomic_t ngx_stat_reading0; +ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0; +static ngx_atomic_t ngx_stat_writing0; +ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0; +static ngx_atomic_t ngx_stat_waiting0; +ngx_atomic_t *ngx_stat_waiting = &ngx_stat_waiting0; #endif @@ -165,7 +165,7 @@ static ngx_command_t ngx_event_core_commands[] = { }; -ngx_event_module_t ngx_event_core_module_ctx = { +static ngx_event_module_t ngx_event_core_module_ctx = { &event_core_name, ngx_event_core_create_conf, /* create configuration */ ngx_event_core_init_conf, /* init configuration */ Renamed: vendor/nginx-1.11.11/src/event/ngx_event.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_accept.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_acceptex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_connect.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_connect.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_connectex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_openssl.c (+11 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/event/ngx_event_openssl.c 2017-03-24 11:49:37 +0900 (3c74b7b) +++ vendor/nginx-1.11.11/src/event/ngx_event_openssl.c 2017-03-24 12:03:04 +0900 (8c7c677) @@ -121,7 +121,17 @@ ngx_ssl_init(ngx_log_t *log) { #if OPENSSL_VERSION_NUMBER >= 0x10100003L - OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL); + if (OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL) == 0) { + ngx_ssl_error(NGX_LOG_ALERT, log, 0, "OPENSSL_init_ssl() failed"); + return NGX_ERROR; + } + + /* + * OPENSSL_init_ssl() may leave errors in the error queue + * while returning success + */ + + ERR_clear_error(); #else Renamed: vendor/nginx-1.11.11/src/event/ngx_event_openssl.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_openssl_stapling.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_pipe.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_pipe.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_posted.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_posted.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/event/ngx_event_timer.c (+15 -27) 77% =================================================================== --- vendor/nginx-1.11.9/src/event/ngx_event_timer.c 2017-03-24 11:49:37 +0900 (8f547b2) +++ vendor/nginx-1.11.11/src/event/ngx_event_timer.c 2017-03-24 12:03:04 +0900 (698b88f) @@ -67,7 +67,7 @@ ngx_event_expire_timers(void) node = ngx_rbtree_min(root, sentinel); - /* node->key > ngx_current_time */ + /* node->key > ngx_current_msec */ if ((ngx_msec_int_t) (node->key - ngx_current_msec) > 0) { return; @@ -96,43 +96,31 @@ ngx_event_expire_timers(void) } -void -ngx_event_cancel_timers(void) +ngx_int_t +ngx_event_no_timers_left(void) { ngx_event_t *ev; ngx_rbtree_node_t *node, *root, *sentinel; sentinel = ngx_event_timer_rbtree.sentinel; + root = ngx_event_timer_rbtree.root; - for ( ;; ) { - root = ngx_event_timer_rbtree.root; - - if (root == sentinel) { - return; - } - - node = ngx_rbtree_min(root, sentinel); + if (root == sentinel) { + return NGX_OK; + } + for (node = ngx_rbtree_min(root, sentinel); + node; + node = ngx_rbtree_next(&ngx_event_timer_rbtree, node)) + { ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, timer)); if (!ev->cancelable) { - return; + return NGX_AGAIN; } + } - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "event timer cancel: %d: %M", - ngx_event_ident(ev->data), ev->timer.key); - - ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer); - -#if (NGX_DEBUG) - ev->timer.left = NULL; - ev->timer.right = NULL; - ev->timer.parent = NULL; -#endif - - ev->timer_set = 0; + /* only cancelable timers left */ - ev->handler(ev); - } + return NGX_OK; } Renamed: vendor/nginx-1.11.11/src/event/ngx_event_timer.h (+1 -1) 97% =================================================================== --- vendor/nginx-1.11.9/src/event/ngx_event_timer.h 2017-03-24 11:49:37 +0900 (99f8a48) +++ vendor/nginx-1.11.11/src/event/ngx_event_timer.h 2017-03-24 12:03:04 +0900 (be81b15) @@ -22,7 +22,7 @@ ngx_int_t ngx_event_timer_init(ngx_log_t *log); ngx_msec_t ngx_event_find_timer(void); void ngx_event_expire_timers(void); -void ngx_event_cancel_timers(void); +ngx_int_t ngx_event_no_timers_left(void); extern ngx_rbtree_t ngx_event_timer_rbtree; Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_addition_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_auth_basic_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_auth_request_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_autoindex_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_browser_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_charset_filter_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_charset_filter_module.c 2017-03-24 11:49:37 +0900 (4ea9818) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_charset_filter_module.c 2017-03-24 12:03:04 +0900 (e52b96e) @@ -123,7 +123,7 @@ static char *ngx_http_charset_merge_loc_conf(ngx_conf_t *cf, static ngx_int_t ngx_http_charset_postconfiguration(ngx_conf_t *cf); -ngx_str_t ngx_http_charset_default_types[] = { +static ngx_str_t ngx_http_charset_default_types[] = { ngx_string("text/html"), ngx_string("text/xml"), ngx_string("text/plain"), Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_chunked_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_dav_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_degradation_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_empty_gif_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_fastcgi_module.c (+11 -0) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_fastcgi_module.c 2017-03-24 11:49:37 +0900 (c7c417b) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_fastcgi_module.c 2017-03-24 12:03:04 +0900 (afdea2d) @@ -469,6 +469,13 @@ static ngx_command_t ngx_http_fastcgi_commands[] = { offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_revalidate), NULL }, + { ngx_string("fastcgi_cache_background_update"), + 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_fastcgi_loc_conf_t, upstream.cache_background_update), + NULL }, + #endif { ngx_string("fastcgi_temp_path"), @@ -2769,6 +2776,7 @@ ngx_http_fastcgi_create_loc_conf(ngx_conf_t *cf) conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; conf->upstream.cache_revalidate = NGX_CONF_UNSET; + conf->upstream.cache_background_update = NGX_CONF_UNSET; #endif conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; @@ -3061,6 +3069,9 @@ ngx_http_fastcgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_value(conf->upstream.cache_revalidate, prev->upstream.cache_revalidate, 0); + ngx_conf_merge_value(conf->upstream.cache_background_update, + prev->upstream.cache_background_update, 0); + #endif ngx_conf_merge_value(conf->upstream.pass_request_headers, Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_flv_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_gunzip_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_gzip_filter_module.c (+16 -6) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_gzip_filter_module.c 2017-03-24 11:49:37 +0900 (536fdf8) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_gzip_filter_module.c 2017-03-24 12:03:04 +0900 (f9652d0) @@ -671,6 +671,8 @@ ngx_http_gzip_filter_gzheader(ngx_http_request_t *r, ngx_http_gzip_ctx_t *ctx) static ngx_int_t ngx_http_gzip_filter_add_data(ngx_http_request_t *r, ngx_http_gzip_ctx_t *ctx) { + ngx_chain_t *cl; + if (ctx->zstream.avail_in || ctx->flush != Z_NO_FLUSH || ctx->redo) { return NGX_OK; } @@ -694,13 +696,16 @@ ngx_http_gzip_filter_add_data(ngx_http_request_t *r, ngx_http_gzip_ctx_t *ctx) ctx->copy_buf = NULL; } - ctx->in_buf = ctx->in->buf; + cl = ctx->in; + ctx->in_buf = cl->buf; + ctx->in = cl->next; if (ctx->in_buf->tag == (ngx_buf_tag_t) &ngx_http_gzip_filter_module) { - ctx->copy_buf = ctx->in; - } + ctx->copy_buf = cl; - ctx->in = ctx->in->next; + } else { + ngx_free_chain(r->pool, cl); + } ctx->zstream.next_in = ctx->in_buf->pos; ctx->zstream.avail_in = ctx->in_buf->last - ctx->in_buf->pos; @@ -733,6 +738,7 @@ ngx_http_gzip_filter_add_data(ngx_http_request_t *r, ngx_http_gzip_ctx_t *ctx) static ngx_int_t ngx_http_gzip_filter_get_buf(ngx_http_request_t *r, ngx_http_gzip_ctx_t *ctx) { + ngx_chain_t *cl; ngx_http_gzip_conf_t *conf; if (ctx->zstream.avail_out) { @@ -742,8 +748,12 @@ ngx_http_gzip_filter_get_buf(ngx_http_request_t *r, ngx_http_gzip_ctx_t *ctx) conf = ngx_http_get_module_loc_conf(r, ngx_http_gzip_filter_module); if (ctx->free) { - ctx->out_buf = ctx->free->buf; - ctx->free = ctx->free->next; + + cl = ctx->free; + ctx->out_buf = cl->buf; + ctx->free = cl->next; + + ngx_free_chain(r->pool, cl); } else if (ctx->bufs < conf->bufs.num) { Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_gzip_static_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_gzip_static_module.c 2017-03-24 11:49:37 +0900 (4d54090) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_gzip_static_module.c 2017-03-24 12:03:04 +0900 (b9294dd) @@ -48,7 +48,7 @@ static ngx_command_t ngx_http_gzip_static_commands[] = { }; -ngx_http_module_t ngx_http_gzip_static_module_ctx = { +static ngx_http_module_t ngx_http_gzip_static_module_ctx = { NULL, /* preconfiguration */ ngx_http_gzip_static_init, /* postconfiguration */ Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_headers_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_image_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_limit_req_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_log_module.c (+1 -14) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_log_module.c 2017-03-24 11:49:37 +0900 (ff8572b) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_log_module.c 2017-03-24 12:03:04 +0900 (330dc7e) @@ -748,23 +748,10 @@ ngx_http_log_flush(ngx_open_file_t *file, ngx_log_t *log) static void ngx_http_log_flush_handler(ngx_event_t *ev) { - ngx_open_file_t *file; - ngx_http_log_buf_t *buffer; - ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ev->log, 0, "http log buffer flush handler"); - if (ev->timedout) { - ngx_http_log_flush(ev->data, ev->log); - return; - } - - /* cancel the flush timer for graceful shutdown */ - - file = ev->data; - buffer = file->data; - - buffer->event = NULL; + ngx_http_log_flush(ev->data, ev->log); } Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_memcached_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_mp4_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_not_modified_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_proxy_module.c (+11 -0) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_proxy_module.c 2017-03-24 11:49:37 +0900 (42b6afc) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_proxy_module.c 2017-03-24 12:03:04 +0900 (1a84d78) @@ -548,6 +548,13 @@ static ngx_command_t ngx_http_proxy_commands[] = { offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_convert_head), NULL }, + { ngx_string("proxy_cache_background_update"), + 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_proxy_loc_conf_t, upstream.cache_background_update), + NULL }, + #endif { ngx_string("proxy_temp_path"), @@ -2863,6 +2870,7 @@ ngx_http_proxy_create_loc_conf(ngx_conf_t *cf) conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; conf->upstream.cache_revalidate = NGX_CONF_UNSET; conf->upstream.cache_convert_head = NGX_CONF_UNSET; + conf->upstream.cache_background_update = NGX_CONF_UNSET; #endif conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; @@ -3168,6 +3176,9 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_value(conf->upstream.cache_convert_head, prev->upstream.cache_convert_head, 1); + ngx_conf_merge_value(conf->upstream.cache_background_update, + prev->upstream.cache_background_update, 0); + #endif if (conf->method == NULL) { Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_random_index_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_range_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_referer_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_rewrite_module.c (+3 -10) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_rewrite_module.c 2017-03-24 11:49:37 +0900 (6b2444c) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_rewrite_module.c 2017-03-24 12:03:04 +0900 (a6f1fc8) @@ -917,7 +917,8 @@ ngx_http_rewrite_set(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) value[1].len--; value[1].data++; - v = ngx_http_add_variable(cf, &value[1], NGX_HTTP_VAR_CHANGEABLE); + v = ngx_http_add_variable(cf, &value[1], + NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_WEAK); if (v == NULL) { return NGX_CONF_ERROR; } @@ -927,15 +928,7 @@ ngx_http_rewrite_set(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } - if (v->get_handler == NULL - && ngx_strncasecmp(value[1].data, (u_char *) "http_", 5) != 0 - && ngx_strncasecmp(value[1].data, (u_char *) "sent_http_", 10) != 0 - && ngx_strncasecmp(value[1].data, (u_char *) "upstream_http_", 14) != 0 - && ngx_strncasecmp(value[1].data, (u_char *) "cookie_", 7) != 0 - && ngx_strncasecmp(value[1].data, (u_char *) "upstream_cookie_", 16) - != 0 - && ngx_strncasecmp(value[1].data, (u_char *) "arg_", 4) != 0) - { + if (v->get_handler == NULL) { v->get_handler = ngx_http_rewrite_var; v->data = index; } Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_scgi_module.c (+11 -0) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_scgi_module.c 2017-03-24 11:49:37 +0900 (aa84a3d) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_scgi_module.c 2017-03-24 12:03:04 +0900 (288ba09) @@ -319,6 +319,13 @@ static ngx_command_t ngx_http_scgi_commands[] = { offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_revalidate), NULL }, + { ngx_string("scgi_cache_background_update"), + 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_scgi_loc_conf_t, upstream.cache_background_update), + NULL }, + #endif { ngx_string("scgi_temp_path"), @@ -1219,6 +1226,7 @@ ngx_http_scgi_create_loc_conf(ngx_conf_t *cf) conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; conf->upstream.cache_revalidate = NGX_CONF_UNSET; + conf->upstream.cache_background_update = NGX_CONF_UNSET; #endif conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; @@ -1506,6 +1514,9 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_value(conf->upstream.cache_revalidate, prev->upstream.cache_revalidate, 0); + ngx_conf_merge_value(conf->upstream.cache_background_update, + prev->upstream.cache_background_update, 0); + #endif ngx_conf_merge_value(conf->upstream.pass_request_headers, Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_secure_link_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_slice_filter_module.c (+4 -1) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_slice_filter_module.c 2017-03-24 11:49:37 +0900 (5e149b4) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_slice_filter_module.c 2017-03-24 12:03:04 +0900 (2005939) @@ -244,7 +244,10 @@ ngx_http_slice_body_filter(ngx_http_request_t *r, ngx_chain_t *in) return rc; } - if (ngx_http_subrequest(r, &r->uri, &r->args, &sr, NULL, 0) != NGX_OK) { + if (ngx_http_subrequest(r, &r->uri, &r->args, &sr, NULL, + NGX_HTTP_SUBREQUEST_CLONE) + != NGX_OK) + { return NGX_ERROR; } Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_ssi_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_ssi_filter_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_ssl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_static_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_static_module.c 2017-03-24 11:49:37 +0900 (07b9580) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_static_module.c 2017-03-24 12:03:04 +0900 (f2435a7) @@ -14,7 +14,7 @@ static ngx_int_t ngx_http_static_handler(ngx_http_request_t *r); static ngx_int_t ngx_http_static_init(ngx_conf_t *cf); -ngx_http_module_t ngx_http_static_module_ctx = { +static ngx_http_module_t ngx_http_static_module_ctx = { NULL, /* preconfiguration */ ngx_http_static_init, /* postconfiguration */ Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_stub_status_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_sub_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_ip_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_keepalive_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_userid_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_uwsgi_module.c (+11 -0) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_uwsgi_module.c 2017-03-24 11:49:37 +0900 (b9c8dba) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_uwsgi_module.c 2017-03-24 12:03:04 +0900 (2ba64af) @@ -379,6 +379,13 @@ static ngx_command_t ngx_http_uwsgi_commands[] = { offsetof(ngx_http_uwsgi_loc_conf_t, upstream.cache_revalidate), NULL }, + { ngx_string("uwsgi_cache_background_update"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, + ngx_conf_set_flag_slot, + NGX_HTTP_LOC_CONF_OFFSET, + offsetof(ngx_http_uwsgi_loc_conf_t, upstream.cache_background_update), + NULL }, + #endif { ngx_string("uwsgi_temp_path"), @@ -1425,6 +1432,7 @@ ngx_http_uwsgi_create_loc_conf(ngx_conf_t *cf) conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; conf->upstream.cache_revalidate = NGX_CONF_UNSET; + conf->upstream.cache_background_update = NGX_CONF_UNSET; #endif conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; @@ -1720,6 +1728,9 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_value(conf->upstream.cache_revalidate, prev->upstream.cache_revalidate, 0); + ngx_conf_merge_value(conf->upstream.cache_background_update, + prev->upstream.cache_background_update, 0); + #endif ngx_conf_merge_value(conf->upstream.pass_request_headers, Renamed: vendor/nginx-1.11.11/src/http/modules/ngx_http_xslt_filter_module.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/modules/ngx_http_xslt_filter_module.c 2017-03-24 11:49:37 +0900 (315081e) +++ vendor/nginx-1.11.11/src/http/modules/ngx_http_xslt_filter_module.c 2017-03-24 12:03:04 +0900 (695f3bf) @@ -109,7 +109,7 @@ static ngx_int_t ngx_http_xslt_filter_init(ngx_conf_t *cf); static void ngx_http_xslt_filter_exit(ngx_cycle_t *cycle); -ngx_str_t ngx_http_xslt_default_types[] = { +static ngx_str_t ngx_http_xslt_default_types[] = { ngx_string("text/xml"), ngx_null_string }; Renamed: vendor/nginx-1.11.11/src/http/modules/perl/Makefile.PL (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/perl/nginx.pm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/perl/nginx.xs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/perl/ngx_http_perl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/perl/ngx_http_perl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/modules/perl/typemap (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_cache.h (+11 -3) 93% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_cache.h 2017-03-24 11:49:37 +0900 (4075f3d) +++ vendor/nginx-1.11.11/src/http/ngx_http_cache.h 2017-03-24 12:03:04 +0900 (f9e9664) @@ -24,10 +24,10 @@ #define NGX_HTTP_CACHE_SCARCE 8 #define NGX_HTTP_CACHE_KEY_LEN 16 -#define NGX_HTTP_CACHE_ETAG_LEN 42 -#define NGX_HTTP_CACHE_VARY_LEN 42 +#define NGX_HTTP_CACHE_ETAG_LEN 128 +#define NGX_HTTP_CACHE_VARY_LEN 128 -#define NGX_HTTP_CACHE_VERSION 3 +#define NGX_HTTP_CACHE_VERSION 5 typedef struct { @@ -71,6 +71,8 @@ struct ngx_http_cache_s { ngx_file_uniq_t uniq; time_t valid_sec; + time_t updating_sec; + time_t error_sec; time_t last_modified; time_t date; @@ -114,12 +116,18 @@ struct ngx_http_cache_s { unsigned purged:1; unsigned reading:1; unsigned secondary:1; + unsigned background:1; + + unsigned stale_updating:1; + unsigned stale_error:1; }; typedef struct { ngx_uint_t version; time_t valid_sec; + time_t updating_sec; + time_t error_sec; time_t last_modified; time_t date; uint32_t crc32; Renamed: vendor/nginx-1.11.11/src/http/ngx_http_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_copy_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_core_module.c (+27 -5) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_core_module.c 2017-03-24 11:49:37 +0900 (666d96f) +++ vendor/nginx-1.11.11/src/http/ngx_http_core_module.c 2017-03-24 12:03:04 +0900 (6e31a2a) @@ -120,6 +120,14 @@ static ngx_conf_enum_t ngx_http_core_lingering_close[] = { }; +static ngx_conf_enum_t ngx_http_core_server_tokens[] = { + { ngx_string("off"), NGX_HTTP_SERVER_TOKENS_OFF }, + { ngx_string("on"), NGX_HTTP_SERVER_TOKENS_ON }, + { ngx_string("build"), NGX_HTTP_SERVER_TOKENS_BUILD }, + { ngx_null_string, 0 } +}; + + static ngx_conf_enum_t ngx_http_core_if_modified_since[] = { { ngx_string("off"), NGX_HTTP_IMS_OFF }, { ngx_string("exact"), NGX_HTTP_IMS_EXACT }, @@ -599,11 +607,11 @@ static ngx_command_t ngx_http_core_commands[] = { NULL }, { ngx_string("server_tokens"), - NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, - ngx_conf_set_flag_slot, + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, + ngx_conf_set_enum_slot, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_core_loc_conf_t, server_tokens), - NULL }, + &ngx_http_core_server_tokens }, { ngx_string("if_modified_since"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, @@ -2558,6 +2566,18 @@ ngx_http_subrequest(ngx_http_request_t *r, *psr = sr; + if (flags & NGX_HTTP_SUBREQUEST_CLONE) { + sr->method = r->method; + sr->method_name = r->method_name; + sr->loc_conf = r->loc_conf; + sr->valid_location = r->valid_location; + sr->content_handler = r->content_handler; + sr->phase_handler = r->phase_handler; + sr->write_event_handler = ngx_http_core_run_phases; + + ngx_http_update_location_config(sr); + } + return ngx_http_post_request(sr, NULL); } @@ -3576,9 +3596,9 @@ ngx_http_core_create_loc_conf(ngx_conf_t *cf) clcf->log_not_found = NGX_CONF_UNSET; clcf->log_subrequest = NGX_CONF_UNSET; clcf->recursive_error_pages = NGX_CONF_UNSET; - clcf->server_tokens = NGX_CONF_UNSET; clcf->chunked_transfer_encoding = NGX_CONF_UNSET; clcf->etag = NGX_CONF_UNSET; + clcf->server_tokens = NGX_CONF_UNSET_UINT; clcf->types_hash_max_size = NGX_CONF_UNSET_UINT; clcf->types_hash_bucket_size = NGX_CONF_UNSET_UINT; @@ -3842,11 +3862,13 @@ ngx_http_core_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_value(conf->log_subrequest, prev->log_subrequest, 0); ngx_conf_merge_value(conf->recursive_error_pages, prev->recursive_error_pages, 0); - ngx_conf_merge_value(conf->server_tokens, prev->server_tokens, 1); ngx_conf_merge_value(conf->chunked_transfer_encoding, prev->chunked_transfer_encoding, 1); ngx_conf_merge_value(conf->etag, prev->etag, 1); + ngx_conf_merge_uint_value(conf->server_tokens, prev->server_tokens, + NGX_HTTP_SERVER_TOKENS_ON); + ngx_conf_merge_ptr_value(conf->open_file_cache, prev->open_file_cache, NULL); Renamed: vendor/nginx-1.11.11/src/http/ngx_http_core_module.h (+8 -2) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_core_module.h 2017-03-24 11:49:37 +0900 (237cc5c) +++ vendor/nginx-1.11.11/src/http/ngx_http_core_module.h 2017-03-24 12:03:04 +0900 (5018da0) @@ -55,6 +55,11 @@ typedef struct ngx_thread_pool_s ngx_thread_pool_t; #define NGX_HTTP_KEEPALIVE_DISABLE_SAFARI 0x0008 +#define NGX_HTTP_SERVER_TOKENS_OFF 0 +#define NGX_HTTP_SERVER_TOKENS_ON 1 +#define NGX_HTTP_SERVER_TOKENS_BUILD 2 + + typedef struct ngx_http_location_tree_node_s ngx_http_location_tree_node_t; typedef struct ngx_http_core_loc_conf_s ngx_http_core_loc_conf_t; @@ -153,7 +158,8 @@ typedef struct { ngx_hash_t variables_hash; - ngx_array_t variables; /* ngx_http_variable_t */ + ngx_array_t variables; /* ngx_http_variable_t */ + ngx_array_t prefix_variables; /* ngx_http_variable_t */ ngx_uint_t ncaptures; ngx_uint_t server_names_hash_max_size; @@ -393,7 +399,7 @@ struct ngx_http_core_loc_conf_s { ngx_flag_t log_not_found; /* log_not_found */ ngx_flag_t log_subrequest; /* log_subrequest */ ngx_flag_t recursive_error_pages; /* recursive_error_pages */ - ngx_flag_t server_tokens; /* server_tokens */ + ngx_uint_t server_tokens; /* server_tokens */ ngx_flag_t chunked_transfer_encoding; /* chunked_transfer_encoding */ ngx_flag_t etag; /* etag */ Renamed: vendor/nginx-1.11.11/src/http/ngx_http_file_cache.c (+9 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_file_cache.c 2017-03-24 11:49:37 +0900 (a5a9300) +++ vendor/nginx-1.11.11/src/http/ngx_http_file_cache.c 2017-03-24 12:03:04 +0900 (8c75f95) @@ -601,6 +601,8 @@ ngx_http_file_cache_read(ngx_http_request_t *r, ngx_http_cache_t *c) c->buf->last += n; c->valid_sec = h->valid_sec; + c->updating_sec = h->updating_sec; + c->error_sec = h->error_sec; c->last_modified = h->last_modified; c->date = h->date; c->valid_msec = h->valid_msec; @@ -632,6 +634,8 @@ ngx_http_file_cache_read(ngx_http_request_t *r, ngx_http_cache_t *c) now = ngx_time(); if (c->valid_sec < now) { + c->stale_updating = c->valid_sec + c->updating_sec >= now; + c->stale_error = c->valid_sec + c->error_sec >= now; ngx_shmtx_lock(&cache->shpool->mutex); @@ -1252,6 +1256,8 @@ ngx_http_file_cache_set_header(ngx_http_request_t *r, u_char *buf) h->version = NGX_HTTP_CACHE_VERSION; h->valid_sec = c->valid_sec; + h->updating_sec = c->updating_sec; + h->error_sec = c->error_sec; h->last_modified = c->last_modified; h->date = c->date; h->crc32 = c->crc32; @@ -1513,6 +1519,8 @@ ngx_http_file_cache_update_header(ngx_http_request_t *r) h.version = NGX_HTTP_CACHE_VERSION; h.valid_sec = c->valid_sec; + h.updating_sec = c->updating_sec; + h.error_sec = c->error_sec; h.last_modified = c->last_modified; h.date = c->date; h.crc32 = c->crc32; @@ -1680,7 +1688,7 @@ ngx_http_file_cache_cleanup(void *data) ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->file.log, 0, "http file cache cleanup"); - if (c->updating) { + if (c->updating && !c->background) { ngx_log_error(NGX_LOG_ALERT, c->file.log, 0, "stalled cache updating, error:%ui", c->error); } Renamed: vendor/nginx-1.11.11/src/http/ngx_http_header_filter_module.c (+19 -7) 95% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_header_filter_module.c 2017-03-24 11:49:37 +0900 (88c8a61) +++ vendor/nginx-1.11.11/src/http/ngx_http_header_filter_module.c 2017-03-24 12:03:04 +0900 (ddae613) @@ -46,8 +46,9 @@ ngx_module_t ngx_http_header_filter_module = { }; -static char ngx_http_server_string[] = "Server: nginx" CRLF; -static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF; +static u_char ngx_http_server_string[] = "Server: nginx" CRLF; +static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF; +static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF; static ngx_str_t ngx_http_status_lines[] = { @@ -274,8 +275,15 @@ ngx_http_header_filter(ngx_http_request_t *r) clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); if (r->headers_out.server == NULL) { - len += clcf->server_tokens ? sizeof(ngx_http_server_full_string) - 1: - sizeof(ngx_http_server_string) - 1; + if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { + len += sizeof(ngx_http_server_full_string) - 1; + + } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { + len += sizeof(ngx_http_server_build_string) - 1; + + } else { + len += sizeof(ngx_http_server_string) - 1; + } } if (r->headers_out.date == NULL) { @@ -436,12 +444,16 @@ ngx_http_header_filter(ngx_http_request_t *r) *b->last++ = CR; *b->last++ = LF; if (r->headers_out.server == NULL) { - if (clcf->server_tokens) { - p = (u_char *) ngx_http_server_full_string; + if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { + p = ngx_http_server_full_string; len = sizeof(ngx_http_server_full_string) - 1; + } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { + p = ngx_http_server_build_string; + len = sizeof(ngx_http_server_build_string) - 1; + } else { - p = (u_char *) ngx_http_server_string; + p = ngx_http_server_string; len = sizeof(ngx_http_server_string) - 1; } Renamed: vendor/nginx-1.11.11/src/http/ngx_http_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_postpone_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_request.c (+53 -36) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_request.c 2017-03-24 11:49:37 +0900 (6ff7903) +++ vendor/nginx-1.11.11/src/http/ngx_http_request.c 2017-03-24 12:03:04 +0900 (1788bf3) @@ -549,7 +549,7 @@ ngx_http_create_request(ngx_connection_t *c) ngx_set_connection_log(r->connection, clcf->error_log); - r->header_in = hc->nbusy ? hc->busy[0] : c->buffer; + r->header_in = hc->busy ? hc->busy->buf : c->buffer; if (ngx_list_init(&r->headers_out.headers, r->pool, 20, sizeof(ngx_table_elt_t)) @@ -884,6 +884,8 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg) sscf = ngx_http_get_module_srv_conf(hc->conf_ctx, ngx_http_ssl_module); + c->ssl->buffer_size = sscf->buffer_size; + if (sscf->ssl.ctx) { SSL_set_SSL_CTX(ssl_conn, sscf->ssl.ctx); @@ -1429,6 +1431,7 @@ ngx_http_alloc_large_header_buffer(ngx_http_request_t *r, { u_char *old, *new; ngx_buf_t *b; + ngx_chain_t *cl; ngx_http_connection_t *hc; ngx_http_core_srv_conf_t *cscf; @@ -1458,8 +1461,11 @@ ngx_http_alloc_large_header_buffer(ngx_http_request_t *r, hc = r->http_connection; - if (hc->nfree) { - b = hc->free[--hc->nfree]; + if (hc->free) { + cl = hc->free; + hc->free = cl->next; + + b = cl->buf; ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http large header free: %p %uz", @@ -1467,20 +1473,19 @@ ngx_http_alloc_large_header_buffer(ngx_http_request_t *r, } else if (hc->nbusy < cscf->large_client_header_buffers.num) { - if (hc->busy == NULL) { - hc->busy = ngx_palloc(r->connection->pool, - cscf->large_client_header_buffers.num * sizeof(ngx_buf_t *)); - if (hc->busy == NULL) { - return NGX_ERROR; - } - } - b = ngx_create_temp_buf(r->connection->pool, cscf->large_client_header_buffers.size); if (b == NULL) { return NGX_ERROR; } + cl = ngx_alloc_chain_link(r->connection->pool); + if (cl == NULL) { + return NGX_ERROR; + } + + cl->buf = b; + ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http large header alloc: %p %uz", b->pos, b->end - b->last); @@ -1489,7 +1494,9 @@ ngx_http_alloc_large_header_buffer(ngx_http_request_t *r, return NGX_DECLINED; } - hc->busy[hc->nbusy++] = b; + cl->next = hc->busy; + hc->busy = cl; + hc->nbusy++; if (r->state == 0) { /* @@ -2833,12 +2840,11 @@ static void ngx_http_set_keepalive(ngx_http_request_t *r) { int tcp_nodelay; - ngx_int_t i; ngx_buf_t *b, *f; + ngx_chain_t *cl, *ln; ngx_event_t *rev, *wev; ngx_connection_t *c; ngx_http_connection_t *hc; - ngx_http_core_srv_conf_t *cscf; ngx_http_core_loc_conf_t *clcf; c = r->connection; @@ -2874,26 +2880,32 @@ ngx_http_set_keepalive(ngx_http_request_t *r) * Now we would move the large header buffers to the free list. */ - cscf = ngx_http_get_module_srv_conf(r, ngx_http_core_module); - - if (hc->free == NULL) { - hc->free = ngx_palloc(c->pool, - cscf->large_client_header_buffers.num * sizeof(ngx_buf_t *)); + for (cl = hc->busy; cl; /* void */) { + ln = cl; + cl = cl->next; - if (hc->free == NULL) { - ngx_http_close_request(r, 0); - return; + if (ln->buf == b) { + ngx_free_chain(c->pool, ln); + continue; } - } - for (i = 0; i < hc->nbusy - 1; i++) { - f = hc->busy[i]; - hc->free[hc->nfree++] = f; + f = ln->buf; f->pos = f->start; f->last = f->start; + + ln->next = hc->free; + hc->free = ln; } - hc->busy[0] = b; + cl = ngx_alloc_chain_link(c->pool); + if (cl == NULL) { + ngx_http_close_request(r, 0); + return; + } + + cl->buf = b; + + hc->busy = cl; hc->nbusy = 1; } } @@ -2964,27 +2976,32 @@ ngx_http_set_keepalive(ngx_http_request_t *r) b->last = b->start; } - ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc free: %p %i", - hc->free, hc->nfree); + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc free: %p", + hc->free); if (hc->free) { - for (i = 0; i < hc->nfree; i++) { - ngx_pfree(c->pool, hc->free[i]->start); - hc->free[i] = NULL; + for (cl = hc->free; cl; /* void */) { + ln = cl; + cl = cl->next; + ngx_pfree(c->pool, ln->buf->start); + ngx_free_chain(c->pool, ln); } - hc->nfree = 0; + hc->free = NULL; } ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, "hc busy: %p %i", hc->busy, hc->nbusy); if (hc->busy) { - for (i = 0; i < hc->nbusy; i++) { - ngx_pfree(c->pool, hc->busy[i]->start); - hc->busy[i] = NULL; + for (cl = hc->busy; cl; /* void */) { + ln = cl; + cl = cl->next; + ngx_pfree(c->pool, ln->buf->start); + ngx_free_chain(c->pool, ln); } + hc->busy = NULL; hc->nbusy = 0; } Renamed: vendor/nginx-1.11.11/src/http/ngx_http_request.h (+6 -4) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_request.h 2017-03-24 11:49:37 +0900 (cf9ee3c) +++ vendor/nginx-1.11.11/src/http/ngx_http_request.h 2017-03-24 12:03:04 +0900 (780a99f) @@ -62,7 +62,9 @@ /* unused 1 */ #define NGX_HTTP_SUBREQUEST_IN_MEMORY 2 #define NGX_HTTP_SUBREQUEST_WAITED 4 -#define NGX_HTTP_LOG_UNSAFE 8 +#define NGX_HTTP_SUBREQUEST_CLONE 8 + +#define NGX_HTTP_LOG_UNSAFE 1 #define NGX_HTTP_CONTINUE 100 @@ -307,11 +309,10 @@ typedef struct { #endif #endif - ngx_buf_t **busy; + ngx_chain_t *busy; ngx_int_t nbusy; - ngx_buf_t **free; - ngx_int_t nfree; + ngx_chain_t *free; unsigned ssl:1; unsigned proxy_protocol:1; @@ -481,6 +482,7 @@ struct ngx_http_request_s { #if (NGX_HTTP_CACHE) unsigned cached:1; + unsigned cache_updater:1; #endif #if (NGX_HTTP_GZIP) Renamed: vendor/nginx-1.11.11/src/http/ngx_http_request_body.c (+4 -0) 99% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_request_body.c 2017-03-24 11:49:37 +0900 (0641329) +++ vendor/nginx-1.11.11/src/http/ngx_http_request_body.c 2017-03-24 12:03:04 +0900 (2f66484) @@ -835,6 +835,8 @@ ngx_http_test_expect(ngx_http_request_t *r) /* we assume that such small packet should be send successfully */ + r->connection->error = 1; + return NGX_ERROR; } @@ -1085,6 +1087,7 @@ ngx_http_request_body_save_filter(ngx_http_request_t *r, ngx_chain_t *in) #if (NGX_DEBUG) +#if 0 for (cl = rb->bufs; cl; cl = cl->next) { ngx_log_debug7(NGX_LOG_DEBUG_EVENT, r->connection->log, 0, "http body old buf t:%d f:%d %p, pos %p, size: %z " @@ -1095,6 +1098,7 @@ ngx_http_request_body_save_filter(ngx_http_request_t *r, ngx_chain_t *in) cl->buf->file_pos, cl->buf->file_last - cl->buf->file_pos); } +#endif for (cl = in; cl; cl = cl->next) { ngx_log_debug7(NGX_LOG_DEBUG_EVENT, r->connection->log, 0, Renamed: vendor/nginx-1.11.11/src/http/ngx_http_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_special_response.c (+12 -1) 98% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_special_response.c 2017-03-24 11:49:37 +0900 (d4c39ff) +++ vendor/nginx-1.11.11/src/http/ngx_http_special_response.c 2017-03-24 12:03:04 +0900 (9de0d15) @@ -25,6 +25,13 @@ static u_char ngx_http_error_full_tail[] = ; +static u_char ngx_http_error_build_tail[] = +"<hr><center>" NGINX_VER_BUILD "</center>" CRLF +"</body>" CRLF +"</html>" CRLF +; + + static u_char ngx_http_error_tail[] = "<hr><center>nginx</center>" CRLF "</body>" CRLF @@ -628,10 +635,14 @@ ngx_http_send_special_response(ngx_http_request_t *r, ngx_uint_t msie_padding; ngx_chain_t out[3]; - if (clcf->server_tokens) { + if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { len = sizeof(ngx_http_error_full_tail) - 1; tail = ngx_http_error_full_tail; + } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { + len = sizeof(ngx_http_error_build_tail) - 1; + tail = ngx_http_error_build_tail; + } else { len = sizeof(ngx_http_error_tail) - 1; tail = ngx_http_error_tail; Renamed: vendor/nginx-1.11.11/src/http/ngx_http_upstream.c (+136 -24) 97% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_upstream.c 2017-03-24 11:49:37 +0900 (74a7c64) +++ vendor/nginx-1.11.11/src/http/ngx_http_upstream.c 2017-03-24 12:03:04 +0900 (1404693) @@ -17,6 +17,8 @@ static ngx_int_t ngx_http_upstream_cache_get(ngx_http_request_t *r, ngx_http_upstream_t *u, ngx_http_file_cache_t **cache); static ngx_int_t ngx_http_upstream_cache_send(ngx_http_request_t *r, ngx_http_upstream_t *u); +static ngx_int_t ngx_http_upstream_cache_background_update( + ngx_http_request_t *r, ngx_http_upstream_t *u); static ngx_int_t ngx_http_upstream_cache_check_range(ngx_http_request_t *r, ngx_http_upstream_t *u); static ngx_int_t ngx_http_upstream_cache_status(ngx_http_request_t *r, @@ -162,6 +164,10 @@ static ngx_int_t ngx_http_upstream_response_time_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data); static ngx_int_t ngx_http_upstream_response_length_variable( ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data); +static ngx_int_t ngx_http_upstream_header_variable(ngx_http_request_t *r, + ngx_http_variable_value_t *v, uintptr_t data); +static ngx_int_t ngx_http_upstream_cookie_variable(ngx_http_request_t *r, + ngx_http_variable_value_t *v, uintptr_t data); static char *ngx_http_upstream(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy); static char *ngx_http_upstream_server(ngx_conf_t *cf, ngx_command_t *cmd, @@ -182,7 +188,7 @@ static ngx_int_t ngx_http_upstream_ssl_name(ngx_http_request_t *r, #endif -ngx_http_upstream_header_t ngx_http_upstream_headers_in[] = { +static ngx_http_upstream_header_t ngx_http_upstream_headers_in[] = { { ngx_string("Status"), ngx_http_upstream_process_header_line, @@ -413,6 +419,12 @@ static ngx_http_variable_t ngx_http_upstream_vars[] = { #endif + { ngx_string("upstream_http_"), NULL, ngx_http_upstream_header_variable, + 0, NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_PREFIX, 0 }, + + { 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 } }; @@ -568,6 +580,10 @@ ngx_http_upstream_init_request(ngx_http_request_t *r) rc = NGX_DECLINED; r->cached = 0; } + + if (ngx_http_upstream_cache_background_update(r, u) != NGX_OK) { + rc = NGX_ERROR; + } } if (rc != NGX_DECLINED) { @@ -859,9 +875,24 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u) switch (rc) { + case NGX_HTTP_CACHE_STALE: + + if (((u->conf->cache_use_stale & NGX_HTTP_UPSTREAM_FT_UPDATING) + || c->stale_updating) && !r->cache_updater + && u->conf->cache_background_update) + { + r->cache->background = 1; + u->cache_status = rc; + rc = NGX_OK; + } + + break; + case NGX_HTTP_CACHE_UPDATING: - if (u->conf->cache_use_stale & NGX_HTTP_UPSTREAM_FT_UPDATING) { + if (((u->conf->cache_use_stale & NGX_HTTP_UPSTREAM_FT_UPDATING) + || c->stale_updating) && !r->cache_updater) + { u->cache_status = rc; rc = NGX_OK; @@ -884,6 +915,9 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u) case NGX_HTTP_CACHE_STALE: c->valid_sec = 0; + c->updating_sec = 0; + c->error_sec = 0; + u->buffer.start = NULL; u->cache_status = NGX_HTTP_CACHE_EXPIRED; @@ -1031,6 +1065,30 @@ ngx_http_upstream_cache_send(ngx_http_request_t *r, ngx_http_upstream_t *u) static ngx_int_t +ngx_http_upstream_cache_background_update(ngx_http_request_t *r, + ngx_http_upstream_t *u) +{ + ngx_http_request_t *sr; + + if (!r->cached || !r->cache->background) { + return NGX_OK; + } + + if (ngx_http_subrequest(r, &r->uri, &r->args, &sr, NULL, + NGX_HTTP_SUBREQUEST_CLONE) + != NGX_OK) + { + return NGX_ERROR; + } + + sr->header_only = 1; + sr->cache_updater = 1; + + return NGX_OK; +} + + +static ngx_int_t ngx_http_upstream_cache_check_range(ngx_http_request_t *r, ngx_http_upstream_t *u) { @@ -2330,7 +2388,7 @@ ngx_http_upstream_test_next(ngx_http_request_t *r, ngx_http_upstream_t *u) #if (NGX_HTTP_CACHE) if (u->cache_status == NGX_HTTP_CACHE_EXPIRED - && (u->conf->cache_use_stale & un->mask)) + && ((u->conf->cache_use_stale & un->mask) || r->cache->stale_error)) { ngx_int_t rc; @@ -2354,14 +2412,17 @@ ngx_http_upstream_test_next(ngx_http_request_t *r, ngx_http_upstream_t *u) && u->cache_status == NGX_HTTP_CACHE_EXPIRED && u->conf->cache_revalidate) { - time_t now, valid; + time_t now, valid, updating, error; ngx_int_t rc; ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http upstream not modified"); now = ngx_time(); + valid = r->cache->valid_sec; + updating = r->cache->updating_sec; + error = r->cache->error_sec; rc = u->reinit_request(r); @@ -2375,6 +2436,8 @@ ngx_http_upstream_test_next(ngx_http_request_t *r, ngx_http_upstream_t *u) if (valid == 0) { valid = r->cache->valid_sec; + updating = r->cache->updating_sec; + error = r->cache->error_sec; } if (valid == 0) { @@ -2387,6 +2450,9 @@ ngx_http_upstream_test_next(ngx_http_request_t *r, ngx_http_upstream_t *u) if (valid) { r->cache->valid_sec = valid; + r->cache->updating_sec = updating; + r->cache->error_sec = error; + r->cache->date = now; ngx_http_file_cache_update_header(r); @@ -4122,7 +4188,7 @@ ngx_http_upstream_next(ngx_http_request_t *r, ngx_http_upstream_t *u, #if (NGX_HTTP_CACHE) if (u->cache_status == NGX_HTTP_CACHE_EXPIRED - && (u->conf->cache_use_stale & ft_type)) + && ((u->conf->cache_use_stale & ft_type) || r->cache->stale_error)) { ngx_int_t rc; @@ -4300,6 +4366,8 @@ ngx_http_upstream_finalize_request(ngx_http_request_t *r, u->buffer.last = u->buffer.pos; } + r->read_event_handler = ngx_http_block_reading; + if (rc == NGX_DECLINED) { return; } @@ -4497,32 +4565,76 @@ ngx_http_upstream_process_cache_control(ngx_http_request_t *r, offset = 8; } - if (p == NULL) { - return NGX_OK; - } + if (p) { + n = 0; - n = 0; + for (p += offset; p < last; p++) { + if (*p == ',' || *p == ';' || *p == ' ') { + break; + } - for (p += offset; p < last; p++) { - if (*p == ',' || *p == ';' || *p == ' ') { - break; + if (*p >= '0' && *p <= '9') { + n = n * 10 + *p - '0'; + continue; + } + + u->cacheable = 0; + return NGX_OK; } - if (*p >= '0' && *p <= '9') { - n = n * 10 + *p - '0'; - continue; + if (n == 0) { + u->cacheable = 0; + return NGX_OK; } - u->cacheable = 0; - return NGX_OK; + r->cache->valid_sec = ngx_time() + n; } - if (n == 0) { - u->cacheable = 0; - return NGX_OK; + p = ngx_strlcasestrn(start, last, (u_char *) "stale-while-revalidate=", + 23 - 1); + + if (p) { + n = 0; + + for (p += 23; p < last; p++) { + if (*p == ',' || *p == ';' || *p == ' ') { + break; + } + + if (*p >= '0' && *p <= '9') { + n = n * 10 + *p - '0'; + continue; + } + + u->cacheable = 0; + return NGX_OK; + } + + r->cache->updating_sec = n; + r->cache->error_sec = n; } - r->cache->valid_sec = ngx_time() + n; + p = ngx_strlcasestrn(start, last, (u_char *) "stale-if-error=", 15 - 1); + + if (p) { + n = 0; + + for (p += 15; p < last; p++) { + if (*p == ',' || *p == ';' || *p == ' ') { + break; + } + + if (*p >= '0' && *p <= '9') { + n = n * 10 + *p - '0'; + continue; + } + + u->cacheable = 0; + return NGX_OK; + } + + r->cache->error_sec = n; + } } #endif @@ -5391,7 +5503,7 @@ ngx_http_upstream_response_length_variable(ngx_http_request_t *r, } -ngx_int_t +static ngx_int_t ngx_http_upstream_header_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data) { @@ -5406,7 +5518,7 @@ ngx_http_upstream_header_variable(ngx_http_request_t *r, } -ngx_int_t +static ngx_int_t ngx_http_upstream_cookie_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data) { @@ -5442,7 +5554,7 @@ ngx_http_upstream_cookie_variable(ngx_http_request_t *r, #if (NGX_HTTP_CACHE) -ngx_int_t +static ngx_int_t ngx_http_upstream_cache_status(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data) { Renamed: vendor/nginx-1.11.11/src/http/ngx_http_upstream.h (+1 -12) 97% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_upstream.h 2017-03-24 11:49:37 +0900 (7390f2e) +++ vendor/nginx-1.11.11/src/http/ngx_http_upstream.h 2017-03-24 12:03:04 +0900 (625889b) @@ -55,9 +55,6 @@ typedef struct { - ngx_msec_t bl_time; - ngx_uint_t bl_state; - ngx_uint_t status; ngx_msec_t response_time; ngx_msec_t connect_time; @@ -151,7 +148,6 @@ typedef struct { ngx_msec_t connect_timeout; ngx_msec_t send_timeout; ngx_msec_t read_timeout; - ngx_msec_t timeout; ngx_msec_t next_upstream_timeout; size_t send_lowat; @@ -206,6 +202,7 @@ typedef struct { ngx_flag_t cache_revalidate; ngx_flag_t cache_convert_head; + ngx_flag_t cache_background_update; ngx_array_t *cache_valid; ngx_array_t *cache_bypass; @@ -390,9 +387,6 @@ struct ngx_http_upstream_s { unsigned request_sent:1; unsigned request_body_sent:1; unsigned header_sent:1; - - NGX_COMPAT_BEGIN(1) - NGX_COMPAT_END }; @@ -409,11 +403,6 @@ typedef struct { } ngx_http_upstream_param_t; -ngx_int_t ngx_http_upstream_cookie_variable(ngx_http_request_t *r, - ngx_http_variable_value_t *v, uintptr_t data); -ngx_int_t ngx_http_upstream_header_variable(ngx_http_request_t *r, - ngx_http_variable_value_t *v, uintptr_t data); - ngx_int_t ngx_http_upstream_create(ngx_http_request_t *r); void ngx_http_upstream_init(ngx_http_request_t *r); ngx_http_upstream_srv_conf_t *ngx_http_upstream_add(ngx_conf_t *cf, Renamed: vendor/nginx-1.11.11/src/http/ngx_http_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/ngx_http_variables.c (+118 -122) 94% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_variables.c 2017-03-24 11:49:37 +0900 (62006ba) +++ vendor/nginx-1.11.11/src/http/ngx_http_variables.c 2017-03-24 12:03:04 +0900 (6138819) @@ -11,6 +11,9 @@ #include <nginx.h> +static ngx_http_variable_t *ngx_http_add_prefix_variable(ngx_conf_t *cf, + ngx_str_t *name, ngx_uint_t flags); + static ngx_int_t ngx_http_variable_request(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data); #if 0 @@ -356,6 +359,18 @@ static ngx_http_variable_t ngx_http_core_variables[] = { 3, NGX_HTTP_VAR_NOCACHEABLE, 0 }, #endif + { ngx_string("http_"), NULL, ngx_http_variable_unknown_header_in, + 0, NGX_HTTP_VAR_PREFIX, 0 }, + + { ngx_string("sent_http_"), NULL, ngx_http_variable_unknown_header_out, + 0, NGX_HTTP_VAR_PREFIX, 0 }, + + { ngx_string("cookie_"), NULL, ngx_http_variable_cookie, + 0, NGX_HTTP_VAR_PREFIX, 0 }, + + { 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 } }; @@ -384,6 +399,10 @@ ngx_http_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) return NULL; } + if (flags & NGX_HTTP_VAR_PREFIX) { + return ngx_http_add_prefix_variable(cf, name, flags); + } + cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); key = cmcf->variables_keys->keys.elts; @@ -402,6 +421,8 @@ ngx_http_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) return NULL; } + v->flags &= flags | ~NGX_HTTP_VAR_WEAK; + return v; } @@ -440,6 +461,59 @@ ngx_http_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) } +static ngx_http_variable_t * +ngx_http_add_prefix_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) +{ + ngx_uint_t i; + ngx_http_variable_t *v; + ngx_http_core_main_conf_t *cmcf; + + cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); + + v = cmcf->prefix_variables.elts; + for (i = 0; i < cmcf->prefix_variables.nelts; i++) { + if (name->len != v[i].name.len + || ngx_strncasecmp(name->data, v[i].name.data, name->len) != 0) + { + continue; + } + + v = &v[i]; + + if (!(v->flags & NGX_HTTP_VAR_CHANGEABLE)) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "the duplicate \"%V\" variable", name); + return NULL; + } + + v->flags &= flags | ~NGX_HTTP_VAR_WEAK; + + return v; + } + + v = ngx_array_push(&cmcf->prefix_variables); + if (v == NULL) { + return NULL; + } + + v->name.len = name->len; + v->name.data = ngx_pnalloc(cf->pool, name->len); + if (v->name.data == NULL) { + return NULL; + } + + ngx_strlow(v->name.data, name->data, name->len); + + v->set_handler = NULL; + v->get_handler = NULL; + v->data = 0; + v->flags = flags; + v->index = 0; + + return v; +} + + ngx_int_t ngx_http_get_variable_index(ngx_conf_t *cf, ngx_str_t *name) { @@ -573,6 +647,8 @@ ngx_http_get_flushed_variable(ngx_http_request_t *r, ngx_uint_t index) ngx_http_variable_value_t * ngx_http_get_variable(ngx_http_request_t *r, ngx_str_t *name, ngx_uint_t key) { + size_t len; + ngx_uint_t i, n; ngx_http_variable_t *v; ngx_http_variable_value_t *vv; ngx_http_core_main_conf_t *cmcf; @@ -610,64 +686,22 @@ ngx_http_get_variable(ngx_http_request_t *r, ngx_str_t *name, ngx_uint_t key) return NULL; } - if (name->len >= 5 && ngx_strncmp(name->data, "http_", 5) == 0) { - - if (ngx_http_variable_unknown_header_in(r, vv, (uintptr_t) name) - == NGX_OK) - { - return vv; - } - - return NULL; - } - - if (name->len >= 10 && ngx_strncmp(name->data, "sent_http_", 10) == 0) { - - if (ngx_http_variable_unknown_header_out(r, vv, (uintptr_t) name) - == NGX_OK) - { - return vv; - } - - return NULL; - } - - if (name->len >= 14 && ngx_strncmp(name->data, "upstream_http_", 14) == 0) { - - if (ngx_http_upstream_header_variable(r, vv, (uintptr_t) name) - == NGX_OK) - { - return vv; - } - - return NULL; - } - - if (name->len >= 7 && ngx_strncmp(name->data, "cookie_", 7) == 0) { - - if (ngx_http_variable_cookie(r, vv, (uintptr_t) name) == NGX_OK) { - return vv; - } - - return NULL; - } + len = 0; - if (name->len >= 16 - && ngx_strncmp(name->data, "upstream_cookie_", 16) == 0) - { + v = cmcf->prefix_variables.elts; + n = cmcf->prefix_variables.nelts; - if (ngx_http_upstream_cookie_variable(r, vv, (uintptr_t) name) - == NGX_OK) + for (i = 0; i < cmcf->prefix_variables.nelts; i++) { + if (name->len >= v[i].name.len && name->len > len + && ngx_strncmp(name->data, v[i].name.data, v[i].name.len) == 0) { - return vv; + len = v[i].name.len; + n = i; } - - return NULL; } - if (name->len >= 4 && ngx_strncmp(name->data, "arg_", 4) == 0) { - - if (ngx_http_variable_argument(r, vv, (uintptr_t) name) == NGX_OK) { + if (n != cmcf->prefix_variables.nelts) { + if (v[n].get_handler(r, vv, (uintptr_t) name) == NGX_OK) { return vv; } @@ -2502,7 +2536,6 @@ ngx_http_regex_exec(ngx_http_request_t *r, ngx_http_regex_t *re, ngx_str_t *s) ngx_int_t ngx_http_variables_add_core_vars(ngx_conf_t *cf) { - ngx_int_t rc; ngx_http_variable_t *cv, *v; ngx_http_core_main_conf_t *cmcf; @@ -2523,27 +2556,20 @@ ngx_http_variables_add_core_vars(ngx_conf_t *cf) return NGX_ERROR; } + if (ngx_array_init(&cmcf->prefix_variables, cf->pool, 8, + sizeof(ngx_http_variable_t)) + != NGX_OK) + { + return NGX_ERROR; + } + for (cv = ngx_http_core_variables; cv->name.len; cv++) { - v = ngx_palloc(cf->pool, sizeof(ngx_http_variable_t)); + v = ngx_http_add_variable(cf, &cv->name, cv->flags); if (v == NULL) { return NGX_ERROR; } *v = *cv; - - rc = ngx_hash_add_key(cmcf->variables_keys, &v->name, v, - NGX_HASH_READONLY_KEY); - - if (rc == NGX_OK) { - continue; - } - - if (rc == NGX_BUSY) { - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "conflicting variable name \"%V\"", &v->name); - } - - return NGX_ERROR; } return NGX_OK; @@ -2553,10 +2579,11 @@ ngx_http_variables_add_core_vars(ngx_conf_t *cf) ngx_int_t ngx_http_variables_init_vars(ngx_conf_t *cf) { + size_t len; ngx_uint_t i, n; ngx_hash_key_t *key; ngx_hash_init_t hash; - ngx_http_variable_t *v, *av; + ngx_http_variable_t *v, *av, *pv; ngx_http_core_main_conf_t *cmcf; /* set the handlers for the indexed http variables */ @@ -2564,6 +2591,7 @@ ngx_http_variables_init_vars(ngx_conf_t *cf) cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module); v = cmcf->variables.elts; + pv = cmcf->prefix_variables.elts; key = cmcf->variables_keys->keys.elts; for (i = 0; i < cmcf->variables.nelts; i++) { @@ -2584,7 +2612,9 @@ ngx_http_variables_init_vars(ngx_conf_t *cf) av->index = i; - if (av->get_handler == NULL) { + if (av->get_handler == NULL + || (av->flags & NGX_HTTP_VAR_WEAK)) + { break; } @@ -2592,68 +2622,34 @@ ngx_http_variables_init_vars(ngx_conf_t *cf) } } - if (v[i].name.len >= 5 - && ngx_strncmp(v[i].name.data, "http_", 5) == 0) - { - v[i].get_handler = ngx_http_variable_unknown_header_in; - v[i].data = (uintptr_t) &v[i].name; - - continue; - } - - if (v[i].name.len >= 10 - && ngx_strncmp(v[i].name.data, "sent_http_", 10) == 0) - { - v[i].get_handler = ngx_http_variable_unknown_header_out; - v[i].data = (uintptr_t) &v[i].name; - - continue; - } - - if (v[i].name.len >= 14 - && ngx_strncmp(v[i].name.data, "upstream_http_", 14) == 0) - { - v[i].get_handler = ngx_http_upstream_header_variable; - v[i].data = (uintptr_t) &v[i].name; - v[i].flags = NGX_HTTP_VAR_NOCACHEABLE; - - continue; - } - - if (v[i].name.len >= 7 - && ngx_strncmp(v[i].name.data, "cookie_", 7) == 0) - { - v[i].get_handler = ngx_http_variable_cookie; - v[i].data = (uintptr_t) &v[i].name; + len = 0; + av = NULL; - continue; + for (n = 0; n < cmcf->prefix_variables.nelts; n++) { + if (v[i].name.len >= pv[n].name.len && v[i].name.len > len + && ngx_strncmp(v[i].name.data, pv[n].name.data, pv[n].name.len) + == 0) + { + av = &pv[n]; + len = pv[n].name.len; + } } - if (v[i].name.len >= 16 - && ngx_strncmp(v[i].name.data, "upstream_cookie_", 16) == 0) - { - v[i].get_handler = ngx_http_upstream_cookie_variable; + if (av) { + v[i].get_handler = av->get_handler; v[i].data = (uintptr_t) &v[i].name; - v[i].flags = NGX_HTTP_VAR_NOCACHEABLE; + v[i].flags = av->flags; - continue; + goto next; } - if (v[i].name.len >= 4 - && ngx_strncmp(v[i].name.data, "arg_", 4) == 0) - { - v[i].get_handler = ngx_http_variable_argument; - v[i].data = (uintptr_t) &v[i].name; - v[i].flags = NGX_HTTP_VAR_NOCACHEABLE; + if (v[i].get_handler == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "unknown \"%V\" variable", &v[i].name); - continue; + return NGX_ERROR; } - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "unknown \"%V\" variable", &v[i].name); - - return NGX_ERROR; - next: continue; } Renamed: vendor/nginx-1.11.11/src/http/ngx_http_variables.h (+2 -0) 97% =================================================================== --- vendor/nginx-1.11.9/src/http/ngx_http_variables.h 2017-03-24 11:49:37 +0900 (829fab3) +++ vendor/nginx-1.11.11/src/http/ngx_http_variables.h 2017-03-24 12:03:04 +0900 (df337de) @@ -30,6 +30,8 @@ typedef ngx_int_t (*ngx_http_get_variable_pt) (ngx_http_request_t *r, #define NGX_HTTP_VAR_NOCACHEABLE 2 #define NGX_HTTP_VAR_INDEXED 4 #define NGX_HTTP_VAR_NOHASH 8 +#define NGX_HTTP_VAR_WEAK 16 +#define NGX_HTTP_VAR_PREFIX 32 struct ngx_http_variable_s { Renamed: vendor/nginx-1.11.11/src/http/ngx_http_write_filter_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_filter_module.c (+40 -5) 95% =================================================================== --- vendor/nginx-1.11.9/src/http/v2/ngx_http_v2_filter_module.c 2017-03-24 11:49:37 +0900 (f2f0d1e) +++ vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_filter_module.c 2017-03-24 12:03:04 +0900 (42fa0c5) @@ -148,6 +148,10 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) static size_t nginx_ver_len = ngx_http_v2_literal_size(NGINX_VER); static u_char nginx_ver[ngx_http_v2_literal_size(NGINX_VER)]; + static size_t nginx_ver_build_len = + ngx_http_v2_literal_size(NGINX_VER_BUILD); + static u_char nginx_ver_build[ngx_http_v2_literal_size(NGINX_VER_BUILD)]; + if (!r->stream) { return ngx_http_next_header_filter(r); } @@ -232,7 +236,16 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); if (r->headers_out.server == NULL) { - len += 1 + (clcf->server_tokens ? nginx_ver_len : sizeof(nginx)); + + if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { + len += 1 + nginx_ver_len; + + } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { + len += 1 + nginx_ver_build_len; + + } else { + len += 1 + sizeof(nginx); + } } if (r->headers_out.date == NULL) { @@ -420,13 +433,25 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) } if (r->headers_out.server == NULL) { - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, - "http2 output header: \"server: %s\"", - clcf->server_tokens ? NGINX_VER : "nginx"); + + if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, + "http2 output header: \"server: %s\"", + NGINX_VER); + + } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, fc->log, 0, + "http2 output header: \"server: %s\"", + NGINX_VER_BUILD); + + } else { + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, fc->log, 0, + "http2 output header: \"server: nginx\""); + } *pos++ = ngx_http_v2_inc_indexed(NGX_HTTP_V2_SERVER_INDEX); - if (clcf->server_tokens) { + if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) { if (nginx_ver[0] == '\0') { p = ngx_http_v2_write_value(nginx_ver, (u_char *) NGINX_VER, sizeof(NGINX_VER) - 1, tmp); @@ -435,6 +460,16 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) pos = ngx_cpymem(pos, nginx_ver, nginx_ver_len); + } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) { + if (nginx_ver_build[0] == '\0') { + p = ngx_http_v2_write_value(nginx_ver_build, + (u_char *) NGINX_VER_BUILD, + sizeof(NGINX_VER_BUILD) - 1, tmp); + nginx_ver_build_len = p - nginx_ver_build; + } + + pos = ngx_cpymem(pos, nginx_ver_build, nginx_ver_build_len); + } else { pos = ngx_cpymem(pos, nginx, sizeof(nginx)); } Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_huff_decode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_huff_encode.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/http/v2/ngx_http_v2_table.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_auth_http_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_core_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_imap_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_imap_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_imap_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_parse.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_module.c (+16 -0) 95% =================================================================== --- vendor/nginx-1.11.9/src/mail/ngx_mail_pop3_module.c 2017-03-24 11:49:37 +0900 (bd60e0a) +++ vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_module.c 2017-03-24 12:03:04 +0900 (a673070) @@ -185,6 +185,10 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED; m <<= 1, i++) { + if (ngx_mail_pop3_auth_methods_names[i].len == 0) { + continue; + } + if (m & conf->auth_methods) { size += 1 + ngx_mail_pop3_auth_methods_names[i].len; } @@ -212,6 +216,10 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED; m <<= 1, i++) { + if (ngx_mail_pop3_auth_methods_names[i].len == 0) { + continue; + } + if (m & conf->auth_methods) { *p++ = ' '; p = ngx_cpymem(p, ngx_mail_pop3_auth_methods_names[i].data, @@ -248,6 +256,10 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED; m <<= 1, i++) { + if (ngx_mail_pop3_auth_methods_names[i].len == 0) { + continue; + } + if (m & conf->auth_methods) { size += ngx_mail_pop3_auth_methods_names[i].len + sizeof(CRLF) - 1; @@ -269,6 +281,10 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED; m <<= 1, i++) { + if (ngx_mail_pop3_auth_methods_names[i].len == 0) { + continue; + } + if (m & conf->auth_methods) { p = ngx_cpymem(p, ngx_mail_pop3_auth_methods_names[i].data, ngx_mail_pop3_auth_methods_names[i].len); Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_pop3_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_smtp_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_smtp_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_smtp_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_ssl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/mail/ngx_mail_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/misc/ngx_cpp_test_module.cpp (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/misc/ngx_google_perftools_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_channel.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_channel.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_daemon.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_darwin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_darwin_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_darwin_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_darwin_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_file_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_freebsd.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_freebsd_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_freebsd_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_freebsd_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_amd64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_ppc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_gcc_atomic_x86.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_linux.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_linux_aio_read.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_linux_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_linux_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_linux_sendfile_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_posix_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_posix_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_process.c (+1 -1) 99% =================================================================== --- vendor/nginx-1.11.9/src/os/unix/ngx_process.c 2017-03-24 11:49:37 +0900 (24a63fb) +++ vendor/nginx-1.11.11/src/os/unix/ngx_process.c 2017-03-24 12:03:04 +0900 (2d37e21) @@ -306,7 +306,7 @@ ngx_init_signals(ngx_log_t *log) } -void +static void ngx_signal_handler(int signo) { char *action; Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_process_cycle.c (+2 -6) 99% =================================================================== --- vendor/nginx-1.11.9/src/os/unix/ngx_process_cycle.c 2017-03-24 11:49:37 +0900 (5c4e21d) +++ vendor/nginx-1.11.11/src/os/unix/ngx_process_cycle.c 2017-03-24 12:03:04 +0900 (1710ea8) @@ -738,12 +738,8 @@ ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) for ( ;; ) { if (ngx_exiting) { - ngx_event_cancel_timers(); - - if (ngx_event_timer_rbtree.root == ngx_event_timer_rbtree.sentinel) - { + if (ngx_event_no_timers_left() == NGX_OK) { ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exiting"); - ngx_worker_process_exit(cycle); } } @@ -754,7 +750,6 @@ ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) if (ngx_terminate) { ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exiting"); - ngx_worker_process_exit(cycle); } @@ -766,6 +761,7 @@ ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) if (!ngx_exiting) { ngx_exiting = 1; + ngx_set_shutdown_timer(cycle); ngx_close_listening_sockets(cycle); ngx_close_idle_connections(cycle); } Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_readv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_setaffinity.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_setaffinity.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_setproctitle.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_setproctitle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_solaris.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_solaris_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_solaris_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_solaris_sendfilev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_amd64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_atomic_sparc64.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_sparc64.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_sunpro_x86.il (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_thread_cond.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_thread_id.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_thread_mutex.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_udp_recv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_udp_send.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_udp_sendmsg_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/unix/ngx_writev_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/nginx.ico (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/nginx.rc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/nginx_icon16.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/nginx_icon32.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/nginx_icon48.xpm (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_alloc.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_alloc.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_atomic.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_dlopen.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_dlopen.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_errno.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_errno.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_event_log.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_files.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_files.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_os.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_process.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_process.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_process_cycle.c (+2 -5) 99% =================================================================== --- vendor/nginx-1.11.9/src/os/win32/ngx_process_cycle.c 2017-03-24 11:49:37 +0900 (99fec54) +++ vendor/nginx-1.11.11/src/os/win32/ngx_process_cycle.c 2017-03-24 12:03:04 +0900 (293b967) @@ -782,11 +782,7 @@ ngx_worker_thread(void *data) while (!ngx_quit) { if (ngx_exiting) { - ngx_event_cancel_timers(); - - if (ngx_event_timer_rbtree.root - == ngx_event_timer_rbtree.sentinel) - { + if (ngx_event_no_timers_left() == NGX_OK) { break; } } @@ -804,6 +800,7 @@ ngx_worker_thread(void *data) if (!ngx_exiting) { ngx_exiting = 1; + ngx_set_shutdown_timer(cycle); ngx_close_listening_sockets(cycle); ngx_close_idle_connections(cycle); } Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_process_cycle.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_service.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_shmem.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_shmem.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_socket.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_socket.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_stat.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_thread.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_thread.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_time.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_time.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_udp_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_user.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_user.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_win32_config.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_win32_init.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_wsarecv.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_wsarecv_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_wsasend.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/os/win32/ngx_wsasend_chain.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream.h (+2 -1) 98% =================================================================== --- vendor/nginx-1.11.9/src/stream/ngx_stream.h 2017-03-24 11:49:37 +0900 (9e4169c) +++ vendor/nginx-1.11.11/src/stream/ngx_stream.h 2017-03-24 12:03:04 +0900 (814e3b9) @@ -153,7 +153,8 @@ typedef struct { ngx_hash_t variables_hash; - ngx_array_t variables; /* ngx_stream_variable_t */ + ngx_array_t variables; /* ngx_stream_variable_t */ + ngx_array_t prefix_variables; /* ngx_stream_variable_t */ ngx_uint_t ncaptures; ngx_uint_t variables_hash_max_size; Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_access_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_core_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_geo_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_geoip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_handler.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_limit_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_log_module.c (+1 -14) 99% =================================================================== --- vendor/nginx-1.11.9/src/stream/ngx_stream_log_module.c 2017-03-24 11:49:37 +0900 (a4b67d0) +++ vendor/nginx-1.11.11/src/stream/ngx_stream_log_module.c 2017-03-24 12:03:04 +0900 (6b29340) @@ -641,23 +641,10 @@ ngx_stream_log_flush(ngx_open_file_t *file, ngx_log_t *log) static void ngx_stream_log_flush_handler(ngx_event_t *ev) { - ngx_open_file_t *file; - ngx_stream_log_buf_t *buffer; - ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ev->log, 0, "stream log buffer flush handler"); - if (ev->timedout) { - ngx_stream_log_flush(ev->data, ev->log); - return; - } - - /* cancel the flush timer for graceful shutdown */ - - file = ev->data; - buffer = file->data; - - buffer->event = NULL; + ngx_stream_log_flush(ev->data, ev->log); } Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_map_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_proxy_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_realip_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_return_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_script.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_script.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_split_clients_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_ssl_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_ssl_module.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_ssl_preread_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_hash_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_least_conn_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_round_robin.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_round_robin.h (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_upstream_zone_module.c (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_variables.c (+125 -21) 89% =================================================================== --- vendor/nginx-1.11.9/src/stream/ngx_stream_variables.c 2017-03-24 11:49:37 +0900 (9dc93ee) +++ vendor/nginx-1.11.11/src/stream/ngx_stream_variables.c 2017-03-24 12:03:04 +0900 (5d15f3a) @@ -10,6 +10,8 @@ #include <ngx_stream.h> #include <nginx.h> +static ngx_stream_variable_t *ngx_stream_add_prefix_variable(ngx_conf_t *cf, + ngx_str_t *name, ngx_uint_t flags); static ngx_int_t ngx_stream_variable_binary_remote_addr( ngx_stream_session_t *s, ngx_stream_variable_value_t *v, uintptr_t data); @@ -137,6 +139,10 @@ ngx_stream_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) return NULL; } + if (flags & NGX_STREAM_VAR_PREFIX) { + return ngx_stream_add_prefix_variable(cf, name, flags); + } + cmcf = ngx_stream_conf_get_module_main_conf(cf, ngx_stream_core_module); key = cmcf->variables_keys->keys.elts; @@ -155,6 +161,8 @@ ngx_stream_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) return NULL; } + v->flags &= flags | ~NGX_STREAM_VAR_WEAK; + return v; } @@ -193,6 +201,60 @@ ngx_stream_add_variable(ngx_conf_t *cf, ngx_str_t *name, ngx_uint_t flags) } +static ngx_stream_variable_t * +ngx_stream_add_prefix_variable(ngx_conf_t *cf, ngx_str_t *name, + ngx_uint_t flags) +{ + ngx_uint_t i; + ngx_stream_variable_t *v; + ngx_stream_core_main_conf_t *cmcf; + + cmcf = ngx_stream_conf_get_module_main_conf(cf, ngx_stream_core_module); + + v = cmcf->prefix_variables.elts; + for (i = 0; i < cmcf->prefix_variables.nelts; i++) { + if (name->len != v[i].name.len + || ngx_strncasecmp(name->data, v[i].name.data, name->len) != 0) + { + continue; + } + + v = &v[i]; + + if (!(v->flags & NGX_STREAM_VAR_CHANGEABLE)) { + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "the duplicate \"%V\" variable", name); + return NULL; + } + + v->flags &= flags | ~NGX_STREAM_VAR_WEAK; + + return v; + } + + v = ngx_array_push(&cmcf->prefix_variables); + if (v == NULL) { + return NULL; + } + + v->name.len = name->len; + v->name.data = ngx_pnalloc(cf->pool, name->len); + if (v->name.data == NULL) { + return NULL; + } + + ngx_strlow(v->name.data, name->data, name->len); + + v->set_handler = NULL; + v->get_handler = NULL; + v->data = 0; + v->flags = flags; + v->index = 0; + + return v; +} + + ngx_int_t ngx_stream_get_variable_index(ngx_conf_t *cf, ngx_str_t *name) { @@ -327,6 +389,8 @@ ngx_stream_variable_value_t * ngx_stream_get_variable(ngx_stream_session_t *s, ngx_str_t *name, ngx_uint_t key) { + size_t len; + ngx_uint_t i, n; ngx_stream_variable_t *v; ngx_stream_variable_value_t *vv; ngx_stream_core_main_conf_t *cmcf; @@ -365,6 +429,28 @@ ngx_stream_get_variable(ngx_stream_session_t *s, ngx_str_t *name, return NULL; } + len = 0; + + v = cmcf->prefix_variables.elts; + n = cmcf->prefix_variables.nelts; + + for (i = 0; i < cmcf->prefix_variables.nelts; i++) { + if (name->len >= v[i].name.len && name->len > len + && ngx_strncmp(name->data, v[i].name.data, v[i].name.len) == 0) + { + len = v[i].name.len; + n = i; + } + } + + if (n != cmcf->prefix_variables.nelts) { + if (v[n].get_handler(s, vv, (uintptr_t) name) == NGX_OK) { + return vv; + } + + return NULL; + } + vv->not_found = 1; return vv; @@ -1000,7 +1086,6 @@ ngx_stream_regex_exec(ngx_stream_session_t *s, ngx_stream_regex_t *re, ngx_int_t ngx_stream_variables_add_core_vars(ngx_conf_t *cf) { - ngx_int_t rc; ngx_stream_variable_t *cv, *v; ngx_stream_core_main_conf_t *cmcf; @@ -1021,27 +1106,20 @@ ngx_stream_variables_add_core_vars(ngx_conf_t *cf) return NGX_ERROR; } + if (ngx_array_init(&cmcf->prefix_variables, cf->pool, 8, + sizeof(ngx_stream_variable_t)) + != NGX_OK) + { + return NGX_ERROR; + } + for (cv = ngx_stream_core_variables; cv->name.len; cv++) { - v = ngx_palloc(cf->pool, sizeof(ngx_stream_variable_t)); + v = ngx_stream_add_variable(cf, &cv->name, cv->flags); if (v == NULL) { return NGX_ERROR; } *v = *cv; - - rc = ngx_hash_add_key(cmcf->variables_keys, &v->name, v, - NGX_HASH_READONLY_KEY); - - if (rc == NGX_OK) { - continue; - } - - if (rc == NGX_BUSY) { - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "conflicting variable name \"%V\"", &v->name); - } - - return NGX_ERROR; } return NGX_OK; @@ -1051,10 +1129,11 @@ ngx_stream_variables_add_core_vars(ngx_conf_t *cf) ngx_int_t ngx_stream_variables_init_vars(ngx_conf_t *cf) { + size_t len; ngx_uint_t i, n; ngx_hash_key_t *key; ngx_hash_init_t hash; - ngx_stream_variable_t *v, *av; + ngx_stream_variable_t *v, *av, *pv; ngx_stream_core_main_conf_t *cmcf; /* set the handlers for the indexed stream variables */ @@ -1062,6 +1141,7 @@ ngx_stream_variables_init_vars(ngx_conf_t *cf) cmcf = ngx_stream_conf_get_module_main_conf(cf, ngx_stream_core_module); v = cmcf->variables.elts; + pv = cmcf->prefix_variables.elts; key = cmcf->variables_keys->keys.elts; for (i = 0; i < cmcf->variables.nelts; i++) { @@ -1082,7 +1162,9 @@ ngx_stream_variables_init_vars(ngx_conf_t *cf) av->index = i; - if (av->get_handler == NULL) { + if (av->get_handler == NULL + || (av->flags & NGX_STREAM_VAR_WEAK)) + { break; } @@ -1090,10 +1172,32 @@ ngx_stream_variables_init_vars(ngx_conf_t *cf) } } - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "unknown \"%V\" variable", &v[i].name); + len = 0; + av = NULL; - return NGX_ERROR; + for (n = 0; n < cmcf->prefix_variables.nelts; n++) { + if (v[i].name.len >= pv[n].name.len && v[i].name.len > len + && ngx_strncmp(v[i].name.data, pv[n].name.data, pv[n].name.len) + == 0) + { + av = &pv[n]; + len = pv[n].name.len; + } + } + + if (av) { + v[i].get_handler = av->get_handler; + v[i].data = (uintptr_t) &v[i].name; + v[i].flags = av->flags; + + goto next; + } + + if (v[i].get_handler == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "unknown \"%V\" variable", &v[i].name); + return NGX_ERROR; + } next: continue; Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_variables.h (+2 -0) 97% =================================================================== --- vendor/nginx-1.11.9/src/stream/ngx_stream_variables.h 2017-03-24 11:49:37 +0900 (e4151e2) +++ vendor/nginx-1.11.11/src/stream/ngx_stream_variables.h 2017-03-24 12:03:04 +0900 (8155111) @@ -30,6 +30,8 @@ typedef ngx_int_t (*ngx_stream_get_variable_pt) (ngx_stream_session_t *s, #define NGX_STREAM_VAR_NOCACHEABLE 2 #define NGX_STREAM_VAR_INDEXED 4 #define NGX_STREAM_VAR_NOHASH 8 +#define NGX_STREAM_VAR_WEAK 16 +#define NGX_STREAM_VAR_PREFIX 32 struct ngx_stream_variable_s { Renamed: vendor/nginx-1.11.11/src/stream/ngx_stream_write_filter_module.c (+0 -0) 100% =================================================================== Deleted: vendor/nginx-1.11.9/auto/modules (+0 -1366) 100644 =================================================================== --- vendor/nginx-1.11.9/auto/modules 2017-03-24 11:49:37 +0900 (c664fe3) +++ /dev/null @@ -1,1366 +0,0 @@ - -# Copyright (C) Igor Sysoev -# Copyright (C) Nginx, Inc. - - -if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then - EVENT_SELECT=YES -fi - -if [ $EVENT_SELECT = YES ]; then - have=NGX_HAVE_SELECT . auto/have - CORE_SRCS="$CORE_SRCS $SELECT_SRCS" - EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" -fi - - -if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then - EVENT_POLL=YES -fi - -if [ $EVENT_POLL = YES ]; then - have=NGX_HAVE_POLL . auto/have - CORE_SRCS="$CORE_SRCS $POLL_SRCS" - EVENT_MODULES="$EVENT_MODULES $POLL_MODULE" -fi - - -if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then - have=NGX_HAVE_DEVPOLL . auto/have - have=NGX_TEST_BUILD_DEVPOLL . auto/have - EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" - CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" -fi - - -if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then - have=NGX_HAVE_EVENTPORT . auto/have - have=NGX_TEST_BUILD_EVENTPORT . auto/have - EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE" - CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS" -fi - -if [ $NGX_TEST_BUILD_EPOLL = YES ]; then - have=NGX_HAVE_EPOLL . auto/have - have=NGX_HAVE_EPOLLRDHUP . auto/have - have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have - have=NGX_HAVE_EVENTFD . auto/have - have=NGX_TEST_BUILD_EPOLL . auto/have - EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" - CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" -fi - -if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then - have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have - CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS" -fi - - -HTTP_MODULES= -HTTP_DEPS= -HTTP_INCS= - -ngx_module_type=HTTP - -if :; then - ngx_module_name="ngx_http_module \ - ngx_http_core_module \ - ngx_http_log_module \ - ngx_http_upstream_module" - ngx_module_incs="src/http src/http/modules" - ngx_module_deps="src/http/ngx_http.h \ - src/http/ngx_http_request.h \ - src/http/ngx_http_config.h \ - src/http/ngx_http_core_module.h \ - src/http/ngx_http_cache.h \ - src/http/ngx_http_variables.h \ - src/http/ngx_http_script.h \ - src/http/ngx_http_upstream.h \ - src/http/ngx_http_upstream_round_robin.h" - ngx_module_srcs="src/http/ngx_http.c \ - src/http/ngx_http_core_module.c \ - src/http/ngx_http_special_response.c \ - src/http/ngx_http_request.c \ - src/http/ngx_http_parse.c \ - src/http/modules/ngx_http_log_module.c \ - src/http/ngx_http_request_body.c \ - src/http/ngx_http_variables.c \ - src/http/ngx_http_script.c \ - src/http/ngx_http_upstream.c \ - src/http/ngx_http_upstream_round_robin.c" - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - - -if [ $HTTP != YES ]; then - have=NGX_CRYPT . auto/nohave - CRYPT_LIB= -fi - - -if [ $HTTP_CACHE = YES ]; then - have=NGX_HTTP_CACHE . auto/have - HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS" -fi - - -if [ $HTTP_SSI = YES ]; then - HTTP_POSTPONE=YES -fi - - -if [ $HTTP_SLICE = YES ]; then - HTTP_POSTPONE=YES -fi - - -if [ $HTTP_ADDITION = YES ]; then - HTTP_POSTPONE=YES -fi - - -# the module order is important -# ngx_http_static_module -# ngx_http_gzip_static_module -# ngx_http_dav_module -# ngx_http_autoindex_module -# ngx_http_index_module -# ngx_http_random_index_module -# -# ngx_http_access_module -# ngx_http_realip_module -# -# -# the filter order is important -# ngx_http_write_filter -# ngx_http_header_filter -# ngx_http_chunked_filter -# ngx_http_v2_filter -# ngx_http_range_header_filter -# ngx_http_gzip_filter -# ngx_http_postpone_filter -# ngx_http_ssi_filter -# ngx_http_charset_filter -# ngx_http_xslt_filter -# ngx_http_image_filter -# ngx_http_sub_filter -# ngx_http_addition_filter -# ngx_http_gunzip_filter -# ngx_http_userid_filter -# ngx_http_headers_filter -# ngx_http_copy_filter -# ngx_http_range_body_filter -# ngx_http_not_modified_filter -# ngx_http_slice_filter - -ngx_module_type=HTTP_FILTER -HTTP_FILTER_MODULES= - -ngx_module_order="ngx_http_static_module \ - ngx_http_gzip_static_module \ - ngx_http_dav_module \ - ngx_http_autoindex_module \ - ngx_http_index_module \ - ngx_http_random_index_module \ - ngx_http_access_module \ - ngx_http_realip_module \ - ngx_http_write_filter_module \ - ngx_http_header_filter_module \ - ngx_http_chunked_filter_module \ - ngx_http_v2_filter_module \ - ngx_http_range_header_filter_module \ - ngx_http_gzip_filter_module \ - ngx_http_postpone_filter_module \ - ngx_http_ssi_filter_module \ - ngx_http_charset_filter_module \ - ngx_http_xslt_filter_module \ - ngx_http_image_filter_module \ - ngx_http_sub_filter_module \ - ngx_http_addition_filter_module \ - ngx_http_gunzip_filter_module \ - ngx_http_userid_filter_module \ - ngx_http_headers_filter_module \ - ngx_http_copy_filter_module \ - ngx_http_range_body_filter_module \ - ngx_http_not_modified_filter_module \ - ngx_http_slice_filter_module" - -if :; then - ngx_module_name=ngx_http_write_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/ngx_http_write_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_header_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/ngx_http_header_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_chunked_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if [ $HTTP_V2 = YES ]; then - ngx_module_name=ngx_http_v2_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_V2 - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_range_header_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if [ $HTTP_GZIP = YES ]; then - have=NGX_HTTP_GZIP . auto/have - USE_ZLIB=YES - - ngx_module_name=ngx_http_gzip_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_GZIP - - . auto/module -fi - -if [ $HTTP_POSTPONE = YES ]; then - ngx_module_name=ngx_http_postpone_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_POSTPONE - - . auto/module -fi - -if [ $HTTP_SSI = YES ]; then - have=NGX_HTTP_SSI . auto/have - - ngx_module_name=ngx_http_ssi_filter_module - ngx_module_incs= - ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h - ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SSI - - . auto/module -fi - -if [ $HTTP_CHARSET = YES ]; then - ngx_module_name=ngx_http_charset_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_CHARSET - - . auto/module -fi - -if [ $HTTP_XSLT != NO ]; then - ngx_module_name=ngx_http_xslt_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c - ngx_module_libs=LIBXSLT - ngx_module_link=$HTTP_XSLT - - . auto/module -fi - -if [ $HTTP_IMAGE_FILTER != NO ]; then - ngx_module_name=ngx_http_image_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c - ngx_module_libs=LIBGD - ngx_module_link=$HTTP_IMAGE_FILTER - - . auto/module -fi - -if [ $HTTP_SUB = YES ]; then - ngx_module_name=ngx_http_sub_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SUB - - . auto/module -fi - -if [ $HTTP_ADDITION = YES ]; then - ngx_module_name=ngx_http_addition_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_ADDITION - - . auto/module -fi - -if [ $HTTP_GUNZIP = YES ]; then - have=NGX_HTTP_GZIP . auto/have - USE_ZLIB=YES - - ngx_module_name=ngx_http_gunzip_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_GUNZIP - - . auto/module -fi - -if [ $HTTP_USERID = YES ]; then - ngx_module_name=ngx_http_userid_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_USERID - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_headers_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - - -ngx_module_type=HTTP_INIT_FILTER -HTTP_INIT_FILTER_MODULES= - -if :; then - ngx_module_name=ngx_http_copy_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/ngx_http_copy_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_range_body_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs= - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_not_modified_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if [ $HTTP_SLICE = YES ]; then - ngx_module_name=ngx_http_slice_filter_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SLICE - - . auto/module -fi - - -ngx_module_type=HTTP - -if [ $HTTP_V2 = YES ]; then - have=NGX_HTTP_V2 . auto/have - - ngx_module_name=ngx_http_v2_module - ngx_module_incs=src/http/v2 - ngx_module_deps="src/http/v2/ngx_http_v2.h src/http/v2/ngx_http_v2_module.h" - ngx_module_srcs="src/http/v2/ngx_http_v2.c \ - src/http/v2/ngx_http_v2_table.c \ - src/http/v2/ngx_http_v2_huff_decode.c \ - src/http/v2/ngx_http_v2_huff_encode.c \ - src/http/v2/ngx_http_v2_module.c" - ngx_module_libs= - ngx_module_link=$HTTP_V2 - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_static_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_static_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if [ $HTTP_GZIP_STATIC = YES ]; then - have=NGX_HTTP_GZIP . auto/have - - ngx_module_name=ngx_http_gzip_static_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c - ngx_module_libs= - ngx_module_link=$HTTP_GZIP_STATIC - - . auto/module -fi - -if [ $HTTP_DAV = YES ]; then - have=NGX_HTTP_DAV . auto/have - - ngx_module_name=ngx_http_dav_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_dav_module.c - ngx_module_libs= - ngx_module_link=$HTTP_DAV - - . auto/module -fi - -if [ $HTTP_AUTOINDEX = YES ]; then - ngx_module_name=ngx_http_autoindex_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c - ngx_module_libs= - ngx_module_link=$HTTP_AUTOINDEX - - . auto/module -fi - -if :; then - ngx_module_name=ngx_http_index_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_index_module.c - ngx_module_libs= - ngx_module_link=YES - - . auto/module -fi - -if [ $HTTP_RANDOM_INDEX = YES ]; then - ngx_module_name=ngx_http_random_index_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c - ngx_module_libs= - ngx_module_link=$HTTP_RANDOM_INDEX - - . auto/module -fi - -if [ $HTTP_AUTH_REQUEST = YES ]; then - ngx_module_name=ngx_http_auth_request_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c - ngx_module_libs= - ngx_module_link=$HTTP_AUTH_REQUEST - - . auto/module -fi - -if [ $HTTP_AUTH_BASIC = YES ]; then - have=NGX_CRYPT . auto/have - - ngx_module_name=ngx_http_auth_basic_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c - ngx_module_libs=$CRYPT_LIB - ngx_module_link=$HTTP_AUTH_BASIC - - . auto/module -fi - -if [ $HTTP_ACCESS = YES ]; then - ngx_module_name=ngx_http_access_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_access_module.c - ngx_module_libs= - ngx_module_link=$HTTP_ACCESS - - . auto/module -fi - -if [ $HTTP_LIMIT_CONN = YES ]; then - ngx_module_name=ngx_http_limit_conn_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c - ngx_module_libs= - ngx_module_link=$HTTP_LIMIT_CONN - - . auto/module -fi - -if [ $HTTP_LIMIT_REQ = YES ]; then - ngx_module_name=ngx_http_limit_req_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c - ngx_module_libs= - ngx_module_link=$HTTP_LIMIT_REQ - - . auto/module -fi - -if [ $HTTP_REALIP = YES ]; then - have=NGX_HTTP_REALIP . auto/have - have=NGX_HTTP_X_FORWARDED_FOR . auto/have - - ngx_module_name=ngx_http_realip_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_realip_module.c - ngx_module_libs= - ngx_module_link=$HTTP_REALIP - - . auto/module -fi - -if [ $HTTP_STATUS = YES ]; then - ngx_module_name=ngx_http_status_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_status_module.c - ngx_module_libs= - ngx_module_link=$HTTP_STATUS - - . auto/module -fi - -if [ $HTTP_GEO = YES ]; then - have=NGX_HTTP_X_FORWARDED_FOR . auto/have - - ngx_module_name=ngx_http_geo_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_geo_module.c - ngx_module_libs= - ngx_module_link=$HTTP_GEO - - . auto/module -fi - -if [ $HTTP_GEOIP != NO ]; then - have=NGX_HTTP_X_FORWARDED_FOR . auto/have - - ngx_module_name=ngx_http_geoip_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c - ngx_module_libs=GEOIP - ngx_module_link=$HTTP_GEOIP - - . auto/module -fi - -if [ $HTTP_MAP = YES ]; then - ngx_module_name=ngx_http_map_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_map_module.c - ngx_module_libs= - ngx_module_link=$HTTP_MAP - - . auto/module -fi - -if [ $HTTP_SPLIT_CLIENTS = YES ]; then - ngx_module_name=ngx_http_split_clients_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SPLIT_CLIENTS - - . auto/module -fi - -if [ $HTTP_REFERER = YES ]; then - ngx_module_name=ngx_http_referer_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_referer_module.c - ngx_module_libs= - ngx_module_link=$HTTP_REFERER - - . auto/module -fi - -if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then - USE_PCRE=YES - - ngx_module_name=ngx_http_rewrite_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c - ngx_module_libs= - ngx_module_link=$HTTP_REWRITE - - . auto/module -fi - -if [ $HTTP_SSL = YES ]; then - USE_OPENSSL=YES - have=NGX_HTTP_SSL . auto/have - - ngx_module_name=ngx_http_ssl_module - ngx_module_incs= - ngx_module_deps=src/http/modules/ngx_http_ssl_module.h - ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SSL - - . auto/module -fi - -if [ $HTTP_PROXY = YES ]; then - have=NGX_HTTP_X_FORWARDED_FOR . auto/have - - ngx_module_name=ngx_http_proxy_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c - ngx_module_libs= - ngx_module_link=$HTTP_PROXY - - . auto/module -fi - -if [ $HTTP_FASTCGI = YES ]; then - ngx_module_name=ngx_http_fastcgi_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c - ngx_module_libs= - ngx_module_link=$HTTP_FASTCGI - - . auto/module -fi - -if [ $HTTP_UWSGI = YES ]; then - ngx_module_name=ngx_http_uwsgi_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c - ngx_module_libs= - ngx_module_link=$HTTP_UWSGI - - . auto/module -fi - -if [ $HTTP_SCGI = YES ]; then - ngx_module_name=ngx_http_scgi_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SCGI - - . auto/module -fi - -if [ $HTTP_PERL != NO ]; then - ngx_module_name=ngx_http_perl_module - ngx_module_incs=src/http/modules/perl - ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h - ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c - ngx_module_libs=PERL - ngx_module_link=$HTTP_PERL - - . auto/module -fi - -if [ $HTTP_MEMCACHED = YES ]; then - ngx_module_name=ngx_http_memcached_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c - ngx_module_libs= - ngx_module_link=$HTTP_MEMCACHED - - . auto/module -fi - -if [ $HTTP_EMPTY_GIF = YES ]; then - ngx_module_name=ngx_http_empty_gif_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c - ngx_module_libs= - ngx_module_link=$HTTP_EMPTY_GIF - - . auto/module -fi - -if [ $HTTP_BROWSER = YES ]; then - ngx_module_name=ngx_http_browser_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_browser_module.c - ngx_module_libs= - ngx_module_link=$HTTP_BROWSER - - . auto/module -fi - -if [ $HTTP_SECURE_LINK = YES ]; then - ngx_module_name=ngx_http_secure_link_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c - ngx_module_libs= - ngx_module_link=$HTTP_SECURE_LINK - - . auto/module -fi - -if [ $HTTP_DEGRADATION = YES ]; then - have=NGX_HTTP_DEGRADATION . auto/have - - ngx_module_name=ngx_http_degradation_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c - ngx_module_libs= - ngx_module_link=$HTTP_DEGRADATION - - . auto/module -fi - -if [ $HTTP_FLV = YES ]; then - ngx_module_name=ngx_http_flv_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_flv_module.c - ngx_module_libs= - ngx_module_link=$HTTP_FLV - - . auto/module -fi - -if [ $HTTP_MP4 = YES ]; then - ngx_module_name=ngx_http_mp4_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c - ngx_module_libs= - ngx_module_link=$HTTP_MP4 - - . auto/module -fi - -if [ $HTTP_UPSTREAM_HASH = YES ]; then - ngx_module_name=ngx_http_upstream_hash_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c - ngx_module_libs= - ngx_module_link=$HTTP_UPSTREAM_HASH - - . auto/module -fi - -if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then - ngx_module_name=ngx_http_upstream_ip_hash_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c - ngx_module_libs= - ngx_module_link=$HTTP_UPSTREAM_IP_HASH - - . auto/module -fi - -if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then - ngx_module_name=ngx_http_upstream_least_conn_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c - ngx_module_libs= - ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN - - . auto/module -fi - -if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then - ngx_module_name=ngx_http_upstream_keepalive_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c - ngx_module_libs= - ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE - - . auto/module -fi - -if [ $HTTP_UPSTREAM_ZONE = YES ]; then - have=NGX_HTTP_UPSTREAM_ZONE . auto/have - - ngx_module_name=ngx_http_upstream_zone_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c - ngx_module_libs= - ngx_module_link=$HTTP_UPSTREAM_ZONE - - . auto/module -fi - -if [ $HTTP_STUB_STATUS = YES ]; then - have=NGX_STAT_STUB . auto/have - - ngx_module_name=ngx_http_stub_status_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c - ngx_module_libs= - ngx_module_link=$HTTP_STUB_STATUS - - . auto/module -fi - - -if [ $MAIL != NO ]; then - MAIL_MODULES= - MAIL_DEPS= - MAIL_INCS= - - ngx_module_type=MAIL - ngx_module_libs= - ngx_module_link=YES - - ngx_module_order= - - ngx_module_name="ngx_mail_module ngx_mail_core_module" - ngx_module_incs="src/mail" - ngx_module_deps="src/mail/ngx_mail.h" - ngx_module_srcs="src/mail/ngx_mail.c \ - src/mail/ngx_mail_core_module.c \ - src/mail/ngx_mail_handler.c \ - src/mail/ngx_mail_parse.c" - - . auto/module - - ngx_module_incs= - - if [ $MAIL_SSL = YES ]; then - USE_OPENSSL=YES - have=NGX_MAIL_SSL . auto/have - - ngx_module_name=ngx_mail_ssl_module - ngx_module_deps=src/mail/ngx_mail_ssl_module.h - ngx_module_srcs=src/mail/ngx_mail_ssl_module.c - - . auto/module - fi - - if [ $MAIL_POP3 = YES ]; then - ngx_module_name=ngx_mail_pop3_module - ngx_module_deps=src/mail/ngx_mail_pop3_module.h - ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \ - src/mail/ngx_mail_pop3_handler.c" - - . auto/module - fi - - if [ $MAIL_IMAP = YES ]; then - ngx_module_name=ngx_mail_imap_module - ngx_module_deps=src/mail/ngx_mail_imap_module.h - ngx_module_srcs="src/mail/ngx_mail_imap_module.c \ - src/mail/ngx_mail_imap_handler.c" - - . auto/module - fi - - if [ $MAIL_SMTP = YES ]; then - ngx_module_name=ngx_mail_smtp_module - ngx_module_deps=src/mail/ngx_mail_smtp_module.h - ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \ - src/mail/ngx_mail_smtp_handler.c" - - . auto/module - fi - - ngx_module_name=ngx_mail_auth_http_module - ngx_module_deps= - ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c - - . auto/module - - ngx_module_name=ngx_mail_proxy_module - ngx_module_deps= - ngx_module_srcs=src/mail/ngx_mail_proxy_module.c - - . auto/module -fi - - -if [ $STREAM != NO ]; then - STREAM_MODULES= - STREAM_DEPS= - STREAM_INCS= - - ngx_module_type=STREAM - - ngx_module_order= - - ngx_module_name="ngx_stream_module \ - ngx_stream_core_module \ - ngx_stream_log_module \ - ngx_stream_proxy_module \ - ngx_stream_upstream_module \ - ngx_stream_write_filter_module" - ngx_module_incs="src/stream" - ngx_module_deps="src/stream/ngx_stream.h \ - src/stream/ngx_stream_variables.h \ - src/stream/ngx_stream_script.h \ - src/stream/ngx_stream_upstream.h \ - src/stream/ngx_stream_upstream_round_robin.h" - ngx_module_srcs="src/stream/ngx_stream.c \ - src/stream/ngx_stream_variables.c \ - src/stream/ngx_stream_script.c \ - src/stream/ngx_stream_handler.c \ - src/stream/ngx_stream_core_module.c \ - src/stream/ngx_stream_log_module.c \ - src/stream/ngx_stream_proxy_module.c \ - src/stream/ngx_stream_upstream.c \ - src/stream/ngx_stream_upstream_round_robin.c \ - src/stream/ngx_stream_write_filter_module.c" - - . auto/module - - ngx_module_incs= - - if [ $STREAM_SSL = YES ]; then - USE_OPENSSL=YES - have=NGX_STREAM_SSL . auto/have - - ngx_module_name=ngx_stream_ssl_module - ngx_module_deps=src/stream/ngx_stream_ssl_module.h - ngx_module_srcs=src/stream/ngx_stream_ssl_module.c - ngx_module_libs= - ngx_module_link=$STREAM_SSL - - . auto/module - fi - - if [ $STREAM_REALIP = YES ]; then - ngx_module_name=ngx_stream_realip_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_realip_module.c - ngx_module_libs= - ngx_module_link=$STREAM_REALIP - - . auto/module - fi - - if [ $STREAM_LIMIT_CONN = YES ]; then - ngx_module_name=ngx_stream_limit_conn_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c - ngx_module_libs= - ngx_module_link=$STREAM_LIMIT_CONN - - . auto/module - fi - - if [ $STREAM_ACCESS = YES ]; then - ngx_module_name=ngx_stream_access_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_access_module.c - ngx_module_libs= - ngx_module_link=$STREAM_ACCESS - - . auto/module - fi - - if [ $STREAM_GEO = YES ]; then - ngx_module_name=ngx_stream_geo_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_geo_module.c - ngx_module_libs= - ngx_module_link=$STREAM_GEO - - . auto/module - fi - - if [ $STREAM_GEOIP != NO ]; then - ngx_module_name=ngx_stream_geoip_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_geoip_module.c - ngx_module_libs=GEOIP - ngx_module_link=$STREAM_GEOIP - - . auto/module - fi - - if [ $STREAM_MAP = YES ]; then - ngx_module_name=ngx_stream_map_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_map_module.c - ngx_module_libs= - ngx_module_link=$STREAM_MAP - - . auto/module - fi - - if [ $STREAM_SPLIT_CLIENTS = YES ]; then - ngx_module_name=ngx_stream_split_clients_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c - ngx_module_libs= - ngx_module_link=$STREAM_SPLIT_CLIENTS - - . auto/module - fi - - if [ $STREAM_RETURN = YES ]; then - ngx_module_name=ngx_stream_return_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_return_module.c - ngx_module_libs= - ngx_module_link=$STREAM_RETURN - - . auto/module - fi - - if [ $STREAM_UPSTREAM_HASH = YES ]; then - ngx_module_name=ngx_stream_upstream_hash_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c - ngx_module_libs= - ngx_module_link=$STREAM_UPSTREAM_HASH - - . auto/module - fi - - if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then - ngx_module_name=ngx_stream_upstream_least_conn_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c - ngx_module_libs= - ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN - - . auto/module - fi - - if [ $STREAM_UPSTREAM_ZONE = YES ]; then - have=NGX_STREAM_UPSTREAM_ZONE . auto/have - - ngx_module_name=ngx_stream_upstream_zone_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c - ngx_module_libs= - ngx_module_link=$STREAM_UPSTREAM_ZONE - - . auto/module - fi - - if [ $STREAM_SSL_PREREAD = YES ]; then - ngx_module_name=ngx_stream_ssl_preread_module - ngx_module_deps= - ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c - ngx_module_libs= - ngx_module_link=$STREAM_SSL_PREREAD - - . auto/module - fi -fi - - -#if [ -r $NGX_OBJS/auto ]; then -# . $NGX_OBJS/auto -#fi - - -if test -n "$NGX_ADDONS"; then - - echo configuring additional modules - - for ngx_addon_dir in $NGX_ADDONS - do - echo "adding module in $ngx_addon_dir" - - ngx_module_type= - ngx_module_name= - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs= - ngx_module_libs= - ngx_module_order= - ngx_module_link=ADDON - - if test -f $ngx_addon_dir/config; then - . $ngx_addon_dir/config - - echo " + $ngx_addon_name was configured" - - else - echo "$0: error: no $ngx_addon_dir/config was found" - exit 1 - fi - done -fi - - -if test -n "$DYNAMIC_ADDONS"; then - - echo configuring additional dynamic modules - - for ngx_addon_dir in $DYNAMIC_ADDONS - do - echo "adding module in $ngx_addon_dir" - - ngx_module_type= - ngx_module_name= - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs= - ngx_module_libs= - ngx_module_order= - ngx_module_link=DYNAMIC - - if test -f $ngx_addon_dir/config; then - . $ngx_addon_dir/config - - echo " + $ngx_addon_name was configured" - - else - echo "$0: error: no $ngx_addon_dir/config was found" - exit 1 - fi - done -fi - - -if [ $USE_OPENSSL = YES ]; then - ngx_module_type=CORE - ngx_module_name=ngx_openssl_module - ngx_module_incs= - ngx_module_deps=src/event/ngx_event_openssl.h - ngx_module_srcs="src/event/ngx_event_openssl.c - src/event/ngx_event_openssl_stapling.c" - ngx_module_libs= - ngx_module_link=YES - ngx_module_order= - - . auto/module -fi - - -if [ $USE_PCRE = YES ]; then - ngx_module_type=CORE - ngx_module_name=ngx_regex_module - ngx_module_incs= - ngx_module_deps=src/core/ngx_regex.h - ngx_module_srcs=src/core/ngx_regex.c - ngx_module_libs= - ngx_module_link=YES - ngx_module_order= - - . auto/module -fi - - -modules="$CORE_MODULES $EVENT_MODULES" - - -# thread pool module should be initialized after events -if [ $USE_THREADS = YES ]; then - modules="$modules $THREAD_POOL_MODULE" -fi - - -if [ $HTTP = YES ]; then - modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \ - $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES" - - NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)" -fi - - -if [ $MAIL != NO ]; then - - if [ $MAIL = YES ]; then - modules="$modules $MAIL_MODULES" - - elif [ $MAIL = DYNAMIC ]; then - ngx_module_name=$MAIL_MODULES - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=$MAIL_SRCS - ngx_module_libs= - ngx_module_link=DYNAMIC - - . auto/module - fi - - NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)" -fi - - -if [ $STREAM != NO ]; then - - if [ $STREAM = YES ]; then - modules="$modules $STREAM_MODULES" - - elif [ $STREAM = DYNAMIC ]; then - ngx_module_name=$STREAM_MODULES - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=$STREAM_SRCS - ngx_module_libs= - ngx_module_link=DYNAMIC - - . auto/module - fi - - NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)" -fi - - -ngx_module_type=MISC -MISC_MODULES= - -if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then - ngx_module_name=ngx_google_perftools_module - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/misc/ngx_google_perftools_module.c - ngx_module_libs= - ngx_module_link=$NGX_GOOGLE_PERFTOOLS - - . auto/module -fi - -if [ $NGX_CPP_TEST = YES ]; then - ngx_module_name= - ngx_module_incs= - ngx_module_deps= - ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp - ngx_module_libs=-lstdc++ - ngx_module_link=$NGX_CPP_TEST - - . auto/module -fi - -modules="$modules $MISC_MODULES" - - -if [ $NGX_COMPAT = YES ]; then - have=NGX_COMPAT . auto/have - have=NGX_HTTP_GZIP . auto/have - have=NGX_HTTP_DAV . auto/have - have=NGX_HTTP_REALIP . auto/have - have=NGX_HTTP_X_FORWARDED_FOR . auto/have - have=NGX_HTTP_HEADERS . auto/have - have=NGX_HTTP_UPSTREAM_ZONE . auto/have - have=NGX_STREAM_UPSTREAM_ZONE . auto/have -fi - - -cat << END > $NGX_MODULES_C - -#include <ngx_config.h> -#include <ngx_core.h> - -$NGX_PRAGMA - -END - -for mod in $modules -do - echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C -done - -echo >> $NGX_MODULES_C -echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C - -for mod in $modules -do - echo " &$mod," >> $NGX_MODULES_C -done - -cat << END >> $NGX_MODULES_C - NULL -}; - -END - -echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C - -for mod in $modules -do - echo " \"$mod\"," >> $NGX_MODULES_C -done - -cat << END >> $NGX_MODULES_C - NULL -}; - -END Deleted: vendor/nginx-1.11.9/contrib/vim/syntax/nginx.vim (+0 -836) 100644 =================================================================== --- vendor/nginx-1.11.9/contrib/vim/syntax/nginx.vim 2017-03-24 11:49:37 +0900 (f1fd48a) +++ /dev/null @@ -1,836 +0,0 @@ -" Vim syntax file -" Language: nginx.conf - -if exists("b:current_syntax") - finish -end - -setlocal iskeyword+=. -setlocal iskeyword+=/ -setlocal iskeyword+=: - -syn match ngxVariable '\$\(\w\+\|{\w\+}\)' -syn match ngxVariableBlock '\$\(\w\+\|{\w\+}\)' contained -syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained -syn region ngxBlock start=+^+ end=+{+ skip=+\${+ contains=ngxComment,ngxDirectiveBlock,ngxVariableBlock,ngxString oneline -syn region ngxString start=+\z(["']\)+ end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString -syn match ngxComment ' *#.*$' - -syn keyword ngxBoolean on -syn keyword ngxBoolean off - -syn keyword ngxDirectiveBlock http contained -syn keyword ngxDirectiveBlock mail contained -syn keyword ngxDirectiveBlock events contained -syn keyword ngxDirectiveBlock server contained -syn keyword ngxDirectiveBlock types contained -syn keyword ngxDirectiveBlock location contained -syn keyword ngxDirectiveBlock upstream contained -syn keyword ngxDirectiveBlock charset_map contained -syn keyword ngxDirectiveBlock limit_except contained -syn keyword ngxDirectiveBlock if contained -syn keyword ngxDirectiveBlock geo contained -syn keyword ngxDirectiveBlock map contained -syn keyword ngxDirectiveBlock split_clients contained - -syn keyword ngxDirectiveImportant include -syn keyword ngxDirectiveImportant root -syn keyword ngxDirectiveImportant server -syn keyword ngxDirectiveImportant server_name -syn keyword ngxDirectiveImportant listen -syn keyword ngxDirectiveImportant internal -syn keyword ngxDirectiveImportant proxy_pass -syn keyword ngxDirectiveImportant memcached_pass -syn keyword ngxDirectiveImportant fastcgi_pass -syn keyword ngxDirectiveImportant scgi_pass -syn keyword ngxDirectiveImportant uwsgi_pass -syn keyword ngxDirectiveImportant try_files - -syn keyword ngxDirectiveControl break -syn keyword ngxDirectiveControl return -syn keyword ngxDirectiveControl rewrite -syn keyword ngxDirectiveControl set - -syn keyword ngxDirectiveError error_page -syn keyword ngxDirectiveError post_action - -syn keyword ngxDirectiveDeprecated connections -syn keyword ngxDirectiveDeprecated imap -syn keyword ngxDirectiveDeprecated limit_zone -syn keyword ngxDirectiveDeprecated mysql_test -syn keyword ngxDirectiveDeprecated open_file_cache_retest -syn keyword ngxDirectiveDeprecated optimize_server_names -syn keyword ngxDirectiveDeprecated satisfy_any -syn keyword ngxDirectiveDeprecated so_keepalive - -syn keyword ngxDirective accept_mutex -syn keyword ngxDirective accept_mutex_delay -syn keyword ngxDirective acceptex_read -syn keyword ngxDirective access_log -syn keyword ngxDirective add_after_body -syn keyword ngxDirective add_before_body -syn keyword ngxDirective add_header -syn keyword ngxDirective addition_types -syn keyword ngxDirective aio -syn keyword ngxDirective alias -syn keyword ngxDirective allow -syn keyword ngxDirective ancient_browser -syn keyword ngxDirective ancient_browser_value -syn keyword ngxDirective auth_basic -syn keyword ngxDirective auth_basic_user_file -syn keyword ngxDirective auth_http -syn keyword ngxDirective auth_http_header -syn keyword ngxDirective auth_http_timeout -syn keyword ngxDirective auth_request -syn keyword ngxDirective auth_request_set -syn keyword ngxDirective autoindex -syn keyword ngxDirective autoindex_exact_size -syn keyword ngxDirective autoindex_localtime -syn keyword ngxDirective charset -syn keyword ngxDirective charset_types -syn keyword ngxDirective chunked_transfer_encoding -syn keyword ngxDirective client_body_buffer_size -syn keyword ngxDirective client_body_in_file_only -syn keyword ngxDirective client_body_in_single_buffer -syn keyword ngxDirective client_body_temp_path -syn keyword ngxDirective client_body_timeout -syn keyword ngxDirective client_header_buffer_size -syn keyword ngxDirective client_header_timeout -syn keyword ngxDirective client_max_body_size -syn keyword ngxDirective connection_pool_size -syn keyword ngxDirective create_full_put_path -syn keyword ngxDirective daemon -syn keyword ngxDirective dav_access -syn keyword ngxDirective dav_methods -syn keyword ngxDirective debug_connection -syn keyword ngxDirective debug_points -syn keyword ngxDirective default_type -syn keyword ngxDirective degradation -syn keyword ngxDirective degrade -syn keyword ngxDirective deny -syn keyword ngxDirective devpoll_changes -syn keyword ngxDirective devpoll_events -syn keyword ngxDirective directio -syn keyword ngxDirective directio_alignment -syn keyword ngxDirective disable_symlinks -syn keyword ngxDirective empty_gif -syn keyword ngxDirective env -syn keyword ngxDirective epoll_events -syn keyword ngxDirective error_log -syn keyword ngxDirective etag -syn keyword ngxDirective eventport_events -syn keyword ngxDirective expires -syn keyword ngxDirective fastcgi_bind -syn keyword ngxDirective fastcgi_buffer_size -syn keyword ngxDirective fastcgi_buffering -syn keyword ngxDirective fastcgi_buffers -syn keyword ngxDirective fastcgi_busy_buffers_size -syn keyword ngxDirective fastcgi_cache -syn keyword ngxDirective fastcgi_cache_bypass -syn keyword ngxDirective fastcgi_cache_key -syn keyword ngxDirective fastcgi_cache_lock -syn keyword ngxDirective fastcgi_cache_lock_timeout -syn keyword ngxDirective fastcgi_cache_methods -syn keyword ngxDirective fastcgi_cache_min_uses -syn keyword ngxDirective fastcgi_cache_path -syn keyword ngxDirective fastcgi_cache_revalidate -syn keyword ngxDirective fastcgi_cache_use_stale -syn keyword ngxDirective fastcgi_cache_valid -syn keyword ngxDirective fastcgi_catch_stderr -syn keyword ngxDirective fastcgi_connect_timeout -syn keyword ngxDirective fastcgi_force_ranges -syn keyword ngxDirective fastcgi_hide_header -syn keyword ngxDirective fastcgi_ignore_client_abort -syn keyword ngxDirective fastcgi_ignore_headers -syn keyword ngxDirective fastcgi_index -syn keyword ngxDirective fastcgi_intercept_errors -syn keyword ngxDirective fastcgi_keep_conn -syn keyword ngxDirective fastcgi_max_temp_file_size -syn keyword ngxDirective fastcgi_next_upstream -syn keyword ngxDirective fastcgi_next_upstream_timeout -syn keyword ngxDirective fastcgi_next_upstream_tries -syn keyword ngxDirective fastcgi_no_cache -syn keyword ngxDirective fastcgi_param -syn keyword ngxDirective fastcgi_pass_header -syn keyword ngxDirective fastcgi_pass_request_body -syn keyword ngxDirective fastcgi_pass_request_headers -syn keyword ngxDirective fastcgi_read_timeout -syn keyword ngxDirective fastcgi_send_lowat -syn keyword ngxDirective fastcgi_send_timeout -syn keyword ngxDirective fastcgi_split_path_info -syn keyword ngxDirective fastcgi_store -syn keyword ngxDirective fastcgi_store_access -syn keyword ngxDirective fastcgi_temp_file_write_size -syn keyword ngxDirective fastcgi_temp_path -syn keyword ngxDirective flv -syn keyword ngxDirective geoip_city -syn keyword ngxDirective geoip_country -syn keyword ngxDirective geoip_org -syn keyword ngxDirective geoip_proxy -syn keyword ngxDirective geoip_proxy_recursive -syn keyword ngxDirective google_perftools_profiles -syn keyword ngxDirective gunzip -syn keyword ngxDirective gunzip_buffers -syn keyword ngxDirective gzip -syn keyword ngxDirective gzip_buffers -syn keyword ngxDirective gzip_comp_level -syn keyword ngxDirective gzip_disable -syn keyword ngxDirective gzip_hash -syn keyword ngxDirective gzip_http_version -syn keyword ngxDirective gzip_min_length -syn keyword ngxDirective gzip_no_buffer -syn keyword ngxDirective gzip_proxied -syn keyword ngxDirective gzip_static -syn keyword ngxDirective gzip_types -syn keyword ngxDirective gzip_vary -syn keyword ngxDirective gzip_window -syn keyword ngxDirective hash -syn keyword ngxDirective if_modified_since -syn keyword ngxDirective ignore_invalid_headers -syn keyword ngxDirective image_filter -syn keyword ngxDirective image_filter_buffer -syn keyword ngxDirective image_filter_interlace -syn keyword ngxDirective image_filter_jpeg_quality -syn keyword ngxDirective image_filter_sharpen -syn keyword ngxDirective image_filter_transparency -syn keyword ngxDirective imap_auth -syn keyword ngxDirective imap_capabilities -syn keyword ngxDirective imap_client_buffer -syn keyword ngxDirective index -syn keyword ngxDirective iocp_threads -syn keyword ngxDirective ip_hash -syn keyword ngxDirective keepalive -syn keyword ngxDirective keepalive_disable -syn keyword ngxDirective keepalive_requests -syn keyword ngxDirective keepalive_timeout -syn keyword ngxDirective kqueue_changes -syn keyword ngxDirective kqueue_events -syn keyword ngxDirective large_client_header_buffers -syn keyword ngxDirective least_conn -syn keyword ngxDirective limit_conn -syn keyword ngxDirective limit_conn_log_level -syn keyword ngxDirective limit_conn_status -syn keyword ngxDirective limit_conn_zone -syn keyword ngxDirective limit_rate -syn keyword ngxDirective limit_rate_after -syn keyword ngxDirective limit_req -syn keyword ngxDirective limit_req_log_level -syn keyword ngxDirective limit_req_status -syn keyword ngxDirective limit_req_zone -syn keyword ngxDirective lingering_close -syn keyword ngxDirective lingering_time -syn keyword ngxDirective lingering_timeout -syn keyword ngxDirective lock_file -syn keyword ngxDirective log_format -syn keyword ngxDirective log_not_found -syn keyword ngxDirective log_subrequest -syn keyword ngxDirective map_hash_bucket_size -syn keyword ngxDirective map_hash_max_size -syn keyword ngxDirective master_process -syn keyword ngxDirective max_ranges -syn keyword ngxDirective memcached_bind -syn keyword ngxDirective memcached_buffer_size -syn keyword ngxDirective memcached_connect_timeout -syn keyword ngxDirective memcached_gzip_flag -syn keyword ngxDirective memcached_next_upstream -syn keyword ngxDirective memcached_next_upstream_timeout -syn keyword ngxDirective memcached_next_upstream_tries -syn keyword ngxDirective memcached_read_timeout -syn keyword ngxDirective memcached_send_timeout -syn keyword ngxDirective merge_slashes -syn keyword ngxDirective min_delete_depth -syn keyword ngxDirective modern_browser -syn keyword ngxDirective modern_browser_value -syn keyword ngxDirective mp4 -syn keyword ngxDirective mp4_buffer_size -syn keyword ngxDirective mp4_max_buffer_size -syn keyword ngxDirective msie_padding -syn keyword ngxDirective msie_refresh -syn keyword ngxDirective multi_accept -syn keyword ngxDirective open_file_cache -syn keyword ngxDirective open_file_cache_errors -syn keyword ngxDirective open_file_cache_events -syn keyword ngxDirective open_file_cache_min_uses -syn keyword ngxDirective open_file_cache_valid -syn keyword ngxDirective open_log_file_cache -syn keyword ngxDirective output_buffers -syn keyword ngxDirective override_charset -syn keyword ngxDirective pcre_jit -syn keyword ngxDirective perl -syn keyword ngxDirective perl_modules -syn keyword ngxDirective perl_require -syn keyword ngxDirective perl_set -syn keyword ngxDirective pid -syn keyword ngxDirective pop3_auth -syn keyword ngxDirective pop3_capabilities -syn keyword ngxDirective port_in_redirect -syn keyword ngxDirective post_acceptex -syn keyword ngxDirective postpone_gzipping -syn keyword ngxDirective postpone_output -syn keyword ngxDirective protocol -syn keyword ngxDirective proxy -syn keyword ngxDirective proxy_bind -syn keyword ngxDirective proxy_buffer -syn keyword ngxDirective proxy_buffer_size -syn keyword ngxDirective proxy_buffering -syn keyword ngxDirective proxy_buffers -syn keyword ngxDirective proxy_busy_buffers_size -syn keyword ngxDirective proxy_cache -syn keyword ngxDirective proxy_cache_bypass -syn keyword ngxDirective proxy_cache_key -syn keyword ngxDirective proxy_cache_lock -syn keyword ngxDirective proxy_cache_lock_timeout -syn keyword ngxDirective proxy_cache_methods -syn keyword ngxDirective proxy_cache_min_uses -syn keyword ngxDirective proxy_cache_path -syn keyword ngxDirective proxy_cache_revalidate -syn keyword ngxDirective proxy_cache_use_stale -syn keyword ngxDirective proxy_cache_valid -syn keyword ngxDirective proxy_connect_timeout -syn keyword ngxDirective proxy_cookie_domain -syn keyword ngxDirective proxy_cookie_path -syn keyword ngxDirective proxy_force_ranges -syn keyword ngxDirective proxy_headers_hash_bucket_size -syn keyword ngxDirective proxy_headers_hash_max_size -syn keyword ngxDirective proxy_hide_header -syn keyword ngxDirective proxy_http_version -syn keyword ngxDirective proxy_ignore_client_abort -syn keyword ngxDirective proxy_ignore_headers -syn keyword ngxDirective proxy_intercept_errors -syn keyword ngxDirective proxy_max_temp_file_size -syn keyword ngxDirective proxy_method -syn keyword ngxDirective proxy_next_upstream -syn keyword ngxDirective proxy_next_upstream_timeout -syn keyword ngxDirective proxy_next_upstream_tries -syn keyword ngxDirective proxy_no_cache -syn keyword ngxDirective proxy_pass_error_message -syn keyword ngxDirective proxy_pass_header -syn keyword ngxDirective proxy_pass_request_body -syn keyword ngxDirective proxy_pass_request_headers -syn keyword ngxDirective proxy_read_timeout -syn keyword ngxDirective proxy_redirect -syn keyword ngxDirective proxy_send_lowat -syn keyword ngxDirective proxy_send_timeout -syn keyword ngxDirective proxy_set_body -syn keyword ngxDirective proxy_set_header -syn keyword ngxDirective proxy_ssl_ciphers -syn keyword ngxDirective proxy_ssl_crl -syn keyword ngxDirective proxy_ssl_name -syn keyword ngxDirective proxy_ssl_protocols -syn keyword ngxDirective proxy_ssl_server_name -syn keyword ngxDirective proxy_ssl_session_reuse -syn keyword ngxDirective proxy_ssl_trusted_certificate -syn keyword ngxDirective proxy_ssl_verify -syn keyword ngxDirective proxy_ssl_verify_depth -syn keyword ngxDirective proxy_store -syn keyword ngxDirective proxy_store_access -syn keyword ngxDirective proxy_temp_file_write_size -syn keyword ngxDirective proxy_temp_path -syn keyword ngxDirective proxy_timeout -syn keyword ngxDirective random_index -syn keyword ngxDirective read_ahead -syn keyword ngxDirective real_ip_header -syn keyword ngxDirective real_ip_recursive -syn keyword ngxDirective recursive_error_pages -syn keyword ngxDirective referer_hash_bucket_size -syn keyword ngxDirective referer_hash_max_size -syn keyword ngxDirective request_pool_size -syn keyword ngxDirective reset_timedout_connection -syn keyword ngxDirective resolver -syn keyword ngxDirective resolver_timeout -syn keyword ngxDirective rewrite_log -syn keyword ngxDirective rtsig_overflow_events -syn keyword ngxDirective rtsig_overflow_test -syn keyword ngxDirective rtsig_overflow_threshold -syn keyword ngxDirective rtsig_signo -syn keyword ngxDirective satisfy -syn keyword ngxDirective scgi_bind -syn keyword ngxDirective scgi_buffer_size -syn keyword ngxDirective scgi_buffering -syn keyword ngxDirective scgi_buffers -syn keyword ngxDirective scgi_busy_buffers_size -syn keyword ngxDirective scgi_cache -syn keyword ngxDirective scgi_cache_bypass -syn keyword ngxDirective scgi_cache_key -syn keyword ngxDirective scgi_cache_lock -syn keyword ngxDirective scgi_cache_lock_timeout -syn keyword ngxDirective scgi_cache_methods -syn keyword ngxDirective scgi_cache_min_uses -syn keyword ngxDirective scgi_cache_path -syn keyword ngxDirective scgi_cache_revalidate -syn keyword ngxDirective scgi_cache_use_stale -syn keyword ngxDirective scgi_cache_valid -syn keyword ngxDirective scgi_connect_timeout -syn keyword ngxDirective scgi_force_ranges -syn keyword ngxDirective scgi_hide_header -syn keyword ngxDirective scgi_ignore_client_abort -syn keyword ngxDirective scgi_ignore_headers -syn keyword ngxDirective scgi_intercept_errors -syn keyword ngxDirective scgi_max_temp_file_size -syn keyword ngxDirective scgi_next_upstream -syn keyword ngxDirective scgi_next_upstream_timeout -syn keyword ngxDirective scgi_next_upstream_tries -syn keyword ngxDirective scgi_no_cache -syn keyword ngxDirective scgi_param -syn keyword ngxDirective scgi_pass_header -syn keyword ngxDirective scgi_pass_request_body -syn keyword ngxDirective scgi_pass_request_headers -syn keyword ngxDirective scgi_read_timeout -syn keyword ngxDirective scgi_send_timeout -syn keyword ngxDirective scgi_store -syn keyword ngxDirective scgi_store_access -syn keyword ngxDirective scgi_temp_file_write_size -syn keyword ngxDirective scgi_temp_path -syn keyword ngxDirective secure_link -syn keyword ngxDirective secure_link_md5 -syn keyword ngxDirective secure_link_secret -syn keyword ngxDirective send_lowat -syn keyword ngxDirective send_timeout -syn keyword ngxDirective sendfile -syn keyword ngxDirective sendfile_max_chunk -syn keyword ngxDirective server_name_in_redirect -syn keyword ngxDirective server_names_hash_bucket_size -syn keyword ngxDirective server_names_hash_max_size -syn keyword ngxDirective server_tokens -syn keyword ngxDirective set_real_ip_from -syn keyword ngxDirective smtp_auth -syn keyword ngxDirective smtp_capabilities -syn keyword ngxDirective smtp_client_buffer -syn keyword ngxDirective smtp_greeting_delay -syn keyword ngxDirective source_charset -syn keyword ngxDirective spdy_chunk_size -syn keyword ngxDirective spdy_headers_comp -syn keyword ngxDirective spdy_keepalive_timeout -syn keyword ngxDirective spdy_max_concurrent_streams -syn keyword ngxDirective spdy_pool_size -syn keyword ngxDirective spdy_recv_buffer_size -syn keyword ngxDirective spdy_recv_timeout -syn keyword ngxDirective spdy_streams_index_size -syn keyword ngxDirective ssi -syn keyword ngxDirective ssi_ignore_recycled_buffers -syn keyword ngxDirective ssi_last_modified -syn keyword ngxDirective ssi_min_file_chunk -syn keyword ngxDirective ssi_silent_errors -syn keyword ngxDirective ssi_types -syn keyword ngxDirective ssi_value_length -syn keyword ngxDirective ssl -syn keyword ngxDirective ssl_buffer_size -syn keyword ngxDirective ssl_certificate -syn keyword ngxDirective ssl_certificate_key -syn keyword ngxDirective ssl_ciphers -syn keyword ngxDirective ssl_client_certificate -syn keyword ngxDirective ssl_crl -syn keyword ngxDirective ssl_dhparam -syn keyword ngxDirective ssl_ecdh_curve -syn keyword ngxDirective ssl_engine -syn keyword ngxDirective ssl_password_file -syn keyword ngxDirective ssl_prefer_server_ciphers -syn keyword ngxDirective ssl_protocols -syn keyword ngxDirective ssl_session_cache -syn keyword ngxDirective ssl_session_ticket_key -syn keyword ngxDirective ssl_session_tickets -syn keyword ngxDirective ssl_session_timeout -syn keyword ngxDirective ssl_stapling -syn keyword ngxDirective ssl_stapling_file -syn keyword ngxDirective ssl_stapling_responder -syn keyword ngxDirective ssl_stapling_verify -syn keyword ngxDirective ssl_trusted_certificate -syn keyword ngxDirective ssl_verify_client -syn keyword ngxDirective ssl_verify_depth -syn keyword ngxDirective starttls -syn keyword ngxDirective stub_status -syn keyword ngxDirective sub_filter -syn keyword ngxDirective sub_filter_last_modified -syn keyword ngxDirective sub_filter_once -syn keyword ngxDirective sub_filter_types -syn keyword ngxDirective tcp_nodelay -syn keyword ngxDirective tcp_nopush -syn keyword ngxDirective thread_stack_size -syn keyword ngxDirective timeout -syn keyword ngxDirective timer_resolution -syn keyword ngxDirective types_hash_bucket_size -syn keyword ngxDirective types_hash_max_size -syn keyword ngxDirective underscores_in_headers -syn keyword ngxDirective uninitialized_variable_warn -syn keyword ngxDirective use -syn keyword ngxDirective user -syn keyword ngxDirective userid -syn keyword ngxDirective userid_domain -syn keyword ngxDirective userid_expires -syn keyword ngxDirective userid_mark -syn keyword ngxDirective userid_name -syn keyword ngxDirective userid_p3p -syn keyword ngxDirective userid_path -syn keyword ngxDirective userid_service -syn keyword ngxDirective uwsgi_bind -syn keyword ngxDirective uwsgi_buffer_size -syn keyword ngxDirective uwsgi_buffering -syn keyword ngxDirective uwsgi_buffers -syn keyword ngxDirective uwsgi_busy_buffers_size -syn keyword ngxDirective uwsgi_cache -syn keyword ngxDirective uwsgi_cache_bypass -syn keyword ngxDirective uwsgi_cache_key -syn keyword ngxDirective uwsgi_cache_lock -syn keyword ngxDirective uwsgi_cache_lock_timeout -syn keyword ngxDirective uwsgi_cache_methods -syn keyword ngxDirective uwsgi_cache_min_uses -syn keyword ngxDirective uwsgi_cache_path -syn keyword ngxDirective uwsgi_cache_revalidate -syn keyword ngxDirective uwsgi_cache_use_stale -syn keyword ngxDirective uwsgi_cache_valid -syn keyword ngxDirective uwsgi_connect_timeout -syn keyword ngxDirective uwsgi_force_ranges -syn keyword ngxDirective uwsgi_hide_header -syn keyword ngxDirective uwsgi_ignore_client_abort -syn keyword ngxDirective uwsgi_ignore_headers -syn keyword ngxDirective uwsgi_intercept_errors -syn keyword ngxDirective uwsgi_max_temp_file_size -syn keyword ngxDirective uwsgi_modifier1 -syn keyword ngxDirective uwsgi_modifier2 -syn keyword ngxDirective uwsgi_next_upstream -syn keyword ngxDirective uwsgi_next_upstream_timeout -syn keyword ngxDirective uwsgi_next_upstream_tries -syn keyword ngxDirective uwsgi_no_cache -syn keyword ngxDirective uwsgi_param -syn keyword ngxDirective uwsgi_pass_header -syn keyword ngxDirective uwsgi_pass_request_body -syn keyword ngxDirective uwsgi_pass_request_headers -syn keyword ngxDirective uwsgi_read_timeout -syn keyword ngxDirective uwsgi_send_timeout -syn keyword ngxDirective uwsgi_ssl_ciphers -syn keyword ngxDirective uwsgi_ssl_crl -syn keyword ngxDirective uwsgi_ssl_name -syn keyword ngxDirective uwsgi_ssl_protocols -syn keyword ngxDirective uwsgi_ssl_server_name -syn keyword ngxDirective uwsgi_ssl_session_reuse -syn keyword ngxDirective uwsgi_ssl_trusted_certificate -syn keyword ngxDirective uwsgi_ssl_verify -syn keyword ngxDirective uwsgi_ssl_verify_depth -syn keyword ngxDirective uwsgi_store -syn keyword ngxDirective uwsgi_store_access -syn keyword ngxDirective uwsgi_string -syn keyword ngxDirective uwsgi_temp_file_write_size -syn keyword ngxDirective uwsgi_temp_path -syn keyword ngxDirective valid_referers -syn keyword ngxDirective variables_hash_bucket_size -syn keyword ngxDirective variables_hash_max_size -syn keyword ngxDirective worker_aio_requests -syn keyword ngxDirective worker_connections -syn keyword ngxDirective worker_cpu_affinity -syn keyword ngxDirective worker_priority -syn keyword ngxDirective worker_processes -syn keyword ngxDirective worker_rlimit_core -syn keyword ngxDirective worker_rlimit_nofile -syn keyword ngxDirective worker_rlimit_sigpending -syn keyword ngxDirective worker_threads -syn keyword ngxDirective working_directory -syn keyword ngxDirective xclient -syn keyword ngxDirective xml_entities -syn keyword ngxDirective xslt_last_modified -syn keyword ngxDirective xslt_param -syn keyword ngxDirective xslt_string_param -syn keyword ngxDirective xslt_stylesheet -syn keyword ngxDirective xslt_types - -" 3rd party module list: -" http://wiki.nginx.org/Nginx3rdPartyModules - -" Accept Language Module <http://wiki.nginx.org/NginxAcceptLanguageModule> -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty set_from_accept_language - -" Access Key Module <http://wiki.nginx.org/NginxHttpAccessKeyModule> -" Denies access unless the request URL contains an access key. -syn keyword ngxDirectiveThirdParty accesskey -syn keyword ngxDirectiveThirdParty accesskey_arg -syn keyword ngxDirectiveThirdParty accesskey_hashmethod -syn keyword ngxDirectiveThirdParty accesskey_signature - -" Auth PAM Module <http://web.iti.upv.es/~sto/nginx/> -" HTTP Basic Authentication using PAM. -syn keyword ngxDirectiveThirdParty auth_pam -syn keyword ngxDirectiveThirdParty auth_pam_service_name - -" Cache Purge Module <http://labs.frickle.com/nginx_ngx_cache_purge/> -" Module adding ability to purge content from FastCGI and proxy caches. -syn keyword ngxDirectiveThirdParty fastcgi_cache_purge -syn keyword ngxDirectiveThirdParty proxy_cache_purge - -" Chunkin Module <http://wiki.nginx.org/NginxHttpChunkinModule> -" HTTP 1.1 chunked-encoding request body support for Nginx. -syn keyword ngxDirectiveThirdParty chunkin -syn keyword ngxDirectiveThirdParty chunkin_keepalive -syn keyword ngxDirectiveThirdParty chunkin_max_chunks_per_buf -syn keyword ngxDirectiveThirdParty chunkin_resume - -" Circle GIF Module <http://wiki.nginx.org/NginxHttpCircleGifModule> -" Generates simple circle images with the colors and size specified in the URL. -syn keyword ngxDirectiveThirdParty circle_gif -syn keyword ngxDirectiveThirdParty circle_gif_max_radius -syn keyword ngxDirectiveThirdParty circle_gif_min_radius -syn keyword ngxDirectiveThirdParty circle_gif_step_radius - -" Drizzle Module <http://github.com/chaoslawful/drizzle-nginx-module> -" Make nginx talk directly to mysql, drizzle, and sqlite3 by libdrizzle. -syn keyword ngxDirectiveThirdParty drizzle_connect_timeout -syn keyword ngxDirectiveThirdParty drizzle_dbname -syn keyword ngxDirectiveThirdParty drizzle_keepalive -syn keyword ngxDirectiveThirdParty drizzle_module_header -syn keyword ngxDirectiveThirdParty drizzle_pass -syn keyword ngxDirectiveThirdParty drizzle_query -syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout -syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout -syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout -syn keyword ngxDirectiveThirdParty drizzle_server - -" Echo Module <http://wiki.nginx.org/NginxHttpEchoModule> -" Brings 'echo', 'sleep', 'time', 'exec' and more shell-style goodies to Nginx config file. -syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_after_body -syn keyword ngxDirectiveThirdParty echo_before_body -syn keyword ngxDirectiveThirdParty echo_blocking_sleep -syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_end -syn keyword ngxDirectiveThirdParty echo_exec -syn keyword ngxDirectiveThirdParty echo_flush -syn keyword ngxDirectiveThirdParty echo_foreach_split -syn keyword ngxDirectiveThirdParty echo_location -syn keyword ngxDirectiveThirdParty echo_location_async -syn keyword ngxDirectiveThirdParty echo_read_request_body -syn keyword ngxDirectiveThirdParty echo_request_body -syn keyword ngxDirectiveThirdParty echo_reset_timer -syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_subrequest -syn keyword ngxDirectiveThirdParty echo_subrequest_async - -" Events Module <http://docs.dutov.org/nginx_modules_events_en.html> -" Provides options for start/stop events. -syn keyword ngxDirectiveThirdParty on_start -syn keyword ngxDirectiveThirdParty on_stop - -" EY Balancer Module <http://github.com/ry/nginx-ey-balancer> -" Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream. -syn keyword ngxDirectiveThirdParty max_connections -syn keyword ngxDirectiveThirdParty max_connections_max_queue_length -syn keyword ngxDirectiveThirdParty max_connections_queue_timeout - -" Fancy Indexes Module <https://connectical.com/projects/ngx-fancyindex/wiki> -" Like the built-in autoindex module, but fancier. -syn keyword ngxDirectiveThirdParty fancyindex -syn keyword ngxDirectiveThirdParty fancyindex_exact_size -syn keyword ngxDirectiveThirdParty fancyindex_footer -syn keyword ngxDirectiveThirdParty fancyindex_header -syn keyword ngxDirectiveThirdParty fancyindex_localtime -syn keyword ngxDirectiveThirdParty fancyindex_readme -syn keyword ngxDirectiveThirdParty fancyindex_readme_mode - -" GeoIP Module (DEPRECATED) <http://wiki.nginx.org/NginxHttp3rdPartyGeoIPModule> -" Country code lookups via the MaxMind GeoIP API. -syn keyword ngxDirectiveThirdParty geoip_country_file - -" Headers More Module <http://wiki.nginx.org/NginxHttpHeadersMoreModule> -" Set and clear input and output headers...more than "add"! -syn keyword ngxDirectiveThirdParty more_clear_headers -syn keyword ngxDirectiveThirdParty more_clear_input_headers -syn keyword ngxDirectiveThirdParty more_set_headers -syn keyword ngxDirectiveThirdParty more_set_input_headers - -" HTTP Push Module <http://pushmodule.slact.net/> -" Turn Nginx into an adept long-polling HTTP Push (Comet) server. -syn keyword ngxDirectiveThirdParty push_buffer_size -syn keyword ngxDirectiveThirdParty push_listener -syn keyword ngxDirectiveThirdParty push_message_timeout -syn keyword ngxDirectiveThirdParty push_queue_messages -syn keyword ngxDirectiveThirdParty push_sender - -" HTTP Redis Module <http://people.FreeBSD.ORG/~osa/ngx_http_redis-0.3.1.tar.gz>> -" Redis <http://code.google.com/p/redis/> support.> -syn keyword ngxDirectiveThirdParty redis_bind -syn keyword ngxDirectiveThirdParty redis_buffer_size -syn keyword ngxDirectiveThirdParty redis_connect_timeout -syn keyword ngxDirectiveThirdParty redis_next_upstream -syn keyword ngxDirectiveThirdParty redis_pass -syn keyword ngxDirectiveThirdParty redis_read_timeout -syn keyword ngxDirectiveThirdParty redis_send_timeout - -" HTTP JavaScript Module <http://wiki.github.com/kung-fu-tzu/ngx_http_js_module> -" Embedding SpiderMonkey. Nearly full port on Perl module. -syn keyword ngxDirectiveThirdParty js -syn keyword ngxDirectiveThirdParty js_filter -syn keyword ngxDirectiveThirdParty js_filter_types -syn keyword ngxDirectiveThirdParty js_load -syn keyword ngxDirectiveThirdParty js_maxmem -syn keyword ngxDirectiveThirdParty js_require -syn keyword ngxDirectiveThirdParty js_set -syn keyword ngxDirectiveThirdParty js_utf8 - -" Log Request Speed <http://wiki.nginx.org/NginxHttpLogRequestSpeed> -" Log the time it took to process each request. -syn keyword ngxDirectiveThirdParty log_request_speed_filter -syn keyword ngxDirectiveThirdParty log_request_speed_filter_timeout - -" Memc Module <http://wiki.nginx.org/NginxHttpMemcModule> -" An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. -syn keyword ngxDirectiveThirdParty memc_buffer_size -syn keyword ngxDirectiveThirdParty memc_cmds_allowed -syn keyword ngxDirectiveThirdParty memc_connect_timeout -syn keyword ngxDirectiveThirdParty memc_flags_to_last_modified -syn keyword ngxDirectiveThirdParty memc_next_upstream -syn keyword ngxDirectiveThirdParty memc_pass -syn keyword ngxDirectiveThirdParty memc_read_timeout -syn keyword ngxDirectiveThirdParty memc_send_timeout -syn keyword ngxDirectiveThirdParty memc_upstream_fail_timeout -syn keyword ngxDirectiveThirdParty memc_upstream_max_fails - -" Mogilefs Module <http://www.grid.net.ru/nginx/mogilefs.en.html> -" Implements a MogileFS client, provides a replace to the Perlbal reverse proxy of the original MogileFS. -syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout -syn keyword ngxDirectiveThirdParty mogilefs_domain -syn keyword ngxDirectiveThirdParty mogilefs_methods -syn keyword ngxDirectiveThirdParty mogilefs_noverify -syn keyword ngxDirectiveThirdParty mogilefs_pass -syn keyword ngxDirectiveThirdParty mogilefs_read_timeout -syn keyword ngxDirectiveThirdParty mogilefs_send_timeout -syn keyword ngxDirectiveThirdParty mogilefs_tracker - -" MP4 Streaming Lite Module <http://wiki.nginx.org/NginxMP4StreamingLite> -" Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. -syn keyword ngxDirectiveThirdParty mp4 - -" Nginx Notice Module <http://xph.us/software/nginx-notice/> -" Serve static file to POST requests. -syn keyword ngxDirectiveThirdParty notice -syn keyword ngxDirectiveThirdParty notice_type - -" Phusion Passenger <http://www.modrails.com/documentation.html> -" Easy and robust deployment of Ruby on Rails application on Apache and Nginx webservers. -syn keyword ngxDirectiveThirdParty passenger_base_uri -syn keyword ngxDirectiveThirdParty passenger_default_user -syn keyword ngxDirectiveThirdParty passenger_enabled -syn keyword ngxDirectiveThirdParty passenger_log_level -syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app -syn keyword ngxDirectiveThirdParty passenger_max_pool_size -syn keyword ngxDirectiveThirdParty passenger_pool_idle_time -syn keyword ngxDirectiveThirdParty passenger_root -syn keyword ngxDirectiveThirdParty passenger_ruby -syn keyword ngxDirectiveThirdParty passenger_use_global_queue -syn keyword ngxDirectiveThirdParty passenger_user_switching -syn keyword ngxDirectiveThirdParty rack_env -syn keyword ngxDirectiveThirdParty rails_app_spawner_idle_time -syn keyword ngxDirectiveThirdParty rails_env -syn keyword ngxDirectiveThirdParty rails_framework_spawner_idle_time -syn keyword ngxDirectiveThirdParty rails_spawn_method - -" RDS JSON Module <http://github.com/agentzh/rds-json-nginx-module> -" Help ngx_drizzle and other DBD modules emit JSON data. -syn keyword ngxDirectiveThirdParty rds_json -syn keyword ngxDirectiveThirdParty rds_json_content_type -syn keyword ngxDirectiveThirdParty rds_json_format -syn keyword ngxDirectiveThirdParty rds_json_ret - -" RRD Graph Module <http://wiki.nginx.org/NginxNgx_rrd_graph> -" This module provides an HTTP interface to RRDtool's graphing facilities. -syn keyword ngxDirectiveThirdParty rrd_graph -syn keyword ngxDirectiveThirdParty rrd_graph_root - -" Secure Download <http://wiki.nginx.org/NginxHttpSecureDownload> -" Create expiring links. -syn keyword ngxDirectiveThirdParty secure_download -syn keyword ngxDirectiveThirdParty secure_download_fail_location -syn keyword ngxDirectiveThirdParty secure_download_path_mode -syn keyword ngxDirectiveThirdParty secure_download_secret - -" SlowFS Cache Module <http://labs.frickle.com/nginx_ngx_slowfs_cache/> -" Module adding ability to cache static files. -syn keyword ngxDirectiveThirdParty slowfs_big_file_size -syn keyword ngxDirectiveThirdParty slowfs_cache -syn keyword ngxDirectiveThirdParty slowfs_cache_key -syn keyword ngxDirectiveThirdParty slowfs_cache_min_uses -syn keyword ngxDirectiveThirdParty slowfs_cache_path -syn keyword ngxDirectiveThirdParty slowfs_cache_purge -syn keyword ngxDirectiveThirdParty slowfs_cache_valid -syn keyword ngxDirectiveThirdParty slowfs_temp_path - -" Strip Module <http://wiki.nginx.org/NginxHttpStripModule> -" Whitespace remover. -syn keyword ngxDirectiveThirdParty strip - -" Substitutions Module <http://wiki.nginx.org/NginxHttpSubsModule> -" A filter module which can do both regular expression and fixed string substitutions on response bodies. -syn keyword ngxDirectiveThirdParty subs_filter -syn keyword ngxDirectiveThirdParty subs_filter_types - -" Supervisord Module <http://labs.frickle.com/nginx_ngx_supervisord/> -" Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. -syn keyword ngxDirectiveThirdParty supervisord -syn keyword ngxDirectiveThirdParty supervisord_inherit_backend_status -syn keyword ngxDirectiveThirdParty supervisord_name -syn keyword ngxDirectiveThirdParty supervisord_start -syn keyword ngxDirectiveThirdParty supervisord_stop - -" Upload Module <http://www.grid.net.ru/nginx/upload.en.html> -" Parses multipart/form-data allowing arbitrary handling of uploaded files. -syn keyword ngxDirectiveThirdParty upload_aggregate_form_field -syn keyword ngxDirectiveThirdParty upload_buffer_size -syn keyword ngxDirectiveThirdParty upload_cleanup -syn keyword ngxDirectiveThirdParty upload_limit_rate -syn keyword ngxDirectiveThirdParty upload_max_file_size -syn keyword ngxDirectiveThirdParty upload_max_output_body_len -syn keyword ngxDirectiveThirdParty upload_max_part_header_len -syn keyword ngxDirectiveThirdParty upload_pass -syn keyword ngxDirectiveThirdParty upload_pass_args -syn keyword ngxDirectiveThirdParty upload_pass_form_field -syn keyword ngxDirectiveThirdParty upload_set_form_field -syn keyword ngxDirectiveThirdParty upload_store -syn keyword ngxDirectiveThirdParty upload_store_access - -" Upload Progress Module <http://wiki.nginx.org/NginxHttpUploadProgressModule> -" Tracks and reports upload progress. -syn keyword ngxDirectiveThirdParty report_uploads -syn keyword ngxDirectiveThirdParty track_uploads -syn keyword ngxDirectiveThirdParty upload_progress -syn keyword ngxDirectiveThirdParty upload_progress_content_type -syn keyword ngxDirectiveThirdParty upload_progress_header -syn keyword ngxDirectiveThirdParty upload_progress_json_output -syn keyword ngxDirectiveThirdParty upload_progress_template - -" Upstream Fair Balancer <http://wiki.nginx.org/NginxHttpUpstreamFairModule> -" Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin. -syn keyword ngxDirectiveThirdParty fair -syn keyword ngxDirectiveThirdParty upstream_fair_shm_size - -" Upstream Consistent Hash <http://wiki.nginx.org/NginxHttpUpstreamConsistentHash> -" Select backend based on Consistent hash ring. -syn keyword ngxDirectiveThirdParty consistent_hash - -" Upstream Hash Module <http://wiki.nginx.org/NginxHttpUpstreamRequestHashModule> -" Provides simple upstream load distribution by hashing a configurable variable. -syn keyword ngxDirectiveThirdParty hash -syn keyword ngxDirectiveThirdParty hash_again - -" XSS Module <http://github.com/agentzh/xss-nginx-module> -" Native support for cross-site scripting (XSS) in an nginx. -syn keyword ngxDirectiveThirdParty xss_callback_arg -syn keyword ngxDirectiveThirdParty xss_get -syn keyword ngxDirectiveThirdParty xss_input_types -syn keyword ngxDirectiveThirdParty xss_output_type - -" highlight - -hi link ngxComment Comment -hi link ngxVariable Identifier -hi link ngxVariableBlock Identifier -hi link ngxVariableString PreProc -hi link ngxBlock Normal -hi link ngxString String - -hi link ngxBoolean Boolean -hi link ngxDirectiveBlock Statement -hi link ngxDirectiveImportant Type -hi link ngxDirectiveControl Keyword -hi link ngxDirectiveError Constant -hi link ngxDirectiveDeprecated Error -hi link ngxDirective Identifier -hi link ngxDirectiveThirdParty Special - -let b:current_syntax = "nginx"