nginxtra 1.8.1.12 → 1.10.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. checksums.yaml +4 -4
  2. data/bin/nginxtra +1 -1
  3. data/bin/nginxtra_rails +1 -1
  4. data/lib/nginxtra/version.rb +1 -1
  5. data/vendor/nginx/CHANGES +363 -25
  6. data/vendor/nginx/CHANGES.ru +365 -21
  7. data/vendor/nginx/LICENSE +2 -2
  8. data/vendor/nginx/auto/cc/conf +32 -0
  9. data/vendor/nginx/auto/cc/gcc +1 -1
  10. data/vendor/nginx/auto/cc/icc +2 -2
  11. data/vendor/nginx/auto/cc/msvc +29 -8
  12. data/vendor/nginx/auto/cc/name +2 -25
  13. data/vendor/nginx/auto/cc/sunc +3 -0
  14. data/vendor/nginx/auto/endianness +7 -2
  15. data/vendor/nginx/auto/install +60 -26
  16. data/vendor/nginx/auto/lib/conf +4 -4
  17. data/vendor/nginx/auto/lib/geoip/conf +6 -1
  18. data/vendor/nginx/auto/lib/libgd/conf +6 -1
  19. data/vendor/nginx/auto/lib/libxslt/conf +11 -2
  20. data/vendor/nginx/auto/lib/make +1 -1
  21. data/vendor/nginx/auto/lib/md5/conf +2 -2
  22. data/vendor/nginx/auto/lib/md5/make +2 -2
  23. data/vendor/nginx/auto/lib/openssl/conf +52 -3
  24. data/vendor/nginx/auto/lib/openssl/make +1 -1
  25. data/vendor/nginx/auto/lib/pcre/conf +2 -2
  26. data/vendor/nginx/auto/lib/pcre/make +2 -2
  27. data/vendor/nginx/auto/lib/perl/conf +6 -3
  28. data/vendor/nginx/auto/lib/perl/make +4 -1
  29. data/vendor/nginx/auto/lib/sha1/conf +2 -2
  30. data/vendor/nginx/auto/lib/sha1/make +2 -2
  31. data/vendor/nginx/auto/lib/zlib/conf +2 -2
  32. data/vendor/nginx/auto/lib/zlib/make +2 -2
  33. data/vendor/nginx/auto/make +281 -16
  34. data/vendor/nginx/auto/module +122 -0
  35. data/vendor/nginx/auto/modules +909 -178
  36. data/vendor/nginx/auto/options +81 -19
  37. data/vendor/nginx/auto/os/conf +9 -0
  38. data/vendor/nginx/auto/os/darwin +3 -0
  39. data/vendor/nginx/auto/os/freebsd +0 -20
  40. data/vendor/nginx/auto/os/linux +0 -12
  41. data/vendor/nginx/auto/os/win32 +5 -1
  42. data/vendor/nginx/auto/sources +11 -311
  43. data/vendor/nginx/auto/summary +1 -0
  44. data/vendor/nginx/auto/types/sizeof +5 -3
  45. data/vendor/nginx/auto/types/typedef +9 -4
  46. data/vendor/nginx/auto/types/uintptr_t +7 -2
  47. data/vendor/nginx/auto/unix +72 -12
  48. data/vendor/nginx/conf/fastcgi.conf +1 -0
  49. data/vendor/nginx/conf/fastcgi_params +1 -0
  50. data/vendor/nginx/conf/scgi_params +1 -0
  51. data/vendor/nginx/conf/uwsgi_params +1 -0
  52. data/vendor/nginx/configure +1 -1
  53. data/vendor/nginx/contrib/vim/syntax/nginx.vim +2 -2
  54. data/vendor/nginx/man/nginx.8 +6 -2
  55. data/vendor/nginx/src/core/nginx.c +281 -114
  56. data/vendor/nginx/src/core/nginx.h +2 -2
  57. data/vendor/nginx/src/core/ngx_conf_file.c +54 -13
  58. data/vendor/nginx/src/core/ngx_conf_file.h +8 -52
  59. data/vendor/nginx/src/core/ngx_config.h +0 -5
  60. data/vendor/nginx/src/core/ngx_connection.c +270 -37
  61. data/vendor/nginx/src/core/ngx_connection.h +35 -12
  62. data/vendor/nginx/src/core/ngx_core.h +4 -0
  63. data/vendor/nginx/src/core/ngx_crypt.c +2 -2
  64. data/vendor/nginx/src/core/ngx_cycle.c +72 -25
  65. data/vendor/nginx/src/core/ngx_cycle.h +28 -39
  66. data/vendor/nginx/src/core/ngx_file.c +14 -5
  67. data/vendor/nginx/src/core/ngx_file.h +2 -0
  68. data/vendor/nginx/src/core/ngx_hash.c +13 -1
  69. data/vendor/nginx/src/core/ngx_inet.c +20 -18
  70. data/vendor/nginx/src/core/ngx_log.c +12 -12
  71. data/vendor/nginx/src/core/ngx_log.h +13 -6
  72. data/vendor/nginx/src/core/ngx_module.c +360 -0
  73. data/vendor/nginx/src/core/ngx_module.h +307 -0
  74. data/vendor/nginx/src/core/ngx_open_file_cache.c +2 -2
  75. data/vendor/nginx/src/core/ngx_output_chain.c +8 -4
  76. data/vendor/nginx/src/core/ngx_palloc.c +42 -44
  77. data/vendor/nginx/src/{http/ngx_http_parse_time.c → core/ngx_parse_time.c} +2 -3
  78. data/vendor/nginx/src/core/ngx_parse_time.h +22 -0
  79. data/vendor/nginx/src/core/ngx_proxy_protocol.c +50 -1
  80. data/vendor/nginx/src/core/ngx_proxy_protocol.h +3 -1
  81. data/vendor/nginx/src/core/ngx_regex.c +1 -38
  82. data/vendor/nginx/src/core/ngx_resolver.c +1814 -320
  83. data/vendor/nginx/src/core/ngx_resolver.h +67 -10
  84. data/vendor/nginx/src/core/ngx_rwlock.c +120 -0
  85. data/vendor/nginx/src/core/ngx_rwlock.h +21 -0
  86. data/vendor/nginx/src/core/ngx_slab.c +6 -5
  87. data/vendor/nginx/src/core/ngx_string.c +1 -1
  88. data/vendor/nginx/src/core/ngx_syslog.c +11 -3
  89. data/vendor/nginx/src/core/ngx_syslog.h +2 -1
  90. data/vendor/nginx/src/core/ngx_thread_pool.c +4 -0
  91. data/vendor/nginx/src/core/ngx_times.c +2 -2
  92. data/vendor/nginx/src/event/modules/ngx_devpoll_module.c +3 -1
  93. data/vendor/nginx/src/event/modules/ngx_epoll_module.c +5 -2
  94. data/vendor/nginx/src/event/modules/ngx_eventport_module.c +5 -5
  95. data/vendor/nginx/src/event/modules/ngx_kqueue_module.c +15 -8
  96. data/vendor/nginx/src/event/modules/ngx_poll_module.c +0 -10
  97. data/vendor/nginx/src/event/modules/ngx_select_module.c +0 -10
  98. data/vendor/nginx/src/event/ngx_event.c +60 -103
  99. data/vendor/nginx/src/event/ngx_event.h +22 -26
  100. data/vendor/nginx/src/event/ngx_event_accept.c +414 -88
  101. data/vendor/nginx/src/event/ngx_event_connect.c +27 -18
  102. data/vendor/nginx/src/event/ngx_event_connect.h +1 -0
  103. data/vendor/nginx/src/event/ngx_event_openssl.c +65 -25
  104. data/vendor/nginx/src/event/ngx_event_openssl.h +17 -0
  105. data/vendor/nginx/src/event/ngx_event_openssl_stapling.c +73 -7
  106. data/vendor/nginx/src/event/ngx_event_pipe.c +85 -27
  107. data/vendor/nginx/src/event/ngx_event_pipe.h +10 -0
  108. data/vendor/nginx/src/http/modules/ngx_http_auth_basic_module.c +1 -1
  109. data/vendor/nginx/src/http/modules/ngx_http_auth_request_module.c +2 -2
  110. data/vendor/nginx/src/http/modules/ngx_http_chunked_filter_module.c +2 -2
  111. data/vendor/nginx/src/http/modules/ngx_http_dav_module.c +6 -6
  112. data/vendor/nginx/src/http/modules/ngx_http_fastcgi_module.c +17 -11
  113. data/vendor/nginx/src/http/modules/ngx_http_gzip_filter_module.c +2 -2
  114. data/vendor/nginx/src/http/modules/ngx_http_headers_filter_module.c +9 -9
  115. data/vendor/nginx/src/http/modules/ngx_http_image_filter_module.c +2 -2
  116. data/vendor/nginx/src/http/modules/ngx_http_limit_conn_module.c +2 -2
  117. data/vendor/nginx/src/http/modules/ngx_http_limit_req_module.c +0 -7
  118. data/vendor/nginx/src/http/modules/ngx_http_map_module.c +6 -6
  119. data/vendor/nginx/src/http/modules/ngx_http_memcached_module.c +2 -1
  120. data/vendor/nginx/src/http/modules/ngx_http_mp4_module.c +13 -13
  121. data/vendor/nginx/src/http/modules/ngx_http_not_modified_filter_module.c +2 -2
  122. data/vendor/nginx/src/http/modules/ngx_http_proxy_module.c +26 -21
  123. data/vendor/nginx/src/http/modules/ngx_http_random_index_module.c +1 -1
  124. data/vendor/nginx/src/http/modules/ngx_http_range_filter_module.c +26 -8
  125. data/vendor/nginx/src/http/modules/ngx_http_realip_module.c +73 -3
  126. data/vendor/nginx/src/http/modules/ngx_http_referer_module.c +1 -1
  127. data/vendor/nginx/src/http/modules/ngx_http_rewrite_module.c +6 -6
  128. data/vendor/nginx/src/http/modules/ngx_http_scgi_module.c +5 -3
  129. data/vendor/nginx/src/http/modules/ngx_http_slice_filter_module.c +526 -0
  130. data/vendor/nginx/src/http/modules/ngx_http_ssi_filter_module.c +7 -7
  131. data/vendor/nginx/src/http/modules/ngx_http_ssl_module.c +19 -16
  132. data/vendor/nginx/src/http/modules/ngx_http_static_module.c +1 -1
  133. data/vendor/nginx/src/http/modules/ngx_http_stub_status_module.c +1 -1
  134. data/vendor/nginx/src/http/modules/ngx_http_sub_filter_module.c +373 -173
  135. data/vendor/nginx/src/http/modules/ngx_http_upstream_hash_module.c +72 -46
  136. data/vendor/nginx/src/http/modules/ngx_http_upstream_ip_hash_module.c +18 -30
  137. data/vendor/nginx/src/http/modules/ngx_http_upstream_keepalive_module.c +50 -39
  138. data/vendor/nginx/src/http/modules/ngx_http_upstream_least_conn_module.c +38 -129
  139. data/vendor/nginx/src/http/modules/ngx_http_upstream_zone_module.c +246 -0
  140. data/vendor/nginx/src/http/modules/ngx_http_uwsgi_module.c +6 -5
  141. data/vendor/nginx/src/http/modules/perl/nginx.xs +9 -9
  142. data/vendor/nginx/src/http/ngx_http.c +46 -43
  143. data/vendor/nginx/src/http/ngx_http.h +4 -9
  144. data/vendor/nginx/src/http/ngx_http_cache.h +4 -0
  145. data/vendor/nginx/src/http/ngx_http_copy_filter_module.c +13 -5
  146. data/vendor/nginx/src/http/ngx_http_core_module.c +92 -91
  147. data/vendor/nginx/src/http/ngx_http_core_module.h +12 -8
  148. data/vendor/nginx/src/http/ngx_http_file_cache.c +61 -10
  149. data/vendor/nginx/src/http/ngx_http_request.c +37 -50
  150. data/vendor/nginx/src/http/ngx_http_request.h +10 -15
  151. data/vendor/nginx/src/http/ngx_http_request_body.c +64 -88
  152. data/vendor/nginx/src/http/ngx_http_script.c +3 -3
  153. data/vendor/nginx/src/http/ngx_http_special_response.c +1 -4
  154. data/vendor/nginx/src/http/ngx_http_upstream.c +245 -109
  155. data/vendor/nginx/src/http/ngx_http_upstream.h +11 -5
  156. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.c +212 -65
  157. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.h +66 -5
  158. data/vendor/nginx/src/http/ngx_http_variables.c +28 -15
  159. data/vendor/nginx/src/http/ngx_http_write_filter_module.c +1 -1
  160. data/vendor/nginx/src/http/v2/ngx_http_v2.c +4349 -0
  161. data/vendor/nginx/src/http/v2/ngx_http_v2.h +337 -0
  162. data/vendor/nginx/src/http/v2/ngx_http_v2_filter_module.c +1391 -0
  163. data/vendor/nginx/src/http/v2/ngx_http_v2_huff_decode.c +2714 -0
  164. data/vendor/nginx/src/http/v2/ngx_http_v2_huff_encode.c +254 -0
  165. data/vendor/nginx/src/http/v2/ngx_http_v2_module.c +469 -0
  166. data/vendor/nginx/src/http/{ngx_http_spdy_module.h → v2/ngx_http_v2_module.h} +10 -9
  167. data/vendor/nginx/src/http/v2/ngx_http_v2_table.c +349 -0
  168. data/vendor/nginx/src/mail/ngx_mail.c +49 -82
  169. data/vendor/nginx/src/mail/ngx_mail.h +16 -23
  170. data/vendor/nginx/src/mail/ngx_mail_auth_http_module.c +1 -1
  171. data/vendor/nginx/src/mail/ngx_mail_core_module.c +60 -34
  172. data/vendor/nginx/src/mail/ngx_mail_handler.c +17 -12
  173. data/vendor/nginx/src/mail/ngx_mail_proxy_module.c +1 -14
  174. data/vendor/nginx/src/mail/ngx_mail_smtp_handler.c +1 -1
  175. data/vendor/nginx/src/mail/ngx_mail_ssl_module.c +5 -5
  176. data/vendor/nginx/src/os/unix/ngx_atomic.h +10 -10
  177. data/vendor/nginx/src/os/unix/ngx_channel.h +4 -4
  178. data/vendor/nginx/src/os/unix/ngx_darwin_config.h +2 -0
  179. data/vendor/nginx/src/os/unix/ngx_darwin_init.c +1 -0
  180. data/vendor/nginx/src/os/unix/ngx_dlopen.c +28 -0
  181. data/vendor/nginx/src/os/unix/ngx_dlopen.h +31 -0
  182. data/vendor/nginx/src/os/unix/ngx_errno.h +1 -0
  183. data/vendor/nginx/src/os/unix/ngx_file_aio_read.c +1 -1
  184. data/vendor/nginx/src/os/unix/ngx_files.c +313 -80
  185. data/vendor/nginx/src/os/unix/ngx_files.h +5 -2
  186. data/vendor/nginx/src/os/unix/ngx_freebsd_config.h +3 -1
  187. data/vendor/nginx/src/os/unix/ngx_freebsd_init.c +1 -0
  188. data/vendor/nginx/src/os/unix/ngx_freebsd_sendfile_chain.c +13 -0
  189. data/vendor/nginx/src/os/unix/ngx_linux.h +0 -2
  190. data/vendor/nginx/src/os/unix/ngx_linux_aio_read.c +1 -1
  191. data/vendor/nginx/src/os/unix/ngx_linux_config.h +2 -6
  192. data/vendor/nginx/src/os/unix/ngx_linux_init.c +1 -33
  193. data/vendor/nginx/src/os/unix/ngx_linux_sendfile_chain.c +55 -12
  194. data/vendor/nginx/src/os/unix/ngx_os.h +3 -9
  195. data/vendor/nginx/src/os/unix/ngx_posix_config.h +14 -1
  196. data/vendor/nginx/src/os/unix/ngx_posix_init.c +2 -1
  197. data/vendor/nginx/src/os/unix/ngx_process.c +1 -1
  198. data/vendor/nginx/src/os/unix/ngx_process_cycle.c +25 -51
  199. data/vendor/nginx/src/os/unix/ngx_process_cycle.h +1 -0
  200. data/vendor/nginx/src/os/unix/ngx_readv_chain.c +24 -28
  201. data/vendor/nginx/src/os/unix/ngx_recv.c +30 -79
  202. data/vendor/nginx/src/os/unix/ngx_send.c +1 -1
  203. data/vendor/nginx/src/os/unix/ngx_setaffinity.c +14 -30
  204. data/vendor/nginx/src/os/unix/ngx_setaffinity.h +15 -1
  205. data/vendor/nginx/src/os/unix/ngx_solaris_config.h +2 -0
  206. data/vendor/nginx/src/os/unix/ngx_solaris_init.c +1 -0
  207. data/vendor/nginx/src/os/unix/ngx_solaris_sendfilev_chain.c +23 -0
  208. data/vendor/nginx/src/os/unix/ngx_sunpro_amd64.il +3 -3
  209. data/vendor/nginx/src/os/unix/ngx_sunpro_x86.il +3 -3
  210. data/vendor/nginx/src/os/unix/ngx_udp_recv.c +5 -48
  211. data/vendor/nginx/src/os/unix/ngx_udp_send.c +56 -0
  212. data/vendor/nginx/src/stream/ngx_stream.c +564 -0
  213. data/vendor/nginx/src/stream/ngx_stream.h +212 -0
  214. data/vendor/nginx/src/stream/ngx_stream_access_module.c +451 -0
  215. data/vendor/nginx/src/stream/ngx_stream_core_module.c +562 -0
  216. data/vendor/nginx/src/stream/ngx_stream_handler.c +344 -0
  217. data/vendor/nginx/src/stream/ngx_stream_limit_conn_module.c +632 -0
  218. data/vendor/nginx/src/stream/ngx_stream_proxy_module.c +1674 -0
  219. data/vendor/nginx/src/stream/ngx_stream_ssl_module.c +460 -0
  220. data/vendor/nginx/src/stream/ngx_stream_ssl_module.h +49 -0
  221. data/vendor/nginx/src/stream/ngx_stream_upstream.c +464 -0
  222. data/vendor/nginx/src/stream/ngx_stream_upstream.h +107 -0
  223. data/vendor/nginx/src/stream/ngx_stream_upstream_hash_module.c +656 -0
  224. data/vendor/nginx/src/stream/ngx_stream_upstream_least_conn_module.c +307 -0
  225. data/vendor/nginx/src/stream/ngx_stream_upstream_round_robin.c +702 -0
  226. data/vendor/nginx/src/stream/ngx_stream_upstream_round_robin.h +139 -0
  227. data/vendor/nginx/src/stream/ngx_stream_upstream_zone_module.c +242 -0
  228. metadata +39 -15
  229. data/vendor/nginx/src/event/modules/ngx_aio_module.c +0 -171
  230. data/vendor/nginx/src/event/modules/ngx_rtsig_module.c +0 -735
  231. data/vendor/nginx/src/http/ngx_http_spdy.c +0 -3701
  232. data/vendor/nginx/src/http/ngx_http_spdy.h +0 -261
  233. data/vendor/nginx/src/http/ngx_http_spdy_filter_module.c +0 -1222
  234. data/vendor/nginx/src/http/ngx_http_spdy_module.c +0 -408
  235. data/vendor/nginx/src/os/unix/ngx_aio_read.c +0 -109
  236. data/vendor/nginx/src/os/unix/ngx_aio_read_chain.c +0 -78
  237. data/vendor/nginx/src/os/unix/ngx_aio_write.c +0 -109
  238. data/vendor/nginx/src/os/unix/ngx_aio_write_chain.c +0 -100
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99f107b601dfcabd1f825d8f14aad06edd048f55
4
- data.tar.gz: 824ea02e092be12cf8f22f39a1cf21a867494034
3
+ metadata.gz: d784fb7c6e974f8523d9ef4d1c02ccd6995068db
4
+ data.tar.gz: dd8ea99c04482fe24fb8405e4c400e25e520e99e
5
5
  SHA512:
