nginxtra 1.6.3.9 → 1.8.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) 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 +358 -14
  6. data/vendor/nginx/CHANGES.ru +372 -18
  7. data/vendor/nginx/LICENSE +2 -2
  8. data/vendor/nginx/auto/cc/clang +5 -0
  9. data/vendor/nginx/auto/cc/gcc +5 -0
  10. data/vendor/nginx/auto/lib/google-perftools/conf +1 -1
  11. data/vendor/nginx/auto/lib/openssl/make +0 -5
  12. data/vendor/nginx/auto/lib/perl/conf +9 -1
  13. data/vendor/nginx/auto/make +1 -1
  14. data/vendor/nginx/auto/modules +11 -0
  15. data/vendor/nginx/auto/options +10 -2
  16. data/vendor/nginx/auto/os/darwin +0 -1
  17. data/vendor/nginx/auto/os/freebsd +6 -23
  18. data/vendor/nginx/auto/sources +16 -14
  19. data/vendor/nginx/auto/summary +3 -24
  20. data/vendor/nginx/auto/threads +20 -0
  21. data/vendor/nginx/auto/types/sizeof +2 -12
  22. data/vendor/nginx/auto/unix +50 -6
  23. data/vendor/nginx/configure +5 -0
  24. data/vendor/nginx/contrib/vim/syntax/nginx.vim +183 -50
  25. data/vendor/nginx/src/core/nginx.c +21 -9
  26. data/vendor/nginx/src/core/nginx.h +8 -2
  27. data/vendor/nginx/src/core/ngx_buf.c +88 -0
  28. data/vendor/nginx/src/core/ngx_buf.h +15 -1
  29. data/vendor/nginx/src/core/ngx_conf_file.c +4 -1
  30. data/vendor/nginx/src/core/ngx_connection.c +25 -66
  31. data/vendor/nginx/src/core/ngx_connection.h +1 -3
  32. data/vendor/nginx/src/core/ngx_core.h +11 -3
  33. data/vendor/nginx/src/core/ngx_crypt.c +1 -1
  34. data/vendor/nginx/src/core/ngx_cycle.c +7 -1
  35. data/vendor/nginx/src/core/ngx_cycle.h +6 -2
  36. data/vendor/nginx/src/core/ngx_file.c +13 -5
  37. data/vendor/nginx/src/core/ngx_file.h +6 -0
  38. data/vendor/nginx/src/core/ngx_log.c +215 -21
  39. data/vendor/nginx/src/core/ngx_log.h +9 -1
  40. data/vendor/nginx/src/core/ngx_output_chain.c +104 -15
  41. data/vendor/nginx/src/core/ngx_palloc.c +3 -7
  42. data/vendor/nginx/src/core/ngx_rbtree.c +2 -4
  43. data/vendor/nginx/src/core/ngx_rbtree.h +2 -4
  44. data/vendor/nginx/src/core/ngx_regex.c +14 -6
  45. data/vendor/nginx/src/core/ngx_resolver.c +16 -23
  46. data/vendor/nginx/src/core/ngx_resolver.h +8 -7
  47. data/vendor/nginx/src/core/ngx_shmtx.c +1 -1
  48. data/vendor/nginx/src/core/ngx_slab.c +89 -2
  49. data/vendor/nginx/src/core/ngx_slab.h +3 -0
  50. data/vendor/nginx/src/core/ngx_string.c +58 -2
  51. data/vendor/nginx/src/core/ngx_string.h +1 -0
  52. data/vendor/nginx/src/core/ngx_syslog.c +374 -0
  53. data/vendor/nginx/src/core/ngx_syslog.h +30 -0
  54. data/vendor/nginx/src/core/ngx_thread_pool.c +630 -0
  55. data/vendor/nginx/src/core/ngx_thread_pool.h +36 -0
  56. data/vendor/nginx/src/core/ngx_times.c +19 -2
  57. data/vendor/nginx/src/core/ngx_times.h +1 -0
  58. data/vendor/nginx/src/event/modules/ngx_aio_module.c +1 -1
  59. data/vendor/nginx/src/event/modules/ngx_devpoll_module.c +9 -24
  60. data/vendor/nginx/src/event/modules/ngx_epoll_module.c +152 -28
  61. data/vendor/nginx/src/event/modules/ngx_eventport_module.c +43 -25
  62. data/vendor/nginx/src/event/modules/ngx_kqueue_module.c +86 -156
  63. data/vendor/nginx/src/event/modules/ngx_poll_module.c +21 -37
  64. data/vendor/nginx/src/event/modules/ngx_rtsig_module.c +15 -27
  65. data/vendor/nginx/src/event/modules/ngx_select_module.c +10 -12
  66. data/vendor/nginx/src/event/modules/ngx_win32_select_module.c +7 -9
  67. data/vendor/nginx/src/event/ngx_event.c +5 -33
  68. data/vendor/nginx/src/event/ngx_event.h +15 -50
  69. data/vendor/nginx/src/event/ngx_event_accept.c +11 -10
  70. data/vendor/nginx/src/event/ngx_event_connect.c +0 -11
  71. data/vendor/nginx/src/event/ngx_event_connect.h +1 -4
  72. data/vendor/nginx/src/event/ngx_event_openssl.c +622 -38
  73. data/vendor/nginx/src/event/ngx_event_openssl.h +20 -2
  74. data/vendor/nginx/src/event/ngx_event_openssl_stapling.c +5 -1
  75. data/vendor/nginx/src/event/ngx_event_pipe.c +45 -19
  76. data/vendor/nginx/src/event/ngx_event_pipe.h +3 -0
  77. data/vendor/nginx/src/event/ngx_event_posted.c +7 -145
  78. data/vendor/nginx/src/event/ngx_event_posted.h +12 -39
  79. data/vendor/nginx/src/event/ngx_event_timer.c +50 -70
  80. data/vendor/nginx/src/event/ngx_event_timer.h +2 -14
  81. data/vendor/nginx/src/http/modules/ngx_http_addition_filter_module.c +1 -1
  82. data/vendor/nginx/src/http/modules/ngx_http_autoindex_module.c +416 -71
  83. data/vendor/nginx/src/http/modules/ngx_http_charset_filter_module.c +19 -15
  84. data/vendor/nginx/src/http/modules/ngx_http_dav_module.c +16 -4
  85. data/vendor/nginx/src/http/modules/ngx_http_fastcgi_module.c +601 -134
  86. data/vendor/nginx/src/http/modules/ngx_http_geo_module.c +1 -1
  87. data/vendor/nginx/src/http/modules/ngx_http_geoip_module.c +9 -3
  88. data/vendor/nginx/src/http/modules/ngx_http_gunzip_filter_module.c +9 -3
  89. data/vendor/nginx/src/http/modules/ngx_http_gzip_filter_module.c +9 -3
  90. data/vendor/nginx/src/http/modules/ngx_http_gzip_static_module.c +0 -2
  91. data/vendor/nginx/src/http/modules/ngx_http_headers_filter_module.c +197 -91
  92. data/vendor/nginx/src/http/modules/ngx_http_image_filter_module.c +1 -0
  93. data/vendor/nginx/src/http/modules/ngx_http_limit_conn_module.c +65 -162
  94. data/vendor/nginx/src/http/modules/ngx_http_limit_req_module.c +53 -67
  95. data/vendor/nginx/src/http/modules/ngx_http_log_module.c +128 -23
  96. data/vendor/nginx/src/http/modules/ngx_http_memcached_module.c +25 -6
  97. data/vendor/nginx/src/http/modules/ngx_http_mp4_module.c +1 -1
  98. data/vendor/nginx/src/http/modules/ngx_http_not_modified_filter_module.c +39 -13
  99. data/vendor/nginx/src/http/modules/ngx_http_proxy_module.c +697 -141
  100. data/vendor/nginx/src/http/modules/ngx_http_rewrite_module.c +5 -1
  101. data/vendor/nginx/src/http/modules/ngx_http_scgi_module.c +282 -125
  102. data/vendor/nginx/src/http/modules/ngx_http_ssi_filter_module.c +4 -1
  103. data/vendor/nginx/src/http/modules/ngx_http_ssl_module.c +44 -1
  104. data/vendor/nginx/src/http/modules/ngx_http_ssl_module.h +2 -0
  105. data/vendor/nginx/src/http/modules/ngx_http_stub_status_module.c +10 -8
  106. data/vendor/nginx/src/http/modules/ngx_http_sub_filter_module.c +18 -3
  107. data/vendor/nginx/src/http/modules/ngx_http_upstream_hash_module.c +641 -0
  108. data/vendor/nginx/src/http/modules/ngx_http_upstream_ip_hash_module.c +1 -1
  109. data/vendor/nginx/src/http/modules/ngx_http_upstream_keepalive_module.c +3 -21
  110. data/vendor/nginx/src/http/modules/ngx_http_upstream_least_conn_module.c +0 -5
  111. data/vendor/nginx/src/http/modules/ngx_http_uwsgi_module.c +449 -125
  112. data/vendor/nginx/src/http/modules/ngx_http_xslt_filter_module.c +4 -2
  113. data/vendor/nginx/src/http/modules/perl/ngx_http_perl_module.c +2 -1
  114. data/vendor/nginx/src/http/ngx_http.c +10 -5
  115. data/vendor/nginx/src/http/ngx_http.h +4 -4
  116. data/vendor/nginx/src/http/ngx_http_cache.h +26 -1
  117. data/vendor/nginx/src/http/ngx_http_copy_filter_module.c +109 -68
  118. data/vendor/nginx/src/http/ngx_http_core_module.c +191 -46
  119. data/vendor/nginx/src/http/ngx_http_core_module.h +16 -4
  120. data/vendor/nginx/src/http/ngx_http_file_cache.c +584 -67
  121. data/vendor/nginx/src/http/ngx_http_parse.c +55 -4
  122. data/vendor/nginx/src/http/ngx_http_request.c +14 -6
  123. data/vendor/nginx/src/http/ngx_http_request.h +12 -4
  124. data/vendor/nginx/src/http/ngx_http_request_body.c +114 -28
  125. data/vendor/nginx/src/http/ngx_http_spdy.c +383 -229
  126. data/vendor/nginx/src/http/ngx_http_spdy.h +8 -5
  127. data/vendor/nginx/src/http/ngx_http_spdy_filter_module.c +12 -4
  128. data/vendor/nginx/src/http/ngx_http_special_response.c +2 -2
  129. data/vendor/nginx/src/http/ngx_http_upstream.c +808 -132
  130. data/vendor/nginx/src/http/ngx_http_upstream.h +33 -3
  131. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.c +72 -65
  132. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.h +1 -2
  133. data/vendor/nginx/src/http/ngx_http_variables.c +47 -3
  134. data/vendor/nginx/src/http/ngx_http_write_filter_module.c +15 -6
  135. data/vendor/nginx/src/mail/ngx_mail.c +2 -3
  136. data/vendor/nginx/src/mail/ngx_mail.h +2 -0
  137. data/vendor/nginx/src/mail/ngx_mail_auth_http_module.c +140 -11
  138. data/vendor/nginx/src/mail/ngx_mail_core_module.c +3 -3
  139. data/vendor/nginx/src/mail/ngx_mail_handler.c +79 -2
  140. data/vendor/nginx/src/mail/ngx_mail_imap_module.c +3 -1
  141. data/vendor/nginx/src/mail/ngx_mail_pop3_module.c +3 -1
  142. data/vendor/nginx/src/mail/ngx_mail_smtp_module.c +3 -1
  143. data/vendor/nginx/src/mail/ngx_mail_ssl_module.c +125 -1
  144. data/vendor/nginx/src/mail/ngx_mail_ssl_module.h +8 -0
  145. data/vendor/nginx/src/misc/ngx_cpp_test_module.cpp +1 -1
  146. data/vendor/nginx/src/os/unix/ngx_aio_read_chain.c +1 -1
  147. data/vendor/nginx/src/os/unix/ngx_channel.c +0 -7
  148. data/vendor/nginx/src/os/unix/ngx_darwin_config.h +0 -3
  149. data/vendor/nginx/src/os/unix/ngx_darwin_sendfile_chain.c +44 -208
  150. data/vendor/nginx/src/os/unix/ngx_file_aio_read.c +25 -17
  151. data/vendor/nginx/src/os/unix/ngx_files.c +109 -0
  152. data/vendor/nginx/src/os/unix/ngx_files.h +6 -0
  153. data/vendor/nginx/src/os/unix/ngx_freebsd_config.h +0 -6
  154. data/vendor/nginx/src/os/unix/ngx_freebsd_sendfile_chain.c +78 -206
  155. data/vendor/nginx/src/os/unix/ngx_linux_aio_read.c +25 -14
  156. data/vendor/nginx/src/os/unix/ngx_linux_config.h +4 -1
  157. data/vendor/nginx/src/os/unix/ngx_linux_sendfile_chain.c +235 -194
  158. data/vendor/nginx/src/os/unix/ngx_os.h +25 -3
  159. data/vendor/nginx/src/os/unix/ngx_posix_init.c +4 -2
  160. data/vendor/nginx/src/os/unix/ngx_process_cycle.c +13 -195
  161. data/vendor/nginx/src/os/unix/ngx_process_cycle.h +0 -1
  162. data/vendor/nginx/src/os/unix/ngx_readv_chain.c +27 -108
  163. data/vendor/nginx/src/os/unix/ngx_setproctitle.h +2 -2
  164. data/vendor/nginx/src/os/unix/ngx_solaris_sendfilev_chain.c +12 -67
  165. data/vendor/nginx/src/os/unix/ngx_thread.h +26 -83
  166. data/vendor/nginx/src/os/unix/ngx_thread_cond.c +87 -0
  167. data/vendor/nginx/src/os/unix/ngx_thread_id.c +70 -0
  168. data/vendor/nginx/src/os/unix/ngx_thread_mutex.c +174 -0
  169. data/vendor/nginx/src/os/unix/ngx_user.c +2 -20
  170. data/vendor/nginx/src/os/unix/ngx_writev_chain.c +129 -98
  171. metadata +16 -17
  172. data/vendor/nginx/auto/lib/zlib/patch.zlib.h +0 -10
  173. data/vendor/nginx/src/event/ngx_event_busy_lock.c +0 -286
  174. data/vendor/nginx/src/event/ngx_event_busy_lock.h +0 -65
  175. data/vendor/nginx/src/event/ngx_event_mutex.c +0 -70
  176. data/vendor/nginx/src/http/ngx_http_busy_lock.c +0 -307
  177. data/vendor/nginx/src/http/ngx_http_busy_lock.h +0 -54
  178. data/vendor/nginx/src/os/unix/ngx_freebsd_rfork_thread.c +0 -756
  179. data/vendor/nginx/src/os/unix/ngx_freebsd_rfork_thread.h +0 -122
  180. data/vendor/nginx/src/os/unix/ngx_pthread_thread.c +0 -278
  181. data/vendor/nginx/src/os/unix/rfork_thread.S +0 -73
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e338693c750971840d0bcf3da11efcdd38c8a9e1
4
- data.tar.gz: cf0e2d1e77948f5b66166bef332dc1d5e49ea2ad
3
+ metadata.gz: 381012eb910c9ce3201a3da1bd81ed60adabf36c
4
+ data.tar.gz: c2ae31f850831d4764a7d46d36065c04cdd77ae0
5
5
  SHA512:
