Corrected $request_length calculation for pipelined requests.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4740 73f98a42-aea0-e011-b76d-00259023448c
Configure: fixed "make" used instead of "${MAKE}".


git-svn-id: svn://svn.nginx.org/nginx/trunk@4741 73f98a42-aea0-e011-b76d-00259023448c
Fixed If-Range with unknown last modified time.

If modification time isn't known, skip range processing and return full
entity body instead of just ignoring If-Range.  Ignoring If-Range isn't
safe as client will assume entity wasn't changed since time specified.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4742 73f98a42-aea0-e011-b76d-00259023448c
Added Last-Modified parsing in add_header.

This allows to use last modified time set in If-Range checks.  Code
simplified to improve readability.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4743 73f98a42-aea0-e011-b76d-00259023448c
Not modified filter: tests separated from actions.

This makes code more extendable.  The only functional change is when
If-Modified-Since and If-Unmodified-Since are specified together, the
case which is explicitly left undefined by RFC 2616.  The new behaviour
is to respect them both, which seems better.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4744 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: basic support in not modified filter.

This includes handling of ETag headers (if present in a response) with
basic support for If-Match, If-None-Match conditionals in not modified
filter.

Note that the "r->headers_out.last_modified_time == -1" check in the not
modified filter is left as is intentionally.  It's to prevent handling
of If-* headers in case of proxy without cache (much like currently
done with If-Modified-Since).


git-svn-id: svn://svn.nginx.org/nginx/trunk@4745 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: support in If-Range header.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4746 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: clear on entity changes.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4747 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: handling in add_header.

Notably this allows to clear ETag if one want to for some reason.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4748 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: set for static respones.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4749 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: the "etag" directive.

It allows to disable generation of nginx's own entity tags, while
still handling ETags in cache properly.  This may be useful e.g.
if one want to serve static files from servers with different ETag
generation algorithms.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4750 73f98a42-aea0-e011-b76d-00259023448c
Entity tags: empty etags handling in If-Range.

Entity tag may be of length 2 as per RFC 2616, i.e. double quotes only.
Pointed out by Ruslan Ermilov.


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


git-svn-id: svn://svn.nginx.org/nginx/trunk@4752 73f98a42-aea0-e011-b76d-00259023448c
Synchronized the license text with the FreeBSD's bsd-style-copyright.


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


git-svn-id: svn://svn.nginx.org/nginx/trunk@4755 73f98a42-aea0-e011-b76d-00259023448c
Fixed sorting of listen addresses so that wildcard address is always at
the end (closes #187).  Failure to do so could result in several listen
sockets to be created instead of only one listening on wildcard address.

Reported by Roman Odaisky.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4756 73f98a42-aea0-e011-b76d-00259023448c
Fixed debugging messages to account that limit_zone was renamed to limit_conn.


git-svn-id: svn://svn.nginx.org/nginx/trunk@4757 73f98a42-aea0-e011-b76d-00259023448c
Win32: fixed cpu hog after process startup failure.

If ngx_spawn_process() failed while starting a process, the handle of a
handle of a processes was closed but left non-NULL in the ngx_processes[]
array.  The handle later was used in WaitForMultipleObjects() (if there
were multiple worker processes configured and at least one worker process
was started successfully), resulting in infinite loop.

Reported by Ricardo V G:
http://mailman.nginx.org/pipermail/nginx-devel/2012-July/002494.html


git-svn-id: svn://svn.nginx.org/nginx/trunk@4758 73f98a42-aea0-e011-b76d-00259023448c
Replaced a number of "else if" with "elif".


git-svn-id: svn://svn.nginx.org/nginx/trunk@4759 73f98a42-aea0-e011-b76d-00259023448c
Fixed compilation with -Wmissing-prototypes.


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