[Groonga-commit] groonga/groonga at e620e3b [master] nginx: update to latest release

Back to archive index

Kentaro Hayashi null+****@clear*****
Tue Nov 22 16:34:42 JST 2016


Kentaro Hayashi	2016-11-22 16:34:42 +0900 (Tue, 22 Nov 2016)

  New Revision: e620e3bbfcdf749d1a99cce39a80a7e0ea14c733
  https://github.com/groonga/groonga/commit/e620e3bbfcdf749d1a99cce39a80a7e0ea14c733

  Message:
    nginx: update to latest release
    
      % ./update_nginx.sh 1.11.6

  Modified files:
    nginx_version
  Renamed files:
    vendor/nginx-1.11.6/auto/cc/acc
      (from vendor/nginx-1.11.5/auto/cc/acc)
    vendor/nginx-1.11.6/auto/cc/bcc
      (from vendor/nginx-1.11.5/auto/cc/bcc)
    vendor/nginx-1.11.6/auto/cc/ccc
      (from vendor/nginx-1.11.5/auto/cc/ccc)
    vendor/nginx-1.11.6/auto/cc/clang
      (from vendor/nginx-1.11.5/auto/cc/clang)
    vendor/nginx-1.11.6/auto/cc/conf
      (from vendor/nginx-1.11.5/auto/cc/conf)
    vendor/nginx-1.11.6/auto/cc/gcc
      (from vendor/nginx-1.11.5/auto/cc/gcc)
    vendor/nginx-1.11.6/auto/cc/icc
      (from vendor/nginx-1.11.5/auto/cc/icc)
    vendor/nginx-1.11.6/auto/cc/msvc
      (from vendor/nginx-1.11.5/auto/cc/msvc)
    vendor/nginx-1.11.6/auto/cc/name
      (from vendor/nginx-1.11.5/auto/cc/name)
    vendor/nginx-1.11.6/auto/cc/owc
      (from vendor/nginx-1.11.5/auto/cc/owc)
    vendor/nginx-1.11.6/auto/cc/sunc
      (from vendor/nginx-1.11.5/auto/cc/sunc)
    vendor/nginx-1.11.6/auto/configure
      (from vendor/nginx-1.11.5/auto/configure)
    vendor/nginx-1.11.6/auto/define
      (from vendor/nginx-1.11.5/auto/define)
    vendor/nginx-1.11.6/auto/endianness
      (from vendor/nginx-1.11.5/auto/endianness)
    vendor/nginx-1.11.6/auto/feature
      (from vendor/nginx-1.11.5/auto/feature)
    vendor/nginx-1.11.6/auto/have
      (from vendor/nginx-1.11.5/auto/have)
    vendor/nginx-1.11.6/auto/have_headers
      (from vendor/nginx-1.11.5/auto/have_headers)
    vendor/nginx-1.11.6/auto/headers
      (from vendor/nginx-1.11.5/auto/headers)
    vendor/nginx-1.11.6/auto/include
      (from vendor/nginx-1.11.5/auto/include)
    vendor/nginx-1.11.6/auto/init
      (from vendor/nginx-1.11.5/auto/init)
    vendor/nginx-1.11.6/auto/install
      (from vendor/nginx-1.11.5/auto/install)
    vendor/nginx-1.11.6/auto/lib/conf
      (from vendor/nginx-1.11.5/auto/lib/conf)
    vendor/nginx-1.11.6/auto/lib/geoip/conf
      (from vendor/nginx-1.11.5/auto/lib/geoip/conf)
    vendor/nginx-1.11.6/auto/lib/google-perftools/conf
      (from vendor/nginx-1.11.5/auto/lib/google-perftools/conf)
    vendor/nginx-1.11.6/auto/lib/libatomic/conf
      (from vendor/nginx-1.11.5/auto/lib/libatomic/conf)
    vendor/nginx-1.11.6/auto/lib/libatomic/make
      (from vendor/nginx-1.11.5/auto/lib/libatomic/make)
    vendor/nginx-1.11.6/auto/lib/libgd/conf
      (from vendor/nginx-1.11.5/auto/lib/libgd/conf)
    vendor/nginx-1.11.6/auto/lib/libxslt/conf
      (from vendor/nginx-1.11.5/auto/lib/libxslt/conf)
    vendor/nginx-1.11.6/auto/lib/make
      (from vendor/nginx-1.11.5/auto/lib/make)
    vendor/nginx-1.11.6/auto/lib/openssl/conf
      (from vendor/nginx-1.11.5/auto/lib/openssl/conf)
    vendor/nginx-1.11.6/auto/lib/openssl/make
      (from vendor/nginx-1.11.5/auto/lib/openssl/make)
    vendor/nginx-1.11.6/auto/lib/openssl/makefile.bcc
      (from vendor/nginx-1.11.5/auto/lib/openssl/makefile.bcc)
    vendor/nginx-1.11.6/auto/lib/openssl/makefile.msvc
      (from vendor/nginx-1.11.5/auto/lib/openssl/makefile.msvc)
    vendor/nginx-1.11.6/auto/lib/pcre/conf
      (from vendor/nginx-1.11.5/auto/lib/pcre/conf)
    vendor/nginx-1.11.6/auto/lib/pcre/make
      (from vendor/nginx-1.11.5/auto/lib/pcre/make)
    vendor/nginx-1.11.6/auto/lib/pcre/makefile.bcc
      (from vendor/nginx-1.11.5/auto/lib/pcre/makefile.bcc)
    vendor/nginx-1.11.6/auto/lib/pcre/makefile.msvc
      (from vendor/nginx-1.11.5/auto/lib/pcre/makefile.msvc)
    vendor/nginx-1.11.6/auto/lib/pcre/makefile.owc
      (from vendor/nginx-1.11.5/auto/lib/pcre/makefile.owc)
    vendor/nginx-1.11.6/auto/lib/perl/conf
      (from vendor/nginx-1.11.5/auto/lib/perl/conf)
    vendor/nginx-1.11.6/auto/lib/perl/make
      (from vendor/nginx-1.11.5/auto/lib/perl/make)
    vendor/nginx-1.11.6/auto/lib/zlib/conf
      (from vendor/nginx-1.11.5/auto/lib/zlib/conf)
    vendor/nginx-1.11.6/auto/lib/zlib/make
      (from vendor/nginx-1.11.5/auto/lib/zlib/make)
    vendor/nginx-1.11.6/auto/lib/zlib/makefile.bcc
      (from vendor/nginx-1.11.5/auto/lib/zlib/makefile.bcc)
    vendor/nginx-1.11.6/auto/lib/zlib/makefile.msvc
      (from vendor/nginx-1.11.5/auto/lib/zlib/makefile.msvc)
    vendor/nginx-1.11.6/auto/lib/zlib/makefile.owc
      (from vendor/nginx-1.11.5/auto/lib/zlib/makefile.owc)
    vendor/nginx-1.11.6/auto/make
      (from vendor/nginx-1.11.5/auto/make)
    vendor/nginx-1.11.6/auto/module
      (from vendor/nginx-1.11.5/auto/module)
    vendor/nginx-1.11.6/auto/modules
      (from vendor/nginx-1.11.5/auto/modules)
    vendor/nginx-1.11.6/auto/nohave
      (from vendor/nginx-1.11.5/auto/nohave)
    vendor/nginx-1.11.6/auto/options
      (from vendor/nginx-1.11.5/auto/options)
    vendor/nginx-1.11.6/auto/os/conf
      (from vendor/nginx-1.11.5/auto/os/conf)
    vendor/nginx-1.11.6/auto/os/darwin
      (from vendor/nginx-1.11.5/auto/os/darwin)
    vendor/nginx-1.11.6/auto/os/freebsd
      (from vendor/nginx-1.11.5/auto/os/freebsd)
    vendor/nginx-1.11.6/auto/os/linux
      (from vendor/nginx-1.11.5/auto/os/linux)
    vendor/nginx-1.11.6/auto/os/solaris
      (from vendor/nginx-1.11.5/auto/os/solaris)
    vendor/nginx-1.11.6/auto/os/win32
      (from vendor/nginx-1.11.5/auto/os/win32)
    vendor/nginx-1.11.6/auto/sources
      (from vendor/nginx-1.11.5/auto/sources)
    vendor/nginx-1.11.6/auto/stubs
      (from vendor/nginx-1.11.5/auto/stubs)
    vendor/nginx-1.11.6/auto/summary
      (from vendor/nginx-1.11.5/auto/summary)
    vendor/nginx-1.11.6/auto/threads
      (from vendor/nginx-1.11.5/auto/threads)
    vendor/nginx-1.11.6/auto/types/sizeof
      (from vendor/nginx-1.11.5/auto/types/sizeof)
    vendor/nginx-1.11.6/auto/types/typedef
      (from vendor/nginx-1.11.5/auto/types/typedef)
    vendor/nginx-1.11.6/auto/types/uintptr_t
      (from vendor/nginx-1.11.5/auto/types/uintptr_t)
    vendor/nginx-1.11.6/auto/types/value
      (from vendor/nginx-1.11.5/auto/types/value)
    vendor/nginx-1.11.6/auto/unix
      (from vendor/nginx-1.11.5/auto/unix)
    vendor/nginx-1.11.6/conf/fastcgi.conf
      (from vendor/nginx-1.11.5/conf/fastcgi.conf)
    vendor/nginx-1.11.6/conf/fastcgi_params
      (from vendor/nginx-1.11.5/conf/fastcgi_params)
    vendor/nginx-1.11.6/conf/koi-utf
      (from vendor/nginx-1.11.5/conf/koi-utf)
    vendor/nginx-1.11.6/conf/koi-win
      (from vendor/nginx-1.11.5/conf/koi-win)
    vendor/nginx-1.11.6/conf/mime.types
      (from vendor/nginx-1.11.5/conf/mime.types)
    vendor/nginx-1.11.6/conf/nginx.conf
      (from vendor/nginx-1.11.5/conf/nginx.conf)
    vendor/nginx-1.11.6/conf/scgi_params
      (from vendor/nginx-1.11.5/conf/scgi_params)
    vendor/nginx-1.11.6/conf/uwsgi_params
      (from vendor/nginx-1.11.5/conf/uwsgi_params)
    vendor/nginx-1.11.6/conf/win-utf
      (from vendor/nginx-1.11.5/conf/win-utf)
    vendor/nginx-1.11.6/contrib/README
      (from vendor/nginx-1.11.5/contrib/README)
    vendor/nginx-1.11.6/contrib/geo2nginx.pl
      (from vendor/nginx-1.11.5/contrib/geo2nginx.pl)
    vendor/nginx-1.11.6/contrib/unicode2nginx/koi-utf
      (from vendor/nginx-1.11.5/contrib/unicode2nginx/koi-utf)
    vendor/nginx-1.11.6/contrib/unicode2nginx/unicode-to-nginx.pl
      (from vendor/nginx-1.11.5/contrib/unicode2nginx/unicode-to-nginx.pl)
    vendor/nginx-1.11.6/contrib/unicode2nginx/win-utf
      (from vendor/nginx-1.11.5/contrib/unicode2nginx/win-utf)
    vendor/nginx-1.11.6/contrib/vim/ftdetect/nginx.vim
      (from vendor/nginx-1.11.5/contrib/vim/ftdetect/nginx.vim)
    vendor/nginx-1.11.6/contrib/vim/indent/nginx.vim
      (from vendor/nginx-1.11.5/contrib/vim/indent/nginx.vim)
    vendor/nginx-1.11.6/contrib/vim/syntax/nginx.vim
      (from vendor/nginx-1.11.5/contrib/vim/syntax/nginx.vim)
    vendor/nginx-1.11.6/docs/GNUmakefile
      (from vendor/nginx-1.11.5/docs/GNUmakefile)
    vendor/nginx-1.11.6/docs/dtd/change_log_conf.dtd
      (from vendor/nginx-1.11.5/docs/dtd/change_log_conf.dtd)
    vendor/nginx-1.11.6/docs/dtd/changes.dtd
      (from vendor/nginx-1.11.5/docs/dtd/changes.dtd)
    vendor/nginx-1.11.6/docs/html/50x.html
      (from vendor/nginx-1.11.5/docs/html/50x.html)
    vendor/nginx-1.11.6/docs/html/index.html
      (from vendor/nginx-1.11.5/docs/html/index.html)
    vendor/nginx-1.11.6/docs/man/nginx.8
      (from vendor/nginx-1.11.5/docs/man/nginx.8)
    vendor/nginx-1.11.6/docs/text/LICENSE
      (from vendor/nginx-1.11.5/docs/text/LICENSE)
    vendor/nginx-1.11.6/docs/text/README
      (from vendor/nginx-1.11.5/docs/text/README)
    vendor/nginx-1.11.6/docs/xml/change_log_conf.xml
      (from vendor/nginx-1.11.5/docs/xml/change_log_conf.xml)
    vendor/nginx-1.11.6/docs/xml/nginx/changes.xml
      (from vendor/nginx-1.11.5/docs/xml/nginx/changes.xml)
    vendor/nginx-1.11.6/docs/xsls/changes.xsls
      (from vendor/nginx-1.11.5/docs/xsls/changes.xsls)
    vendor/nginx-1.11.6/docs/xslt/changes.xslt
      (from vendor/nginx-1.11.5/docs/xslt/changes.xslt)
    vendor/nginx-1.11.6/misc/GNUmakefile
      (from vendor/nginx-1.11.5/misc/GNUmakefile)
    vendor/nginx-1.11.6/misc/README
      (from vendor/nginx-1.11.5/misc/README)
    vendor/nginx-1.11.6/src/core/nginx.c
      (from vendor/nginx-1.11.5/src/core/nginx.c)
    vendor/nginx-1.11.6/src/core/nginx.h
      (from vendor/nginx-1.11.5/src/core/nginx.h)
    vendor/nginx-1.11.6/src/core/ngx_array.c
      (from vendor/nginx-1.11.5/src/core/ngx_array.c)
    vendor/nginx-1.11.6/src/core/ngx_array.h
      (from vendor/nginx-1.11.5/src/core/ngx_array.h)
    vendor/nginx-1.11.6/src/core/ngx_buf.c
      (from vendor/nginx-1.11.5/src/core/ngx_buf.c)
    vendor/nginx-1.11.6/src/core/ngx_buf.h
      (from vendor/nginx-1.11.5/src/core/ngx_buf.h)
    vendor/nginx-1.11.6/src/core/ngx_conf_file.c
      (from vendor/nginx-1.11.5/src/core/ngx_conf_file.c)
    vendor/nginx-1.11.6/src/core/ngx_conf_file.h
      (from vendor/nginx-1.11.5/src/core/ngx_conf_file.h)
    vendor/nginx-1.11.6/src/core/ngx_config.h
      (from vendor/nginx-1.11.5/src/core/ngx_config.h)
    vendor/nginx-1.11.6/src/core/ngx_connection.c
      (from vendor/nginx-1.11.5/src/core/ngx_connection.c)
    vendor/nginx-1.11.6/src/core/ngx_connection.h
      (from vendor/nginx-1.11.5/src/core/ngx_connection.h)
    vendor/nginx-1.11.6/src/core/ngx_core.h
      (from vendor/nginx-1.11.5/src/core/ngx_core.h)
    vendor/nginx-1.11.6/src/core/ngx_cpuinfo.c
      (from vendor/nginx-1.11.5/src/core/ngx_cpuinfo.c)
    vendor/nginx-1.11.6/src/core/ngx_crc.h
      (from vendor/nginx-1.11.5/src/core/ngx_crc.h)
    vendor/nginx-1.11.6/src/core/ngx_crc32.c
      (from vendor/nginx-1.11.5/src/core/ngx_crc32.c)
    vendor/nginx-1.11.6/src/core/ngx_crc32.h
      (from vendor/nginx-1.11.5/src/core/ngx_crc32.h)
    vendor/nginx-1.11.6/src/core/ngx_crypt.c
      (from vendor/nginx-1.11.5/src/core/ngx_crypt.c)
    vendor/nginx-1.11.6/src/core/ngx_crypt.h
      (from vendor/nginx-1.11.5/src/core/ngx_crypt.h)
    vendor/nginx-1.11.6/src/core/ngx_cycle.c
      (from vendor/nginx-1.11.5/src/core/ngx_cycle.c)
    vendor/nginx-1.11.6/src/core/ngx_cycle.h
      (from vendor/nginx-1.11.5/src/core/ngx_cycle.h)
    vendor/nginx-1.11.6/src/core/ngx_file.c
      (from vendor/nginx-1.11.5/src/core/ngx_file.c)
    vendor/nginx-1.11.6/src/core/ngx_file.h
      (from vendor/nginx-1.11.5/src/core/ngx_file.h)
    vendor/nginx-1.11.6/src/core/ngx_hash.c
      (from vendor/nginx-1.11.5/src/core/ngx_hash.c)
    vendor/nginx-1.11.6/src/core/ngx_hash.h
      (from vendor/nginx-1.11.5/src/core/ngx_hash.h)
    vendor/nginx-1.11.6/src/core/ngx_inet.c
      (from vendor/nginx-1.11.5/src/core/ngx_inet.c)
    vendor/nginx-1.11.6/src/core/ngx_inet.h
      (from vendor/nginx-1.11.5/src/core/ngx_inet.h)
    vendor/nginx-1.11.6/src/core/ngx_list.c
      (from vendor/nginx-1.11.5/src/core/ngx_list.c)
    vendor/nginx-1.11.6/src/core/ngx_list.h
      (from vendor/nginx-1.11.5/src/core/ngx_list.h)
    vendor/nginx-1.11.6/src/core/ngx_log.c
      (from vendor/nginx-1.11.5/src/core/ngx_log.c)
    vendor/nginx-1.11.6/src/core/ngx_log.h
      (from vendor/nginx-1.11.5/src/core/ngx_log.h)
    vendor/nginx-1.11.6/src/core/ngx_md5.c
      (from vendor/nginx-1.11.5/src/core/ngx_md5.c)
    vendor/nginx-1.11.6/src/core/ngx_md5.h
      (from vendor/nginx-1.11.5/src/core/ngx_md5.h)
    vendor/nginx-1.11.6/src/core/ngx_module.c
      (from vendor/nginx-1.11.5/src/core/ngx_module.c)
    vendor/nginx-1.11.6/src/core/ngx_module.h
      (from vendor/nginx-1.11.5/src/core/ngx_module.h)
    vendor/nginx-1.11.6/src/core/ngx_murmurhash.c
      (from vendor/nginx-1.11.5/src/core/ngx_murmurhash.c)
    vendor/nginx-1.11.6/src/core/ngx_murmurhash.h
      (from vendor/nginx-1.11.5/src/core/ngx_murmurhash.h)
    vendor/nginx-1.11.6/src/core/ngx_open_file_cache.c
      (from vendor/nginx-1.11.5/src/core/ngx_open_file_cache.c)
    vendor/nginx-1.11.6/src/core/ngx_open_file_cache.h
      (from vendor/nginx-1.11.5/src/core/ngx_open_file_cache.h)
    vendor/nginx-1.11.6/src/core/ngx_output_chain.c
      (from vendor/nginx-1.11.5/src/core/ngx_output_chain.c)
    vendor/nginx-1.11.6/src/core/ngx_palloc.c
      (from vendor/nginx-1.11.5/src/core/ngx_palloc.c)
    vendor/nginx-1.11.6/src/core/ngx_palloc.h
      (from vendor/nginx-1.11.5/src/core/ngx_palloc.h)
    vendor/nginx-1.11.6/src/core/ngx_parse.c
      (from vendor/nginx-1.11.5/src/core/ngx_parse.c)
    vendor/nginx-1.11.6/src/core/ngx_parse.h
      (from vendor/nginx-1.11.5/src/core/ngx_parse.h)
    vendor/nginx-1.11.6/src/core/ngx_parse_time.c
      (from vendor/nginx-1.11.5/src/core/ngx_parse_time.c)
    vendor/nginx-1.11.6/src/core/ngx_parse_time.h
      (from vendor/nginx-1.11.5/src/core/ngx_parse_time.h)
    vendor/nginx-1.11.6/src/core/ngx_proxy_protocol.c
      (from vendor/nginx-1.11.5/src/core/ngx_proxy_protocol.c)
    vendor/nginx-1.11.6/src/core/ngx_proxy_protocol.h
      (from vendor/nginx-1.11.5/src/core/ngx_proxy_protocol.h)
    vendor/nginx-1.11.6/src/core/ngx_queue.c
      (from vendor/nginx-1.11.5/src/core/ngx_queue.c)
    vendor/nginx-1.11.6/src/core/ngx_queue.h
      (from vendor/nginx-1.11.5/src/core/ngx_queue.h)
    vendor/nginx-1.11.6/src/core/ngx_radix_tree.c
      (from vendor/nginx-1.11.5/src/core/ngx_radix_tree.c)
    vendor/nginx-1.11.6/src/core/ngx_radix_tree.h
      (from vendor/nginx-1.11.5/src/core/ngx_radix_tree.h)
    vendor/nginx-1.11.6/src/core/ngx_rbtree.c
      (from vendor/nginx-1.11.5/src/core/ngx_rbtree.c)
    vendor/nginx-1.11.6/src/core/ngx_rbtree.h
      (from vendor/nginx-1.11.5/src/core/ngx_rbtree.h)
    vendor/nginx-1.11.6/src/core/ngx_regex.c
      (from vendor/nginx-1.11.5/src/core/ngx_regex.c)
    vendor/nginx-1.11.6/src/core/ngx_regex.h
      (from vendor/nginx-1.11.5/src/core/ngx_regex.h)
    vendor/nginx-1.11.6/src/core/ngx_resolver.c
      (from vendor/nginx-1.11.5/src/core/ngx_resolver.c)
    vendor/nginx-1.11.6/src/core/ngx_resolver.h
      (from vendor/nginx-1.11.5/src/core/ngx_resolver.h)
    vendor/nginx-1.11.6/src/core/ngx_rwlock.c
      (from vendor/nginx-1.11.5/src/core/ngx_rwlock.c)
    vendor/nginx-1.11.6/src/core/ngx_rwlock.h
      (from vendor/nginx-1.11.5/src/core/ngx_rwlock.h)
    vendor/nginx-1.11.6/src/core/ngx_sha1.c
      (from vendor/nginx-1.11.5/src/core/ngx_sha1.c)
    vendor/nginx-1.11.6/src/core/ngx_sha1.h
      (from vendor/nginx-1.11.5/src/core/ngx_sha1.h)
    vendor/nginx-1.11.6/src/core/ngx_shmtx.c
      (from vendor/nginx-1.11.5/src/core/ngx_shmtx.c)
    vendor/nginx-1.11.6/src/core/ngx_shmtx.h
      (from vendor/nginx-1.11.5/src/core/ngx_shmtx.h)
    vendor/nginx-1.11.6/src/core/ngx_slab.c
      (from vendor/nginx-1.11.5/src/core/ngx_slab.c)
    vendor/nginx-1.11.6/src/core/ngx_slab.h
      (from vendor/nginx-1.11.5/src/core/ngx_slab.h)
    vendor/nginx-1.11.6/src/core/ngx_spinlock.c
      (from vendor/nginx-1.11.5/src/core/ngx_spinlock.c)
    vendor/nginx-1.11.6/src/core/ngx_string.c
      (from vendor/nginx-1.11.5/src/core/ngx_string.c)
    vendor/nginx-1.11.6/src/core/ngx_string.h
      (from vendor/nginx-1.11.5/src/core/ngx_string.h)
    vendor/nginx-1.11.6/src/core/ngx_syslog.c
      (from vendor/nginx-1.11.5/src/core/ngx_syslog.c)
    vendor/nginx-1.11.6/src/core/ngx_syslog.h
      (from vendor/nginx-1.11.5/src/core/ngx_syslog.h)
    vendor/nginx-1.11.6/src/core/ngx_thread_pool.c
      (from vendor/nginx-1.11.5/src/core/ngx_thread_pool.c)
    vendor/nginx-1.11.6/src/core/ngx_thread_pool.h
      (from vendor/nginx-1.11.5/src/core/ngx_thread_pool.h)
    vendor/nginx-1.11.6/src/core/ngx_times.c
      (from vendor/nginx-1.11.5/src/core/ngx_times.c)
    vendor/nginx-1.11.6/src/core/ngx_times.h
      (from vendor/nginx-1.11.5/src/core/ngx_times.h)
    vendor/nginx-1.11.6/src/event/modules/ngx_devpoll_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_devpoll_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_epoll_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_epoll_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_eventport_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_eventport_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_iocp_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_iocp_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_iocp_module.h
      (from vendor/nginx-1.11.5/src/event/modules/ngx_iocp_module.h)
    vendor/nginx-1.11.6/src/event/modules/ngx_kqueue_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_kqueue_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_poll_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_poll_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_select_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_select_module.c)
    vendor/nginx-1.11.6/src/event/modules/ngx_win32_select_module.c
      (from vendor/nginx-1.11.5/src/event/modules/ngx_win32_select_module.c)
    vendor/nginx-1.11.6/src/event/ngx_event.c
      (from vendor/nginx-1.11.5/src/event/ngx_event.c)
    vendor/nginx-1.11.6/src/event/ngx_event.h
      (from vendor/nginx-1.11.5/src/event/ngx_event.h)
    vendor/nginx-1.11.6/src/event/ngx_event_accept.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_accept.c)
    vendor/nginx-1.11.6/src/event/ngx_event_acceptex.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_acceptex.c)
    vendor/nginx-1.11.6/src/event/ngx_event_connect.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_connect.c)
    vendor/nginx-1.11.6/src/event/ngx_event_connect.h
      (from vendor/nginx-1.11.5/src/event/ngx_event_connect.h)
    vendor/nginx-1.11.6/src/event/ngx_event_connectex.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_connectex.c)
    vendor/nginx-1.11.6/src/event/ngx_event_openssl.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_openssl.c)
    vendor/nginx-1.11.6/src/event/ngx_event_openssl.h
      (from vendor/nginx-1.11.5/src/event/ngx_event_openssl.h)
    vendor/nginx-1.11.6/src/event/ngx_event_openssl_stapling.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_openssl_stapling.c)
    vendor/nginx-1.11.6/src/event/ngx_event_pipe.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_pipe.c)
    vendor/nginx-1.11.6/src/event/ngx_event_pipe.h
      (from vendor/nginx-1.11.5/src/event/ngx_event_pipe.h)
    vendor/nginx-1.11.6/src/event/ngx_event_posted.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_posted.c)
    vendor/nginx-1.11.6/src/event/ngx_event_posted.h
      (from vendor/nginx-1.11.5/src/event/ngx_event_posted.h)
    vendor/nginx-1.11.6/src/event/ngx_event_timer.c
      (from vendor/nginx-1.11.5/src/event/ngx_event_timer.c)
    vendor/nginx-1.11.6/src/event/ngx_event_timer.h
      (from vendor/nginx-1.11.5/src/event/ngx_event_timer.h)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_access_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_access_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_addition_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_addition_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_auth_basic_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_auth_basic_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_auth_request_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_auth_request_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_autoindex_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_autoindex_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_browser_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_browser_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_charset_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_charset_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_chunked_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_chunked_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_dav_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_dav_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_degradation_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_degradation_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_empty_gif_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_empty_gif_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_fastcgi_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_fastcgi_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_flv_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_flv_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_geo_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_geo_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_geoip_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_geoip_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_gunzip_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_gunzip_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_gzip_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_gzip_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_gzip_static_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_gzip_static_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_headers_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_headers_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_image_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_image_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_index_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_index_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_limit_conn_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_limit_conn_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_limit_req_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_limit_req_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_log_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_log_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_map_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_map_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_memcached_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_memcached_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_mp4_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_mp4_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_not_modified_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_not_modified_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_proxy_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_proxy_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_random_index_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_random_index_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_range_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_range_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_realip_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_realip_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_referer_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_referer_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_rewrite_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_rewrite_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_scgi_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_scgi_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_secure_link_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_secure_link_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_slice_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_slice_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_split_clients_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_split_clients_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_ssi_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_ssi_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_ssi_filter_module.h
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_ssi_filter_module.h)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_ssl_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_ssl_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_ssl_module.h
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_ssl_module.h)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_static_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_static_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_stub_status_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_stub_status_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_sub_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_sub_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_hash_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_upstream_hash_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_ip_hash_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_upstream_ip_hash_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_keepalive_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_upstream_keepalive_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_least_conn_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_upstream_least_conn_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_zone_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_upstream_zone_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_userid_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_userid_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_uwsgi_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_uwsgi_module.c)
    vendor/nginx-1.11.6/src/http/modules/ngx_http_xslt_filter_module.c
      (from vendor/nginx-1.11.5/src/http/modules/ngx_http_xslt_filter_module.c)
    vendor/nginx-1.11.6/src/http/modules/perl/Makefile.PL
      (from vendor/nginx-1.11.5/src/http/modules/perl/Makefile.PL)
    vendor/nginx-1.11.6/src/http/modules/perl/nginx.pm
      (from vendor/nginx-1.11.5/src/http/modules/perl/nginx.pm)
    vendor/nginx-1.11.6/src/http/modules/perl/nginx.xs
      (from vendor/nginx-1.11.5/src/http/modules/perl/nginx.xs)
    vendor/nginx-1.11.6/src/http/modules/perl/ngx_http_perl_module.c
      (from vendor/nginx-1.11.5/src/http/modules/perl/ngx_http_perl_module.c)
    vendor/nginx-1.11.6/src/http/modules/perl/ngx_http_perl_module.h
      (from vendor/nginx-1.11.5/src/http/modules/perl/ngx_http_perl_module.h)
    vendor/nginx-1.11.6/src/http/modules/perl/typemap
      (from vendor/nginx-1.11.5/src/http/modules/perl/typemap)
    vendor/nginx-1.11.6/src/http/ngx_http.c
      (from vendor/nginx-1.11.5/src/http/ngx_http.c)
    vendor/nginx-1.11.6/src/http/ngx_http.h
      (from vendor/nginx-1.11.5/src/http/ngx_http.h)
    vendor/nginx-1.11.6/src/http/ngx_http_cache.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_cache.h)
    vendor/nginx-1.11.6/src/http/ngx_http_config.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_config.h)
    vendor/nginx-1.11.6/src/http/ngx_http_copy_filter_module.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_copy_filter_module.c)
    vendor/nginx-1.11.6/src/http/ngx_http_core_module.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_core_module.c)
    vendor/nginx-1.11.6/src/http/ngx_http_core_module.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_core_module.h)
    vendor/nginx-1.11.6/src/http/ngx_http_file_cache.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_file_cache.c)
    vendor/nginx-1.11.6/src/http/ngx_http_header_filter_module.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_header_filter_module.c)
    vendor/nginx-1.11.6/src/http/ngx_http_parse.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_parse.c)
    vendor/nginx-1.11.6/src/http/ngx_http_postpone_filter_module.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_postpone_filter_module.c)
    vendor/nginx-1.11.6/src/http/ngx_http_request.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_request.c)
    vendor/nginx-1.11.6/src/http/ngx_http_request.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_request.h)
    vendor/nginx-1.11.6/src/http/ngx_http_request_body.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_request_body.c)
    vendor/nginx-1.11.6/src/http/ngx_http_script.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_script.c)
    vendor/nginx-1.11.6/src/http/ngx_http_script.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_script.h)
    vendor/nginx-1.11.6/src/http/ngx_http_special_response.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_special_response.c)
    vendor/nginx-1.11.6/src/http/ngx_http_upstream.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_upstream.c)
    vendor/nginx-1.11.6/src/http/ngx_http_upstream.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_upstream.h)
    vendor/nginx-1.11.6/src/http/ngx_http_upstream_round_robin.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_upstream_round_robin.c)
    vendor/nginx-1.11.6/src/http/ngx_http_upstream_round_robin.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_upstream_round_robin.h)
    vendor/nginx-1.11.6/src/http/ngx_http_variables.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_variables.c)
    vendor/nginx-1.11.6/src/http/ngx_http_variables.h
      (from vendor/nginx-1.11.5/src/http/ngx_http_variables.h)
    vendor/nginx-1.11.6/src/http/ngx_http_write_filter_module.c
      (from vendor/nginx-1.11.5/src/http/ngx_http_write_filter_module.c)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2.c
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2.c)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2.h
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2.h)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_filter_module.c
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_filter_module.c)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_huff_decode.c
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_huff_decode.c)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_huff_encode.c
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_huff_encode.c)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_module.c
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_module.c)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_module.h
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_module.h)
    vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_table.c
      (from vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_table.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail.h
      (from vendor/nginx-1.11.5/src/mail/ngx_mail.h)
    vendor/nginx-1.11.6/src/mail/ngx_mail_auth_http_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_auth_http_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_core_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_core_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_handler.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_handler.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_imap_handler.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_imap_handler.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_imap_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_imap_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_imap_module.h
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_imap_module.h)
    vendor/nginx-1.11.6/src/mail/ngx_mail_parse.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_parse.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_handler.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_pop3_handler.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_pop3_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_module.h
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_pop3_module.h)
    vendor/nginx-1.11.6/src/mail/ngx_mail_proxy_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_proxy_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_handler.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_smtp_handler.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_smtp_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_module.h
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_smtp_module.h)
    vendor/nginx-1.11.6/src/mail/ngx_mail_ssl_module.c
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_ssl_module.c)
    vendor/nginx-1.11.6/src/mail/ngx_mail_ssl_module.h
      (from vendor/nginx-1.11.5/src/mail/ngx_mail_ssl_module.h)
    vendor/nginx-1.11.6/src/misc/ngx_cpp_test_module.cpp
      (from vendor/nginx-1.11.5/src/misc/ngx_cpp_test_module.cpp)
    vendor/nginx-1.11.6/src/misc/ngx_google_perftools_module.c
      (from vendor/nginx-1.11.5/src/misc/ngx_google_perftools_module.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_alloc.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_alloc.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_alloc.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_alloc.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_atomic.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_atomic.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_channel.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_channel.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_channel.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_channel.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_daemon.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_daemon.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_darwin.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_darwin.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_darwin_config.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_darwin_config.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_darwin_init.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_darwin_init.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_darwin_sendfile_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_darwin_sendfile_chain.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_dlopen.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_dlopen.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_dlopen.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_dlopen.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_errno.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_errno.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_errno.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_errno.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_file_aio_read.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_file_aio_read.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_files.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_files.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_files.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_files.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_freebsd.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_freebsd.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_freebsd_config.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_freebsd_config.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_freebsd_init.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_freebsd_init.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_freebsd_sendfile_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_freebsd_sendfile_chain.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_amd64.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_gcc_atomic_amd64.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_ppc.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_gcc_atomic_ppc.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_sparc64.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_gcc_atomic_sparc64.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_x86.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_gcc_atomic_x86.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_linux.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_linux.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_linux_aio_read.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_linux_aio_read.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_linux_config.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_linux_config.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_linux_init.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_linux_init.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_linux_sendfile_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_linux_sendfile_chain.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_os.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_os.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_posix_config.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_posix_config.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_posix_init.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_posix_init.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_process.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_process.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_process.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_process.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_process_cycle.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_process_cycle.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_process_cycle.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_process_cycle.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_readv_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_readv_chain.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_recv.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_recv.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_send.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_send.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_setaffinity.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_setaffinity.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_setaffinity.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_setaffinity.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_setproctitle.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_setproctitle.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_setproctitle.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_setproctitle.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_shmem.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_shmem.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_shmem.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_shmem.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_socket.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_socket.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_socket.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_socket.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_solaris.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_solaris.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_solaris_config.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_solaris_config.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_solaris_init.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_solaris_init.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_solaris_sendfilev_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_solaris_sendfilev_chain.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_amd64.il
      (from vendor/nginx-1.11.5/src/os/unix/ngx_sunpro_amd64.il)
    vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_atomic_sparc64.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_sunpro_atomic_sparc64.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_sparc64.il
      (from vendor/nginx-1.11.5/src/os/unix/ngx_sunpro_sparc64.il)
    vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_x86.il
      (from vendor/nginx-1.11.5/src/os/unix/ngx_sunpro_x86.il)
    vendor/nginx-1.11.6/src/os/unix/ngx_thread.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_thread.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_thread_cond.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_thread_cond.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_thread_id.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_thread_id.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_thread_mutex.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_thread_mutex.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_time.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_time.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_time.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_time.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_udp_recv.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_udp_recv.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_udp_send.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_udp_send.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_udp_sendmsg_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_udp_sendmsg_chain.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_user.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_user.c)
    vendor/nginx-1.11.6/src/os/unix/ngx_user.h
      (from vendor/nginx-1.11.5/src/os/unix/ngx_user.h)
    vendor/nginx-1.11.6/src/os/unix/ngx_writev_chain.c
      (from vendor/nginx-1.11.5/src/os/unix/ngx_writev_chain.c)
    vendor/nginx-1.11.6/src/os/win32/nginx.ico
      (from vendor/nginx-1.11.5/src/os/win32/nginx.ico)
    vendor/nginx-1.11.6/src/os/win32/nginx.rc
      (from vendor/nginx-1.11.5/src/os/win32/nginx.rc)
    vendor/nginx-1.11.6/src/os/win32/nginx_icon16.xpm
      (from vendor/nginx-1.11.5/src/os/win32/nginx_icon16.xpm)
    vendor/nginx-1.11.6/src/os/win32/nginx_icon32.xpm
      (from vendor/nginx-1.11.5/src/os/win32/nginx_icon32.xpm)
    vendor/nginx-1.11.6/src/os/win32/nginx_icon48.xpm
      (from vendor/nginx-1.11.5/src/os/win32/nginx_icon48.xpm)
    vendor/nginx-1.11.6/src/os/win32/ngx_alloc.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_alloc.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_alloc.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_alloc.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_atomic.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_atomic.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_dlopen.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_dlopen.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_dlopen.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_dlopen.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_errno.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_errno.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_errno.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_errno.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_event_log.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_event_log.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_files.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_files.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_files.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_files.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_os.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_os.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_process.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_process.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_process.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_process.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_process_cycle.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_process_cycle.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_process_cycle.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_process_cycle.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_service.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_service.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_shmem.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_shmem.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_shmem.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_shmem.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_socket.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_socket.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_socket.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_socket.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_stat.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_stat.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_thread.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_thread.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_thread.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_thread.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_time.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_time.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_time.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_time.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_udp_wsarecv.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_udp_wsarecv.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_user.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_user.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_user.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_user.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_win32_config.h
      (from vendor/nginx-1.11.5/src/os/win32/ngx_win32_config.h)
    vendor/nginx-1.11.6/src/os/win32/ngx_win32_init.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_win32_init.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_wsarecv.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_wsarecv.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_wsarecv_chain.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_wsarecv_chain.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_wsasend.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_wsasend.c)
    vendor/nginx-1.11.6/src/os/win32/ngx_wsasend_chain.c
      (from vendor/nginx-1.11.5/src/os/win32/ngx_wsasend_chain.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream.h
      (from vendor/nginx-1.11.5/src/stream/ngx_stream.h)
    vendor/nginx-1.11.6/src/stream/ngx_stream_access_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_access_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_core_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_core_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_geo_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_geo_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_geoip_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_geoip_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_handler.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_handler.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_limit_conn_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_limit_conn_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_log_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_log_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_map_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_map_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_proxy_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_proxy_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_realip_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_realip_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_return_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_return_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_script.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_script.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_script.h
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_script.h)
    vendor/nginx-1.11.6/src/stream/ngx_stream_split_clients_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_split_clients_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_ssl_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_ssl_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_ssl_module.h
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_ssl_module.h)
    vendor/nginx-1.11.6/src/stream/ngx_stream_ssl_preread_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_ssl_preread_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream.h
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream.h)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_hash_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream_hash_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_least_conn_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream_least_conn_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_round_robin.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream_round_robin.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_round_robin.h
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream_round_robin.h)
    vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_zone_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_upstream_zone_module.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_variables.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_variables.c)
    vendor/nginx-1.11.6/src/stream/ngx_stream_variables.h
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_variables.h)
    vendor/nginx-1.11.6/src/stream/ngx_stream_write_filter_module.c
      (from vendor/nginx-1.11.5/src/stream/ngx_stream_write_filter_module.c)

  Modified: nginx_version (+1 -1)