6
- metadata.gz: e67268dddd754316d87fab9a51a2ce94884fbe801ffa4e95ffd4784ca86db5548428219682b0f8e79936dddd1ffcef803cc8acfff0d551f6582a5dc235076408
7
- data.tar.gz: 124f0029c2f3fbac24f1882e9c894c804ea4a808f98c44b3450aeba39a398f02c1fcb831e6298a74b758424fd32f4409b0373fb5dafd746db777b27b953ceb48
6
+ metadata.gz: 4a65ae656e8d973b5d336ec765c36ce17812bf5ba9345d71c584db4dca551add2d337523c263800bc74e0c79bcbdecae7119140f83286468c762aa635b47d3e4
7
+ data.tar.gz: e5d0d9944a72ec36922b7b28d862eaac9db7fb6401e3e9a7646faa7efe5d9e109de44056fac2e8af1d1bfbccb359b5fcea92f3d8415a575de7c75f7b8a8315e8
data/bin/nginxtra CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "rubygems"
3
- gem "nginxtra", "= 1.8.1.12"
3
+ gem "nginxtra", "= 1.10.1.12"
4
4
  gem "thor", "~> 0.16"
5
5
  require "nginxtra"
6
6
  Nginxtra::CLI.start
data/bin/nginxtra_rails CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "rubygems"
3
- gem "nginxtra", "= 1.8.1.12"
3
+ gem "nginxtra", "= 1.10.1.12"
4
4
  gem "thor", "~> 0.16"
