]> git.kaiwu.me - nginx.git/log
nginx.git
14 years agoFixed limit_req burst/nodelay inheritance (ticket #76).
Maxim Dounin [Wed, 11 Jan 2012 11:09:05 +0000 (11:09 +0000)]
Fixed limit_req burst/nodelay inheritance (ticket #76).

The problem was introduced in r4381 (1.1.12).

14 years agoFixed: proxy_redirect with regex might broke Refresh header.
Valentin Bartenev [Tue, 10 Jan 2012 15:09:45 +0000 (15:09 +0000)]
Fixed: proxy_redirect with regex might broke Refresh header.

The problem was localized in ngx_http_proxy_rewrite_redirect_regex() handler
function which did not take into account prefix when overwriting header value.

14 years agoChanged ngx_log_debugN() macros to verify the number of arguments
Ruslan Ermilov [Tue, 10 Jan 2012 07:28:32 +0000 (07:28 +0000)]
Changed ngx_log_debugN() macros to verify the number of arguments
when built with debugging.

14 years agoFixed configure with system PCRE library on Solaris.
Valentin Bartenev [Thu, 29 Dec 2011 15:58:53 +0000 (15:58 +0000)]
Fixed configure with system PCRE library on Solaris.
The bug has been introduced in r4389.

14 years agoSome questionable optomizations flags for icc were removed
Maxim Konovalov [Thu, 29 Dec 2011 15:36:07 +0000 (15:36 +0000)]
Some questionable optomizations flags for icc were removed
in order to simplify support of its future versions.

14 years agoFixed punctuation.
Maxim Dounin [Wed, 28 Dec 2011 13:30:56 +0000 (13:30 +0000)]
Fixed punctuation.

14 years agolibraries versions updated
Sergey Budnevitch [Tue, 27 Dec 2011 12:39:11 +0000 (12:39 +0000)]
libraries versions updated

14 years agozlib license file include fixed
Sergey Budnevitch [Tue, 27 Dec 2011 12:35:52 +0000 (12:35 +0000)]
zlib license file include fixed

14 years agoVersion bump.
Maxim Dounin [Tue, 27 Dec 2011 11:56:48 +0000 (11:56 +0000)]
Version bump.

14 years agorelease-1.1.12 tag
Maxim Dounin [Mon, 26 Dec 2011 15:05:38 +0000 (15:05 +0000)]
release-1.1.12 tag

14 years agonginx-1.1.12-RELEASE release-1.1.12
Maxim Dounin [Mon, 26 Dec 2011 15:05:17 +0000 (15:05 +0000)]
nginx-1.1.12-RELEASE

14 years agoAdded support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev [Mon, 26 Dec 2011 13:10:36 +0000 (13:10 +0000)]
Added support for regex study and PCRE JIT (ticket #41) optimizations on
configuration phase.

14 years agoFixed build without debug.
Maxim Dounin [Mon, 26 Dec 2011 11:33:11 +0000 (11:33 +0000)]
Fixed build without debug.

14 years agoCache lock support for fastcgi, scgi, uwsgi.
Maxim Dounin [Mon, 26 Dec 2011 11:16:19 +0000 (11:16 +0000)]
Cache lock support for fastcgi, scgi, uwsgi.

14 years agoCache locks initial implementation.
Maxim Dounin [Mon, 26 Dec 2011 11:15:23 +0000 (11:15 +0000)]
Cache locks initial implementation.

New directives: proxy_cache_lock on/off, proxy_cache_lock_timeout.  With
proxy_cache_lock set to on, only one request will be allowed to go to
upstream for a particular cache item.  Others will wait for a response
to appear in cache (or cache lock released) up to proxy_cache_lock_timeout.

Waiting requests will recheck if they have cached response ready (or are
allowed to run) every 500ms.

Note: we intentionally don't intercept NGX_DECLINED possibly returned by
ngx_http_file_cache_read().  This needs more work (possibly safe, but needs
further investigation).  Anyway, it's exceptional situation.

Note: probably there should be a way to disable caching of responses
if there is already one request fetching resource to cache (without waiting
at all).  Two possible ways include another cache lock option ("no_cache")
or using proxy_no_cache with some supplied variable.

Note: probably there should be a way to lock updating requests as well.  For
now "proxy_cache_use_stale updating" is available.

14 years agoFixed interaction of limit_rate and sendfile_max_chunk.
Maxim Dounin [Mon, 26 Dec 2011 10:51:24 +0000 (10:51 +0000)]
Fixed interaction of limit_rate and sendfile_max_chunk.

It's possible that configured limit_rate will permit more bytes per
single operation than sendfile_max_chunk.  To protect disk from takeover
by a single client it is necessary to apply sendfile_max_chunk as a limit
regardless of configured limit_rate.

See here for report (in Russian):
http://mailman.nginx.org/pipermail/nginx-ru/2010-March/032806.html

14 years agoFixed throughput problems with large limit_rate.
Maxim Dounin [Mon, 26 Dec 2011 10:49:57 +0000 (10:49 +0000)]
Fixed throughput problems with large limit_rate.

Previous attempt to fix this was in r1658 (0.6.18), though that one wasn't
enough (it was a noop).

14 years agoFixed mp4 if first entry in stsc was skipped (ticket #72).
Maxim Dounin [Mon, 26 Dec 2011 10:49:03 +0000 (10:49 +0000)]
Fixed mp4 if first entry in stsc was skipped (ticket #72).

If first entry in stsc atom was skipped, and seek was to chunk boundary,
than first_chunk in the generated stsc table wasn't set to 1.

14 years agoSSI: added regex captures support in the expression of the "if" command.
Valentin Bartenev [Sun, 25 Dec 2011 20:08:37 +0000 (20:08 +0000)]
SSI: added regex captures support in the expression of the "if" command.

14 years agoFixed limit_conn_log_level/limit_req_log_level inheritance.
Valentin Bartenev [Sun, 25 Dec 2011 19:32:31 +0000 (19:32 +0000)]
Fixed limit_conn_log_level/limit_req_log_level inheritance.

The directives did not work if there were no limit_conn/limit_req specified on
the same level.

14 years agoAdded the HTTPS fastcgi_param to fastcgi.conf.
Valentin Bartenev [Sun, 25 Dec 2011 19:15:56 +0000 (19:15 +0000)]
Added the HTTPS fastcgi_param to fastcgi.conf.

14 years agoWords duplications removed.
Maxim Konovalov [Sat, 24 Dec 2011 06:31:57 +0000 (06:31 +0000)]
Words duplications removed.

14 years agoProxy: made proxy_pass with variables more consistent.
Maxim Dounin [Fri, 23 Dec 2011 16:04:09 +0000 (16:04 +0000)]
Proxy: made proxy_pass with variables more consistent.

If proxy_pass was used with variables and there was no URI component,
nginx always used unparsed URI.  This isn't consistent with "no variables"
case, where e.g. rewrites are applied even if there is no URI component.

Fix is to use the same logic in both cases, i.e. only use unparsed URI if
it's valid and request is the main one.

14 years agoconfigure on Solaris fixed
Sergey Budnevitch [Tue, 20 Dec 2011 16:20:23 +0000 (16:20 +0000)]
configure on Solaris fixed

14 years agoAdded clearing of r->valid_unparsed_uri on internal redirects.
Maxim Dounin [Mon, 19 Dec 2011 14:11:48 +0000 (14:11 +0000)]
Added clearing of r->valid_unparsed_uri on internal redirects.

This resolves issue with try_files (see ticket #70), configuration like

   location / { try_files $uri /index.php; }
   location /index.php { proxy_pass http://backend; }

caused nginx to use original request uri in a request to a backend.

Historically, not clearing of the r->valid_unparsed_uri on internal redirect
was a feature: it allowed to pass the same request to (another) upstream
server via error_page redirection.  Since then named locations appeared
though, and it's time to start resetting r->valid_unparsed_uri on internal
redirects.  Configurations still using this feature should be converted
to use named locations instead.

Patch by Lanshun Zhou.

14 years agoSSI bugfix: the "if" command did not work inside the "block" command and
Valentin Bartenev [Mon, 19 Dec 2011 13:28:22 +0000 (13:28 +0000)]
SSI bugfix: the "if" command did not work inside the "block" command and
produced parsing errors.

14 years agoScgi: removed error if there is no Status header.
Maxim Dounin [Mon, 19 Dec 2011 11:25:40 +0000 (11:25 +0000)]
Scgi: removed error if there is no Status header.

The SCGI specification doesn't specify format of the response, and assuming
CGI specs should be used there is no reason to complain.  RFC 3875
explicitly states that "A Status header field is optional, and status
200 'OK' is assumed if it is omitted".

14 years agoScgi: removed duplicate function declaration.
Maxim Dounin [Mon, 19 Dec 2011 11:24:32 +0000 (11:24 +0000)]
Scgi: removed duplicate function declaration.

14 years agoFixed incorrect use of r->http_version in scgi module.
Maxim Dounin [Mon, 19 Dec 2011 11:23:16 +0000 (11:23 +0000)]
Fixed incorrect use of r->http_version in scgi module.

The r->http_version is a version of client's request, and modules must
not set it unless they are really willing to downgrade protocol version
used for a response (i.e. to HTTP/0.9 if no response headers are available).
In neither case r->http_version may be upgraded.

The former code downgraded response from HTTP/1.1 to HTTP/1.0 for no reason,
causing various problems (see ticket #66).  It was also possible that
HTTP/0.9 requests were upgraded to HTTP/1.0.

14 years agoVersion bump.
Maxim Dounin [Mon, 19 Dec 2011 11:21:46 +0000 (11:21 +0000)]
Version bump.

14 years agorelease-1.1.11 tag
Maxim Dounin [Mon, 12 Dec 2011 14:18:15 +0000 (14:18 +0000)]
release-1.1.11 tag

14 years agonginx-1.1.11-RELEASE release-1.1.11
Maxim Dounin [Mon, 12 Dec 2011 14:17:49 +0000 (14:17 +0000)]
nginx-1.1.11-RELEASE

14 years agoFixed RELEASE target again.
Maxim Dounin [Mon, 12 Dec 2011 12:39:19 +0000 (12:39 +0000)]
Fixed RELEASE target again.

14 years agoFixed RELEASE target to correctly call "release" one.
Maxim Dounin [Mon, 12 Dec 2011 11:00:17 +0000 (11:00 +0000)]
Fixed RELEASE target to correctly call "release" one.

14 years agoCache: only complain on long locked entries.
Maxim Dounin [Mon, 12 Dec 2011 10:49:14 +0000 (10:49 +0000)]
Cache: only complain on long locked entries.

There have been multiple reports of cases where a real locked entry was
removed, resulting in a segmentation fault later in a worker which locked
the entry.  It looks like default inactive timeout isn't enough in real
life.

For now just ignore such locked entries, and move them to the top of the
inactive queue to allow processing of other entries.

14 years agoCache: handling of cache files with long headers.
Maxim Dounin [Mon, 12 Dec 2011 10:47:48 +0000 (10:47 +0000)]
Cache: handling of cache files with long headers.

There are two possible situations which can lead to this: response was
cached with bigger proxy_buffer_size value (and nginx was restared since
then, i.e. shared memory zone content was lost), or due to the race in
the cache update code (see [1]) we've end up with fcn->body_start from
a different response stored in shared memory zone.

[1] http://mailman.nginx.org/pipermail/nginx-devel/2011-September/001287.html

14 years agoCache: obsolete code removed.
Maxim Dounin [Mon, 12 Dec 2011 10:46:43 +0000 (10:46 +0000)]
Cache: obsolete code removed.

The ngx_http_cache() and ngx_http_no_cache_set_slot() functions were replaced
by ngx_http_test_predicates() and ngx_http_set_predicate_slot() in 0.8.46 and
no longer used since then.

14 years agoRenamed some constants to improve readability, no functional changes.
Ruslan Ermilov [Mon, 12 Dec 2011 10:45:05 +0000 (10:45 +0000)]
Renamed some constants to improve readability, no functional changes.

14 years agoProxy: added variables and regexp support to the first parameter of
Valentin Bartenev [Mon, 12 Dec 2011 09:02:29 +0000 (09:02 +0000)]
Proxy: added variables and regexp support to the first parameter of
the "proxy_redirect" directive.

14 years agoMicrooptimization of sendfile(2) usage under FreeBSD.
Maxim Dounin [Sun, 11 Dec 2011 16:30:42 +0000 (16:30 +0000)]
Microoptimization of sendfile(2) usage under FreeBSD.

FreeBSD kernel checks headers/trailers pointer against NULL, not
corresponding count.  Passing NULL if there are no headers/trailers
helps to avoid unneeded work in kernel, as well as unexpected 0 bytes
GIO in traces.

14 years agoFixed: some of $sent_http_* variables may contain header entries that actually
Valentin Bartenev [Fri, 9 Dec 2011 16:17:12 +0000 (16:17 +0000)]
Fixed: some of $sent_http_* variables may contain header entries that actually
haven't been sent to a client.

The ngx_http_variable_headers() and ngx_http_variable_unknown_header() functions
did not ignore response header entries with zero "hash" field.

Thanks to Yichun Zhang (agentzh).

14 years agoAdded HTTPS param with Apache-like behaviour to fastcgi/scgi/uwsgi_params (fixes...
Valentin Bartenev [Fri, 9 Dec 2011 15:38:26 +0000 (15:38 +0000)]
Added HTTPS param with Apache-like behaviour to fastcgi/scgi/uwsgi_params (fixes #38).

14 years agoAdded the $https variable.
Valentin Bartenev [Fri, 9 Dec 2011 14:38:11 +0000 (14:38 +0000)]
Added the $https variable.

14 years agoSCGI: added "if_not_empty" flag support to the "scgi_param" directive.
Valentin Bartenev [Fri, 9 Dec 2011 14:03:06 +0000 (14:03 +0000)]
SCGI: added "if_not_empty" flag support to the "scgi_param" directive.

14 years agouwsgi: added "if_not_empty" flag support to the "uwsgi_param" directive.
Valentin Bartenev [Fri, 9 Dec 2011 13:47:04 +0000 (13:47 +0000)]
uwsgi: added "if_not_empty" flag support to the "uwsgi_param" directive.

14 years agoFastCGI: added "if_not_empty" flag support to the "fastcgi_param" directive.
Valentin Bartenev [Fri, 9 Dec 2011 13:32:51 +0000 (13:32 +0000)]
FastCGI: added "if_not_empty" flag support to the "fastcgi_param" directive.

14 years agoAdded the ngx_http_upstream_param_set_slot().
Valentin Bartenev [Fri, 9 Dec 2011 13:19:57 +0000 (13:19 +0000)]
Added the ngx_http_upstream_param_set_slot().

14 years ago- Improved error message when parsing of the "buffer" parameter of the
Ruslan Ermilov [Tue, 6 Dec 2011 21:07:10 +0000 (21:07 +0000)]
- Improved error message when parsing of the "buffer" parameter of the
  "access_log" directive fails.

- Added a warning if "log_format" is used in contexts other than "http".

14 years agoRemoved unused function ngx_regex_capture_count().
Valentin Bartenev [Tue, 6 Dec 2011 15:49:40 +0000 (15:49 +0000)]
Removed unused function ngx_regex_capture_count().
The function has been unused since r3326.

14 years agoFix for read_head with try_files and open_file_cache.
Maxim Dounin [Tue, 6 Dec 2011 13:23:37 +0000 (13:23 +0000)]
Fix for read_head with try_files and open_file_cache.

The of.read_ahead wasn't set in try_files code path, causing read_ahead
directive to be a nop if try_files and open_file_cache were used.

14 years agoVersion bump.
Maxim Dounin [Tue, 6 Dec 2011 13:22:32 +0000 (13:22 +0000)]
Version bump.

14 years agoAdded the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev [Mon, 5 Dec 2011 08:06:15 +0000 (08:06 +0000)]
Added the "so_keepalive=" parameter to the "listen" directive.
The "so_keepalive" directive in mail module was deprecated.

Thanks to Vsevolod Stakhov for initial work.

14 years agorelease-1.1.10 tag
Maxim Dounin [Wed, 30 Nov 2011 10:01:11 +0000 (10:01 +0000)]
release-1.1.10 tag

14 years agonginx-1.1.10-RELEASE release-1.1.10
Maxim Dounin [Wed, 30 Nov 2011 10:00:50 +0000 (10:00 +0000)]
nginx-1.1.10-RELEASE

14 years agoCompute the repository root from the checkout.
Ruslan Ermilov [Wed, 30 Nov 2011 07:36:09 +0000 (07:36 +0000)]
Compute the repository root from the checkout.

14 years agoFixed AIO on Linux, broken in r4306.
Maxim Dounin [Tue, 29 Nov 2011 17:27:13 +0000 (17:27 +0000)]
Fixed AIO on Linux, broken in r4306.

Events from eventfd do not have c->write set, and the stale event
check added in r4306 causes null pointer dereference.

14 years agoVersion bump.
Maxim Dounin [Tue, 29 Nov 2011 17:25:31 +0000 (17:25 +0000)]
Version bump.

14 years agorelease-1.1.9 tag
Maxim Dounin [Mon, 28 Nov 2011 15:15:14 +0000 (15:15 +0000)]
release-1.1.9 tag

14 years agonginx-1.1.9-RELEASE release-1.1.9
Maxim Dounin [Mon, 28 Nov 2011 15:02:38 +0000 (15:02 +0000)]
nginx-1.1.9-RELEASE

14 years agoAdded (void) as we intentionally ignore returned values.
Maxim Dounin [Mon, 28 Nov 2011 11:01:42 +0000 (11:01 +0000)]
Added (void) as we intentionally ignore returned values.

Requested by Igor Sysoev.

14 years agoAllowed add_header for proxied 206 replies.
Maxim Dounin [Mon, 28 Nov 2011 10:00:47 +0000 (10:00 +0000)]
Allowed add_header for proxied 206 replies.

It was working for nginx's own 206 replies as they are seen as 200 in the
headers filter module (range filter goes later in the headers filter chain),
but not for proxied replies.

14 years agoAdded support for IP-literal in the Host header and request line (ticket #1).
Valentin Bartenev [Mon, 28 Nov 2011 09:15:33 +0000 (09:15 +0000)]
Added support for IP-literal in the Host header and request line (ticket #1).

Additional parsing logic added to correctly handle RFC 3986 compliant IPv6 and
IPvFuture characters enclosed in square brackets.

The host validation was completely rewritten. The behavior for non IP literals
was changed in a more proper and safer way:

 - Host part is now delimited either by the first colon or by the end of string
   if there's no colon. Previously the last colon was used as delimiter which
   allowed substitution of a port number in the $host variable.
   (e.g. Host: 127.0.0.1:9000:80)

 - Fixed stripping of the ending dot in the Host header when the host was also
   followed by a port number.
   (e.g. Host: nginx.com.:80)

 - Fixed upper case characters detection. Previously it was broken which led to
   wasting memory and CPU.

14 years agoAdded escaping of double quotes in ngx_escape_html().
Maxim Dounin [Fri, 25 Nov 2011 16:36:02 +0000 (16:36 +0000)]
Added escaping of double quotes in ngx_escape_html().

Patch by Zaur Abasmirzoev.

14 years agoUnlock of shared memory zones on process crash.
Maxim Dounin [Wed, 23 Nov 2011 14:09:19 +0000 (14:09 +0000)]
Unlock of shared memory zones on process crash.

If process exited abnormally while holding lock on some shared memory zone -
unlock it.  It may be not safe thing to do (as crash with lock held may
result in corrupted shared memory structure, and other processes will
subsequently crash while trying to access shared data), therefore complain
loudly if unlock succeeds.

14 years agoFixed build without atomic operations.
Maxim Dounin [Wed, 23 Nov 2011 14:07:06 +0000 (14:07 +0000)]
Fixed build without atomic operations.

14 years agoAdded shmtx interface to forcibly unlock mutexes.
Maxim Dounin [Wed, 23 Nov 2011 13:55:38 +0000 (13:55 +0000)]
Added shmtx interface to forcibly unlock mutexes.

It is currently used from master process on abnormal worker termination to
unlock accept mutex (unlocking of accept mutex was broken in 1.0.2).  It is
expected to be used in the future to unlock other mutexes as well.

Shared mutex code was rewritten to make this possible in a safe way, i.e.
with a check if lock was actually held by the exited process.  We again use
pid to lock mutex, and use separate atomic variable for a count of processes
waiting in sem_wait().

14 years agoFixed "rotate" to always work when combined with "resize/crop".
Ruslan Ermilov [Wed, 23 Nov 2011 10:22:44 +0000 (10:22 +0000)]
Fixed "rotate" to always work when combined with "resize/crop".

14 years agoCosmetics.
Ruslan Ermilov [Wed, 23 Nov 2011 10:16:30 +0000 (10:16 +0000)]
Cosmetics.

14 years agoFix of mp4 module seeking.
Igor Sysoev [Wed, 23 Nov 2011 07:22:15 +0000 (07:22 +0000)]
Fix of mp4 module seeking.

14 years agoProtection from stale write events in epoll.
Maxim Dounin [Tue, 22 Nov 2011 17:02:21 +0000 (17:02 +0000)]
Protection from stale write events in epoll.

Stale write event may happen if epoll_wait() reported both read and write
events, and processing of the read event closed descriptor.

Patch by Yichun Zhang (agentzh).

14 years agoFixed segfault on ssl servers without cert with SNI (ticket #54).
Maxim Dounin [Tue, 22 Nov 2011 16:27:45 +0000 (16:27 +0000)]
Fixed segfault on ssl servers without cert with SNI (ticket #54).

Non-default servers may not have ssl context created if there are no
certificate defined.  Make sure to check if ssl context present before
using it.

14 years agoMade it possible to build/install from the SVN checkout.
Ruslan Ermilov [Tue, 22 Nov 2011 13:26:44 +0000 (13:26 +0000)]
Made it possible to build/install from the SVN checkout.

14 years agoo AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov [Mon, 21 Nov 2011 11:51:41 +0000 (11:51 +0000)]
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
in the sys_nerr test.

o When sys_nerr and _sys_nerr are missed on a particular platform
and our euristic for a maximum errno detection applied always
print the maximum errno number we reached instead of printing void.[*]

* patch from Maxim Dounin

This commit makes possible to build nginx on AIX 7.1.

14 years agosvgz extension for compressed SVG added (close #56).
Maxim Konovalov [Mon, 21 Nov 2011 09:20:50 +0000 (09:20 +0000)]
svgz extension for compressed SVG added (close #56).

14 years agoFixed "keepalive_disable".
Ruslan Ermilov [Mon, 21 Nov 2011 07:31:59 +0000 (07:31 +0000)]
Fixed "keepalive_disable".

Patch by Alexander Usov.  The bug has been introduced in r4267.

14 years agoFreeBSD 10-current has recently gotten POSIX_FADV_* macros.
Maxim Konovalov [Fri, 18 Nov 2011 18:42:00 +0000 (18:42 +0000)]
FreeBSD 10-current has recently gotten POSIX_FADV_* macros.
A fix for the broken build applied.

Patch from Igor Sysoev.

14 years agoUpstream: don't cache unfinished responses.
Maxim Dounin [Fri, 18 Nov 2011 15:09:08 +0000 (15:09 +0000)]
Upstream: don't cache unfinished responses.

Check if received data length match Content-Length header (if present),
don't cache response if no match found.  This prevents caching of corrupted
response in case of premature connection close by upstream.

14 years agoFixed flv header to match specification.
Maxim Dounin [Fri, 18 Nov 2011 14:41:01 +0000 (14:41 +0000)]
Fixed flv header to match specification.

Used "\x5" in 5th byte to claim presence of both audio and video.  Used
previous tag size 0 in the beginning of the flv body (bytes 10 .. 13) as
required by specification (see http://www.adobe.com/devnet/f4v.html).

Patch by Piotr Sikora.

14 years agoSilenced a warning for some compilers.
Ruslan Ermilov [Wed, 16 Nov 2011 13:27:33 +0000 (13:27 +0000)]
Silenced a warning for some compilers.

14 years agoNow nginx uses TTL of a DNS response when calculating cache validity.
Ruslan Ermilov [Wed, 16 Nov 2011 13:11:39 +0000 (13:11 +0000)]
Now nginx uses TTL of a DNS response when calculating cache validity.

Previously it used a hardcoded value of 300 seconds.  Also added the
"valid=" parameter to the "resolver" directive that can be used to
override the cache validity time.

Patch by Kirill A. Korinskiy with minor changes.

14 years agoFixed incorrect counting the length of headers in a SCGI request.
Valentin Bartenev [Wed, 16 Nov 2011 12:51:27 +0000 (12:51 +0000)]
Fixed incorrect counting the length of headers in a SCGI request.

14 years agoFixed handling of SIGWINCH/NOACCEPT signal.
Maxim Dounin [Tue, 15 Nov 2011 20:35:41 +0000 (20:35 +0000)]
Fixed handling of SIGWINCH/NOACCEPT signal.

After first upgrade it was ignored since r4020 (1.1.1, 1.0.9) as
ngx_daemonized wasn't set.

14 years agoVersion bump.
Maxim Dounin [Tue, 15 Nov 2011 20:33:37 +0000 (20:33 +0000)]
Version bump.

14 years agorelease-1.1.8 tag
Igor Sysoev [Mon, 14 Nov 2011 15:38:02 +0000 (15:38 +0000)]
release-1.1.8 tag

14 years agonginx-1.1.8-RELEASE release-1.1.8
Igor Sysoev [Mon, 14 Nov 2011 15:37:54 +0000 (15:37 +0000)]
nginx-1.1.8-RELEASE

14 years agoIntroduction of simple ngx_write_stderr() instead of ngx_log_stderr()
Igor Sysoev [Mon, 14 Nov 2011 14:59:00 +0000 (14:59 +0000)]
Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()
for output of ./configure options, etc., since ngx_log_stderr() output
length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.

14 years agoFix of "Content-Length" header of MP4 response if start argument was used.
Igor Sysoev [Mon, 14 Nov 2011 14:42:48 +0000 (14:42 +0000)]
Fix of "Content-Length" header of MP4 response if start argument was used.

Patch by Piotr Sikora.

14 years agoAdded image/webp and video/webm MIME types.
Valentin Bartenev [Mon, 14 Nov 2011 14:16:51 +0000 (14:16 +0000)]
Added image/webp and video/webm MIME types.

14 years agoRenamed ngx_http_limit_zone_module to ngx_http_limit_conn_module.
Valentin Bartenev [Mon, 14 Nov 2011 14:04:42 +0000 (14:04 +0000)]
Renamed ngx_http_limit_zone_module to ngx_http_limit_conn_module.

14 years agoReverted incorrect change in internal md5 (part of r3928).
Maxim Dounin [Mon, 14 Nov 2011 13:38:02 +0000 (13:38 +0000)]
Reverted incorrect change in internal md5 (part of r3928).

14 years agoFixed fastcgi/scgi/uwsgi_param inheritance.
Maxim Dounin [Mon, 14 Nov 2011 13:26:18 +0000 (13:26 +0000)]
Fixed fastcgi/scgi/uwsgi_param inheritance.

The following problems were fixed:

1. Directive fastcgi_cache affected headers sent to backends in unrelated
   servers / locations (see ticket #45).

2. If-Unmodified-Since, If-Match and If-Range headers were sent to backends
   if fastcgi_cache was used.

3. Cache-related headers were sent to backends if there were no fastcgi_param
   directives and fastcgi_cache was used at server level.

14 years agoSeparate functions to merge fastcgi/scgi/uwsgi params.
Maxim Dounin [Mon, 14 Nov 2011 13:24:43 +0000 (13:24 +0000)]
Separate functions to merge fastcgi/scgi/uwsgi params.

No functional changes.

14 years agoFixed Upgrade header clearing with proxy_cache.
Maxim Dounin [Mon, 14 Nov 2011 13:21:10 +0000 (13:21 +0000)]
Fixed Upgrade header clearing with proxy_cache.

This was missed in proxy HTTP/1.1 support commit (r4127).

14 years agoFixed proxy_set_header inheritance with proxy_set_body.
Maxim Dounin [Mon, 14 Nov 2011 13:19:56 +0000 (13:19 +0000)]
Fixed proxy_set_header inheritance with proxy_set_body.

14 years agoFixed proxy_set_header inheritance with proxy_cache (ticket #45).
Maxim Dounin [Mon, 14 Nov 2011 13:18:15 +0000 (13:18 +0000)]
Fixed proxy_set_header inheritance with proxy_cache (ticket #45).

Headers cleared with cache enabled (If-Modified-Since etc.) might be cleared
in unrelated servers/locations without proxy_cache enabled if proxy_cache was
used in some server/location.

Example config which triggered the problem:

    proxy_set_header X-Test "test";
    server { location /1 { proxy_cache name; proxy_pass ... } }
    server { location /2 { proxy_pass ... } }

Another one:

    server {
        proxy_cache name;
        location /1 { proxy_pass ... }
        location /2 { proxy_cache off; proxy_pass ... }
    }

In both cases If-Modified-Since header wasn't sent to backend in location /2.

Fix is to not modify conf->headers_source, but instead merge user-supplied
headers from conf->headers_source and default headers (either cache or not)
into separate headers_merged array.

14 years agoFixed NGX_CONF_TAKE1/NGX_CONF_FLAG misuse.
Sergey Budnevitch [Mon, 14 Nov 2011 09:12:15 +0000 (09:12 +0000)]
Fixed NGX_CONF_TAKE1/NGX_CONF_FLAG misuse.

14 years agoLimit zone: added the "limit_conn_zone" directive.
Valentin Bartenev [Thu, 10 Nov 2011 16:25:08 +0000 (16:25 +0000)]
Limit zone: added the "limit_conn_zone" directive.

It supersedes old "limit_zone" directive (deprecated accordingly) and uses
syntax consistent with the "limit_req_zone" directive.

14 years agoLimit zone: support for multiple "limit_conn" limits.
Valentin Bartenev [Thu, 10 Nov 2011 16:08:13 +0000 (16:08 +0000)]
Limit zone: support for multiple "limit_conn" limits.

14 years agoLimit zone: rbtree lookup moved to a separate function.
Valentin Bartenev [Thu, 10 Nov 2011 15:51:55 +0000 (15:51 +0000)]
Limit zone: rbtree lookup moved to a separate function.

No functional changes.

14 years agoChanged error message to be more appropriate in the imaginary
Ruslan Ermilov [Thu, 10 Nov 2011 09:13:09 +0000 (09:13 +0000)]
Changed error message to be more appropriate in the imaginary
"open_file_cache max=0" case.