6
- metadata.gz: c56f914b6b2cfbd2afc3852b0f7a2ffe97cfc936dc1558b32e4fd405c33724e96aa0016114acf058a84bce449fb7a67be57c20c486385436ac33699acac77d78
7
- data.tar.gz: 7a0c4bf60a30eb597f3e71978d2436325387ea81076aa2c706d441b7bb870d800796b2739eb25c7ccc7480ed67ce711a94513495fdc2711a9a09adcf5a200cf3
6
+ metadata.gz: 7605514c3ac94f3ea3ff9acec914fbfd333e561aa52374fbe43b00561fbb879c55b45a0b949dd53c9f5c2cb62e2f2f031730037ac94bd005f23e3fa00c99ffab
7
+ data.tar.gz: 23131c3242a5a6c9f1e98636edba209d1e19e48f30fd06936252ba91b7d1400603153bc5c29ba5ef7cfc23dbf7dc6f901a123bf94d3cc9823981a8781d1d664b
data/bin/nginxtra CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "rubygems"
3
- gem "nginxtra", "= 1.6.3.9"
3
+ gem "nginxtra", "= 1.8.0.9"
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.6.3.9"
3
+ gem "nginxtra", "= 1.8.0.9"
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.6.3.9"
9
+ "1.8.0.9"
10
10
  end