5
5
  require "nginxtra"
6
6
  Nginxtra::Rails::CLI.start
@@ -6,7 +6,7 @@ module Nginxtra
6
6
  end
7
7
 
8
8
  def to_s
9
- "1.8.1.12"
9
+ "1.10.1.12"
10
10
  end
11
11
  end
12
12
  end
data/vendor/nginx/CHANGES CHANGED
@@ -1,5 +1,142 @@
1
1
 
2
- Changes with nginx 1.8.1 26 Jan 2016
2
+ Changes with nginx 1.10.1 31 May 2016
3
+
4
+ *) Security: a segmentation fault might occur in a worker process while
5
+ writing a specially crafted request body to a temporary file
6
+ (CVE-2016-4450); the bug had appeared in 1.3.9.
7
+
8
+
9
+ Changes with nginx 1.10.0 26 Apr 2016
10
+
11
+ *) 1.10.x stable branch.
12
+
13
+
14
+ Changes with nginx 1.9.15 19 Apr 2016
15
+
16
+ *) Bugfix: "recv() failed" errors might occur when using HHVM as a
17
+ FastCGI server.
18
+
19
+ *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request"
20
+ directives a timeout or a "client violated flow control" error might
21
+ occur while reading client request body; the bug had appeared in
22
+ 1.9.14.
23
+
24
+ *) Workaround: a response might not be shown by some browsers if HTTP/2
25
+ was used and client request body was not fully read; the bug had
26
+ appeared in 1.9.14.
27
+
28
+ *) Bugfix: connections might hang when using the "aio threads"
29
+ directive.
30
+ Thanks to Mindaugas Rasiukevicius.
31
+
32
+
33
+ Changes with nginx 1.9.14 05 Apr 2016
34
+
35
+ *) Feature: OpenSSL 1.1.0 compatibility.
36
+
37
+ *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering",
38
+ "scgi_request_buffering", and "uwsgi_request_buffering" directives
39
+ now work with HTTP/2.
40
+
41
+ *) Bugfix: "zero size buf in output" alerts might appear in logs when
42
+ using HTTP/2.
43
+
44
+ *) Bugfix: the "client_max_body_size" directive might work incorrectly
45
+ when using HTTP/2.
46
+
47
+ *) Bugfix: of minor bugs in logging.
48
+
49
+
50
+ Changes with nginx 1.9.13 29 Mar 2016
51
+
52
+ *) Change: non-idempotent requests (POST, LOCK, PATCH) are no longer
53
+ passed to the next server by default if a request has been sent to a
54
+ backend; the "non_idempotent" parameter of the "proxy_next_upstream"
55
+ directive explicitly allows retrying such requests.
56
+
57
+ *) Feature: the ngx_http_perl_module can be built dynamically.
58
+
59
+ *) Feature: UDP support in the stream module.
60
+
61
+ *) Feature: the "aio_write" directive.
62
+
63
+ *) Feature: now cache manager monitors number of elements in caches and
64
+ tries to avoid cache keys zone overflows.
65
+
66
+ *) Bugfix: "task already active" and "second aio post" alerts might
67
+ appear in logs when using the "sendfile" and "aio" directives with
68
+ subrequests.
69
+
70
+ *) Bugfix: "zero size buf in output" alerts might appear in logs if
71
+ caching was used and a client closed a connection prematurely.
72
+
73
+ *) Bugfix: connections with clients might be closed needlessly if
74
+ caching was used.
75
+ Thanks to Justin Li.
76
+
77
+ *) Bugfix: nginx might hog CPU if the "sendfile" directive was used on
78
+ Linux or Solaris and a file being sent was changed during sending.
79
+
80
+ *) Bugfix: connections might hang when using the "sendfile" and "aio
81
+ threads" directives.
82
+
83
+ *) Bugfix: in the "proxy_pass", "fastcgi_pass", "scgi_pass", and
84
+ "uwsgi_pass" directives when using variables.
85
+ Thanks to Piotr Sikora.
86
+
87
+ *) Bugfix: in the ngx_http_sub_filter_module.
88
+
89
+ *) Bugfix: if an error occurred in a cached backend connection, the
90
+ request was passed to the next server regardless of the
91
+ proxy_next_upstream directive.
92
+
93
+ *) Bugfix: "CreateFile() failed" errors when creating temporary files on
94
+ Windows.
95
+
96
+
97
+ Changes with nginx 1.9.12 24 Feb 2016
98
+
99
+ *) Feature: Huffman encoding of response headers in HTTP/2.
100
+ Thanks to Vlad Krasnov.
101
+
102
+ *) Feature: the "worker_cpu_affinity" directive now supports more than
103
+ 64 CPUs.
104
+
105
+ *) Bugfix: compatibility with 3rd party C++ modules; the bug had
106
+ appeared in 1.9.11.
107
+ Thanks to Piotr Sikora.
108
+
109
+ *) Bugfix: nginx could not be built statically with OpenSSL on Linux;
110
+ the bug had appeared in 1.9.11.
111
+
112
+ *) Bugfix: the "add_header ... always" directive with an empty value did
113
+ not delete "Last-Modified" and "ETag" header lines from error
114
+ responses.
115
+
116
+ *) Workaround: "called a function you should not call" and "shutdown
117
+ while in init" messages might appear in logs when using OpenSSL
118
+ 1.0.2f.
119
+
120
+ *) Bugfix: invalid headers might be logged incorrectly.
121
+
122
+ *) Bugfix: socket leak when using HTTP/2.
123
+
124
+ *) Bugfix: in the ngx_http_v2_module.
125
+
126
+
127
+ Changes with nginx 1.9.11 09 Feb 2016
128
+
129
+ *) Feature: TCP support in resolver.
130
+
131
+ *) Feature: dynamic modules.
132
+
133
+ *) Bugfix: the $request_length variable did not include size of request
134
+ headers when using HTTP/2.
135
+
136
+ *) Bugfix: in the ngx_http_v2_module.
137
+
138
+
139
+ Changes with nginx 1.9.10 26 Jan 2016
3
140
 
