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
@@ -1,5 +1,143 @@
1
1
 
2
- Изменения в nginx 1.8.1 26.01.2016
2
+ Изменения в nginx 1.10.1 31.05.2016
3
+
4
+ *) Безопасность: при записи тела специально созданного запроса во
5
+ временный файл в рабочем процессе мог происходить segmentation fault
6
+ (CVE-2016-4450); ошибка появилась в 1.3.9.
7
+
8
+
9
+ Изменения в nginx 1.10.0 26.04.2016
10
+
11
+ *) Стабильная ветка 1.10.x.
12
+
13
+
14
+ Изменения в nginx 1.9.15 19.04.2016
15
+
16
+ *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
17
+ возникать ошибки "recv() failed".
18
+
19
+ *) Исправление: при использовании HTTP/2 и директив limit_req или
20
+ auth_request при чтении тела запроса мог произойти таймаут или ошибка
21
+ "client violated flow control"; ошибка появилась в 1.9.14.
22
+
23
+ *) Изменение: при использовании HTTP/2 ответ мог не показываться
24
+ некоторыми браузерами, если тело запроса было прочитано не целиком;
25
+ ошибка появилась в 1.9.14.
26
+
27
+ *) Исправление: при использовании директивы "aio threads" соединения
28
+ могли зависать.
29
+ Спасибо Mindaugas Rasiukevicius.
30
+
31
+
32
+ Изменения в nginx 1.9.14 05.04.2016
33
+
34
+ *) Добавление: совместимость с OpenSSL 1.1.0.
35
+
36
+ *) Добавление: директивы proxy_request_buffering,
37
+ fastcgi_request_buffering, scgi_request_buffering и
38
+ uwsgi_request_buffering теперь работают при использовании HTTP/2.
39
+
40
+ *) Исправление: при использовании HTTP/2 в логах могли появляться
41
+ сообщения "zero size buf in output".
42
+
43
+ *) Исправление: при использовании HTTP/2 директива client_max_body_size
44
+ могла работать неверно.
45
+
46
+ *) Исправление: незначительных ошибок логгирования.
47
+
48
+
49
+ Изменения в nginx 1.9.13 29.03.2016
50
+
51
+ *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
52
+ умолчанию не передаются на другой сервер, если запрос уже был
53
+ отправлен на бэкенд; параметр non_idempotent директивы
54
+ proxy_next_upstream явно разрешает повторять такие запросы.
55
+
56
+ *) Добавление: модуль ngx_http_perl_module теперь можно собрать
57
+ динамически.
58
+
59
+ *) Добавление: поддержка UDP в модуле stream.
60
+
61
+ *) Добавление: директива aio_write.
62
+
63
+ *) Добавление: теперь cache manager следит за количеством элементов в
64
+ кэше и старается не допускать переполнений зоны разделяемой памяти.
65
+
66
+ *) Исправление: при использовании директив sendfile и aio с подзапросами
67
+ в логах могли появляться сообщения "task already active" и "second
68
+ aio post".
69
+
70
+ *) Исправление: при использовании кэширования в логах могли появляться
71
+ сообщения "zero size buf in output", если клиент закрывал соединение
72
+ преждевременно.
73
+
74
+ *) Исправление: при использовании кэширования соединения с клиентами
75
+ могли закрываться без необходимости.
76
+ Спасибо Justin Li.
77
+
78
+ *) Исправление: nginx мог нагружать процессор при использовании
79
+ директивы sendfile на Linux и Solaris, если отправляемый файл был
80
+ изменён в процессе отправки.
81
+
82
+ *) Исправление: при использовании директив sendfile и "aio threads"
83
+ соединения могли зависать.
84
+
85
+ *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
86
+ uwsgi_pass при использовании переменных.
87
+ Спасибо Piotr Sikora.
88
+
89
+ *) Исправление: в модуле ngx_http_sub_filter_module.
90
+
91
+ *) Исправление: если в закэшированном соединении к бэкенду происходила
92
+ ошибка, запрос передавался на другой сервер без учёта директивы
93
+ proxy_next_upstream.
94
+
95
+ *) Исправление: ошибки "CreateFile() failed" при создании временных
96
+ файлов на Windows.
97
+
98
+
99
+ Изменения в nginx 1.9.12 24.02.2016
100
+
101
+ *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
102
+ Спасибо Владу Краснову.
103
+
104
+ *) Добавление: директива worker_cpu_affinity теперь поддерживает более
105
+ 64 процессоров.
106
+
107
+ *) Исправление: совместимость со сторонними модулями на C++; ошибка
108
+ появилась в 1.9.11.
109
+ Спасибо Piotr Sikora.
110
+
111
+ *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
112
+ появилась в 1.9.11.
113
+
114
+ *) Исправление: директива "add_header ... always" с пустым значением не
115
+ удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
116
+
117
+ *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
118
+ сообщения "called a function you should not call" и "shutdown while
119
+ in init".
120
+
121
+ *) Исправление: ошибочные заголовки могли логгироваться некорректно.
122
+
123
+ *) Исправление: утечки сокетов при использовании HTTP/2.
124
+
125
+ *) Исправление: в модуле ngx_http_v2_module.
126
+
127
+
128
+ Изменения в nginx 1.9.11 09.02.2016
129
+
130
+ *) Добавление: теперь resolver поддерживает TCP.
131
+
132
+ *) Добавление: динамические модули.
133
+
134
+ *) Исправление: при использовании HTTP/2 переменная $request_length не
135
+ учитывала размер заголовков запроса.
136
+
137
+ *) Исправление: в модуле ngx_http_v2_module.
138
+
139
+
140
+ Изменения в nginx 1.9.10 26.01.2016
3
141
 