11
11
  end
12
12
  end
data/vendor/nginx/CHANGES CHANGED
@@ -1,55 +1,399 @@
1
1
 
2
- Changes with nginx 1.6.3 07 Apr 2015
2
+ Changes with nginx 1.8.0 21 Apr 2015
3
3
 
4
- *) Feature: now the "tcp_nodelay" directive works with SPDY connections.
4
+ *) 1.8.x stable branch.
5
5
 
6
- *) Bugfix: in error handling.
7
- Thanks to Yichun Zhang and Daniil Bondarev.
8
6
 
9
- *) Bugfix: alerts "header already sent" appeared in logs if the
10
- "post_action" directive was used; the bug had appeared in 1.5.4.
7
+ Changes with nginx 1.7.12 07 Apr 2015
11
8
 
12
- *) Bugfix: alerts "sem_post() failed" might appear in logs.
9
+ *) Feature: now the "tcp_nodelay" directive works with backend SSL
10
+ connections.
11
+
12
+ *) Feature: now thread pools can be used to read cache file headers.
13
+
14
+ *) Bugfix: in the "proxy_request_buffering" directive.
15
+
16
+ *) Bugfix: a segmentation fault might occur in a worker process when
17
+ using thread pools on Linux.
18
+
19
+ *) Bugfix: in error handling when using the "ssl_stapling" directive.
20
+ Thanks to Filipe da Silva.
21
+
22
+ *) Bugfix: in the ngx_http_spdy_module.
23
+
24
+
25
+ Changes with nginx 1.7.11 24 Mar 2015
26
+
27
+ *) Change: the "sendfile" parameter of the "aio" directive is
28
+ deprecated; now nginx automatically uses AIO to pre-load data for
29
+ sendfile if both "aio" and "sendfile" directives are used.
30
+
31
+ *) Feature: experimental thread pools support.
32
+
33
+ *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering",
34
+ "scgi_request_buffering", and "uwsgi_request_buffering" directives.
35
+
36
+ *) Feature: request body filters experimental API.
37
+
38
+ *) Feature: client SSL certificates support in mail proxy.
39
+ Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva.
40
+
41
+ *) Feature: startup speedup when using the "hash ... consistent"
42
+ directive in the upstream block.
43
+ Thanks to Wai Keen Woon.
44
+
45
+ *) Feature: debug logging into a cyclic memory buffer.
13
46
 