4
141
  *) Security: invalid pointer dereference might occur during DNS server
5
142
  response processing if the "resolver" directive was used, allowing an
@@ -17,12 +154,133 @@ Changes with nginx 1.8.1 26 Jan 2016
17
154
  trigger arbitrary name resolution to cause excessive resource
18
155
  consumption in worker processes (CVE-2016-0747).
19
156
 
157
+ *) Feature: the "auto" parameter of the "worker_cpu_affinity" directive.
158
+
20
159
  *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did
21
- not work if not specified in the first "listen" directive for a
22
- listen socket.
160
+ not work with IPv6 listen sockets.
23
161
 
24
- *) Bugfix: nginx might fail to start on some old Linux variants; the bug
25
- had appeared in 1.7.11.
162
+ *) Bugfix: connections to upstream servers might be cached incorrectly
163
+ when using the "keepalive" directive.
164
+
165
+ *) Bugfix: proxying used the HTTP method of the original request after
166
+ an "X-Accel-Redirect" redirection.
167
+
168
+
169
+ Changes with nginx 1.9.9 09 Dec 2015
170
+
171
+ *) Bugfix: proxying to unix domain sockets did not work when using
172
+ variables; the bug had appeared in 1.9.8.
173
+
174
+
175
+ Changes with nginx 1.9.8 08 Dec 2015
176
+
177
+ *) Feature: pwritev() support.
178
+
179
+ *) Feature: the "include" directive inside the "upstream" block.
180
+
181
+ *) Feature: the ngx_http_slice_module.
182
+
183
+ *) Bugfix: a segmentation fault might occur in a worker process when
184
+ using LibreSSL; the bug had appeared in 1.9.6.
185
+
186
+ *) Bugfix: nginx could not be built on OS X in some cases.
187
+
188
+
189
+ Changes with nginx 1.9.7 17 Nov 2015
190
+
191
+ *) Feature: the "nohostname" parameter of logging to syslog.
192
+
193
+ *) Feature: the "proxy_cache_convert_head" directive.
194
+
195
+ *) Feature: the $realip_remote_addr variable in the
196
+ ngx_http_realip_module.
197
+
198
+ *) Bugfix: the "expires" directive might not work when using variables.
199
+
200
+ *) Bugfix: a segmentation fault might occur in a worker process when
201
+ using HTTP/2; the bug had appeared in 1.9.6.
202
+
203
+ *) Bugfix: if nginx was built with the ngx_http_v2_module it was
204
+ possible to use the HTTP/2 protocol even if the "http2" parameter of
205
+ the "listen" directive was not specified.
206
+
207
+ *) Bugfix: in the ngx_http_v2_module.
208
+
209
+
210
+ Changes with nginx 1.9.6 27 Oct 2015
211
+
212
+ *) Bugfix: a segmentation fault might occur in a worker process when
213
+ using HTTP/2.
214
+ Thanks to Piotr Sikora and Denis Andzakovic.
215
+
216
+ *) Bugfix: the $server_protocol variable was empty when using HTTP/2.
217
+
218
+ *) Bugfix: backend SSL connections in the stream module might be timed
219
+ out unexpectedly.
220
+
221
+ *) Bugfix: a segmentation fault might occur in a worker process if
222
+ different ssl_session_cache settings were used in different virtual
223
+ servers.
224
+
225
+ *) Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had
226
+ appeared in 1.9.4.
227
+ Thanks to Kouhei Sutou.
228
+
229
+ *) Bugfix: time was not updated when the timer_resolution directive was
230
+ used on Windows.
231
+
232
+ *) Miscellaneous minor fixes and improvements.
233
+ Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.
234
+
235
+
236
+ Changes with nginx 1.9.5 22 Sep 2015
237
+
238
+ *) Feature: the ngx_http_v2_module (replaces ngx_http_spdy_module).
239
+ Thanks to Dropbox and Automattic for sponsoring this work.
240
+
241
+ *) Change: now the "output_buffers" directive uses two buffers by
242
+ default.
243
+
244
+ *) Change: now nginx limits subrequests recursion, not simultaneous
245
+ subrequests.
246
+
247
+ *) Change: now nginx checks the whole cache key when returning a
248
+ response from cache.
249
+ Thanks to Gena Makhomed and Sergey Brester.
250
+
251
+ *) Bugfix: "header already sent" alerts might appear in logs when using
252
+ cache; the bug had appeared in 1.7.5.
253
+
254
+ *) Bugfix: "writev() failed (4: Interrupted system call)" errors might
255
+ appear in logs when using CephFS and the "timer_resolution" directive
256
+ on Linux.
257
+
258
+ *) Bugfix: in invalid configurations handling.
259
+ Thanks to Markus Linnala.
260
+
261
+ *) Bugfix: a segmentation fault occurred in a worker process if the
262
+ "sub_filter" directive was used at http level; the bug had appeared
263
+ in 1.9.4.
264
+
265
+
266
+ Changes with nginx 1.9.4 18 Aug 2015
267
+
268
+ *) Change: the "proxy_downstream_buffer" and "proxy_upstream_buffer"
269
+ directives of the stream module are replaced with the
270
+ "proxy_buffer_size" directive.
271
+
272
+ *) Feature: the "tcp_nodelay" directive in the stream module.
273
+
274
+ *) Feature: multiple "sub_filter" directives can be used simultaneously.
275
+
276
+ *) Feature: variables support in the search string of the "sub_filter"
277
+ directive.
278
+
279
+ *) Workaround: configuration testing might fail under Linux OpenVZ.
280
+ Thanks to Gena Makhomed.
281
+
282
+ *) Bugfix: old worker processes might hog CPU after reconfiguration with
283
+ a large number of worker_connections.
26
284
 