4
142
  *) Безопасность: при использовании директивы resolver во время обработки
5
143
  ответов DNS-сервера могло происходить разыменование некорректного
@@ -21,12 +159,137 @@
21
159
  адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
22
160
  (CVE-2016-0747).
23
161
 
24
- *) Исправление: параметр proxy_protocol директивы listen не работал,
25
- если не был указан в первой директиве listen для данного
26
- listen-сокета.
162
+ *) Добавление: параметр auto директивы worker_cpu_affinity.
27
163
 
28
- *) Исправление: nginx мог не запускаться на некоторых старых версиях
29
- Linux; ошибка появилась в 1.7.11.
164
+ *) Исправление: параметр proxy_protocol директивы listen не работал с
165
+ IPv6 listen-сокетами.
166
+
167
+ *) Исправление: при использовании директивы keepalive соединения к
168
+ бэкендам могли кэшироваться некорректно.
169
+
170
+ *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
171
+ при проксировании использовался HTTP-метод оригинального запроса.
172
+
173
+
174
+ Изменения в nginx 1.9.9 09.12.2015
175
+
176
+ *) Исправление: проксирование в unix domain сокеты не работало при
177
+ использовании переменных; ошибка появилась в 1.9.8.
178
+
179
+
180
+ Изменения в nginx 1.9.8 08.12.2015
181
+
182
+ *) Добавление: поддержка pwritev().
183
+
184
+ *) Добавление: директива include в блоке upstream.
185
+
186
+ *) Добавление: модуль ngx_http_slice_module.
187
+
188
+ *) Исправление: при использовании LibreSSL в рабочем процессе мог
189
+ произойти segmentation fault; ошибка появилась в 1.9.6.
190
+
191
+ *) Исправление: nginx мог не собираться на OS X.
192
+
193
+
194
+ Изменения в nginx 1.9.7 17.11.2015
195
+
196
+ *) Добавление: параметр nohostname логгирования в syslog.
197
+
198
+ *) Добавление: директива proxy_cache_convert_head.
199
+
200
+ *) Добавление: переменная $realip_remote_addr в модуле
201
+ ngx_http_realip_module.
202
+
203
+ *) Исправление: директива expires могла не срабатывать при использовании
204
+ переменных.
205
+
206
+ *) Исправление: при использовании HTTP/2 в рабочем процессе мог
207
+ произойти segmentation fault; ошибка появилась в 1.9.6.
208
+
209
+ *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
210
+ протокол HTTP/2 мог быть использован клиентом, даже если не был
211
+ указан параметр http2 директивы listen.
212
+
213
+ *) Исправление: в модуле ngx_http_v2_module.
214
+
215
+
216
+ Изменения в nginx 1.9.6 27.10.2015
217
+
218
+ *) Исправление: при использовании HTTP/2 в рабочем процессе мог
219
+ произойти segmentation fault.
220
+ Спасибо Piotr Sikora и Denis Andzakovic.
221
+
222
+ *) Исправление: при использовании HTTP/2 переменная $server_protocol
223
+ была пустой.
224
+
225
+ *) Исправление: SSL-соединения к бэкендам в модуле stream могли
226
+ неожиданно завершаться по таймауту.
227
+
228
+ *) Исправление: при использовании различных настроек ssl_session_cache в
229
+ разных виртуальных серверах в рабочем процессе мог произойти
230
+ segmentation fault.
231
+
232
+ *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
233
+ в 1.9.4.
234
+ Спасибо Kouhei Sutou.
235
+
236
+ *) Исправление: при использовании директивы timer_resolution на Windows
237
+ время не обновлялось.
238
+
239
+ *) Незначительные исправления и улучшения.
240
+ Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
241
+
242
+
243
+ Изменения в nginx 1.9.5 22.09.2015
244
+
245
+ *) Добавление: модуль ngx_http_v2_module (заменяет модуль
246
+ ngx_http_spdy_module).
247
+ Спасибо Dropbox и Automattic за спонсирование разработки.
248
+
249
+ *) Изменение: теперь по умолчанию директива output_buffers использует
250
+ два буфера.
251
+
252
+ *) Изменение: теперь nginx ограничивает максимальную вложенность
253
+ подзапросов, а не количество одновременных подзапросов.
254
+
255
+ *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
256
+ полностью.
257
+ Спасибо Геннадию Махомеду и Сергею Брестеру.
258
+
259
+ *) Исправление: при использовании кэша в логах могли появляться
260
+ сообщения "header already sent"; ошибка появилась в 1.7.5.
261
+
262
+ *) Исправление: при использовании CephFS и директивы timer_resolution на
263
+ Linux в логах могли появляться сообщения "writev() failed (4:
264
+ Interrupted system call)".
265
+
266
+ *) Исправление: в обработке ошибок конфигурации.
267
+ Спасибо Markus Linnala.
268
+
269
+ *) Исправление: при использовании директивы sub_filter на уровне http в
270
+ рабочем процессе происходил segmentation fault; ошибка появилась в
271
+ 1.9.4.
272
+
273
+
274
+ Изменения в nginx 1.9.4 18.08.2015
275
+
276
+ *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
277
+ в модуле stream заменены директивой proxy_buffer_size.
278
+
279
+ *) Добавление: директива tcp_nodelay в модуле stream.
280
+
281
+ *) Добавление: теперь можно указать несколько директив sub_filter
282
+ одновременно.
283
+
284
+ *) Добавление: директива sub_filter поддерживает переменные в строке
285
+ поиска.
286
+
287
+ *) Изменение: тестирование конфигурации могло не работать под Linux
288
+ OpenVZ.
289
+ Спасибо Геннадию Махомеду.
290
+
291
+ *) Исправление: после переконфигурации старые рабочие процессы могли
292
+ сильно нагружать процессор при больших значениях worker_connections.
30
293
 
