nginx-1.3.15-RELEASE


git-svn-id: svn://svn.nginx.org/nginx/trunk@5139 73f98a42-aea0-e011-b76d-00259023448c
Version bump.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5141 73f98a42-aea0-e011-b76d-00259023448c
Event connect: don't penalize AF_INET6 connections.

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.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5142 73f98a42-aea0-e011-b76d-00259023448c
Upstream: fixed tcp_nodelay with connection upgrade (ticket #325).


git-svn-id: svn://svn.nginx.org/nginx/trunk@5143 73f98a42-aea0-e011-b76d-00259023448c
Configure: improved layout of the generated makefile.

No functional changes.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5144 73f98a42-aea0-e011-b76d-00259023448c
Configure: improved make dependencies for perl module.

Added missing dependencies for perl module's Makefile.

Simplified dependencies for perl module nginx.so: it depends
on Makefile that in turn depends on other perl bits.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5145 73f98a42-aea0-e011-b76d-00259023448c
Configure: fixed perl module make rules.

Filename extension used for dynamically loaded perl modules isn't
necessarily ".so" (e.g., it's ".bundle" on Mac OS X).

This fixes "make" after "make" unnecessarily rebuilding perl module.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5146 73f98a42-aea0-e011-b76d-00259023448c
Simplified nginx version maintenance.

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.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5147 73f98a42-aea0-e011-b76d-00259023448c
Configure: unified nginx version computation constructs.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5148 73f98a42-aea0-e011-b76d-00259023448c
Pass PCRE_CASELESS to pcre_compile() for caseless matching.

Previously, we sometimes passed constant value 1 that happens to
match PCRE_CASELESS and thus was harmless.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5149 73f98a42-aea0-e011-b76d-00259023448c
Limit req: rate should be non-zero.

Specifying zero rate caused division by zero when calculating delays.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5167 73f98a42-aea0-e011-b76d-00259023448c
Upstream: removed surplus ngx_resolve_name_done() call.

It will be called in ngx_http_upstream_finalize_request().


git-svn-id: svn://svn.nginx.org/nginx/trunk@5168 73f98a42-aea0-e011-b76d-00259023448c
Configure: fixed nginx.so rebuild (broken by r5145).

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.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5169 73f98a42-aea0-e011-b76d-00259023448c
Upstream: fixed $upstream_response_length without buffering.

Reported by Piotr Sikora.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5170 73f98a42-aea0-e011-b76d-00259023448c
Events: protection from stale events in eventport and devpoll.

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


git-svn-id: svn://svn.nginx.org/nginx/trunk@5171 73f98a42-aea0-e011-b76d-00259023448c
Events: handle only active events in eventport.

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.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5172 73f98a42-aea0-e011-b76d-00259023448c
Events: fixed typos in two previous commits.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5173 73f98a42-aea0-e011-b76d-00259023448c
Upstream: warn if multiple non-stackable balancers are installed.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5174 73f98a42-aea0-e011-b76d-00259023448c
Request body: only read body in main request (ticket #330).

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.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5175 73f98a42-aea0-e011-b76d-00259023448c
Events: backout eventport changes (r5172) for now.

Evenport method needs more work.  Changes in r5172, while being correct,
introduce various new regressions with current code.


git-svn-id: svn://svn.nginx.org/nginx/trunk@5176 73f98a42-aea0-e011-b76d-00259023448c