27
285
  *) Bugfix: a segmentation fault might occur in a worker process if the
28
286
  "try_files" and "alias" directives were used inside a location given
@@ -32,23 +290,103 @@ Changes with nginx 1.8.1 26 Jan 2016
32
290
  regular expression worked incorrectly if the "alias" directive was
33
291
  used in the outer location.
34
292
 
35
- *) Bugfix: "header already sent" alerts might appear in logs when using
36
- cache; the bug had appeared in 1.7.5.
293
+ *) Bugfix: in hash table initialization error handling.
37
294
 
38
- *) Bugfix: a segmentation fault might occur in a worker process if
39
- different ssl_session_cache settings were used in different virtual
40
- servers.
295
+ *) Bugfix: nginx could not be built with Visual Studio 2015.
41
296
 
42
- *) Bugfix: the "expires" directive might not work when using variables.
43
297
 
44
- *) Bugfix: if nginx was built with the ngx_http_spdy_module it was
45
- possible to use the SPDY protocol even if the "spdy" parameter of the
46
- "listen" directive was not specified.
298
+ Changes with nginx 1.9.3 14 Jul 2015
299
+
300
+ *) Change: duplicate "http", "mail", and "stream" blocks are now
301
+ disallowed.
302
+
303
+ *) Feature: connection limiting in the stream module.
304
+
305
+ *) Feature: data rate limiting in the stream module.
306
+
307
+ *) Bugfix: the "zone" directive inside the "upstream" block did not work
308
+ on Windows.
309
+
310
+ *) Bugfix: compatibility with LibreSSL in the stream module.
311
+ Thanks to Piotr Sikora.
312
+
313
+ *) Bugfix: in the "--builddir" configure parameter.
314
+ Thanks to Piotr Sikora.
315
+
316
+ *) Bugfix: the "ssl_stapling_file" directive did not work; the bug had
317
+ appeared in 1.9.2.
318
+ Thanks to Faidon Liambotis and Brandon Black.
319
+
320
+ *) Bugfix: a segmentation fault might occur in a worker process if the
321
+ "ssl_stapling" directive was used; the bug had appeared in 1.9.2.
322
+ Thanks to Matthew Baldwin.
323
+
324
+
325
+ Changes with nginx 1.9.2 16 Jun 2015
326
+
327
+ *) Feature: the "backlog" parameter of the "listen" directives of the
328
+ mail proxy and stream modules.
329
+
330
+ *) Feature: the "allow" and "deny" directives in the stream module.
331
+
332
+ *) Feature: the "proxy_bind" directive in the stream module.
333
+
334
+ *) Feature: the "proxy_protocol" directive in the stream module.
335
+
336
+ *) Feature: the -T switch.
337
+
338
+ *) Feature: the REQUEST_SCHEME parameter added to the fastcgi.conf,
339
+ fastcgi_params, scgi_params, and uwsgi_params standard configuration
340
+ files.
341
+
342
+ *) Bugfix: the "reuseport" parameter of the "listen" directive of the
343
+ stream module did not work.
47
344
 