14
47
  *) Bugfix: in hash table handling.
15
48
  Thanks to Chris West.
16
49
 
50
+ *) Bugfix: in the "proxy_cache_revalidate" directive.
51
+
52
+ *) Bugfix: SSL connections might hang if deferred accept or the
53
+ "proxy_protocol" parameter of the "listen" directive were used.
54
+ Thanks to James Hamlin.
55
+
56
+ *) Bugfix: the $upstream_response_time variable might contain a wrong
57
+ value if the "image_filter" directive was used.
58
+
17
59
  *) Bugfix: in integer overflow handling.
18
60
  Thanks to Régis Leroy.
19
61
 
62
+ *) Bugfix: it was not possible to enable SSLv3 with LibreSSL.
63
+
64
+ *) Bugfix: the "ignoring stale global SSL error ... called a function
65
+ you should not call" alerts appeared in logs when using LibreSSL.
66
+
67
+ *) Bugfix: certificates specified by the "ssl_client_certificate" and
68
+ "ssl_trusted_certificate" directives were inadvertently used to
69
+ automatically construct certificate chains.
70
+
71
+
72
+ Changes with nginx 1.7.10 10 Feb 2015
73
+
74
+ *) Feature: the "use_temp_path" parameter of the "proxy_cache_path",
75
+ "fastcgi_cache_path", "scgi_cache_path", and "uwsgi_cache_path"
76
+ directives.
77
+
78
+ *) Feature: the $upstream_header_time variable.
79
+
80
+ *) Workaround: now on disk overflow nginx tries to write error logs once
81
+ a second only.
82
+
83
+ *) Bugfix: the "try_files" directive did not ignore normal files while
84
+ testing directories.
85
+ Thanks to Damien Tournoud.
86
+
87
+ *) Bugfix: alerts "sendfile() failed" if the "sendfile" directive was
88
+ used on OS X; the bug had appeared in 1.7.8.
89
+
90
+ *) Bugfix: alerts "sem_post() failed" might appear in logs.
91
+
92
+ *) Bugfix: nginx could not be built with musl libc.
93
+ Thanks to James Taylor.
94
+
95
+ *) Bugfix: nginx could not be built on Tru64 UNIX.
96
+ Thanks to Goetz T. Fischer.
97
+
98
+
99
+ Changes with nginx 1.7.9 23 Dec 2014
100
+
101
+ *) Feature: variables support in the "proxy_cache", "fastcgi_cache",
102
+ "scgi_cache", and "uwsgi_cache" directives.
103
+
104
+ *) Feature: variables support in the "expires" directive.
105
+
106
+ *) Feature: loading of secret keys from hardware tokens with OpenSSL
107
+ engines.
108
+ Thanks to Dmitrii Pichulin.
109
+
110
+ *) Feature: the "autoindex_format" directive.
111
+
112
+ *) Bugfix: cache revalidation is now only used for responses with 200
113
+ and 206 status codes.
114
+ Thanks to Piotr Sikora.
115
+
116
+ *) Bugfix: the "TE" client request header line was passed to backends
117
+ while proxying.
118
+
119
+ *) Bugfix: the "proxy_pass", "fastcgi_pass", "scgi_pass", and
120
+ "uwsgi_pass" directives might not work correctly inside the "if" and
121
+ "limit_except" blocks.
122
+
123
+ *) Bugfix: the "proxy_store" directive with the "on" parameter was
124
+ ignored if the "proxy_store" directive with an explicitly specified
125
+ file path was used on a previous level.
126
+
127
+ *) Bugfix: nginx could not be built with BoringSSL.
128
+ Thanks to Lukas Tribus.
129
+
130
+
131
+ Changes with nginx 1.7.8 02 Dec 2014
132
+
133
+ *) Change: now the "If-Modified-Since", "If-Range", etc. client request
134
+ header lines are passed to a backend while caching if nginx knows in
135
+ advance that the response will not be cached (e.g., when using
136
+ proxy_cache_min_uses).
137
+
138
+ *) Change: now after proxy_cache_lock_timeout nginx sends a request to a
139
+ backend with caching disabled; the new directives
140
+ "proxy_cache_lock_age", "fastcgi_cache_lock_age",
141
+ "scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time
142
+ after which the lock will be released and another attempt to cache a
143
+ response will be made.
144
+
145
+ *) Change: the "log_format" directive can now be used only at http
146
+ level.
147
+
148
+ *) Feature: the "proxy_ssl_certificate", "proxy_ssl_certificate_key",
149
+ "proxy_ssl_password_file", "uwsgi_ssl_certificate",
150
+ "uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file"
151
+ directives.
152
+ Thanks to Piotr Sikora.
153
+
154
+ *) Feature: it is now possible to switch to a named location using
155
+ "X-Accel-Redirect".
156
+ Thanks to Toshikuni Fukaya.
157
+
158
+ *) Feature: now the "tcp_nodelay" directive works with SPDY connections.
159
+
160
+ *) Feature: new directives in vim syntax highliting scripts.
161
+ Thanks to Peter Wu.
162
+
163
+ *) Bugfix: nginx ignored the "s-maxage" value in the "Cache-Control"
164
+ backend response header line.
165
+ Thanks to Piotr Sikora.
166
+
167
+ *) Bugfix: in the ngx_http_spdy_module.
168
+ Thanks to Piotr Sikora.
169
+
170
+ *) Bugfix: in the "ssl_password_file" directive when using OpenSSL
171
+ 0.9.8zc, 1.0.0o, 1.0.1j.
172
+
173
+ *) Bugfix: alerts "header already sent" appeared in logs if the
174
+ "post_action" directive was used; the bug had appeared in 1.5.4.
175
+
176
+ *) Bugfix: alerts "the http output chain is empty" might appear in logs
177
+ if the "postpone_output 0" directive was used with SSI includes.
178
+
179
+ *) Bugfix: in the "proxy_cache_lock" directive with SSI subrequests.
180
+ Thanks to Yichun Zhang.
181
+
182
+
183
+ Changes with nginx 1.7.7 28 Oct 2014
184
+
185
+ *) Change: now nginx takes into account the "Vary" header line in a
186
+ backend response while caching.
187
+
188
+ *) Feature: the "proxy_force_ranges", "fastcgi_force_ranges",
189
+ "scgi_force_ranges", and "uwsgi_force_ranges" directives.
190
+
191
+ *) Feature: the "proxy_limit_rate", "fastcgi_limit_rate",
192
+ "scgi_limit_rate", and "uwsgi_limit_rate" directives.
193
+
194
+ *) Feature: the "Vary" parameter of the "proxy_ignore_headers",
195
+ "fastcgi_ignore_headers", "scgi_ignore_headers", and
196
+ "uwsgi_ignore_headers" directives.
197
+
198
+ *) Bugfix: the last part of a response received from a backend with
199
+ unbufferred proxy might not be sent to a client if "gzip" or "gunzip"
200
+ directives were used.
201
+
202
+ *) Bugfix: in the "proxy_cache_revalidate" directive.
203
+ Thanks to Piotr Sikora.
204
+
205
+ *) Bugfix: in error handling.
206
+ Thanks to Yichun Zhang and Daniil Bondarev.
207
+
208
+ *) Bugfix: in the "proxy_next_upstream_tries" and
209
+ "proxy_next_upstream_timeout" directives.
210
+ Thanks to Feng Gu.
211
+
212
+ *) Bugfix: nginx/Windows could not be built with MinGW-w64 gcc.
213
+ Thanks to Kouhei Sutou.
214
+
215
+
216
+ Changes with nginx 1.7.6 30 Sep 2014
217
+
218
+ *) Change: the deprecated "limit_zone" directive is not supported
219
+ anymore.
220
+
221
+ *) Feature: the "limit_conn_zone" and "limit_req_zone" directives now
222
+ can be used with combinations of multiple variables.
223
+
224
+ *) Bugfix: request body might be transmitted incorrectly when retrying a
225
+ FastCGI request to the next upstream server.
226
+
227
+ *) Bugfix: in logging to syslog.
20
228
 