===================================================================
--- nginx_version    2016-11-22 16:30:41 +0900 (e6dbb7c)
+++ nginx_version    2016-11-22 16:34:42 +0900 (6b37cb7)
@@ -1 +1 @@
-1.11.5
+1.11.6

  Renamed: vendor/nginx-1.11.6/auto/cc/acc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/bcc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/ccc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/clang (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/gcc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/icc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/msvc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/name (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/owc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/cc/sunc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/configure (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/define (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/endianness (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/feature (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/have (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/have_headers (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/headers (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/include (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/init (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/install (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/geoip/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/google-perftools/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/libatomic/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/libatomic/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/libgd/conf (+5 -0) 90%
===================================================================
--- vendor/nginx-1.11.5/auto/lib/libgd/conf    2016-11-22 16:30:41 +0900 (6e4e91c)
+++ vendor/nginx-1.11.6/auto/lib/libgd/conf    2016-11-22 16:34:42 +0900 (87761f1)
@@ -74,6 +74,11 @@ if [ $ngx_found = yes ]; then
 
     NGX_LIB_LIBGD=$ngx_feature_libs
 
+    ngx_feature="GD WebP support"
+    ngx_feature_name="NGX_HAVE_GD_WEBP"
+    ngx_feature_test="gdImagePtr img = gdImageCreateFromWebpPtr(1, NULL);"
+    . auto/feature
+
 else
 
 cat << END

  Renamed: vendor/nginx-1.11.6/auto/lib/libxslt/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/openssl/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/openssl/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/openssl/makefile.bcc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/openssl/makefile.msvc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/pcre/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/pcre/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/pcre/makefile.bcc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/pcre/makefile.msvc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/pcre/makefile.owc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/perl/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/perl/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/zlib/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/zlib/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/zlib/makefile.bcc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/zlib/makefile.msvc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/lib/zlib/makefile.owc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/make (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/module (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/modules (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/nohave (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/options (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/os/conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/os/darwin (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/os/freebsd (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/os/linux (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/os/solaris (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/os/win32 (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/sources (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/stubs (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/summary (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/threads (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/types/sizeof (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/types/typedef (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/types/uintptr_t (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/types/value (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/auto/unix (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/fastcgi.conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/fastcgi_params (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/koi-utf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/koi-win (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/mime.types (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/nginx.conf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/scgi_params (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/uwsgi_params (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/conf/win-utf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/README (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/geo2nginx.pl (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/unicode2nginx/koi-utf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/unicode2nginx/win-utf (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/vim/ftdetect/nginx.vim (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/vim/indent/nginx.vim (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/contrib/vim/syntax/nginx.vim (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/GNUmakefile (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/dtd/change_log_conf.dtd (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/dtd/changes.dtd (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/html/50x.html (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/html/index.html (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/man/nginx.8 (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/text/LICENSE (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/text/README (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/xml/change_log_conf.xml (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/xml/nginx/changes.xml (+131 -2) 99%
===================================================================
--- vendor/nginx-1.11.5/docs/xml/nginx/changes.xml    2016-11-22 16:30:41 +0900 (97ed726)
+++ vendor/nginx-1.11.6/docs/xml/nginx/changes.xml    2016-11-22 16:34:42 +0900 (1376338)
@@ -5,6 +5,136 @@
 <change_log title="nginx">
 
 
+<changes ver="1.11.6" date="15.11.2016">
+
+<change type="change">
+<para lang="ru">
+формат переменных $ssl_client_s_dn и $ssl_client_i_dn
+изменён на соответствующий RFC 2253 (RFC 4514);
+значения в старом формате доступны через переменные
+$ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy.
+</para>
+<para lang="en">
+format of the $ssl_client_s_dn and $ssl_client_i_dn variables
+has been changed to follow RFC 2253 (RFC 4514);
+values in the old format are available in
+the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables.
+</para>
+</change>
+
+<change type="change">
+<para lang="ru">
+при сохранении временных файлов в каталоге кэша
+они теперь располагаются не в отдельном подкаталоге для временных файлов,
+а в том же подкаталоге, что и соответствующие файлы в кэше.
+</para>
+<para lang="en">
+when storing temporary files in a cache directory
+they will be stored in the same subdirectories as corresponding cache files
+instead of a separate subdirectory for temporary files.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+поддержка метода аутентификации EXTERNAL
+в почтовом прокси-сервере.<br/>
+Спасибо Robert Norris.
+</para>
+<para lang="en">
+EXTERNAL authentication mechanism support
+in mail proxy.<br/>
+Thanks to Robert Norris.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+поддержка WebP в модуле ngx_http_image_filter_module.
+</para>
+<para lang="en">
+WebP support in the ngx_http_image_filter_module.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+директива proxy_method поддерживает переменные.<br/>
+Спасибо Дмитрию Лазуркину.
+</para>
+<para lang="en">
+variables support in the "proxy_method" directive.<br/>
+Thanks to Dmitry Lazurkin.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+директива http2_max_requests в модуле ngx_http_v2_module.
+</para>
+<para lang="en">
+the "http2_max_requests" directive in the ngx_http_v2_module.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset,
+scgi_cache_max_range_offset и uwsgi_cache_max_range_offset.
+</para>
+<para lang="en">
+the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset",
+"scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+плавное завершение старых рабочих процессов могло занимать бесконечное время
+при использовании HTTP/2.
+</para>
+<para lang="en">
+graceful shutdown of old worker processes might require infinite time
+when using HTTP/2.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+в модуле ngx_http_mp4_module.
+</para>
+<para lang="en">
+in the ngx_http_mp4_module.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+при проксировании WebSocket-соединений и включённом кэшировании
+в логах могли появляться сообщения "ignore long locked inactive cache entry".
+</para>
+<para lang="en">
+"ignore long locked inactive cache entry" alerts might appear in logs
+when proxying WebSocket connections with caching enabled.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+если во время SSL handshake с бэкендом происходил таймаут,
+nginx ничего не писал в лог
+и возвращал ответ с кодом 502 вместо 504.
+</para>
+<para lang="en">
+nginx did not write anything to log
+and returned a response with code 502 instead of 504
+when a timeout occurred during an SSL handshake to a backend.
+</para>
+</change>
+
+</changes>
+
+
 <changes ver="1.11.5" date="11.10.2016">
 
 <change type="change">
@@ -790,7 +920,6 @@ and tries to avoid cache keys zone overflows.
 в логах могли появляться сообщения "task already active" и "second aio post".
 </para>
 <para lang="en">
-
 "task already active" and "second aio post" alerts might appear in logs
 when using the "sendfile" and "aio" directives with subrequests.
 </para>
@@ -18140,7 +18269,7 @@ nginx did not omit the "#fragment" part in URI.
 
 <change type="feature">
 <para lang="ru">
-POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
+POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
 </para>
 <para lang="en">
 the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.

  Renamed: vendor/nginx-1.11.6/docs/xsls/changes.xsls (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/docs/xslt/changes.xslt (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/misc/GNUmakefile (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/misc/README (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/nginx.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/nginx.h (+2 -2) 85%
===================================================================
--- vendor/nginx-1.11.5/src/core/nginx.h    2016-11-22 16:30:41 +0900 (1446251)
+++ vendor/nginx-1.11.6/src/core/nginx.h    2016-11-22 16:34:42 +0900 (a75ef04)
@@ -9,8 +9,8 @@
 #define _NGINX_H_INCLUDED_
 
 
-#define nginx_version      1011005
-#define NGINX_VERSION      "1.11.5"
+#define nginx_version      1011006
+#define NGINX_VERSION      "1.11.6"
 #define NGINX_VER          "nginx/" NGINX_VERSION
 
 #ifdef NGX_BUILD

  Renamed: vendor/nginx-1.11.6/src/core/ngx_array.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_array.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_buf.c (+9 -7) 95%
===================================================================
--- vendor/nginx-1.11.5/src/core/ngx_buf.c    2016-11-22 16:30:41 +0900 (00b6644)
+++ vendor/nginx-1.11.6/src/core/ngx_buf.c    2016-11-22 16:34:42 +0900 (d30a0a4)
@@ -186,16 +186,18 @@ ngx_chain_update_chains(ngx_pool_t *p, ngx_chain_t **free, ngx_chain_t **busy,
 {
     ngx_chain_t  *cl;
 
-    if (*busy == NULL) {
-        *busy = *out;
+    if (*out) {
+        if (*busy == NULL) {
+            *busy = *out;
 
-    } else {
-        for (cl = *busy; cl->next; cl = cl->next) { /* void */ }
+        } else {
+            for (cl = *busy; cl->next; cl = cl->next) { /* void */ }
 
-        cl->next = *out;
-    }
+            cl->next = *out;
+        }
 
-    *out = NULL;
+        *out = NULL;
+    }
 
     while (*busy) {
         cl = *busy;

  Renamed: vendor/nginx-1.11.6/src/core/ngx_buf.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_conf_file.c (+59 -24) 96%
===================================================================
--- vendor/nginx-1.11.5/src/core/ngx_conf_file.c    2016-11-22 16:30:41 +0900 (ea1dceb)
+++ vendor/nginx-1.11.6/src/core/ngx_conf_file.c    2016-11-22 16:34:42 +0900 (ce8c602)
@@ -10,6 +10,7 @@
 
 #define NGX_CONF_BUFFER  4096
 
+static ngx_int_t ngx_conf_add_dump(ngx_conf_t *cf, ngx_str_t *filename);
 static ngx_int_t ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last);
 static ngx_int_t ngx_conf_read_token(ngx_conf_t *cf);
 static void ngx_conf_flush_files(ngx_cycle_t *cycle);
@@ -97,17 +98,70 @@ ngx_conf_param(ngx_conf_t *cf)
 }
 
 
+static ngx_int_t
+ngx_conf_add_dump(ngx_conf_t *cf, ngx_str_t *filename)
+{
+    off_t             size;
+    u_char           *p;
+    uint32_t          hash;
+    ngx_buf_t        *buf;
+    ngx_str_node_t   *sn;
+    ngx_conf_dump_t  *cd;
+
+    hash = ngx_crc32_long(filename->data, filename->len);
+
+    sn = ngx_str_rbtree_lookup(&cf->cycle->config_dump_rbtree, filename, hash);
+
+    if (sn) {
+        cf->conf_file->dump = NULL;
+        return NGX_OK;
+    }
+
+    p = ngx_pstrdup(cf->cycle->pool, filename);
+    if (p == NULL) {
+        return NGX_ERROR;
+    }
+
+    cd = ngx_array_push(&cf->cycle->config_dump);
+    if (cd == NULL) {
+        return NGX_ERROR;
+    }
+
+    size = ngx_file_size(&cf->conf_file->file.info);
+
+    buf = ngx_create_temp_buf(cf->cycle->pool, (size_t) size);
+    if (buf == NULL) {
+        return NGX_ERROR;
+    }
+
+    cd->name.data = p;
+    cd->name.len = filename->len;
+    cd->buffer = buf;
+
+    cf->conf_file->dump = buf;
+
+    sn = ngx_palloc(cf->temp_pool, sizeof(ngx_str_node_t));
+    if (sn == NULL) {
+        return NGX_ERROR;
+    }
+
+    sn->node.key = hash;
+    sn->str = cd->name;
+
+    ngx_rbtree_insert(&cf->cycle->config_dump_rbtree, &sn->node);
+
+    return NGX_OK;
+}
+
+
 char *
 ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename)
 {
     char             *rv;
-    u_char           *p;
-    off_t             size;
     ngx_fd_t          fd;
     ngx_int_t         rc;
-    ngx_buf_t         buf, *tbuf;
+    ngx_buf_t         buf;
     ngx_conf_file_t  *prev, conf_file;
-    ngx_conf_dump_t  *cd;
     enum {
         parse_file = 0,
         parse_block,
@@ -167,29 +221,10 @@ ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename)
 #endif
            )
         {
-            p = ngx_pstrdup(cf->cycle->pool, filename);
-            if (p == NULL) {
-                goto failed;
-            }
-
-            size = ngx_file_size(&cf->conf_file->file.info);
-
-            tbuf = ngx_create_temp_buf(cf->cycle->pool, (size_t) size);
-            if (tbuf == NULL) {
+            if (ngx_conf_add_dump(cf, filename) != NGX_OK) {
                 goto failed;
             }
 
-            cd = ngx_array_push(&cf->cycle->config_dump);
-            if (cd == NULL) {
-                goto failed;
-            }
-
-            cd->name.len = filename->len;
-            cd->name.data = p;
-            cd->buffer = tbuf;
-
-            cf->conf_file->dump = tbuf;
-
         } else {
             cf->conf_file->dump = NULL;
         }

  Renamed: vendor/nginx-1.11.6/src/core/ngx_conf_file.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_connection.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_connection.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_core.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_cpuinfo.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_crc.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_crc32.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_crc32.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_crypt.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_crypt.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_cycle.c (+3 -0) 99%
===================================================================
--- vendor/nginx-1.11.5/src/core/ngx_cycle.c    2016-11-22 16:30:41 +0900 (98599f3)
+++ vendor/nginx-1.11.6/src/core/ngx_cycle.c    2016-11-22 16:34:42 +0900 (a57991c)
@@ -132,6 +132,9 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
         return NULL;
     }
 
+    ngx_rbtree_init(&cycle->config_dump_rbtree, &cycle->config_dump_sentinel,
+                    ngx_str_rbtree_insert_value);
+
     if (old_cycle->open_files.part.nelts) {
         n = old_cycle->open_files.part.nelts;
         for (part = old_cycle->open_files.part.next; part; part = part->next) {

  Renamed: vendor/nginx-1.11.6/src/core/ngx_cycle.h (+4 -0) 97%
===================================================================
--- vendor/nginx-1.11.5/src/core/ngx_cycle.h    2016-11-22 16:30:41 +0900 (c51b7ff)
+++ vendor/nginx-1.11.6/src/core/ngx_cycle.h    2016-11-22 16:34:42 +0900 (5cdacf1)
@@ -56,7 +56,11 @@ struct ngx_cycle_s {
 
     ngx_array_t               listening;
     ngx_array_t               paths;
+
     ngx_array_t               config_dump;
+    ngx_rbtree_t              config_dump_rbtree;
+    ngx_rbtree_node_t         config_dump_sentinel;
+
     ngx_list_t                open_files;
     ngx_list_t                shared_memory;
 

  Renamed: vendor/nginx-1.11.6/src/core/ngx_file.c (+27 -5) 97%
===================================================================
--- vendor/nginx-1.11.5/src/core/ngx_file.c    2016-11-22 16:30:41 +0900 (8359c0f)
+++ vendor/nginx-1.11.6/src/core/ngx_file.c    2016-11-22 16:34:42 +0900 (b7dd4bc)
@@ -141,12 +141,27 @@ ngx_int_t
 ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
     ngx_uint_t persistent, ngx_uint_t clean, ngx_uint_t access)
 {
+    size_t                    levels;
+    u_char                   *p;
     uint32_t                  n;
     ngx_err_t                 err;
+    ngx_str_t                 name;
+    ngx_uint_t                prefix;
     ngx_pool_cleanup_t       *cln;
     ngx_pool_cleanup_file_t  *clnf;
 
-    file->name.len = path->name.len + 1 + path->len + 10;
+    if (file->name.len) {
+        name = file->name;
+        levels = 0;
+        prefix = 1;
+
+    } else {
+        name = path->name;
+        levels = path->len;
+        prefix = 0;
+    }
+
+    file->name.len = name.len + 1 + levels + 10;
 
     file->name.data = ngx_pnalloc(pool, file->name.len + 1);
     if (file->name.data == NULL) {
@@ -159,7 +174,13 @@ ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
     }
 #endif
 
-    ngx_memcpy(file->name.data, path->name.data, path->name.len);
+    p = ngx_cpymem(file->name.data, name.data, name.len);
+
+    if (prefix) {
+        *p = '.';
+    }
+
+    p += 1 + levels;
 
     n = (uint32_t) ngx_next_temp_number(0);
 
@@ -169,10 +190,11 @@ ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
     }
 
     for ( ;; ) {
-        (void) ngx_sprintf(file->name.data + path->name.len + 1 + path->len,
-                           "%010uD%Z", n);
+        (void) ngx_sprintf(p, "%010uD%Z", n);
 
-        ngx_create_hashed_filename(path, file->name.data, file->name.len);
+        if (!prefix) {
+            ngx_create_hashed_filename(path, file->name.data, file->name.len);
+        }
 
         ngx_log_debug1(NGX_LOG_DEBUG_CORE, file->log, 0,
                        "hashed path: %s", file->name.data);

  Renamed: vendor/nginx-1.11.6/src/core/ngx_file.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_hash.c (+0 -1) 99%
===================================================================
--- vendor/nginx-1.11.5/src/core/ngx_hash.c    2016-11-22 16:30:41 +0900 (151e643)
+++ vendor/nginx-1.11.6/src/core/ngx_hash.c    2016-11-22 16:34:42 +0900 (1944c7a)
@@ -390,7 +390,6 @@ found:
 
         buckets[i] = (ngx_hash_elt_t *) elts;
         elts += test[i];
-
     }
 
     for (i = 0; i < size; i++) {

  Renamed: vendor/nginx-1.11.6/src/core/ngx_hash.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_inet.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_inet.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_list.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_list.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_log.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_log.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_md5.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_md5.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_murmurhash.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_murmurhash.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_open_file_cache.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_open_file_cache.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_output_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_palloc.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_palloc.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_parse.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_parse.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_parse_time.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_parse_time.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_proxy_protocol.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_proxy_protocol.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_queue.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_queue.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_radix_tree.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_radix_tree.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_rbtree.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_rbtree.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_regex.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_regex.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_resolver.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_resolver.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_rwlock.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_rwlock.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_sha1.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_sha1.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_shmtx.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_shmtx.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_slab.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_slab.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_spinlock.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_string.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_string.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_syslog.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_syslog.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_thread_pool.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_thread_pool.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_times.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/core/ngx_times.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_devpoll_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_epoll_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_eventport_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_iocp_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_iocp_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_kqueue_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_poll_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_select_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/modules/ngx_win32_select_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_accept.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_acceptex.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_connect.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_connect.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_connectex.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_openssl.c (+108 -2) 98%
===================================================================
--- vendor/nginx-1.11.5/src/event/ngx_event_openssl.c    2016-11-22 16:30:41 +0900 (68d02bf)
+++ vendor/nginx-1.11.6/src/event/ngx_event_openssl.c    2016-11-22 16:34:42 +0900 (5c7734d)
@@ -2137,7 +2137,9 @@ ngx_ssl_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt, ...)
             break;
         }
 
-        if (p >= last) {
+        /* ERR_error_string_n() requires at least one byte */
+
+        if (p >= last - 1) {
             goto next;
         }
 
@@ -3436,6 +3438,109 @@ ngx_ssl_get_certificate(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
 ngx_int_t
 ngx_ssl_get_subject_dn(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
 {
+    BIO        *bio;
+    X509       *cert;
+    X509_NAME  *name;
+
+    s->len = 0;
+
+    cert = SSL_get_peer_certificate(c->ssl->connection);
+    if (cert == NULL) {
+        return NGX_OK;
+    }
+
+    name = X509_get_subject_name(cert);
+    if (name == NULL) {
+        return NGX_ERROR;
+    }
+
+    bio = BIO_new(BIO_s_mem());
+    if (bio == NULL) {
+        X509_free(cert);
+        return NGX_ERROR;
+    }
+
+    if (X509_NAME_print_ex(bio, name, 0, XN_FLAG_RFC2253) < 0) {
+        goto failed;
+    }
+
+    s->len = BIO_pending(bio);
+    s->data = ngx_pnalloc(pool, s->len);
+    if (s->data == NULL) {
+        goto failed;
+    }
+
+    BIO_read(bio, s->data, s->len);
+
+    BIO_free(bio);
+    X509_free(cert);
+
+    return NGX_OK;
+
+failed:
+
+    BIO_free(bio);
+    X509_free(cert);
+
+    return NGX_ERROR;
+}
+
+
+ngx_int_t
+ngx_ssl_get_issuer_dn(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
+{
+    BIO        *bio;
+    X509       *cert;
+    X509_NAME  *name;
+
+    s->len = 0;
+
+    cert = SSL_get_peer_certificate(c->ssl->connection);
+    if (cert == NULL) {
+        return NGX_OK;
+    }
+
+    name = X509_get_issuer_name(cert);
+    if (name == NULL) {
+        return NGX_ERROR;
+    }
+
+    bio = BIO_new(BIO_s_mem());
+    if (bio == NULL) {
+        X509_free(cert);
+        return NGX_ERROR;
+    }
+
+    if (X509_NAME_print_ex(bio, name, 0, XN_FLAG_RFC2253) < 0) {
+        goto failed;
+    }
+
+    s->len = BIO_pending(bio);
+    s->data = ngx_pnalloc(pool, s->len);
+    if (s->data == NULL) {
+        goto failed;
+    }
+
+    BIO_read(bio, s->data, s->len);
+
+    BIO_free(bio);
+    X509_free(cert);
+
+    return NGX_OK;
+
+failed:
+
+    BIO_free(bio);
+    X509_free(cert);
+
+    return NGX_ERROR;
+}
+
+
+ngx_int_t
+ngx_ssl_get_subject_dn_legacy(ngx_connection_t *c, ngx_pool_t *pool,
+    ngx_str_t *s)
+{
     char       *p;
     size_t      len;
     X509       *cert;
@@ -3476,7 +3581,8 @@ ngx_ssl_get_subject_dn(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
 
 
 ngx_int_t
-ngx_ssl_get_issuer_dn(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
+ngx_ssl_get_issuer_dn_legacy(ngx_connection_t *c, ngx_pool_t *pool,
+    ngx_str_t *s)
 {
     char       *p;
     size_t      len;

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_openssl.h (+4 -0) 97%
===================================================================
--- vendor/nginx-1.11.5/src/event/ngx_event_openssl.h    2016-11-22 16:30:41 +0900 (24b812f)
+++ vendor/nginx-1.11.6/src/event/ngx_event_openssl.h    2016-11-22 16:34:42 +0900 (d233c02)
@@ -205,6 +205,10 @@ ngx_int_t ngx_ssl_get_subject_dn(ngx_connection_t *c, ngx_pool_t *pool,
     ngx_str_t *s);
 ngx_int_t ngx_ssl_get_issuer_dn(ngx_connection_t *c, ngx_pool_t *pool,
     ngx_str_t *s);
+ngx_int_t ngx_ssl_get_subject_dn_legacy(ngx_connection_t *c, ngx_pool_t *pool,
+    ngx_str_t *s);
+ngx_int_t ngx_ssl_get_issuer_dn_legacy(ngx_connection_t *c, ngx_pool_t *pool,
+    ngx_str_t *s);
 ngx_int_t ngx_ssl_get_serial_number(ngx_connection_t *c, ngx_pool_t *pool,
     ngx_str_t *s);
 ngx_int_t ngx_ssl_get_fingerprint(ngx_connection_t *c, ngx_pool_t *pool,

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_openssl_stapling.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_pipe.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_pipe.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_posted.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_posted.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_timer.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/event/ngx_event_timer.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_access_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_addition_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_auth_basic_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_auth_request_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_autoindex_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_browser_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_charset_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_chunked_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_dav_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_degradation_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_empty_gif_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_fastcgi_module.c (+29 -5) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_fastcgi_module.c    2016-11-22 16:30:41 +0900 (62502b0)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_fastcgi_module.c    2016-11-22 16:34:42 +0900 (c7c417b)
@@ -420,6 +420,13 @@ static ngx_command_t  ngx_http_fastcgi_commands[] = {
       offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_min_uses),
       NULL },
 
+    { ngx_string("fastcgi_cache_max_range_offset"),
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+      ngx_conf_set_off_slot,
+      NGX_HTTP_LOC_CONF_OFFSET,
+      offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_max_range_offset),
+      NULL },
+
     { ngx_string("fastcgi_cache_use_stale"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
       ngx_conf_set_bitmask_slot,
@@ -766,16 +773,14 @@ ngx_http_fastcgi_eval(ngx_http_request_t *r, ngx_http_fastcgi_loc_conf_t *flcf)
         return NGX_ERROR;
     }
 
-    if (url.addrs && url.addrs[0].sockaddr) {
+    if (url.addrs) {
         u->resolved->sockaddr = url.addrs[0].sockaddr;
         u->resolved->socklen = url.addrs[0].socklen;
+        u->resolved->name = url.addrs[0].name;
         u->resolved->naddrs = 1;
-        u->resolved->host = url.addrs[0].name;
-
-    } else {
-        u->resolved->host = url.host;
     }
 
+    u->resolved->host = url.host;
     u->resolved->port = url.port;
     u->resolved->no_port = url.no_port;
 
@@ -2756,6 +2761,7 @@ ngx_http_fastcgi_create_loc_conf(ngx_conf_t *cf)
 #if (NGX_HTTP_CACHE)
     conf->upstream.cache = NGX_CONF_UNSET;
     conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
+    conf->upstream.cache_max_range_offset = NGX_CONF_UNSET;
     conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
     conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
     conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
@@ -3001,6 +3007,10 @@ ngx_http_fastcgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
     ngx_conf_merge_uint_value(conf->upstream.cache_min_uses,
                               prev->upstream.cache_min_uses, 1);
 
+    ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset,
+                              prev->upstream.cache_max_range_offset,
+                              NGX_MAX_OFF_T_VALUE);
+
     ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale,
                               prev->upstream.cache_use_stale,
                               (NGX_CONF_BITMASK_SET
@@ -3127,6 +3137,20 @@ ngx_http_fastcgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
 
 #endif
 
+    /*
+     * special handling to preserve conf->params in the "http" section
+     * to inherit it to all servers
+     */
+
+    if (prev->params.hash.buckets == NULL
+        && conf->params_source == prev->params_source)
+    {
+        prev->params = conf->params;
+#if (NGX_HTTP_CACHE)
+        prev->params_cache = conf->params_cache;
+#endif
+    }
+
     return NGX_CONF_OK;
 }
 

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_flv_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_geo_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_geoip_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_gunzip_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_gzip_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_gzip_static_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_headers_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_image_filter_module.c (+159 -5) 89%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_image_filter_module.c    2016-11-22 16:30:41 +0900 (b608de1)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_image_filter_module.c    2016-11-22 16:34:42 +0900 (dbec5d8)
@@ -31,6 +31,7 @@
 #define NGX_HTTP_IMAGE_JPEG      1
 #define NGX_HTTP_IMAGE_GIF       2
 #define NGX_HTTP_IMAGE_PNG       3
+#define NGX_HTTP_IMAGE_WEBP      4
 
 
 #define NGX_HTTP_IMAGE_BUFFERED  0x08
@@ -42,6 +43,7 @@ typedef struct {
     ngx_uint_t                   height;
     ngx_uint_t                   angle;
     ngx_uint_t                   jpeg_quality;
+    ngx_uint_t                   webp_quality;
     ngx_uint_t                   sharpen;
 
     ngx_flag_t                   transparency;
@@ -51,6 +53,7 @@ typedef struct {
     ngx_http_complex_value_t    *hcv;
     ngx_http_complex_value_t    *acv;
     ngx_http_complex_value_t    *jqcv;
+    ngx_http_complex_value_t    *wqcv;
     ngx_http_complex_value_t    *shcv;
 
     size_t                       buffer_size;
@@ -109,6 +112,8 @@ static char *ngx_http_image_filter(ngx_conf_t *cf, ngx_command_t *cmd,
     void *conf);
 static char *ngx_http_image_filter_jpeg_quality(ngx_conf_t *cf,
     ngx_command_t *cmd, void *conf);
+static char *ngx_http_image_filter_webp_quality(ngx_conf_t *cf,
+    ngx_command_t *cmd, void *conf);
 static char *ngx_http_image_filter_sharpen(ngx_conf_t *cf, ngx_command_t *cmd,
     void *conf);
 static ngx_int_t ngx_http_image_filter_init(ngx_conf_t *cf);
@@ -130,6 +135,13 @@ static ngx_command_t  ngx_http_image_filter_commands[] = {
       0,
       NULL },
 
+    { ngx_string("image_filter_webp_quality"),
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+      ngx_http_image_filter_webp_quality,
+      NGX_HTTP_LOC_CONF_OFFSET,
+      0,
+      NULL },
+
     { ngx_string("image_filter_sharpen"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
       ngx_http_image_filter_sharpen,
@@ -200,7 +212,8 @@ static ngx_http_output_body_filter_pt    ngx_http_next_body_filter;
 static ngx_str_t  ngx_http_image_types[] = {
     ngx_string("image/jpeg"),
     ngx_string("image/gif"),
-    ngx_string("image/png")
+    ngx_string("image/png"),
+    ngx_string("image/webp")
 };
 
 
@@ -441,6 +454,13 @@ ngx_http_image_test(ngx_http_request_t *r, ngx_chain_t *in)
         /* PNG */
 
         return NGX_HTTP_IMAGE_PNG;
+
+    } else if (p[0] == 'R' && p[1] == 'I' && p[2] == 'F' && p[3] == 'F'
+               && p[8] == 'W' && p[9] == 'E' && p[10] == 'B' && p[11] == 'P')
+    {
+        /* WebP */
+
+        return NGX_HTTP_IMAGE_WEBP;
     }
 
     return NGX_HTTP_IMAGE_NONE;
@@ -731,6 +751,56 @@ ngx_http_image_size(ngx_http_request_t *r, ngx_http_image_filter_ctx_t *ctx)
 
         break;
 
+    case NGX_HTTP_IMAGE_WEBP:
+
+        if (ctx->length < 30) {
+            return NGX_DECLINED;
+        }
+
+        if (p[12] != 'V' || p[13] != 'P' || p[14] != '8') {
+            return NGX_DECLINED;
+        }
+
+        switch (p[15]) {
+
+        case ' ':
+            if (p[20] & 1) {
+                /* not a key frame */
+                return NGX_DECLINED;
+            }
+
+            if (p[23] != 0x9d || p[24] != 0x01 || p[25] != 0x2a) {
+                /* invalid start code */
+                return NGX_DECLINED;
+            }
+
+            width = (p[26] | p[27] << 8) & 0x3fff;
+            height = (p[28] | p[29] << 8) & 0x3fff;
+
+            break;
+
+        case 'L':
+            if (p[20] != 0x2f) {
+                /* invalid signature */
+                return NGX_DECLINED;
+            }
+
+            width = ((p[21] | p[22] << 8) & 0x3fff) + 1;
+            height = ((p[22] >> 6 | p[23] << 2 | p[24] << 10) & 0x3fff) + 1;
+
+            break;
+
+        case 'X':
+            width = (p[24] | p[25] << 8 | p[26] << 16) + 1;
+            height = (p[27] | p[28] << 8 | p[29] << 16) + 1;
+            break;
+
+        default:
+            return NGX_DECLINED;
+        }
+
+        break;
+
     default:
 
         return NGX_DECLINED;
@@ -1043,6 +1113,15 @@ ngx_http_image_source(ngx_http_request_t *r, ngx_http_image_filter_ctx_t *ctx)
         failed = "gdImageCreateFromPngPtr() failed";
         break;
 
+    case NGX_HTTP_IMAGE_WEBP:
+#if (NGX_HAVE_GD_WEBP)
+        img = gdImageCreateFromWebpPtr(ctx->length, ctx->image);
+        failed = "gdImageCreateFromWebpPtr() failed";
+#else
+        failed = "nginx was built without GD WebP support";
+#endif
+        break;
+
     default:
         failed = "unknown image type";
         break;
@@ -1090,7 +1169,7 @@ ngx_http_image_out(ngx_http_request_t *r, ngx_uint_t type, gdImagePtr img,
 {
     char                          *failed;
     u_char                        *out;
-    ngx_int_t                      jq;
+    ngx_int_t                      q;
     ngx_http_image_filter_conf_t  *conf;
 
     out = NULL;
@@ -1100,12 +1179,12 @@ ngx_http_image_out(ngx_http_request_t *r, ngx_uint_t type, gdImagePtr img,
     case NGX_HTTP_IMAGE_JPEG:
         conf = ngx_http_get_module_loc_conf(r, ngx_http_image_filter_module);
 
-        jq = ngx_http_image_filter_get_value(r, conf->jqcv, conf->jpeg_quality);
-        if (jq <= 0) {
+        q = ngx_http_image_filter_get_value(r, conf->jqcv, conf->jpeg_quality);
+        if (q <= 0) {
             return NULL;
         }
 
-        out = gdImageJpegPtr(img, size, jq);
+        out = gdImageJpegPtr(img, size, q);
         failed = "gdImageJpegPtr() failed";
         break;
 
@@ -1119,6 +1198,22 @@ ngx_http_image_out(ngx_http_request_t *r, ngx_uint_t type, gdImagePtr img,
         failed = "gdImagePngPtr() failed";
         break;
 
+    case NGX_HTTP_IMAGE_WEBP:
+#if (NGX_HAVE_GD_WEBP)
+        conf = ngx_http_get_module_loc_conf(r, ngx_http_image_filter_module);
+
+        q = ngx_http_image_filter_get_value(r, conf->wqcv, conf->webp_quality);
+        if (q <= 0) {
+            return NULL;
+        }
+
+        out = gdImageWebpPtrEx(img, size, q);
+        failed = "gdImageWebpPtrEx() failed";
+#else
+        failed = "nginx was built without GD WebP support";
+#endif
+        break;
+
     default:
         failed = "unknown image type";
         break;
@@ -1196,11 +1291,13 @@ ngx_http_image_filter_create_conf(ngx_conf_t *cf)
      *     conf->hcv = NULL;
      *     conf->acv = NULL;
      *     conf->jqcv = NULL;
+     *     conf->wqcv = NULL;
      *     conf->shcv = NULL;
      */
 
     conf->filter = NGX_CONF_UNSET_UINT;
     conf->jpeg_quality = NGX_CONF_UNSET_UINT;
+    conf->webp_quality = NGX_CONF_UNSET_UINT;
     conf->sharpen = NGX_CONF_UNSET_UINT;
     conf->transparency = NGX_CONF_UNSET;
     conf->interlace = NGX_CONF_UNSET;
@@ -1242,6 +1339,16 @@ ngx_http_image_filter_merge_conf(ngx_conf_t *cf, void *parent, void *child)
         }
     }
 
+    if (conf->webp_quality == NGX_CONF_UNSET_UINT) {
+
+        /* 80 is libwebp default quality */
+        ngx_conf_merge_uint_value(conf->webp_quality, prev->webp_quality, 80);
+
+        if (conf->wqcv == NULL) {
+            conf->wqcv = prev->wqcv;
+        }
+    }
+
     if (conf->sharpen == NGX_CONF_UNSET_UINT) {
         ngx_conf_merge_uint_value(conf->sharpen, prev->sharpen, 0);
 
@@ -1462,6 +1569,53 @@ ngx_http_image_filter_jpeg_quality(ngx_conf_t *cf, ngx_command_t *cmd,
 
 
 static char *
+ngx_http_image_filter_webp_quality(ngx_conf_t *cf, ngx_command_t *cmd,
+    void *conf)
+{
+    ngx_http_image_filter_conf_t *imcf = conf;
+
+    ngx_str_t                         *value;
+    ngx_int_t                          n;
+    ngx_http_complex_value_t           cv;
+    ngx_http_compile_complex_value_t   ccv;
+
+    value = cf->args->elts;
+
+    ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t));
+
+    ccv.cf = cf;
+    ccv.value = &value[1];
+    ccv.complex_value = &cv;
+
+    if (ngx_http_compile_complex_value(&ccv) != NGX_OK) {
+        return NGX_CONF_ERROR;
+    }
+
+    if (cv.lengths == NULL) {
+        n = ngx_http_image_filter_value(&value[1]);
+
+        if (n <= 0) {
+            ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+                               "invalid value \"%V\"", &value[1]);
+            return NGX_CONF_ERROR;
+        }
+
+        imcf->webp_quality = (ngx_uint_t) n;
+
+    } else {
+        imcf->wqcv = ngx_palloc(cf->pool, sizeof(ngx_http_complex_value_t));
+        if (imcf->wqcv == NULL) {
+            return NGX_CONF_ERROR;
+        }
+
+        *imcf->wqcv = cv;
+    }
+
+    return NGX_CONF_OK;
+}
+
+
+static char *
 ngx_http_image_filter_sharpen(ngx_conf_t *cf, ngx_command_t *cmd,
     void *conf)
 {

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_index_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_limit_conn_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_limit_req_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_log_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_map_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_memcached_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_mp4_module.c (+60 -14) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_mp4_module.c    2016-11-22 16:30:41 +0900 (2a68bae)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_mp4_module.c    2016-11-22 16:34:42 +0900 (8f2920f)
@@ -216,6 +216,7 @@ typedef struct {
 
 
 static ngx_int_t ngx_http_mp4_handler(ngx_http_request_t *r);
+static ngx_int_t ngx_http_mp4_atofp(u_char *line, size_t n, size_t point);
 
 static ngx_int_t ngx_http_mp4_process(ngx_http_mp4_file_t *mp4);
 static ngx_int_t ngx_http_mp4_read_atom(ngx_http_mp4_file_t *mp4,
@@ -537,26 +538,15 @@ ngx_http_mp4_handler(ngx_http_request_t *r)
 
             /*
              * A Flash player may send start value with a lot of digits
-             * after dot so strtod() is used instead of atofp().  NaNs and
-             * infinities become negative numbers after (int) conversion.
+             * after dot so a custom function is used instead of ngx_atofp().
              */
 
-            ngx_set_errno(0);
-            start = (int) (strtod((char *) value.data, NULL) * 1000);
-
-            if (ngx_errno != 0) {
-                start = -1;
-            }
+            start = ngx_http_mp4_atofp(value.data, value.len, 3);
         }
 
         if (ngx_http_arg(r, (u_char *) "end", 3, &value) == NGX_OK) {
 
-            ngx_set_errno(0);
-            end = (int) (strtod((char *) value.data, NULL) * 1000);
-
-            if (ngx_errno != 0) {
-                end = -1;
-            }
+            end = ngx_http_mp4_atofp(value.data, value.len, 3);
 
             if (end > 0) {
                 if (start < 0) {
@@ -687,6 +677,62 @@ ngx_http_mp4_handler(ngx_http_request_t *r)
 
 
 static ngx_int_t
+ngx_http_mp4_atofp(u_char *line, size_t n, size_t point)
+{
+    ngx_int_t   value, cutoff, cutlim;
+    ngx_uint_t  dot;
+
+    /* same as ngx_atofp(), but allows additional digits */
+
+    if (n == 0) {
+        return NGX_ERROR;
+    }
+
+    cutoff = NGX_MAX_INT_T_VALUE / 10;
+    cutlim = NGX_MAX_INT_T_VALUE % 10;
+
+    dot = 0;
+
+    for (value = 0; n--; line++) {
+
+        if (*line == '.') {
+            if (dot) {
+                return NGX_ERROR;
+            }
+
+            dot = 1;
+            continue;
+        }
+
+        if (*line < '0' || *line > '9') {
+            return NGX_ERROR;
+        }
+
+        if (point == 0) {
+            continue;
+        }
+
+        if (value >= cutoff && (value > cutoff || *line - '0' > cutlim)) {
+            return NGX_ERROR;
+        }
+
+        value = value * 10 + (*line - '0');
+        point -= dot;
+    }
+
+    while (point--) {
+        if (value > cutoff) {
+            return NGX_ERROR;
+        }
+
+        value = value * 10;
+    }
+
+    return value;
+}
+
+
+static ngx_int_t
 ngx_http_mp4_process(ngx_http_mp4_file_t *mp4)
 {
     off_t                  start_offset, end_offset, adjustment;

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_not_modified_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_proxy_module.c (+49 -26) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_proxy_module.c    2016-11-22 16:30:41 +0900 (4f49a52)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_proxy_module.c    2016-11-22 16:34:42 +0900 (42b6afc)
@@ -73,7 +73,7 @@ typedef struct {
     ngx_array_t                   *cookie_domains;
     ngx_array_t                   *cookie_paths;
 
-    ngx_str_t                      method;
+    ngx_http_complex_value_t      *method;
     ngx_str_t                      location;
     ngx_str_t                      url;
 
@@ -380,7 +380,7 @@ static ngx_command_t  ngx_http_proxy_commands[] = {
 
     { ngx_string("proxy_method"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
-      ngx_conf_set_str_slot,
+      ngx_http_set_complex_value_slot,
       NGX_HTTP_LOC_CONF_OFFSET,
       offsetof(ngx_http_proxy_loc_conf_t, method),
       NULL },
@@ -492,6 +492,13 @@ static ngx_command_t  ngx_http_proxy_commands[] = {
       offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_min_uses),
       NULL },
 
+    { ngx_string("proxy_cache_max_range_offset"),
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+      ngx_conf_set_off_slot,
+      NGX_HTTP_LOC_CONF_OFFSET,
+      offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_max_range_offset),
+      NULL },
+
     { ngx_string("proxy_cache_use_stale"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
       ngx_conf_set_bitmask_slot,
@@ -1008,16 +1015,14 @@ ngx_http_proxy_eval(ngx_http_request_t *r, ngx_http_proxy_ctx_t *ctx,
         return NGX_ERROR;
     }
 
-    if (url.addrs && url.addrs[0].sockaddr) {
+    if (url.addrs) {
         u->resolved->sockaddr = url.addrs[0].sockaddr;
         u->resolved->socklen = url.addrs[0].socklen;
+        u->resolved->name = url.addrs[0].name;
         u->resolved->naddrs = 1;
-        u->resolved->host = url.addrs[0].name;
-
-    } else {
-        u->resolved->host = url.host;
     }
 
+    u->resolved->host = url.host;
     u->resolved->port = (in_port_t) (url.no_port ? port : url.port);
     u->resolved->no_port = url.no_port;
 
@@ -1159,8 +1164,10 @@ ngx_http_proxy_create_request(ngx_http_request_t *r)
         /* HEAD was changed to GET to cache response */
         method = u->method;
 
-    } else if (plcf->method.len) {
-        method = plcf->method;
+    } else if (plcf->method) {
+        if (ngx_http_complex_value(r, plcf->method, &method) != NGX_OK) {
+            return NGX_ERROR;
+        }
 
     } else {
         method = r->method_name;
@@ -2797,7 +2804,7 @@ ngx_http_proxy_create_loc_conf(ngx_conf_t *cf)
      *     conf->upstream.store_values = NULL;
      *     conf->upstream.ssl_name = NULL;
      *
-     *     conf->method = { 0, NULL };
+     *     conf->method = NULL;
      *     conf->headers_source = NULL;
      *     conf->headers.lengths = NULL;
      *     conf->headers.values = NULL;
@@ -2847,6 +2854,7 @@ ngx_http_proxy_create_loc_conf(ngx_conf_t *cf)
 #if (NGX_HTTP_CACHE)
     conf->upstream.cache = NGX_CONF_UNSET;
     conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
+    conf->upstream.cache_max_range_offset = NGX_CONF_UNSET;
     conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
     conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
     conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
@@ -3108,6 +3116,10 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
     ngx_conf_merge_uint_value(conf->upstream.cache_min_uses,
                               prev->upstream.cache_min_uses, 1);
 
+    ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset,
+                              prev->upstream.cache_max_range_offset,
+                              NGX_MAX_OFF_T_VALUE);
+
     ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale,
                               prev->upstream.cache_use_stale,
                               (NGX_CONF_BITMASK_SET
@@ -3158,7 +3170,9 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
 
 #endif
 
-    ngx_conf_merge_str_value(conf->method, prev->method, "");
+    if (conf->method == NULL) {
+        conf->method = prev->method;
+    }
 
     ngx_conf_merge_value(conf->upstream.pass_request_headers,
                               prev->upstream.pass_request_headers, 1);
@@ -3357,6 +3371,20 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
 
 #endif
 
+    /*
+     * special handling to preserve conf->headers in the "http" section
+     * to inherit it to all servers
+     */
+
+    if (prev->headers.hash.buckets == NULL
+        && conf->headers_source == prev->headers_source)
+    {
+        prev->headers = conf->headers;
+#if (NGX_HTTP_CACHE)
+        prev->headers_cache = conf->headers_cache;
+#endif
+    }
+
     return NGX_CONF_OK;
 }
 
@@ -3392,14 +3420,6 @@ ngx_http_proxy_init_headers(ngx_conf_t *cf, ngx_http_proxy_loc_conf_t *conf,
         return NGX_ERROR;
     }
 
-    if (conf->headers_source == NULL) {
-        conf->headers_source = ngx_array_create(cf->pool, 4,
-                                                sizeof(ngx_keyval_t));
-        if (conf->headers_source == NULL) {
-            return NGX_ERROR;
-        }
-    }
-
     headers->lengths = ngx_array_create(cf->pool, 64, 1);
     if (headers->lengths == NULL) {
         return NGX_ERROR;
@@ -3410,15 +3430,18 @@ ngx_http_proxy_init_headers(ngx_conf_t *cf, ngx_http_proxy_loc_conf_t *conf,
         return NGX_ERROR;
     }
 
-    src = conf->headers_source->elts;
-    for (i = 0; i < conf->headers_source->nelts; i++) {
+    if (conf->headers_source) {
 
-        s = ngx_array_push(&headers_merged);
-        if (s == NULL) {
-            return NGX_ERROR;
-        }
+        src = conf->headers_source->elts;
+        for (i = 0; i < conf->headers_source->nelts; i++) {
 
-        *s = src[i];
+            s = ngx_array_push(&headers_merged);
+            if (s == NULL) {
+                return NGX_ERROR;
+            }
+
+            *s = src[i];
+        }
     }
 
     h = default_headers;

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_random_index_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_range_filter_module.c (+6 -6) 100%
===================================================================
@@ -224,12 +224,6 @@ parse:
 
     ctx->offset = r->headers_out.content_offset;
 
-    if (ngx_array_init(&ctx->ranges, r->pool, 1, sizeof(ngx_http_range_t))
-        != NGX_OK)
-    {
-        return NGX_ERROR;
-    }
-
     ranges = r->single_range ? 1 : clcf->max_ranges;
 
     switch (ngx_http_range_parse(r, ctx, ranges)) {
@@ -291,6 +285,12 @@ ngx_http_range_parse(ngx_http_request_t *r, ngx_http_range_filter_ctx_t *ctx,
         }
     }
 
+    if (ngx_array_init(&ctx->ranges, r->pool, 1, sizeof(ngx_http_range_t))
+        != NGX_OK)
+    {
+        return NGX_ERROR;
+    }
+
     p = r->headers_in.range->value.data + 6;
     size = 0;
     content_length = r->headers_out.content_length_n;

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_realip_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_referer_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_rewrite_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_scgi_module.c (+29 -5) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_scgi_module.c    2016-11-22 16:30:41 +0900 (36656ec)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_scgi_module.c    2016-11-22 16:34:42 +0900 (aa84a3d)
@@ -270,6 +270,13 @@ static ngx_command_t ngx_http_scgi_commands[] = {
       offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_min_uses),
       NULL },
 
+    { ngx_string("scgi_cache_max_range_offset"),
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+      ngx_conf_set_off_slot,
+      NGX_HTTP_LOC_CONF_OFFSET,
+      offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_max_range_offset),
+      NULL },
+
     { ngx_string("scgi_cache_use_stale"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
       ngx_conf_set_bitmask_slot,
@@ -562,16 +569,14 @@ ngx_http_scgi_eval(ngx_http_request_t *r, ngx_http_scgi_loc_conf_t * scf)
         return NGX_ERROR;
     }
 
-    if (url.addrs && url.addrs[0].sockaddr) {
+    if (url.addrs) {
         u->resolved->sockaddr = url.addrs[0].sockaddr;
         u->resolved->socklen = url.addrs[0].socklen;
+        u->resolved->name = url.addrs[0].name;
         u->resolved->naddrs = 1;
-        u->resolved->host = url.addrs[0].name;
-
-    } else {
-        u->resolved->host = url.host;
     }
 
+    u->resolved->host = url.host;
     u->resolved->port = url.port;
     u->resolved->no_port = url.no_port;
 
@@ -1206,6 +1211,7 @@ ngx_http_scgi_create_loc_conf(ngx_conf_t *cf)
 #if (NGX_HTTP_CACHE)
     conf->upstream.cache = NGX_CONF_UNSET;
     conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
+    conf->upstream.cache_max_range_offset = NGX_CONF_UNSET;
     conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
     conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
     conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
@@ -1446,6 +1452,10 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
     ngx_conf_merge_uint_value(conf->upstream.cache_min_uses,
                               prev->upstream.cache_min_uses, 1);
 
+    ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset,
+                              prev->upstream.cache_max_range_offset,
+                              NGX_MAX_OFF_T_VALUE);
+
     ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale,
                               prev->upstream.cache_use_stale,
                               (NGX_CONF_BITMASK_SET
@@ -1558,6 +1568,20 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
 
 #endif
 
+    /*
+     * special handling to preserve conf->params in the "http" section
+     * to inherit it to all servers
+     */
+
+    if (prev->params.hash.buckets == NULL
+        && conf->params_source == prev->params_source)
+    {
+        prev->params = conf->params;
+#if (NGX_HTTP_CACHE)
+        prev->params_cache = conf->params_cache;
+#endif
+    }
+
     return NGX_CONF_OK;
 }
 

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_secure_link_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_slice_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_split_clients_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_ssi_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_ssi_filter_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_ssl_module.c (+6 -0) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_ssl_module.c    2016-11-22 16:30:41 +0900 (d685ae9)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_ssl_module.c    2016-11-22 16:34:42 +0900 (e75f5d8)
@@ -298,6 +298,12 @@ static ngx_http_variable_t  ngx_http_ssl_vars[] = {
     { ngx_string("ssl_client_i_dn"), NULL, ngx_http_ssl_variable,
       (uintptr_t) ngx_ssl_get_issuer_dn, NGX_HTTP_VAR_CHANGEABLE, 0 },
 
+    { ngx_string("ssl_client_s_dn_legacy"), NULL, ngx_http_ssl_variable,
+      (uintptr_t) ngx_ssl_get_subject_dn_legacy, NGX_HTTP_VAR_CHANGEABLE, 0 },
+
+    { ngx_string("ssl_client_i_dn_legacy"), NULL, ngx_http_ssl_variable,
+      (uintptr_t) ngx_ssl_get_issuer_dn_legacy, NGX_HTTP_VAR_CHANGEABLE, 0 },
+
     { ngx_string("ssl_client_serial"), NULL, ngx_http_ssl_variable,
       (uintptr_t) ngx_ssl_get_serial_number, NGX_HTTP_VAR_CHANGEABLE, 0 },
 

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_ssl_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_static_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_stub_status_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_sub_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_hash_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_ip_hash_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_keepalive_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_least_conn_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_upstream_zone_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_userid_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_uwsgi_module.c (+29 -5) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/ngx_http_uwsgi_module.c    2016-11-22 16:30:41 +0900 (7f916e8)
+++ vendor/nginx-1.11.6/src/http/modules/ngx_http_uwsgi_module.c    2016-11-22 16:34:42 +0900 (b9c8dba)
@@ -330,6 +330,13 @@ static ngx_command_t ngx_http_uwsgi_commands[] = {
       offsetof(ngx_http_uwsgi_loc_conf_t, upstream.cache_min_uses),
       NULL },
 
+    { ngx_string("uwsgi_cache_max_range_offset"),
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+      ngx_conf_set_off_slot,
+      NGX_HTTP_LOC_CONF_OFFSET,
+      offsetof(ngx_http_uwsgi_loc_conf_t, upstream.cache_max_range_offset),
+      NULL },
+
     { ngx_string("uwsgi_cache_use_stale"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
       ngx_conf_set_bitmask_slot,
@@ -764,16 +771,14 @@ ngx_http_uwsgi_eval(ngx_http_request_t *r, ngx_http_uwsgi_loc_conf_t * uwcf)
         return NGX_ERROR;
     }
 
-    if (url.addrs && url.addrs[0].sockaddr) {
+    if (url.addrs) {
         u->resolved->sockaddr = url.addrs[0].sockaddr;
         u->resolved->socklen = url.addrs[0].socklen;
+        u->resolved->name = url.addrs[0].name;
         u->resolved->naddrs = 1;
-        u->resolved->host = url.addrs[0].name;
-
-    } else {
-        u->resolved->host = url.host;
     }
 
+    u->resolved->host = url.host;
     u->resolved->port = url.port;
     u->resolved->no_port = url.no_port;
 
@@ -1412,6 +1417,7 @@ ngx_http_uwsgi_create_loc_conf(ngx_conf_t *cf)
 #if (NGX_HTTP_CACHE)
     conf->upstream.cache = NGX_CONF_UNSET;
     conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
+    conf->upstream.cache_max_range_offset = NGX_CONF_UNSET;
     conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
     conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
     conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
@@ -1660,6 +1666,10 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
     ngx_conf_merge_uint_value(conf->upstream.cache_min_uses,
                               prev->upstream.cache_min_uses, 1);
 
+    ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset,
+                              prev->upstream.cache_max_range_offset,
+                              NGX_MAX_OFF_T_VALUE);
+
     ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale,
                               prev->upstream.cache_use_stale,
                               (NGX_CONF_BITMASK_SET
@@ -1820,6 +1830,20 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
 
 #endif
 
+    /*
+     * special handling to preserve conf->params in the "http" section
+     * to inherit it to all servers
+     */
+
+    if (prev->params.hash.buckets == NULL
+        && conf->params_source == prev->params_source)
+    {
+        prev->params = conf->params;
+#if (NGX_HTTP_CACHE)
+        prev->params_cache = conf->params_cache;
+#endif
+    }
+
     return NGX_CONF_OK;
 }
 

  Renamed: vendor/nginx-1.11.6/src/http/modules/ngx_http_xslt_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/perl/Makefile.PL (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/perl/nginx.pm (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/perl/nginx.xs (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/perl/ngx_http_perl_module.c (+1 -1) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/modules/perl/ngx_http_perl_module.c    2016-11-22 16:30:41 +0900 (6a8894c)
+++ vendor/nginx-1.11.6/src/http/modules/perl/ngx_http_perl_module.c    2016-11-22 16:34:42 +0900 (f9a9a84)
@@ -410,7 +410,7 @@ ngx_http_perl_ssi(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ssi_ctx,
 
     args = &params[NGX_HTTP_PERL_SSI_ARG];
 
-    if (args) {
+    if (args[0]) {
 
         for (i = 0; args[i]; i++) { /* void */ }
 

  Renamed: vendor/nginx-1.11.6/src/http/modules/perl/ngx_http_perl_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/modules/perl/typemap (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_cache.h (+3 -1) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_cache.h    2016-11-22 16:30:41 +0900 (70342d0)
+++ vendor/nginx-1.11.6/src/http/ngx_http_cache.h    2016-11-22 16:34:42 +0900 (4075f3d)
@@ -151,7 +151,6 @@ struct ngx_http_file_cache_s {
     ngx_slab_pool_t                 *shpool;
 
     ngx_path_t                      *path;
-    ngx_path_t                      *temp_path;
 
     off_t                            max_size;
     size_t                           bsize;
@@ -171,6 +170,9 @@ struct ngx_http_file_cache_s {
     ngx_msec_t                       manager_threshold;
 
     ngx_shm_zone_t                  *shm_zone;
+
+    ngx_uint_t                       use_temp_path;
+                                     /* unsigned use_temp_path:1 */
 };
 
 

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_copy_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_core_module.c (+0 -2) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_core_module.c    2016-11-22 16:30:41 +0900 (9da5d109)
+++ vendor/nginx-1.11.6/src/http/ngx_http_core_module.c    2016-11-22 16:34:42 +0900 (4e37cec)
@@ -4827,8 +4827,6 @@ ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
                 case NGX_HTTPS_CERT_ERROR:
                 case NGX_HTTPS_NO_CERT:
                     err->overwrite = NGX_HTTP_BAD_REQUEST;
-                default:
-                    break;
             }
         }
 

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_core_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_file_cache.c (+36 -41) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_file_cache.c    2016-11-22 16:30:41 +0900 (199a901)
+++ vendor/nginx-1.11.6/src/http/ngx_http_file_cache.c    2016-11-22 16:34:42 +0900 (3c8ad7d)
@@ -1920,17 +1920,18 @@ ngx_http_file_cache_manager(void *data)
     ngx_http_file_cache_t  *cache = data;
 
     off_t       size;
-    time_t      next, wait;
-    ngx_msec_t  elapsed;
+    time_t      wait;
+    ngx_msec_t  elapsed, next;
     ngx_uint_t  count, watermark;
 
     cache->last = ngx_current_msec;
     cache->files = 0;
 
-    next = ngx_http_file_cache_expire(cache);
+    next = (ngx_msec_t) ngx_http_file_cache_expire(cache) * 1000;
 
     if (next == 0) {
-        return cache->manager_sleep;
+        next = cache->manager_sleep;
+        goto done;
     }
 
     for ( ;; ) {
@@ -1947,21 +1948,23 @@ ngx_http_file_cache_manager(void *data)
                        size, count, (ngx_int_t) watermark);
 
         if (size < cache->max_size && count < watermark) {
-            return (ngx_msec_t) next * 1000;
+            break;
         }
 
         wait = ngx_http_file_cache_forced_expire(cache);
 
         if (wait > 0) {
-            return (ngx_msec_t) wait * 1000;
+            next = (ngx_msec_t) wait * 1000;
+            break;
         }
 
         if (ngx_quit || ngx_terminate) {
-            return (ngx_msec_t) next * 1000;
+            break;
         }
 
         if (++cache->files >= cache->manager_files) {
-            return cache->manager_sleep;
+            next = cache->manager_sleep;
+            break;
         }
 
         ngx_time_update();
@@ -1969,9 +1972,20 @@ ngx_http_file_cache_manager(void *data)
         elapsed = ngx_abs((ngx_msec_int_t) (ngx_current_msec - cache->last));
 
         if (elapsed >= cache->manager_threshold) {
-            return cache->manager_sleep;
+            next = cache->manager_sleep;
+            break;
         }
     }
+
+done:
+
+    elapsed = ngx_abs((ngx_msec_int_t) (ngx_current_msec - cache->last));
+
+    ngx_log_debug3(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0,
+                   "http file cache manager: %ui e:%M n:%M",
+                   cache->files, elapsed, next);
+
+    return next;
 }
 
 
@@ -2098,6 +2112,17 @@ ngx_http_file_cache_add_file(ngx_tree_ctx_t *ctx, ngx_str_t *name)
         return NGX_ERROR;
     }
 
+    /*
+     * Temporary files in cache have a suffix consisting of a dot
+     * followed by 10 digits.
+     */
+
+    if (name->len >= 2 * NGX_HTTP_CACHE_KEY_LEN + 1 + 10
+        && name->data[name->len - 10 - 1] == '.')
+    {
+        return NGX_OK;
+    }
+
     if (ctx->size < (off_t) sizeof(ngx_http_file_cache_header_t)) {
         ngx_log_error(NGX_LOG_CRIT, ctx->log, 0,
                       "cache file \"%s\" is too small", name->data);
@@ -2242,7 +2267,6 @@ ngx_http_file_cache_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
     off_t                   max_size;
     u_char                 *last, *p;
     time_t                  inactive;
-    size_t                  len;
     ssize_t                 size;
     ngx_str_t               s, name, *value;
     ngx_int_t               loader_files, manager_files;
@@ -2515,37 +2539,6 @@ ngx_http_file_cache_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
         return NGX_CONF_ERROR;
     }
 
-    if (!use_temp_path) {
-        cache->temp_path = ngx_pcalloc(cf->pool, sizeof(ngx_path_t));
-        if (cache->temp_path == NULL) {
-            return NGX_CONF_ERROR;
-        }
-
-        len = cache->path->name.len + sizeof("/temp") - 1;
-
-        p = ngx_pnalloc(cf->pool, len + 1);
-        if (p == NULL) {
-            return NGX_CONF_ERROR;
-        }
-
-        cache->temp_path->name.len = len;
-        cache->temp_path->name.data = p;
-
-        p = ngx_cpymem(p, cache->path->name.data, cache->path->name.len);
-        ngx_memcpy(p, "/temp", sizeof("/temp"));
-
-        ngx_memcpy(&cache->temp_path->level, &cache->path->level,
-                   NGX_MAX_PATH_LEVEL * sizeof(size_t));
-
-        cache->temp_path->len = cache->path->len;
-        cache->temp_path->conf_file = cf->conf_file->file.name.data;
-        cache->temp_path->line = cf->conf_file->line;
-
-        if (ngx_add_path(cf, &cache->temp_path) != NGX_OK) {
-            return NGX_CONF_ERROR;
-        }
-    }
-
     cache->shm_zone = ngx_shared_memory_add(cf, &name, size, cmd->post);
     if (cache->shm_zone == NULL) {
         return NGX_CONF_ERROR;
@@ -2561,6 +2554,8 @@ ngx_http_file_cache_set_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
     cache->shm_zone->init = ngx_http_file_cache_init;
     cache->shm_zone->data = cache;
 
+    cache->use_temp_path = use_temp_path;
+
     cache->inactive = inactive;
     cache->max_size = max_size;
 

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_header_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_parse.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_postpone_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_request.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_request.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_request_body.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_script.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_script.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_special_response.c (+0 -1) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_special_response.c    2016-11-22 16:30:41 +0900 (7692f80)
+++ vendor/nginx-1.11.6/src/http/ngx_http_special_response.c    2016-11-22 16:34:42 +0900 (d4c39ff)
@@ -473,7 +473,6 @@ ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error)
             case NGX_HTTPS_NO_CERT:
             case NGX_HTTP_REQUEST_HEADER_TOO_LARGE:
                 r->err_status = NGX_HTTP_BAD_REQUEST;
-                break;
         }
 
     } else {

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_upstream.c (+122 -34) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_upstream.c    2016-11-22 16:30:41 +0900 (ceb798f)
+++ vendor/nginx-1.11.6/src/http/ngx_http_upstream.c    2016-11-22 16:34:42 +0900 (ed25f43)
@@ -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_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,
     ngx_http_variable_value_t *v, uintptr_t data);
 static ngx_int_t ngx_http_upstream_cache_last_modified(ngx_http_request_t *r,
@@ -654,6 +656,23 @@ ngx_http_upstream_init_request(ngx_http_request_t *r)
 
         host = &u->resolved->host;
 
+        umcf = ngx_http_get_module_main_conf(r, ngx_http_upstream_module);
+
+        uscfp = umcf->upstreams.elts;
+
+        for (i = 0; i < umcf->upstreams.nelts; i++) {
+
+            uscf = uscfp[i];
+
+            if (uscf->host.len == host->len
+                && ((uscf->port == 0 && u->resolved->no_port)
+                     || uscf->port == u->resolved->port)
+                && ngx_strncasecmp(uscf->host.data, host->data, host->len) == 0)
+            {
+                goto found;
+            }
+        }
+
         if (u->resolved->sockaddr) {
 
             if (u->resolved->port == 0
@@ -679,23 +698,6 @@ ngx_http_upstream_init_request(ngx_http_request_t *r)
             return;
         }
 
-        umcf = ngx_http_get_module_main_conf(r, ngx_http_upstream_module);
-
-        uscfp = umcf->upstreams.elts;
-
-        for (i = 0; i < umcf->upstreams.nelts; i++) {
-
-            uscf = uscfp[i];
-
-            if (uscf->host.len == host->len
-                && ((uscf->port == 0 && u->resolved->no_port)
-                     || uscf->port == u->resolved->port)
-                && ngx_strncasecmp(uscf->host.data, host->data, host->len) == 0)
-            {
-                goto found;
-            }
-        }
-
         if (u->resolved->port == 0) {
             ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
                           "no port in upstream \"%V\"", host);
@@ -922,6 +924,10 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u)
         return rc;
     }
 
+    if (ngx_http_upstream_cache_check_range(r, u) == NGX_DECLINED) {
+        u->cacheable = 0;
+    }
+
     r->cached = 0;
 
     return NGX_DECLINED;
@@ -1023,6 +1029,55 @@ ngx_http_upstream_cache_send(ngx_http_request_t *r, ngx_http_upstream_t *u)
     return rc;
 }
 
+
+static ngx_int_t
+ngx_http_upstream_cache_check_range(ngx_http_request_t *r,
+    ngx_http_upstream_t *u)
+{
+    off_t             offset;
+    u_char           *p, *start;
+    ngx_table_elt_t  *h;
+
+    h = r->headers_in.range;
+
+    if (h == NULL
+        || !u->cacheable
+        || u->conf->cache_max_range_offset == NGX_MAX_OFF_T_VALUE)
+    {
+        return NGX_OK;
+    }
+
+    if (u->conf->cache_max_range_offset == 0) {
+        return NGX_DECLINED;
+    }
+
+    if (h->value.len < 7
+        || ngx_strncasecmp(h->value.data, (u_char *) "bytes=", 6) != 0)
+    {
+        return NGX_OK;
+    }
+
+    p = h->value.data + 6;
+
+    while (*p == ' ') { p++; }
+
+    if (*p == '-') {
+        return NGX_DECLINED;
+    }
+
+    start = p;
+
+    while (*p >= '0' && *p <= '9') { p++; }
+
+    offset = ngx_atoof(start, p - start);
+
+    if (offset >= u->conf->cache_max_range_offset) {
+        return NGX_DECLINED;
+    }
+
+    return NGX_OK;
+}
+
 #endif
 
 
@@ -1611,6 +1666,13 @@ ngx_http_upstream_ssl_handshake(ngx_connection_t *c)
         return;
     }
 
+    if (c->write->timedout) {
+        c = r->connection;
+        ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_TIMEOUT);
+        ngx_http_run_posted_requests(c);
+        return;
+    }
+
 failed:
 
     c = r->connection;
@@ -1696,7 +1758,10 @@ ngx_http_upstream_ssl_name(ngx_http_request_t *r, ngx_http_upstream_t *u,
     ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                    "upstream SSL server name: \"%s\"", name.data);
 
-    if (SSL_set_tlsext_host_name(c->ssl->connection, name.data) == 0) {
+    if (SSL_set_tlsext_host_name(c->ssl->connection,
+                                 (char *) name.data)
+        == 0)
+    {
         ngx_ssl_error(NGX_LOG_ERR, r->connection->log, 0,
                       "SSL_set_tlsext_host_name(\"%s\") failed", name.data);
         return NGX_ERROR;
@@ -2702,6 +2767,15 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u)
     u->header_sent = 1;
 
     if (u->upgrade) {
+
+#if (NGX_HTTP_CACHE)
+
+        if (r->cache) {
+            ngx_http_file_cache_free(r->cache, u->pipe->temp_file);
+        }
+
+#endif
+
         ngx_http_upstream_upgrade(r, u);
         return;
     }
@@ -2732,6 +2806,14 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u)
 
     if (!u->buffering) {
 
+#if (NGX_HTTP_CACHE)
+
+        if (r->cache) {
+            ngx_http_file_cache_free(r->cache, u->pipe->temp_file);
+        }
+
+#endif
+
         if (u->input_filter == NULL) {
             u->input_filter_init = ngx_http_upstream_non_buffered_filter_init;
             u->input_filter = ngx_http_upstream_non_buffered_filter;
@@ -2922,8 +3004,9 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u)
         p->temp_file->persistent = 1;
 
 #if (NGX_HTTP_CACHE)
-        if (r->cache && r->cache->file_cache->temp_path) {
-            p->temp_file->path = r->cache->file_cache->temp_path;
+        if (r->cache && !r->cache->file_cache->use_temp_path) {
+            p->temp_file->path = r->cache->file_cache->path;
+            p->temp_file->file.name = r->cache->file.name;
         }
 #endif
 
@@ -5757,14 +5840,9 @@ ngx_http_upstream_add(ngx_conf_t *cf, ngx_url_t *u, ngx_uint_t flags)
             continue;
         }
 
-        if (uscfp[i]->default_port && u->default_port
-            && uscfp[i]->default_port != u->default_port)
-        {
-            continue;
-        }
-
         if (flags & NGX_HTTP_UPSTREAM_CREATE) {
             uscfp[i]->flags = flags;
+            uscfp[i]->port = 0;
         }
 
         return uscfp[i];
@@ -5780,7 +5858,6 @@ ngx_http_upstream_add(ngx_conf_t *cf, ngx_url_t *u, ngx_uint_t flags)
     uscf->file_name = cf->conf_file->file.name.data;
     uscf->line = cf->conf_file->line;
     uscf->port = u->port;
-    uscf->default_port = u->default_port;
     uscf->no_port = u->no_port;
 
     if (u->naddrs == 1 && (u->port || u->family == AF_UNIX)) {
@@ -6021,12 +6098,7 @@ ngx_http_upstream_hide_headers_hash(ngx_conf_t *cf,
 
         conf->hide_headers_hash = prev->hide_headers_hash;
 
-        if (conf->hide_headers_hash.buckets
-#if (NGX_HTTP_CACHE)
-            && ((conf->cache == 0) == (prev->cache == 0))
-#endif
-           )
-        {
+        if (conf->hide_headers_hash.buckets) {
             return NGX_OK;
         }
 
@@ -6111,7 +6183,23 @@ ngx_http_upstream_hide_headers_hash(ngx_conf_t *cf,
     hash->pool = cf->pool;
     hash->temp_pool = NULL;
 
-    return ngx_hash_init(hash, hide_headers.elts, hide_headers.nelts);
+    if (ngx_hash_init(hash, hide_headers.elts, hide_headers.nelts) != NGX_OK) {
+        return NGX_ERROR;
+    }
+
+    /*
+     * special handling to preserve conf->hide_headers_hash
+     * in the "http" section to inherit it to all servers
+     */
+
+    if (prev->hide_headers_hash.buckets == NULL
+        && conf->hide_headers == prev->hide_headers
+        && conf->pass_headers == prev->pass_headers)
+    {
+        prev->hide_headers_hash = conf->hide_headers_hash;
+    }
+
+    return NGX_OK;
 }
 
 

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_upstream.h (+3 -1) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_upstream.h    2016-11-22 16:30:41 +0900 (3d521f2)
+++ vendor/nginx-1.11.6/src/http/ngx_http_upstream.h    2016-11-22 16:34:42 +0900 (7390f2e)
@@ -128,7 +128,6 @@ struct ngx_http_upstream_srv_conf_s {
     u_char                          *file_name;
     ngx_uint_t                       line;
     in_port_t                        port;
-    in_port_t                        default_port;
     ngx_uint_t                       no_port;  /* unsigned no_port:1 */
 
 #if (NGX_HTTP_UPSTREAM_ZONE)
@@ -199,6 +198,8 @@ typedef struct {
     ngx_uint_t                       cache_use_stale;
     ngx_uint_t                       cache_methods;
 
+    off_t                            cache_max_range_offset;
+
     ngx_flag_t                       cache_lock;
     ngx_msec_t                       cache_lock_timeout;
     ngx_msec_t                       cache_lock_age;
@@ -300,6 +301,7 @@ typedef struct {
 
     struct sockaddr                 *sockaddr;
     socklen_t                        socklen;
+    ngx_str_t                        name;
 
     ngx_resolver_ctx_t              *ctx;
 } ngx_http_upstream_resolved_t;

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_upstream_round_robin.c (+1 -1) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/ngx_http_upstream_round_robin.c    2016-11-22 16:30:41 +0900 (0137bf6)
+++ vendor/nginx-1.11.6/src/http/ngx_http_upstream_round_robin.c    2016-11-22 16:34:42 +0900 (f6051ae)
@@ -337,7 +337,7 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r,
     if (ur->sockaddr) {
         peer[0].sockaddr = ur->sockaddr;
         peer[0].socklen = ur->socklen;
-        peer[0].name = ur->host;
+        peer[0].name = ur->name.data ? ur->name : ur->host;
         peer[0].weight = 1;
         peer[0].effective_weight = 1;
         peer[0].current_weight = 0;

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_upstream_round_robin.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_variables.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_variables.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/ngx_http_write_filter_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2.c (+56 -12) 98%
===================================================================
--- vendor/nginx-1.11.5/src/http/v2/ngx_http_v2.c    2016-11-22 16:30:41 +0900 (235092b)
+++ vendor/nginx-1.11.6/src/http/v2/ngx_http_v2.c    2016-11-22 16:34:42 +0900 (8301630)
@@ -136,6 +136,8 @@ static ngx_int_t ngx_http_v2_send_window_update(ngx_http_v2_connection_t *h2c,
     ngx_uint_t sid, size_t window);
 static ngx_int_t ngx_http_v2_send_rst_stream(ngx_http_v2_connection_t *h2c,
     ngx_uint_t sid, ngx_uint_t status);
+static ngx_int_t ngx_http_v2_send_goaway(ngx_http_v2_connection_t *h2c,
+    ngx_uint_t status);
 
 static ngx_http_v2_out_frame_t *ngx_http_v2_get_frame(
     ngx_http_v2_connection_t *h2c, size_t length, ngx_uint_t type,
@@ -293,6 +295,8 @@ ngx_http_v2_init(ngx_event_t *rev)
     rev->handler = ngx_http_v2_read_handler;
     c->write->handler = ngx_http_v2_write_handler;
 
+    c->idle = 1;
+
     ngx_http_v2_read_handler(rev);
 }
 
@@ -320,6 +324,30 @@ ngx_http_v2_read_handler(ngx_event_t *rev)
 
     h2c->blocked = 1;
 
+    if (c->close) {
+        c->close = 0;
+
+        if (!h2c->goaway) {
+            h2c->goaway = 1;
+
+            if (ngx_http_v2_send_goaway(h2c, NGX_HTTP_V2_NO_ERROR)
+                == NGX_ERROR)
+            {
+                ngx_http_v2_finalize_connection(h2c, 0);
+                return;
+            }
+
+            if (ngx_http_v2_send_output_queue(h2c) == NGX_ERROR) {
+                ngx_http_v2_finalize_connection(h2c, 0);
+                return;
+            }
+        }
+
+        h2c->blocked = 0;
+
+        return;
+    }
+
     h2mcf = ngx_http_get_module_main_conf(h2c->http_connection->conf_ctx,
                                           ngx_http_v2_module);
 
@@ -633,6 +661,11 @@ ngx_http_v2_handle_connection(ngx_http_v2_connection_t *h2c)
         /* rc == NGX_OK */
     }
 
+    if (h2c->goaway) {
+        ngx_http_close_connection(c);
+        return;
+    }
+
     h2scf = ngx_http_get_module_srv_conf(h2c->http_connection->conf_ctx,
                                          ngx_http_v2_module);
     if (h2c->state.incomplete) {
@@ -640,11 +673,6 @@ ngx_http_v2_handle_connection(ngx_http_v2_connection_t *h2c)
         return;
     }
 
-    if (ngx_terminate || ngx_exiting) {
-        ngx_http_v2_finalize_connection(h2c, NGX_HTTP_V2_NO_ERROR);
-        return;
-    }
-
     ngx_destroy_pool(h2c->pool);
 
     h2c->pool = NULL;
@@ -658,7 +686,6 @@ ngx_http_v2_handle_connection(ngx_http_v2_connection_t *h2c)
 #endif
 
     c->destroyed = 1;
-    c->idle = 1;
     ngx_reusable_connection(c, 1);
 
     c->write->handler = ngx_http_empty_handler;
@@ -1027,6 +1054,12 @@ ngx_http_v2_state_headers(ngx_http_v2_connection_t *h2c, u_char *pos,
         return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_SIZE_ERROR);
     }
 
+    if (h2c->goaway) {
+        ngx_log_debug0(NGX_LOG_DEBUG_HTTP, h2c->connection->log, 0,
+                       "skipping http2 HEADERS frame");
+        return ngx_http_v2_state_skip(h2c, pos, end);
+    }
+
     if ((size_t) (end - pos) < size) {
         return ngx_http_v2_state_save(h2c, pos, end,
                                       ngx_http_v2_state_headers);
@@ -1149,6 +1182,15 @@ ngx_http_v2_state_headers(ngx_http_v2_connection_t *h2c, u_char *pos,
         ngx_http_v2_set_dependency(h2c, node, depend, excl);
     }
 
+    if (h2c->connection->requests >= h2scf->max_requests) {
+        h2c->goaway = 1;
+
+        if (ngx_http_v2_send_goaway(h2c, NGX_HTTP_V2_NO_ERROR) == NGX_ERROR) {
+            return ngx_http_v2_connection_error(h2c,
+                                                NGX_HTTP_V2_INTERNAL_ERROR);
+        }
+    }
+
     return ngx_http_v2_state_header_block(h2c, pos, end);
 
 rst_stream:
@@ -2550,7 +2592,7 @@ ngx_http_v2_send_rst_stream(ngx_http_v2_connection_t *h2c, ngx_uint_t sid,
     ngx_http_v2_out_frame_t  *frame;
 
     ngx_log_debug2(NGX_LOG_DEBUG_HTTP, h2c->connection->log, 0,
-                   "http2 send RST_STREAM frame sid:%ui, status:%uz",
+                   "http2 send RST_STREAM frame sid:%ui, status:%ui",
                    sid, status);
 
     frame = ngx_http_v2_get_frame(h2c, NGX_HTTP_V2_RST_STREAM_SIZE,
@@ -2576,8 +2618,9 @@ ngx_http_v2_send_goaway(ngx_http_v2_connection_t *h2c, ngx_uint_t status)
     ngx_buf_t                *buf;
     ngx_http_v2_out_frame_t  *frame;
 
-    ngx_log_debug1(NGX_LOG_DEBUG_HTTP, h2c->connection->log, 0,
-                   "http2 send GOAWAY frame, status:%uz", status);
+    ngx_log_debug2(NGX_LOG_DEBUG_HTTP, h2c->connection->log, 0,
+                   "http2 send GOAWAY frame: last sid %ui, error %ui",
+                   h2c->last_sid, status);
 
     frame = ngx_http_v2_get_frame(h2c, NGX_HTTP_V2_GOAWAY_SIZE,
                                   NGX_HTTP_V2_GOAWAY_FRAME,
@@ -4162,7 +4205,6 @@ ngx_http_v2_idle_handler(ngx_event_t *rev)
 #endif
 
     c->destroyed = 0;
-    c->idle = 0;
     ngx_reusable_connection(c, 0);
 
     h2scf = ngx_http_get_module_srv_conf(h2c->http_connection->conf_ctx,
@@ -4197,8 +4239,10 @@ ngx_http_v2_finalize_connection(ngx_http_v2_connection_t *h2c,
 
     h2c->blocked = 1;
 
-    if (!c->error && ngx_http_v2_send_goaway(h2c, status) != NGX_ERROR) {
-        (void) ngx_http_v2_send_output_queue(h2c);
+    if (!c->error && !h2c->goaway) {
+        if (ngx_http_v2_send_goaway(h2c, status) != NGX_ERROR) {
+            (void) ngx_http_v2_send_output_queue(h2c);
+        }
     }
 
     c->error = 1;

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2.h (+1 -0) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/v2/ngx_http_v2.h    2016-11-22 16:30:41 +0900 (d712d38)
+++ vendor/nginx-1.11.6/src/http/v2/ngx_http_v2.h    2016-11-22 16:34:42 +0900 (63bbdad)
@@ -146,6 +146,7 @@ struct ngx_http_v2_connection_s {
     unsigned                         closed_nodes:8;
     unsigned                         settings_ack:1;
     unsigned                         blocked:1;
+    unsigned                         goaway:1;
 };
 
 

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_filter_module.c (+4 -0) 99%
===================================================================
--- vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_filter_module.c    2016-11-22 16:30:41 +0900 (4ab7791)
+++ vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_filter_module.c    2016-11-22 16:34:42 +0900 (878020e)
@@ -1079,6 +1079,10 @@ static ngx_inline ngx_int_t
 ngx_http_v2_flow_control(ngx_http_v2_connection_t *h2c,
     ngx_http_v2_stream_t *stream)
 {
+    ngx_log_debug3(NGX_LOG_DEBUG_HTTP, h2c->connection->log, 0,
+                   "http2:%ui available windows: conn:%uz stream:%z",
+                   stream->node->id, h2c->send_window, stream->send_window);
+
     if (stream->send_window <= 0) {
         stream->exhausted = 1;
         return NGX_DECLINED;

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_huff_decode.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_huff_encode.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_module.c (+9 -0) 97%
===================================================================
--- vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_module.c    2016-11-22 16:30:41 +0900 (b7d99e0)
+++ vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_module.c    2016-11-22 16:34:42 +0900 (032abcb)
@@ -73,6 +73,13 @@ static ngx_command_t  ngx_http_v2_commands[] = {
       offsetof(ngx_http_v2_srv_conf_t, concurrent_streams),
       NULL },
 
+    { ngx_string("http2_max_requests"),
+      NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1,
+      ngx_conf_set_num_slot,
+      NGX_HTTP_SRV_CONF_OFFSET,
+      offsetof(ngx_http_v2_srv_conf_t, max_requests),
+      NULL },
+
     { ngx_string("http2_max_field_size"),
       NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1,
       ngx_conf_set_size_slot,
@@ -322,6 +329,7 @@ ngx_http_v2_create_srv_conf(ngx_conf_t *cf)
     h2scf->pool_size = NGX_CONF_UNSET_SIZE;
 
     h2scf->concurrent_streams = NGX_CONF_UNSET_UINT;
+    h2scf->max_requests = NGX_CONF_UNSET_UINT;
 
     h2scf->max_field_size = NGX_CONF_UNSET_SIZE;
     h2scf->max_header_size = NGX_CONF_UNSET_SIZE;
@@ -347,6 +355,7 @@ ngx_http_v2_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
 
     ngx_conf_merge_uint_value(conf->concurrent_streams,
                               prev->concurrent_streams, 128);
+    ngx_conf_merge_uint_value(conf->max_requests, prev->max_requests, 1000);
 
     ngx_conf_merge_size_value(conf->max_field_size, prev->max_field_size,
                               4096);

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_module.h (+1 -0) 95%
===================================================================
--- vendor/nginx-1.11.5/src/http/v2/ngx_http_v2_module.h    2016-11-22 16:30:41 +0900 (91f97c2)
+++ vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_module.h    2016-11-22 16:34:42 +0900 (540f826)
@@ -23,6 +23,7 @@ typedef struct {
 typedef struct {
     size_t                          pool_size;
     ngx_uint_t                      concurrent_streams;
+    ngx_uint_t                      max_requests;
     size_t                          max_field_size;
     size_t                          max_header_size;
     size_t                          preread_size;

  Renamed: vendor/nginx-1.11.6/src/http/v2/ngx_http_v2_table.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail.h (+10 -3) 96%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail.h    2016-11-22 16:30:41 +0900 (c30af35)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail.h    2016-11-22 16:34:42 +0900 (6002508)
@@ -132,7 +132,8 @@ typedef enum {
     ngx_pop3_auth_login_username,
     ngx_pop3_auth_login_password,
     ngx_pop3_auth_plain,
-    ngx_pop3_auth_cram_md5
+    ngx_pop3_auth_cram_md5,
+    ngx_pop3_auth_external
 } ngx_pop3_state_e;
 
 
@@ -142,6 +143,7 @@ typedef enum {
     ngx_imap_auth_login_password,
     ngx_imap_auth_plain,
     ngx_imap_auth_cram_md5,
+    ngx_imap_auth_external,
     ngx_imap_login,
     ngx_imap_user,
     ngx_imap_passwd
@@ -154,6 +156,7 @@ typedef enum {
     ngx_smtp_auth_login_password,
     ngx_smtp_auth_plain,
     ngx_smtp_auth_cram_md5,
+    ngx_smtp_auth_external,
     ngx_smtp_helo,
     ngx_smtp_helo_xclient,
     ngx_smtp_helo_from,
@@ -285,14 +288,16 @@ typedef struct {
 #define NGX_MAIL_AUTH_LOGIN_USERNAME    2
 #define NGX_MAIL_AUTH_APOP              3
 #define NGX_MAIL_AUTH_CRAM_MD5          4
-#define NGX_MAIL_AUTH_NONE              5
+#define NGX_MAIL_AUTH_EXTERNAL          5
+#define NGX_MAIL_AUTH_NONE              6
 
 
 #define NGX_MAIL_AUTH_PLAIN_ENABLED     0x0002
 #define NGX_MAIL_AUTH_LOGIN_ENABLED     0x0004
 #define NGX_MAIL_AUTH_APOP_ENABLED      0x0008
 #define NGX_MAIL_AUTH_CRAM_MD5_ENABLED  0x0010
-#define NGX_MAIL_AUTH_NONE_ENABLED      0x0020
+#define NGX_MAIL_AUTH_EXTERNAL_ENABLED  0x0020
+#define NGX_MAIL_AUTH_NONE_ENABLED      0x0040
 
 
 #define NGX_MAIL_PARSE_INVALID_COMMAND  20
@@ -377,6 +382,8 @@ ngx_int_t ngx_mail_auth_login_password(ngx_mail_session_t *s,
 ngx_int_t ngx_mail_auth_cram_md5_salt(ngx_mail_session_t *s,
     ngx_connection_t *c, char *prefix, size_t len);
 ngx_int_t ngx_mail_auth_cram_md5(ngx_mail_session_t *s, ngx_connection_t *c);
+ngx_int_t ngx_mail_auth_external(ngx_mail_session_t *s, ngx_connection_t *c,
+    ngx_uint_t n);
 ngx_int_t ngx_mail_auth_parse(ngx_mail_session_t *s, ngx_connection_t *c);
 
 void ngx_mail_send(ngx_event_t *wev);

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_auth_http_module.c (+1 -0) 99%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_auth_http_module.c    2016-11-22 16:30:41 +0900 (a94434a)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_auth_http_module.c    2016-11-22 16:34:42 +0900 (6b57358)
@@ -151,6 +151,7 @@ static ngx_str_t   ngx_mail_auth_http_method[] = {
     ngx_string("plain"),
     ngx_string("apop"),
     ngx_string("cram-md5"),
+    ngx_string("external"),
     ngx_string("none")
 };
 

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_core_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_handler.c (+34 -0) 95%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_handler.c    2016-11-22 16:30:41 +0900 (901bb8f)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_handler.c    2016-11-22 16:34:42 +0900 (9d4ef56)
@@ -612,6 +612,40 @@ ngx_mail_auth_cram_md5(ngx_mail_session_t *s, ngx_connection_t *c)
 }
 
 
+ngx_int_t
+ngx_mail_auth_external(ngx_mail_session_t *s, ngx_connection_t *c,
+    ngx_uint_t n)
+{
+    ngx_str_t  *arg, external;
+
+    arg = s->args.elts;
+
+    ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0,
+                   "mail auth external: \"%V\"", &arg[n]);
+
+    external.data = ngx_pnalloc(c->pool, ngx_base64_decoded_length(arg[n].len));
+    if (external.data == NULL) {
+        return NGX_ERROR;
+    }
+
+    if (ngx_decode_base64(&external, &arg[n]) != NGX_OK) {
+        ngx_log_error(NGX_LOG_INFO, c->log, 0,
+            "client sent invalid base64 encoding in AUTH EXTERNAL command");
+        return NGX_MAIL_PARSE_INVALID_COMMAND;
+    }
+
+    s->login.len = external.len;
+    s->login.data = external.data;
+
+    ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0,
+                   "mail auth external: \"%V\"", &s->login);
+
+    s->auth_method = NGX_MAIL_AUTH_EXTERNAL;
+
+    return NGX_DONE;
+}
+
+
 void
 ngx_mail_send(ngx_event_t *wev)
 {

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_imap_handler.c (+11 -0) 97%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_imap_handler.c    2016-11-22 16:30:41 +0900 (57e2fb7)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_imap_handler.c    2016-11-22 16:34:42 +0900 (1c54457)
@@ -222,6 +222,10 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
         case ngx_imap_auth_cram_md5:
             rc = ngx_mail_auth_cram_md5(s, c);
             break;
+
+        case ngx_imap_auth_external:
+            rc = ngx_mail_auth_external(s, c, 0);
+            break;
         }
 
     } else if (rc == NGX_IMAP_NEXT) {
@@ -399,6 +403,13 @@ ngx_mail_imap_authenticate(ngx_mail_session_t *s, ngx_connection_t *c)
         }
 
         return NGX_ERROR;
+
+    case NGX_MAIL_AUTH_EXTERNAL:
+
+        ngx_str_set(&s->out, imap_username);
+        s->mail_state = ngx_imap_auth_external;
+
+        return NGX_OK;
     }
 
     return rc;

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_imap_module.c (+4 -2) 97%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_imap_module.c    2016-11-22 16:30:41 +0900 (d281070)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_imap_module.c    2016-11-22 16:34:42 +0900 (1f187fd)
@@ -29,6 +29,7 @@ static ngx_conf_bitmask_t  ngx_mail_imap_auth_methods[] = {
     { ngx_string("plain"), NGX_MAIL_AUTH_PLAIN_ENABLED },
     { ngx_string("login"), NGX_MAIL_AUTH_LOGIN_ENABLED },
     { ngx_string("cram-md5"), NGX_MAIL_AUTH_CRAM_MD5_ENABLED },
+    { ngx_string("external"), NGX_MAIL_AUTH_EXTERNAL_ENABLED },
     { ngx_null_string, 0 }
 };
 
@@ -38,6 +39,7 @@ static ngx_str_t  ngx_mail_imap_auth_methods_names[] = {
     ngx_string("AUTH=LOGIN"),
     ngx_null_string,  /* APOP */
     ngx_string("AUTH=CRAM-MD5"),
+    ngx_string("AUTH=EXTERNAL"),
     ngx_null_string   /* NONE */
 };
 
@@ -179,7 +181,7 @@ ngx_mail_imap_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
     }
 
     for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
-         m <= NGX_MAIL_AUTH_CRAM_MD5_ENABLED;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
          m <<= 1, i++)
     {
         if (m & conf->auth_methods) {
@@ -205,7 +207,7 @@ ngx_mail_imap_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
     auth = p;
 
     for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
-         m <= NGX_MAIL_AUTH_CRAM_MD5_ENABLED;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
          m <<= 1, i++)
     {
         if (m & conf->auth_methods) {

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_imap_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_parse.c (+18 -4) 98%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_parse.c    2016-11-22 16:30:41 +0900 (b158f5a)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_parse.c    2016-11-22 16:34:42 +0900 (2c2cdff)
@@ -905,13 +905,27 @@ ngx_mail_auth_parse(ngx_mail_session_t *s, ngx_connection_t *c)
 
     if (arg[0].len == 8) {
 
-        if (s->args.nelts != 1) {
-            return NGX_MAIL_PARSE_INVALID_COMMAND;
-        }
-
         if (ngx_strncasecmp(arg[0].data, (u_char *) "CRAM-MD5", 8) == 0) {
+
+            if (s->args.nelts != 1) {
+                return NGX_MAIL_PARSE_INVALID_COMMAND;
+            }
+
             return NGX_MAIL_AUTH_CRAM_MD5;
         }
+
+        if (ngx_strncasecmp(arg[0].data, (u_char *) "EXTERNAL", 8) == 0) {
+
+            if (s->args.nelts == 1) {
+                return NGX_MAIL_AUTH_EXTERNAL;
+            }
+
+            if (s->args.nelts == 2) {
+                return ngx_mail_auth_external(s, c, 1);
+            }
+        }
+
+        return NGX_MAIL_PARSE_INVALID_COMMAND;
     }
 
     return NGX_MAIL_PARSE_INVALID_COMMAND;

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_handler.c (+11 -0) 97%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_pop3_handler.c    2016-11-22 16:30:41 +0900 (51bc257)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_handler.c    2016-11-22 16:34:42 +0900 (a2d5658)
@@ -240,6 +240,10 @@ ngx_mail_pop3_auth_state(ngx_event_t *rev)
         case ngx_pop3_auth_cram_md5:
             rc = ngx_mail_auth_cram_md5(s, c);
             break;
+
+        case ngx_pop3_auth_external:
+            rc = ngx_mail_auth_external(s, c, 0);
+            break;
         }
     }
 
@@ -494,6 +498,13 @@ ngx_mail_pop3_auth(ngx_mail_session_t *s, ngx_connection_t *c)
         }
 
         return NGX_ERROR;
+
+    case NGX_MAIL_AUTH_EXTERNAL:
+
+        ngx_str_set(&s->out, pop3_username);
+        s->mail_state = ngx_pop3_auth_external;
+
+        return NGX_OK;
     }
 
     return rc;

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_module.c (+68 -28) 73%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_pop3_module.c    2016-11-22 16:30:41 +0900 (73f8531)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_module.c    2016-11-22 16:34:42 +0900 (bd60e0a)
@@ -29,23 +29,19 @@ static ngx_conf_bitmask_t  ngx_mail_pop3_auth_methods[] = {
     { ngx_string("plain"), NGX_MAIL_AUTH_PLAIN_ENABLED },
     { ngx_string("apop"), NGX_MAIL_AUTH_APOP_ENABLED },
     { ngx_string("cram-md5"), NGX_MAIL_AUTH_CRAM_MD5_ENABLED },
+    { ngx_string("external"), NGX_MAIL_AUTH_EXTERNAL_ENABLED },
     { ngx_null_string, 0 }
 };
 
 
-static ngx_str_t  ngx_mail_pop3_auth_plain_capability =
-    ngx_string("+OK methods supported:" CRLF
-               "LOGIN" CRLF
-               "PLAIN" CRLF
-               "." CRLF);
-
-
-static ngx_str_t  ngx_mail_pop3_auth_cram_md5_capability =
-    ngx_string("+OK methods supported:" CRLF
-               "LOGIN" CRLF
-               "PLAIN" CRLF
-               "CRAM-MD5" CRLF
-               "." CRLF);
+static ngx_str_t  ngx_mail_pop3_auth_methods_names[] = {
+    ngx_string("PLAIN"),
+    ngx_string("LOGIN"),
+    ngx_null_string,  /* APOP */
+    ngx_string("CRAM-MD5"),
+    ngx_string("EXTERNAL"),
+    ngx_null_string   /* NONE */
+};
 
 
 static ngx_mail_protocol_t  ngx_mail_pop3_protocol = {
@@ -140,13 +136,17 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
     u_char      *p;
     size_t       size, stls_only_size;
     ngx_str_t   *c, *d;
-    ngx_uint_t   i;
+    ngx_uint_t   i, m;
 
     ngx_conf_merge_bitmask_value(conf->auth_methods,
                                  prev->auth_methods,
                                  (NGX_CONF_BITMASK_SET
                                   |NGX_MAIL_AUTH_PLAIN_ENABLED));
 
+    if (conf->auth_methods & NGX_MAIL_AUTH_PLAIN_ENABLED) {
+        conf->auth_methods |= NGX_MAIL_AUTH_LOGIN_ENABLED;
+    }
+
     if (conf->capabilities.nelts == 0) {
         conf->capabilities = prev->capabilities;
     }
@@ -179,11 +179,15 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
         stls_only_size += c[i].len + sizeof(CRLF) - 1;
     }
 
-    if (conf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) {
-        size += sizeof("SASL LOGIN PLAIN CRAM-MD5" CRLF) - 1;
+    size += sizeof("SASL") - 1 + sizeof(CRLF) - 1;
 
-    } else {
-        size += sizeof("SASL LOGIN PLAIN" CRLF) - 1;
+    for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
+         m <<= 1, i++)
+    {
+        if (m & conf->auth_methods) {
+            size += 1 + ngx_mail_pop3_auth_methods_names[i].len;
+        }
     }
 
     p = ngx_pnalloc(cf->pool, size);
@@ -202,15 +206,21 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
         *p++ = CR; *p++ = LF;
     }
 
-    if (conf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) {
-        p = ngx_cpymem(p, "SASL LOGIN PLAIN CRAM-MD5" CRLF,
-                       sizeof("SASL LOGIN PLAIN CRAM-MD5" CRLF) - 1);
+    p = ngx_cpymem(p, "SASL", sizeof("SASL") - 1);
 
-    } else {
-        p = ngx_cpymem(p, "SASL LOGIN PLAIN" CRLF,
-                       sizeof("SASL LOGIN PLAIN" CRLF) - 1);
+    for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
+         m <<= 1, i++)
+    {
+        if (m & conf->auth_methods) {
+            *p++ = ' ';
+            p = ngx_cpymem(p, ngx_mail_pop3_auth_methods_names[i].data,
+                           ngx_mail_pop3_auth_methods_names[i].len);
+        }
     }
 
+    *p++ = CR; *p++ = LF;
+
     *p++ = '.'; *p++ = CR; *p = LF;
 
 
@@ -231,13 +241,43 @@ ngx_mail_pop3_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
     *p++ = '.'; *p++ = CR; *p = LF;
 
 
-    if (conf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) {
-        conf->auth_capability = ngx_mail_pop3_auth_cram_md5_capability;
+    size = sizeof("+OK methods supported:" CRLF) - 1
+           + sizeof("." CRLF) - 1;
+
+    for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
+         m <<= 1, i++)
+    {
+        if (m & conf->auth_methods) {
+            size += ngx_mail_pop3_auth_methods_names[i].len
+                    + sizeof(CRLF) - 1;
+        }
+    }
+
+    p = ngx_pnalloc(cf->pool, size);
+    if (p == NULL) {
+        return NGX_CONF_ERROR;
+    }
 
-    } else {
-        conf->auth_capability = ngx_mail_pop3_auth_plain_capability;
+    conf->auth_capability.data = p;
+    conf->auth_capability.len = size;
+
+    p = ngx_cpymem(p, "+OK methods supported:" CRLF,
+                   sizeof("+OK methods supported:" CRLF) - 1);
+
+    for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
+         m <<= 1, i++)
+    {
+        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);
+            *p++ = CR; *p++ = LF;
+        }
     }
 
+    *p++ = '.'; *p++ = CR; *p = LF;
+
 
     p = ngx_pnalloc(cf->pool, stls_only_size);
     if (p == NULL) {

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_pop3_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_proxy_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_handler.c (+11 -0) 98%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_smtp_handler.c    2016-11-22 16:30:41 +0900 (81cc75f)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_handler.c    2016-11-22 16:34:42 +0900 (47756c3)
@@ -485,6 +485,10 @@ ngx_mail_smtp_auth_state(ngx_event_t *rev)
         case ngx_smtp_auth_cram_md5:
             rc = ngx_mail_auth_cram_md5(s, c);
             break;
+
+        case ngx_smtp_auth_external:
+            rc = ngx_mail_auth_external(s, c, 0);
+            break;
         }
     }
 
@@ -652,6 +656,13 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s, ngx_connection_t *c)
         }
 
         return NGX_ERROR;
+
+    case NGX_MAIL_AUTH_EXTERNAL:
+
+        ngx_str_set(&s->out, smtp_username);
+        s->mail_state = ngx_smtp_auth_external;
+
+        return NGX_OK;
     }
 
     return rc;

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_module.c (+4 -2) 97%
===================================================================
--- vendor/nginx-1.11.5/src/mail/ngx_mail_smtp_module.c    2016-11-22 16:30:41 +0900 (d5bb51c)
+++ vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_module.c    2016-11-22 16:34:42 +0900 (f03bd90)
@@ -21,6 +21,7 @@ static ngx_conf_bitmask_t  ngx_mail_smtp_auth_methods[] = {
     { ngx_string("plain"), NGX_MAIL_AUTH_PLAIN_ENABLED },
     { ngx_string("login"), NGX_MAIL_AUTH_LOGIN_ENABLED },
     { ngx_string("cram-md5"), NGX_MAIL_AUTH_CRAM_MD5_ENABLED },
+    { ngx_string("external"), NGX_MAIL_AUTH_EXTERNAL_ENABLED },
     { ngx_string("none"), NGX_MAIL_AUTH_NONE_ENABLED },
     { ngx_null_string, 0 }
 };
@@ -31,6 +32,7 @@ static ngx_str_t  ngx_mail_smtp_auth_methods_names[] = {
     ngx_string("LOGIN"),
     ngx_null_string,  /* APOP */
     ngx_string("CRAM-MD5"),
+    ngx_string("EXTERNAL"),
     ngx_null_string   /* NONE */
 };
 
@@ -207,7 +209,7 @@ ngx_mail_smtp_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
     auth_enabled = 0;
 
     for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
-         m <= NGX_MAIL_AUTH_CRAM_MD5_ENABLED;
+         m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
          m <<= 1, i++)
     {
         if (m & conf->auth_methods) {
@@ -250,7 +252,7 @@ ngx_mail_smtp_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
         *p++ = 'A'; *p++ = 'U'; *p++ = 'T'; *p++ = 'H';
 
         for (m = NGX_MAIL_AUTH_PLAIN_ENABLED, i = 0;
-             m <= NGX_MAIL_AUTH_CRAM_MD5_ENABLED;
+             m <= NGX_MAIL_AUTH_EXTERNAL_ENABLED;
              m <<= 1, i++)
         {
             if (m & conf->auth_methods) {

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_smtp_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_ssl_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/mail/ngx_mail_ssl_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/misc/ngx_cpp_test_module.cpp (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/misc/ngx_google_perftools_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_alloc.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_alloc.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_atomic.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_channel.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_channel.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_daemon.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_darwin.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_darwin_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_darwin_init.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_darwin_sendfile_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_dlopen.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_dlopen.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_errno.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_errno.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_file_aio_read.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_files.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_files.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_freebsd.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_freebsd_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_freebsd_init.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_freebsd_sendfile_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_amd64.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_ppc.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_sparc64.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_gcc_atomic_x86.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_linux.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_linux_aio_read.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_linux_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_linux_init.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_linux_sendfile_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_os.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_posix_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_posix_init.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_process.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_process.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_process_cycle.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_process_cycle.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_readv_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_recv.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_send.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_setaffinity.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_setaffinity.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_setproctitle.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_setproctitle.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_shmem.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_shmem.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_socket.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_socket.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_solaris.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_solaris_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_solaris_init.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_solaris_sendfilev_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_amd64.il (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_atomic_sparc64.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_sparc64.il (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_sunpro_x86.il (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_thread.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_thread_cond.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_thread_id.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_thread_mutex.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_time.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_time.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_udp_recv.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_udp_send.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_udp_sendmsg_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_user.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_user.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/unix/ngx_writev_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/nginx.ico (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/nginx.rc (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/nginx_icon16.xpm (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/nginx_icon32.xpm (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/nginx_icon48.xpm (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_alloc.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_alloc.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_atomic.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_dlopen.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_dlopen.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_errno.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_errno.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_event_log.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_files.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_files.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_os.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_process.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_process.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_process_cycle.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_process_cycle.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_service.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_shmem.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_shmem.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_socket.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_socket.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_stat.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_thread.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_thread.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_time.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_time.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_udp_wsarecv.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_user.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_user.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_win32_config.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_win32_init.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_wsarecv.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_wsarecv_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_wsasend.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/os/win32/ngx_wsasend_chain.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_access_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_core_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_geo_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_geoip_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_handler.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_limit_conn_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_log_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_map_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_proxy_module.c (+22 -23) 99%
===================================================================
--- vendor/nginx-1.11.5/src/stream/ngx_stream_proxy_module.c    2016-11-22 16:30:41 +0900 (4231f97)
+++ vendor/nginx-1.11.6/src/stream/ngx_stream_proxy_module.c    2016-11-22 16:34:42 +0900 (c03b515)
@@ -433,6 +433,23 @@ ngx_stream_proxy_handler(ngx_stream_session_t *s)
 
         host = &u->resolved->host;
 
+        umcf = ngx_stream_get_module_main_conf(s, ngx_stream_upstream_module);
+
+        uscfp = umcf->upstreams.elts;
+
+        for (i = 0; i < umcf->upstreams.nelts; i++) {
+
+            uscf = uscfp[i];
+
+            if (uscf->host.len == host->len
+                && ((uscf->port == 0 && u->resolved->no_port)
+                     || uscf->port == u->resolved->port)
+                && ngx_strncasecmp(uscf->host.data, host->data, host->len) == 0)
+            {
+                goto found;
+            }
+        }
+
         if (u->resolved->sockaddr) {
 
             if (u->resolved->port == 0
@@ -456,23 +473,6 @@ ngx_stream_proxy_handler(ngx_stream_session_t *s)
             return;
         }
 
-        umcf = ngx_stream_get_module_main_conf(s, ngx_stream_upstream_module);
-
-        uscfp = umcf->upstreams.elts;
-
-        for (i = 0; i < umcf->upstreams.nelts; i++) {
-
-            uscf = uscfp[i];
-
-            if (uscf->host.len == host->len
-                && ((uscf->port == 0 && u->resolved->no_port)
-                     || uscf->port == u->resolved->port)
-                && ngx_strncasecmp(uscf->host.data, host->data, host->len) == 0)
-            {
-                goto found;
-            }
-        }
-
         if (u->resolved->port == 0) {
             ngx_log_error(NGX_LOG_ERR, c->log, 0,
                           "no port in upstream \"%V\"", host);
@@ -578,16 +578,14 @@ ngx_stream_proxy_eval(ngx_stream_session_t *s,
         return NGX_ERROR;
     }
 
-    if (url.addrs && url.addrs[0].sockaddr) {
+    if (url.addrs) {
         u->resolved->sockaddr = url.addrs[0].sockaddr;
         u->resolved->socklen = url.addrs[0].socklen;
+        u->resolved->name = url.addrs[0].name;
         u->resolved->naddrs = 1;
-        u->resolved->host = url.addrs[0].name;
-
-    } else {
-        u->resolved->host = url.host;
     }
 
+    u->resolved->host = url.host;
     u->resolved->port = url.port;
     u->resolved->no_port = url.no_port;
 
@@ -1183,7 +1181,8 @@ ngx_stream_proxy_ssl_name(ngx_stream_session_t *s)
     ngx_log_debug1(NGX_LOG_DEBUG_STREAM, s->connection->log, 0,
                    "upstream SSL server name: \"%s\"", name.data);
 
-    if (SSL_set_tlsext_host_name(u->peer.connection->ssl->connection, name.data)
+    if (SSL_set_tlsext_host_name(u->peer.connection->ssl->connection,
+                                 (char *) name.data)
         == 0)
     {
         ngx_ssl_error(NGX_LOG_ERR, s->connection->log, 0,

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_realip_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_return_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_script.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_script.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_split_clients_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_ssl_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_ssl_module.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_ssl_preread_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream.h (+1 -0) 99%
===================================================================
--- vendor/nginx-1.11.5/src/stream/ngx_stream_upstream.h    2016-11-22 16:30:41 +0900 (764a340)
+++ vendor/nginx-1.11.6/src/stream/ngx_stream_upstream.h    2016-11-22 16:34:42 +0900 (ec75768)
@@ -105,6 +105,7 @@ typedef struct {
 
     struct sockaddr                   *sockaddr;
     socklen_t                          socklen;
+    ngx_str_t                          name;
 
     ngx_resolver_ctx_t                *ctx;
 } ngx_stream_upstream_resolved_t;

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_hash_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_least_conn_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_round_robin.c (+1 -1) 99%
===================================================================
--- vendor/nginx-1.11.5/src/stream/ngx_stream_upstream_round_robin.c    2016-11-22 16:30:41 +0900 (3a62501)
+++ vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_round_robin.c    2016-11-22 16:34:42 +0900 (db620ef)
@@ -344,7 +344,7 @@ ngx_stream_upstream_create_round_robin_peer(ngx_stream_session_t *s,
     if (ur->sockaddr) {
         peer[0].sockaddr = ur->sockaddr;
         peer[0].socklen = ur->socklen;
-        peer[0].name = ur->host;
+        peer[0].name = ur->name;
         peer[0].weight = 1;
         peer[0].effective_weight = 1;
         peer[0].current_weight = 0;

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_round_robin.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_upstream_zone_module.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_variables.c (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_variables.h (+0 -0) 100%
===================================================================

  Renamed: vendor/nginx-1.11.6/src/stream/ngx_stream_write_filter_module.c (+0 -0) 100%
===================================================================




More information about the Groonga-commit mailing list
Back to archive index