345
+ *) Bugfix: OCSP stapling might return an expired OCSP response in some
346
+ cases.
48
347
 
49
- Changes with nginx 1.8.0 21 Apr 2015
50
348
 
51
- *) 1.8.x stable branch.
349
+ Changes with nginx 1.9.1 26 May 2015
350
+
351
+ *) Change: now SSLv3 protocol is disabled by default.
352
+
353
+ *) Change: some long deprecated directives are not supported anymore.
354
+
355
+ *) Feature: the "reuseport" parameter of the "listen" directive.
356
+ Thanks to Yingqi Lu at Intel and Sepherosa Ziehau.
357
+
358
+ *) Feature: the $upstream_connect_time variable.
359
+
360
+ *) Bugfix: in the "hash" directive on big-endian platforms.
361
+
362
+ *) Bugfix: nginx might fail to start on some old Linux variants; the bug
363
+ had appeared in 1.7.11.
364
+
365
+ *) Bugfix: in IP address parsing.
366
+ Thanks to Sergey Polovko.
367
+
368
+
369
+ Changes with nginx 1.9.0 28 Apr 2015
370
+
371
+ *) Change: obsolete aio and rtsig event methods have been removed.
372
+
373
+ *) Feature: the "zone" directive inside the "upstream" block.
374
+
375
+ *) Feature: the stream module.
376
+
377
+ *) Feature: byte ranges support in the ngx_http_memcached_module.
378
+ Thanks to Martin Mlynář.
379
+
380
+ *) Feature: shared memory can now be used on Windows versions with
381
+ address space layout randomization.
382
+ Thanks to Sergey Brester.
383
+
384
+ *) Feature: the "error_log" directive can now be used on mail and server
385
+ levels in mail proxy.
386
+
387
+ *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did
388
+ not work if not specified in the first "listen" directive for a
389
+ listen socket.
52
390
 