21
- Changes with nginx 1.6.2 16 Sep 2014
229
+
230
+ Changes with nginx 1.7.5 16 Sep 2014
22
231
 
23
232
  *) Security: it was possible to reuse SSL sessions in unrelated contexts
24
233
  if a shared SSL session cache or the same TLS session ticket key was
25
234
  used for multiple "server" blocks (CVE-2014-3616).
26
235
  Thanks to Antoine Delignat-Lavaud.
27
236
 
28
- *) Bugfix: requests might hang if resolver was used and a DNS server
29
- returned a malformed response; the bug had appeared in 1.5.8.
237
+ *) Change: now the "stub_status" directive does not require a parameter.
238
+
239
+ *) Feature: the "always" parameter of the "add_header" directive.
240
+
241
+ *) Feature: the "proxy_next_upstream_tries",
242
+ "proxy_next_upstream_timeout", "fastcgi_next_upstream_tries",
243
+ "fastcgi_next_upstream_timeout", "memcached_next_upstream_tries",
244
+ "memcached_next_upstream_timeout", "scgi_next_upstream_tries",
245
+ "scgi_next_upstream_timeout", "uwsgi_next_upstream_tries", and
246
+ "uwsgi_next_upstream_timeout" directives.
247
+
248
+ *) Bugfix: in the "if" parameter of the "access_log" directive.
249
+
250
+ *) Bugfix: in the ngx_http_perl_module.
251
+ Thanks to Piotr Sikora.
252
+
253
+ *) Bugfix: the "listen" directive of the mail proxy module did not allow
254
+ to specify more than two parameters.
255
+
256
+ *) Bugfix: the "sub_filter" directive did not work with a string to
257
+ replace consisting of a single character.
30
258
 
