summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2013-05-21Upstream: slightly optimized ngx_http_upstream_process_header().Ruslan Ermilov1-4/+4
2013-05-21Upstream: made the assignment more obvious.Ruslan Ermilov1-1/+1
No functional changes.
2013-05-16OCSP stapling: fix error logging of successful OCSP responses.Piotr Sikora1-3/+2
Due to a bad argument list, nginx worker would crash (SIGSEGV) while trying to log the fact that it received OCSP response with "revoked" or "unknown" certificate status. While there, fix similar (but non-crashing) error a few lines above. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-05-09Mail: removed surplus ngx_close_connection() call.Filipe Da Silva1-1/+0
It is already called for a peer connection a few lines above.
2013-05-15Upstream keepalive: slightly simplified code.Ruslan Ermilov1-5/+2
2013-05-15Proxy: clear script engine used to calculate lengths.Maxim Dounin1-0/+2
Previous code is believed to be safe, but might access uninitialized memory (e.g., e->quote).
2013-05-13Fixed lingering_time check.Maxim Dounin2-4/+4
There are two significant changes in this patch: 1) The <= 0 comparison is done with a signed type. This fixes the case of ngx_time() being larger than r->lingering_time. 2) Calculation of r->lingering_time - ngx_time() is now always done in the ngx_msec_t type. This ensures the calculation is correct even if time_t is unsigned and differs in size from ngx_msec_t. Thanks to Lanshun Zhou.
2013-05-13Upstream: allow to intercept responses with status 300.Ruslan Ermilov1-1/+1
This fixes an omission made in 9e7926763f87 where all 3XX statuses were allowed for "error_page".
2013-05-02PCRE: retain input pattern for all regular expressions.Piotr Sikora1-1/+1
Previously, input pattern was kept only for regular expressions with named captures, which resulted in error log entries without input pattern for PCRE errors that occured while processing regular expressions without them. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-05-11Proxy: $proxy_internal_body_length fixed.Maxim Dounin1-1/+2
The $proxy_internal_body_length value might change during request lifetime, notably if proxy_set_body used, and use of a cached value might result in incorrect upstream requests. Patch by Lanshun Zhou.
2013-05-11Mp4: indentation and style, no functional changes.Maxim Dounin1-31/+39
2013-05-11Added r->limit_rate_after.Maxim Dounin2-4/+9
As of now, it allows to better control bandwidth limiting from additional modules. It is also expected to be used to add variables support to the limit_rate_after directive.
2013-05-11Fixed build with --with-mail_ssl_module.Maxim Dounin3-6/+6
If nginx was compiled without --with-http_ssl_module, but with some other module which uses OpenSSL (e.g. --with-mail_ssl_module), insufficient preprocessor check resulted in build failure. The problem was introduced by e0a3714a36f8 (1.3.14). Reported by Roman Arutyunyan.
2013-05-11Request body: fixed r->count increment on allocation failure.Maxim Dounin1-1/+2
2013-05-11Perl: extra "return" removed.Maxim Dounin1-1/+1
2013-05-11Version bump.Maxim Dounin1-2/+2
2013-05-06Fixed chunk size parsing.Maxim Dounin1-0/+4
2013-04-29Proxy: allocate $proxy_internal_body_length from request pool.Ruslan Ermilov1-1/+1
2013-04-29Version bump.Ruslan Ermilov1-2/+2
2013-04-24Version bump.Maxim Dounin1-2/+2
2013-04-23SPDY: set NGX_TCP_NODELAY_DISABLED for fake connections.Valentin Bartenev1-0/+1
This is to avoid setting the TCP_NODELAY flag on SPDY socket in ngx_http_upstream_send_response(). The latter works per request, but in SPDY case it might affect other streams in connection.
2013-04-23Perl: request body handling fixed.Maxim Dounin1-3/+36
As of 1.3.9, chunked request body may be available with r->headers_in.content_length_n <= 0. Additionally, request body may be in multiple buffers even if r->request_body_in_single_buf was requested.
2013-04-19Configure: fixed perl Makefile generation (ticket #334).Maxim Dounin1-1/+1
Dependancy tracking introduced in r5169 were not handled absolute path names properly. Absolute names might appear in CORE_DEPS if --with-openssl or --with-pcre configure arguments are used to build OpenSSL/PCRE libraries. Additionally, revert part of r5169 to set NGX_INCS from Makefile variables. Makefile variables have $ngx_include_opt in them, which might result in wrong include paths being used. As a side effect, this also restores build with --with-http_perl_module and --without-http at the same time.
2013-04-18Version bump.Ruslan Ermilov1-2/+2
2013-04-16Events: backout eventport changes (r5172) for now.Maxim Dounin1-8/+0
Evenport method needs more work. Changes in r5172, while being correct, introduce various new regressions with current code.
2013-04-16Request body: only read body in main request (ticket #330).Maxim Dounin1-1/+1
Before 1.3.9 an attempt to read body in a subrequest only caused problems if body wasn't already read or discarded in a main request. Starting with 1.3.9 it might also cause problems if body was discarded by a main request before subrequest start. Fix is to just ignore attempts to read request body in a subrequest, which looks like right thing to do anyway.
2013-04-12Upstream: warn if multiple non-stackable balancers are installed.Ruslan Ermilov2-0/+10
2013-04-12Events: fixed typos in two previous commits.Valentin Bartenev2-2/+2
2013-04-12Events: handle only active events in eventport.Valentin Bartenev1-0/+8
We generate both read and write events if an error event was returned by port_getn() without POLLIN/POLLOUT, but we should not try to handle inactive events, they may even have no handler.
2013-04-12Events: protection from stale events in eventport and devpoll.Valentin Bartenev2-2/+8
Stale write event may happen if read and write events was reported both, and processing of the read event closed descriptor. In practice this might result in "sendfilev() failed (134: ..." or "writev() failed (134: ..." errors when switching to next upstream server. See report here: http://mailman.nginx.org/pipermail/nginx/2013-April/038421.html
2013-04-11Upstream: fixed $upstream_response_length without buffering.Sergey Kandaurov1-1/+1
Reported by Piotr Sikora.
2013-04-10Configure: fixed nginx.so rebuild (broken by r5145).Maxim Dounin1-2/+4
To avoid further breaks it's now done properly, all the dependencies are now passed to Makefile.PL. While here, fixed include list passed to Makefile.PL to use Makefile variables rather than a list expanded during configure.
2013-04-04Upstream: removed surplus ngx_resolve_name_done() call.Valentin Bartenev1-10/+1
It will be called in ngx_http_upstream_finalize_request().
2013-04-03Limit req: rate should be non-zero.Valentin Bartenev1-1/+1
Specifying zero rate caused division by zero when calculating delays.
2013-03-29Pass PCRE_CASELESS to pcre_compile() for caseless matching.Ruslan Ermilov1-1/+1
Previously, we sometimes passed constant value 1 that happens to match PCRE_CASELESS and thus was harmless.
2013-03-28Simplified nginx version maintenance.Ruslan Ermilov1-1/+1
It's no longer necessary to update src/http/modules/perl/nginx.pm when version is bumped, as it's now derived from src/core/nginx.h.
2013-03-27Upstream: fixed tcp_nodelay with connection upgrade (ticket #325).Maxim Dounin1-20/+27
2013-03-27Event connect: don't penalize AF_INET6 connections.Maxim Dounin1-1/+1
Problems with setsockopt(TCP_NODELAY) and setsockopt(TCP_NOPUSH), as well as sendfile() syscall on Solaris, are specific to UNIX-domain sockets. Other address families, i.e. AF_INET and AF_INET6, are fine.
2013-03-27Version bump.Maxim Dounin2-3/+3
2013-03-25Use NGX_FILE_ERROR for handling file operations errors.Valentin Bartenev5-7/+9
On Win32 platforms 0 is used to indicate errors in file operations, so comparing against -1 is not portable. This was not much of an issue in patched code, since only ngx_fd_info() test is actually reachable on Win32 and in worst case it might result in bogus error log entry. Patch by Piotr Sikora.
2013-03-25Upstream: removed rudiments of upstream connection caching.Ruslan Ermilov2-23/+0
This functionality is now provided by ngx_http_upstream_keepalive_module.
2013-03-25Upstream: removed sorting of upstream servers.Ruslan Ermilov1-22/+0
Sorting of upstream servers by their weights is not required by current balancing algorithms. This will likely change mapping to backends served by ip_hash weighted upstreams.
2013-03-25Mail: IPv6 backends (ticket #323).Ruslan Ermilov1-24/+35
2013-03-25Upstream: removed double-free workarounds in peer.free() methods.Ruslan Ermilov3-19/+1
2013-03-25Upstream: only call peer.free() if peer.get() selected a peer.Ruslan Ermilov1-7/+10
2013-03-21Split clients: check length when parsing configuration.Ruslan Ermilov1-1/+1
2013-03-21Removed unused ngx_http_clear_variable() macro.Ruslan Ermilov1-3/+0
2013-03-21Fixed language in a comment preceding ngx_http_index_handler().Ruslan Ermilov1-5/+5
2013-03-21Moved ngx_array_t definition from ngx_core.h to ngx_array.h.Ruslan Ermilov2-3/+2
2013-03-21Use NGX_DEFAULT_POOL_SIZE macro where appropriate.Ruslan Ermilov4-5/+5