53
391
 
54
392
  Changes with nginx 1.7.12 07 Apr 2015
@@ -1476,7 +1814,7 @@ Changes with nginx 1.1.11 12 Dec 2011
1476
1814
 
1477
1815
  Changes with nginx 1.1.10 30 Nov 2011
1478
1816
 
1479
- *) Bugfix: a segmentation fault occured in a worker process if AIO was
1817
+ *) Bugfix: a segmentation fault occurred in a worker process if AIO was
1480
1818
  used on Linux; the bug had appeared in 1.1.9.
1481
1819
 
1482
1820
 
@@ -1585,7 +1923,7 @@ Changes with nginx 1.1.6 17 Oct 2011
1585
1923
  sent to it after fail_timeout; the server will be considered alive if
1586
1924
  it will successfully respond to the request.
1587
1925
 
1588
- *) Change: now the 0x7F-0x1F characters are escaped as \xXX in an
1926
+ *) Change: now the 0x7F-0xFF characters are escaped as \xXX in an
1589
1927
  access_log.
1590
1928
 
1591
1929
  *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
@@ -1753,7 +2091,7 @@ Changes with nginx 1.1.0 01 Aug 2011
1753
2091
  and proxies to an HTTPS backend.
1754
2092
  Thanks to Maxim Dounin.