31
259
  *) Bugfix: requests might hang if resolver was used and a timeout
32
260
  occurred during a DNS request.
33
261
 
262
+ *) Bugfix: in the ngx_http_spdy_module when using with AIO.
263
+
264
+ *) Bugfix: a segmentation fault might occur in a worker process if the
265
+ "set" directive was used to change the "$http_...", "$sent_http_...",
266
+ or "$upstream_http_..." variables.
267
+
268
+ *) Bugfix: in memory allocation error handling.
269
+ Thanks to Markus Linnala and Feng Gu.
34
270
 
35
- Changes with nginx 1.6.1 05 Aug 2014
271
+
272
+ Changes with nginx 1.7.4 05 Aug 2014
36
273
 
37
274
  *) Security: pipelined commands were not discarded after STARTTLS
38
275
  command in SMTP proxy (CVE-2014-3556); the bug had appeared in 1.5.6.
39
276
  Thanks to Chris Boulton.
40
277
 
278
+ *) Change: URI escaping now uses uppercase hexadecimal digits.
279
+ Thanks to Piotr Sikora.
280
+
281
+ *) Feature: now nginx can be build with BoringSSL and LibreSSL.
282
+ Thanks to Piotr Sikora.
283
+
284
+ *) Bugfix: requests might hang if resolver was used and a DNS server
285
+ returned a malformed response; the bug had appeared in 1.5.8.
286
+
287
+ *) Bugfix: in the ngx_http_spdy_module.
288
+ Thanks to Piotr Sikora.
289
+
41
290
  *) Bugfix: the $uri variable might contain garbage when returning errors