31
294
  *) Исправление: при совместном использовании директив try_files и alias
32
295
  внутри location'а, заданного регулярным выражением, в рабочем
@@ -36,24 +299,104 @@
36
299
  заданного регулярным выражением, работала неправильно, если во
37
300
  внешнем location'е использовалась директива alias.
38
301
 
39
- *) Исправление: при использовании кэша в логах могли появляться
40
- сообщения "header already sent"; ошибка появилась в 1.7.5.
302
+ *) Исправление: в обработке ошибок при построении хэш-таблиц.
41
303
 
42
- *) Исправление: при использовании различных настроек ssl_session_cache в
43
- разных виртуальных серверах в рабочем процессе мог произойти
44
- segmentation fault.
304
+ *) Исправление: nginx не собирался с Visual Studio 2015.
45
305
 
46
- *) Исправление: директива expires могла не срабатывать при использовании
47
- переменных.
48
306
 
49
- *) Исправление: если nginx был собран с модулем ngx_http_spdy_module,
50
- протокол SPDY мог быть использован клиентом, даже если не был указан
51
- параметр spdy директивы listen.
307
+ Изменения в nginx 1.9.3 14.07.2015
308
+
309
+ *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
310
+
311
+ *) Добавление: ограничение количества соединений в модуле stream.
312
+
313
+ *) Добавление: ограничение скорости в модуле stream.
314
+
315
+ *) Исправление: директива zone в блоке upstream не работала на Windows.
316
+
317
+ *) Исправление: совместимость с LibreSSL в модуле stream.
318
+ Спасибо Piotr Sikora.
319
+
320
+ *) Исправление: в параметре --builddir в configure.
321
+ Спасибо Piotr Sikora.
322
+
323
+ *) Исправление: директива ssl_stapling_file не работала; ошибка
324
+ появилась в 1.9.2.
325
+ Спасибо Faidon Liambotis и Brandon Black.
326
+
327
+ *) Исправление: при использовании директивы ssl_stapling в рабочем
328
+ процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
329
+ Спасибо Matthew Baldwin.
330
+
331
+
332
+ Изменения в nginx 1.9.2 16.06.2015
333
+
334
+ *) Добавление: параметр backlog директивы listen в почтовом
335
+ прокси-сервере и модуле stream.
336
+
337
+ *) Добавление: директивы allow и deny в модуле stream.
338
+
339
+ *) Добавление: директива proxy_bind в модуле stream.
340
+
341
+ *) Добавление: директива proxy_protocol в модуле stream.
342
+
343
+ *) Добавление: ключ -T.
344
+
345
+ *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
346
+ конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
347
+ uwsgi_params.
348
+
349
+ *) Исправление: параметр reuseport директивы listen в модуле stream не
350
+ работал.
351
+
352
+ *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
353
+ OCSP-ответ.
354
+
52
355
 
