Maxim Dounin
eb60e1e26d
Win32: support for UTF-16 surrogate pairs (ticket #457 ).
2014-01-04 03:32:15 +04:00
Maxim Dounin
def37d254a
Upstream: Cache-Control preferred over Expires.
...
Not really a strict check (as X-Accel-Expires might be ignored or
contain invalid value), but quite simple to implement and better
than what we have now.
2014-01-04 03:32:10 +04:00
Maxim Dounin
1029607ac9
Added per-process random seeding (ticket #456 ).
2014-01-04 03:32:06 +04:00
Maxim Dounin
9a72030c25
Allowed up to two EBUSY errors from sendfile().
...
Fallback to synchronous sendfile() now only done on 3rd EBUSY without
any progress in a row. Not falling back is believed to be better
in case of occasional EBUSY, though protection is still needed to
make sure there will be no infinite loop.
2014-01-04 03:31:58 +04:00
Ruslan Ermilov
2539ce036f
Fixed setting of content type in some cases.
...
This fixes content type set in stub_status and autoindex responses
to be usable in content type checks made by filter modules, such
as charset and sub filters.
2013-12-27 19:40:04 +04:00
Valentin Bartenev
2b1156d101
Style: removed surplus semicolons.
2013-12-27 18:47:42 +04:00
Valentin Bartenev
aa22dc707b
SPDY: a bit smarter ngx_http_spdy_filter_get_data_frame().
...
There is no need to pass FLAG_FIN as a separate argument since it can always be
detected from the last_buf flag of the last frame buffer.
No functional changes.
2013-12-26 17:03:16 +04:00
Valentin Bartenev
df49024997
SPDY: refactored loop in ngx_http_spdy_body_filter().
...
No functional changes.
2013-12-26 17:03:16 +04:00
Valentin Bartenev
75dad742e5
SPDY: fixed possible request hang.
...
Processing events from upstream connection can result in sending queued frames
from other streams. In this case such streams were not added to handling queue
and properly handled.
A global per connection flag was replaced by a per stream flag that indicates
currently sending stream while all other streams can be added to handling
queue.
2013-12-26 17:03:16 +04:00
Ruslan Ermilov
9b4a99cf5d
Dav: emit a warning about unsafe URI.
2013-12-23 18:12:03 +04:00
Ruslan Ermilov
f7ff5e65d0
Teach ngx_http_parse_unsafe_uri() how to unescape URIs.
...
This fixes handling of escaped URIs in X-Accel-Redirect (ticket #316 ),
SSI (ticket #240 ), and DAV.
2013-12-23 18:12:00 +04:00
Ruslan Ermilov
336bcb22d1
Detect more unsafe URIs in ngx_http_parse_unsafe_uri().
...
The following URIs were considered safe: "..", "../foo", and "/foo/..".
2013-12-23 18:11:56 +04:00
Ruslan Ermilov
3f36c684a1
Upstream: keep $upstream_http_x_accel_redirect intact.
...
When processing the X-Accel-Redirect header, the value of the
$upstream_http_x_accel_redirect variable was also overwritten.
2013-12-23 18:11:46 +04:00
Ruslan Ermilov
bf800822df
Fixed the first argument to getsockopt().
...
While here, always initialize the last argument.
2013-12-19 13:43:18 +04:00
Maxim Dounin
37b7de6df7
SSL: ssl_buffer_size directive.
2013-12-20 16:18:25 +04:00
Vladimir Homutov
c7a0b04665
Upstream: simplified peer selection loop in the "ip_hash" module.
...
Conditions for skipping ineligible peers are rewritten to make adding of new
conditions simpler and be in line with the "round_robin" and "least_conn"
modules. No functional changes.
2013-12-09 13:43:27 +04:00
Ruslan Ermilov
85e6d211d0
Resolver: use minimum TTL for caching (ticket #329 ).
2013-12-16 19:12:23 +04:00
Maxim Dounin
b156dc9635
Typo fixed.
2013-12-19 13:50:23 +04:00
Valentin Bartenev
c8f3f9fa12
SPDY: use predefined constant for size of the Stream-ID field.
...
No functional changes.
2013-12-18 18:39:29 +04:00
Valentin Bartenev
bf3ff5bca7
Version bump.
2013-12-18 18:37:48 +04:00
Maxim Dounin
dd8c382ca2
release-1.5.8 tag
2013-12-17 17:46:26 +04:00
Maxim Dounin
c36c45d62b
nginx-1.5.8-RELEASE
2013-12-17 17:46:26 +04:00
Ruslan Ermilov
3fd727566a
Resolver: lookups are case-insensitive.
2013-12-13 20:49:52 +04:00
Ruslan Ermilov
e0caf51711
The "ipv6=" boolean parameter of the "resolver" directive.
...
When set to "off", only IPv4 addresses will be resolved,
and no AAAA queries are ever sent.
2013-12-09 10:53:30 +04:00
Ruslan Ermilov
769eded732
Resolver: implemented IPv6 name to address resolving.
2013-12-09 10:53:28 +04:00
Ruslan Ermilov
809bee30b7
Resolver: implemented IPv6 address to name resolving.
2013-12-06 14:30:28 +04:00
Ruslan Ermilov
3aeefbcaea
Changed resolver API to use ngx_addr_t.
2013-12-06 14:30:27 +04:00
Ruslan Ermilov
552e15ba1c
Resolver: fixed indentation.
2013-12-13 19:22:44 +04:00
Ruslan Ermilov
efd0e0e177
Core: externalized ngx_cmp_sockaddr().
...
It's also extended with the "cmp_port" argument to indicate
whether ports should be compared as well, or only addresses.
2013-12-06 14:30:27 +04:00
Ruslan Ermilov
159486239f
Resolver: fixes in PTR processing.
...
Verify that class of RR is "IN".
Verify that RR data length is non-zero.
2013-12-06 14:30:27 +04:00
Ruslan Ermilov
f57350cd86
Resolver: fixes in A processing.
...
Verify that class of RR is "IN".
Verify that RR data length is exactly four octets.
Correctly shift to the next RR if RR type is unknown.
2013-12-06 14:30:27 +04:00
Ruslan Ermilov
f3a271f3fd
Resolver: fixed response processing.
...
Stricten response header checks: ensure that reserved bits are zeroes,
and that the opcode is "standard query".
Fixed the "zero-length domain name in DNS response" condition.
2013-12-06 14:30:27 +04:00
Ruslan Ermilov
23071835a3
Resolver: removed unnecessary casts.
2013-12-06 14:30:27 +04:00
Ruslan Ermilov
3d245d4792
Resolver: improved code readability.
...
Renamed ngx_resolver_query_t to ngx_resolver_hdr_t as it describes
the header that is common to DNS queries and answers.
Replaced the magic number 12 by the size of the header structure.
The other changes are self-explanatory.
2013-12-06 14:30:27 +04:00
Maxim Dounin
0c585adfd4
Trailing whitespace fix.
2013-12-12 20:28:48 +04:00
Valentin Bartenev
2576530c51
Use ngx_chain_get_free_buf() in pipe input filters.
...
No functional changes.
2013-12-11 21:30:38 +04:00
Valentin Bartenev
7f54528ca0
SPDY: drop the "delayed" flag when finalizing connection.
...
This flag in SPDY fake write events serves the same purposes as the "ready"
flag in real events, and it must be dropped if request needs to be handled.
Otherwise, it can prevent the request from finalization if ngx_http_writer()
was set, which results in a connection leak.
Found by Xiaochen Wang.
2013-12-10 20:27:33 +04:00
Ruslan Ermilov
fa512fdb76
Fixed handling of UNIX-domain sockets.
...
When evaluating $local_port, $server_port, and $server_addr,
UNIX-domain sockets were mistakenly interpreted as IPv4 sockets.
2013-12-09 10:16:44 +04:00
Ruslan Ermilov
675e73e3bd
Core: keep the length of the local sockaddr.
2013-12-09 10:14:51 +04:00
Piotr Sikora
19f475276d
Fixed incorrect ngx_str_set() usage, broken in c82b2e020b9f.
...
Found by Coverity Scan CID 1135525.
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-12-06 16:00:49 -08:00
Maxim Dounin
eada942342
Contrib: added vim to README.
2013-12-06 19:58:27 +04:00
Evan Miller
61a2667954
Contrib: add vim scripts to contrib/ directory.
...
I've been maintaining these scripts independently for a while now, even though
I'm no longer active in the community. Seems to me that contrib/ is a good
long-term home for the scripts.
2013-12-04 14:45:44 -08:00
Ruslan Ermilov
618e12f679
Configure: enable -Wconditional-uninitialized with clang.
2013-12-06 13:16:56 +04:00
Maxim Dounin
67b0d16546
Fixed build without SSL, broken by c82b2e020b9f.
2013-12-04 23:13:13 +04:00
Maxim Dounin
24e1db93a8
SSL support in the uwsgi module.
...
Based on patch by Roberto De Ioris.
2013-12-04 23:01:27 +04:00
Mathew Rodley
84f5c2136e
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
...
---
auto/unix | 12 ++++++++++++
src/core/ngx_connection.c | 32 ++++++++++++++++++++++++++++++++
src/core/ngx_connection.h | 4 ++++
src/http/ngx_http.c | 4 ++++
src/http/ngx_http_core_module.c | 21 +++++++++++++++++++++
src/http/ngx_http_core_module.h | 3 +++
6 files changed, 76 insertions(+)
2013-12-03 22:07:03 +04:00
Maxim Dounin
a8a7de3f78
Fixed "setfib=" on non-first listening socket.
2013-12-03 21:44:08 +04:00
Vladimir Homutov
71b9cca835
Improved code readablity in ngx_http_upstream_init_round_robin().
...
Changed initialization order of the peer structure in one of the
cases to be in line with the rest.
No functional changes.
2013-12-03 17:12:16 +04:00
Ruslan Ermilov
0419933283
Fixed null pointer dereference with $upstream_cache_last_modified.
2013-12-03 15:11:24 +04:00
Maxim Dounin
bfda85b6e4
Win32: fixed init_process without master process (ticket #453 ).
...
Init process callbacks are called by ngx_worker_thread(), there is no
need to call them in ngx_single_process_cycle().
2013-11-29 17:23:47 +04:00