42
291
  with code 400.
43
292
  Thanks to Sergey Bobrov.
44
293
 
294
+ *) Bugfix: in error handling in the "proxy_store" directive and the
295
+ ngx_http_dav_module.
296
+ Thanks to Feng Gu.
297
+
298
+ *) Bugfix: a segmentation fault might occur if logging of errors to
299
+ syslog was used; the bug had appeared in 1.7.1.
300
+
301
+ *) Bugfix: the $geoip_latitude, $geoip_longitude, $geoip_dma_code, and
302
+ $geoip_area_code variables might not work.
303
+ Thanks to Yichun Zhang.
304
+
305
+ *) Bugfix: in memory allocation error handling.
306
+ Thanks to Tatsuhiko Kubo and Piotr Sikora.
307
+
308
+
309
+ Changes with nginx 1.7.3 08 Jul 2014
310
+
311
+ *) Feature: weak entity tags are now preserved on response
312
+ modifications, and strong ones are changed to weak.
313
+
314
+ *) Feature: cache revalidation now uses If-None-Match header if
315
+ possible.
316
+
317
+ *) Feature: the "ssl_password_file" directive.
318
+
319
+ *) Bugfix: the If-None-Match request header line was ignored if there
320
+ was no Last-Modified header in a response returned from cache.
321
+
322
+ *) Bugfix: "peer closed connection in SSL handshake" messages were
323
+ logged at "info" level instead of "error" while connecting to
324
+ backends.
325
+
326
+ *) Bugfix: in the ngx_http_dav_module module in nginx/Windows.
327
+
328
+ *) Bugfix: SPDY connections might be closed prematurely if caching was
329
+ used.
330
+
331
+
332
+ Changes with nginx 1.7.2 17 Jun 2014
333
+
334
+ *) Feature: the "hash" directive inside the "upstream" block.
335
+
336
+ *) Feature: defragmentation of free shared memory blocks.
337
+ Thanks to Wandenberg Peixoto and Yichun Zhang.
338
+
339
+ *) Bugfix: a segmentation fault might occur in a worker process if the
340
+ default value of the "access_log" directive was used; the bug had
341
+ appeared in 1.7.0.
342
+ Thanks to Piotr Sikora.
343
+
344
+ *) Bugfix: trailing slash was mistakenly removed from the last parameter
345
+ of the "try_files" directive.
346
+
347
+ *) Bugfix: nginx could not be built on OS X in some cases.
348
+
349
+ *) Bugfix: in the ngx_http_spdy_module.
350
+
351
+
352
+ Changes with nginx 1.7.1 27 May 2014
353
+
354
+ *) Feature: the "$upstream_cookie_..." variables.
355
+
356
+ *) Feature: the $ssl_client_fingerprint variable.
357
+
358
+ *) Feature: the "error_log" and "access_log" directives now support
359
+ logging to syslog.
360
+
361
+ *) Feature: the mail proxy now logs client port on connect.
362
+
363
+ *) Bugfix: memory leak if the "ssl_stapling" directive was used.
364
+ Thanks to Filipe da Silva.
365
+
366
+ *) Bugfix: the "alias" directive used inside a location given by a
367
+ regular expression worked incorrectly if the "if" or "limit_except"
368
+ directives were used.
369
+
370
+ *) Bugfix: the "charset" directive did not set a charset to encoded
371
+ backend responses.
372
+
373
+ *) Bugfix: a "proxy_pass" directive without URI part might use original
374
+ request after the $args variable was set.
375
+ Thanks to Yichun Zhang.
376
+
45
377
  *) Bugfix: in the "none" parameter in the "smtp_auth" directive; the bug