356
+ Изменения в nginx 1.9.1 26.05.2015
53
357
 
54
- Изменения в nginx 1.8.0 21.04.2015
358
+ *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
55
359
 
56
- *) Стабильная ветка 1.8.x.
360
+ *) Изменение: некоторые давно устаревшие директивы больше не
361
+ поддерживаются.
362
+
363
+ *) Добавление: параметр reuseport директивы listen.
364
+ Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
365
+
366
+ *) Добавление: переменная $upstream_connect_time.
367
+
368
+ *) Исправление: в директиве hash на big-endian платформах.
369
+
370
+ *) Исправление: nginx мог не запускаться на некоторых старых версиях
371
+ Linux; ошибка появилась в 1.7.11.
372
+
373
+ *) Исправление: в парсинге IP-адресов.
374
+ Спасибо Сергею Половко.
375
+
376
+
377
+ Изменения в nginx 1.9.0 28.04.2015
378
+
379
+ *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
380
+ не поддерживаются.
381
+
382
+ *) Добавление: директива zone в блоке upstream.
383
+
384
+ *) Добавление: модуль stream.
385
+
386
+ *) Добавление: поддержка byte ranges для ответов модуля
387
+ ngx_http_memcached_module.
388
+ Спасибо Martin Mlynář.
389
+
390
+ *) Добавление: разделяемую память теперь можно использовать на версиях
391
+ Windows с рандомизацией адресного пространства.
392
+ Спасибо Сергею Брестеру.
393
+
394
+ *) Добавление: директиву error_log теперь можно использовать на уровнях
395
+ mail и server в почтовом прокси-сервере.
396
+
397
+ *) Исправление: параметр proxy_protocol директивы listen не работал,
398
+ если не был указан в первой директиве listen для данного
399
+ listen-сокета.
57
400
 