1755
2093
 
1756
- *) Bugfix: in parameter validaiton of a "proxy_pass" directive with
2094
+ *) Bugfix: in parameter validation of a "proxy_pass" directive with
1757
2095
  variables.
1758
2096
  Thanks to Lanshun Zhou.
1759
2097
 
@@ -4518,7 +4856,7 @@ Changes with nginx 0.5.22 29 May 2007
4518
4856
  Changes with nginx 0.5.21 28 May 2007
4519
4857
 
4520
4858
  *) Bugfix: if server has more than about ten locations, then regex
4521
- locations might be choosen not in that order as they were specified.
4859
+ locations might be chosen not in that order as they were specified.
4522
4860
 
4523
4861
  *) Bugfix: a worker process may got caught in an endless loop on 64-bit
4524
4862
  platform, if the 33-rd or next in succession backend has failed.
@@ -4604,7 +4942,7 @@ Changes with nginx 0.5.17 02 Apr 2007
4604
4942
 
4605
4943
  *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
4606
4944
 
4607
- *) Bugfix: in some cases non-cachable variables (such as $uri variable)
4945
+ *) Bugfix: in some cases non-cacheable variables (such as $uri variable)
4608
4946
  returned old cached value.
4609
4947
 
4610
4948
 
@@ -4629,7 +4967,7 @@ Changes with nginx 0.5.16 26 Mar 2007
4629
4967
  Changes with nginx 0.5.15 19 Mar 2007
4630
4968
 
4631
4969
  *) Feature: the mail proxy supports authenticated SMTP proxying and the
4632
- "smtp_auth", "smtp_capablities", and "xclient" directives.
4970
+ "smtp_auth", "smtp_capabilities", and "xclient" directives.
4633
4971
  Thanks to Anton Yuzhaninov and Maxim Dounin.
4634
4972
 
4635
4973
  *) Feature: now the keep-alive connections are closed just after
@@ -5730,7 +6068,7 @@ Changes with nginx 0.3.21 16 Jan 2006
5730
6068
 
5731
6069
  *) Feature: the ngx_http_perl_module.
5732
6070
 
5733
- *) Change: the "valid_referers" directive allows the referreres without
6071
+ *) Change: the "valid_referers" directive allows the referrers without
5734
6072
  URI part.
5735
6073
 
5736
6074
 
@@ -5830,7 +6168,7 @@ Changes with nginx 0.3.15 07 Dec 2005
5830
6168
  *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy.
5831
6169
 
5832
6170
  *) Bugfix: if there are unclosed connection nginx now calls abort() only
5833
- on gracefull quit and active "debug_points" directive.
6171
+ on graceful quit and active "debug_points" directive.
5834
6172
 
5835
6173
 
5836
6174
  Changes with nginx 0.3.14 05 Dec 2005
@@ -6371,7 +6709,7 @@ Changes with nginx 0.1.37 23 Jun 2005
6371
6709
  *) Bugfix: the responses may be transferred not completely, if many
6372
6710
  parts or the big parts were included by SSI.
6373
6711
 
6374
- *) Bugfix: if all backends had returned the 404 reponse and the
6712
+ *) Bugfix: if all backends had returned the 404 response and the
6375
6713
  "http_404" parameter of the "proxy_next_upstream" or
6376
6714
  "fastcgi_next_upstream" directives was used, then nginx started to
6377
6715
  request all backends again.