46
378
  had appeared in 1.5.6.
47
379
  Thanks to Svyatoslav Nikolsky.
48
380
 
381
+ *) Bugfix: if sub_filter and SSI were used together, then responses
382
+ might be transferred incorrectly.
383
+
384
+ *) Bugfix: nginx could not be built with the --with-file-aio option on
385
+ Linux/aarch64.
386
+
387
+
388
+ Changes with nginx 1.7.0 24 Apr 2014
389
+
390
+ *) Feature: backend SSL certificate verification.
391
+
392
+ *) Feature: support for SNI while working with SSL backends.
49
393
 
50
- Changes with nginx 1.6.0 24 Apr 2014
394
+ *) Feature: the $ssl_server_name variable.
51
395
 
52
- *) 1.6.x stable branch.
396
+ *) Feature: the "if" parameter of the "access_log" directive.
53
397
 
54
398
 
55
399
  Changes with nginx 1.5.13 08 Apr 2014
@@ -3249,7 +3593,7 @@ Changes with nginx 0.7.11 18 Aug 2008
3249
3593
  *) Feature: the "proxy_ssl_session_reuse" directive.
3250
3594
 
3251
3595
  *) Bugfix: a "proxy_pass" directive without URI part might use original
3252
- request after the "X-Accel-Redirect" redirection was used;
3596
+ request after the "X-Accel-Redirect" redirection was used.
3253
3597
 
3254
3598
  *) Bugfix: if a directory has search only rights and the first index
3255
3599
  file was absent, then nginx returned the 500 status code.