58
401
 
59
402
  Изменения в nginx 1.7.12 07.04.2015
@@ -94,7 +437,7 @@
94
437
  прокси-сервере.
95
438
  Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
96
439
 
97
- *) Добавление: уменьшение времени запуска при использовании дирекивы
440
+ *) Добавление: уменьшение времени запуска при использовании директивы
98
441
  "hash ... consistent" в блоке upstream.
99
442
  Спасибо Wai Keen Woon.
100
443
 
@@ -4732,7 +5075,8 @@
4732
5075
  Изменения в nginx 0.5.15 19.03.2007
4733
5076
 
4734
5077
  *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
4735
- SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
5078
+ SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
5079
+ xclient.
4736
5080
  Спасибо Антону Южанинову и Максиму Дунину.
4737
5081
 
4738
5082
  *) Добавление: теперь keep-alive соединения закрываются сразу же по
@@ -5937,7 +6281,7 @@
5937
6281
  *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
5938
6282
 
5939
6283
  *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
5940
- соединений только при планом выходе и включённой директиве
6284
+ соединений только при плавном выходе и включённой директиве
5941
6285
  debug_points.
5942
6286
 
5943
6287
 
data/vendor/nginx/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * Copyright (C) 2002-2015 Igor Sysoev
3
- * Copyright (C) 2011-2015 Nginx, Inc.
2
+ * Copyright (C) 2002-2016 Igor Sysoev
3
+ * Copyright (C) 2011-2016 Nginx, Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -5,12 +5,17 @@
5
5
 
6
6
  LINK="\$(CC)"
7
7
 
8
+ MAIN_LINK=
9
+ MODULE_LINK="-shared"
10
+
8
11
  ngx_include_opt="-I "
9
12
  ngx_compile_opt="-c"
13
+ ngx_pic_opt="-fPIC"
10
14
  ngx_objout="-o "
11
15
  ngx_binout="-o "
12
16
  ngx_objext="o"
13
17
  ngx_binext=
18
+ ngx_modext=".so"
14
19
 
15
20
  ngx_long_start=
16
21
  ngx_long_end=
@@ -45,6 +50,9 @@ if test -n "$CFLAGS"; then
45
50
 
46
51
  sunc)
47
52
 
53
+ MAIN_LINK=
54
+ MODULE_LINK="-G"
55
+
48
56
  case "$NGX_MACHINE" in
49
57
 
50
58
  i86pc)
@@ -156,6 +164,20 @@ if [ "$NGX_PLATFORM" != win32 ]; then
156
164
  fi
157
165
 
158
166
 
167
+ ngx_feature="-Wl,-E switch"
168
+ ngx_feature_name=
169
+ ngx_feature_run=no
170
+ ngx_feature_incs=
171
+ ngx_feature_path=
172
+ ngx_feature_libs=-Wl,-E
173
+ ngx_feature_test=
174
+ . auto/feature
175
+
176
+ if [ $ngx_found = yes ]; then
177
+ MAIN_LINK="-Wl,-E"
178
+ fi
179
+
180
+
159
181
  ngx_feature="gcc builtin atomic operations"
160
182
  ngx_feature_name=NGX_HAVE_GCC_ATOMIC
161
183
  ngx_feature_run=yes
@@ -203,6 +225,16 @@ if [ "$NGX_PLATFORM" != win32 ]; then
203
225
  . auto/feature
204
226
 
205
227
 
228
+ ngx_feature="gcc builtin 64 bit byteswap"
229
+ ngx_feature_name="NGX_HAVE_GCC_BSWAP64"
230
+ ngx_feature_run=no
231
+ ngx_feature_incs=
232
+ ngx_feature_path=
233
+ ngx_feature_libs=
234
+ ngx_feature_test="__builtin_bswap64(0)"
235
+ . auto/feature
236
+
237
+
206
238
  # ngx_feature="inline"
207
239
  # ngx_feature_name=
208
240
  # ngx_feature_run=no