| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
If fastcgi end request record was split between several network packets,
with fastcgi_keep_conn it was possible that connection was saved in incorrect
state (e.g. with padding bytes not yet read).
|
|
Checks for f->padding before state transitions make code hard to follow,
remove them and make sure we always do another loop iteration after
f->state is set to ngx_http_fastcgi_st_padding.
|
|
With fastcgi_keep_conn it was possible that connection was closed after
FCGI_STDERR record with zero padding and without any further data read yet.
This happended as f->state was set to ngx_http_fastcgi_st_padding and then
"break" happened, resulting in p->length being set to f->padding, i.e. 0
(which in turn resulted in connection close).
Fix is to make sure we continue the loop after f->state is set.
|
|
The "secure_link_secret" directive was always inherited from the outer
configuration level even when "secure_link" and "secure_link_md5" were
specified on the inner level.
|
|
When using IPv6 databases, IPv4 addresses are looked up as IPv4-mapped
IPv6 addresses.
Mostly based on a patch by Gregor Kališnik (ticket #250).
|
|
Before the patch if proxy_method was specified at http{} level the code
to add trailing space wasn't executed, resulting in incorrect requests
to upstream.
|
|
|
|
The "proxy_bind", "fastcgi_bind", "uwsgi_bind", "scgi_bind" and
"memcached_bind" directives are now inherited; inherited value
can be reset by the "off" parameter. Duplicate directives are
now detected. Parameter value can now contain variables.
|
|
|
|
A failure to detect duplicate "keepalive" directive resulted in
stack exhaustion.
|
|
|
|
Previously, "default" was equivalent to specifying 0.0.0.0/0, now
it's equivalent to specifying both 0.0.0.0/0 and ::/0 (if support
for IPv6 is enabled) with the same value.
|
|
|
|
The "ranges" mode is still limited to IPv4 only.
|
|
Based on patch by Thomas Chen (ticket #257).
|
|
|
|
|
|
Note: this requires zlib version 1.2.0.4 or above to work.
|
|
|
|
The code refactored in a way to call custom handler that can do appropriate
cleanup work (if any), like flushing buffers, finishing compress streams,
finalizing connections to log daemon, etc..
|
|
Previously a new buffer was allocated for every "access_log" directive with the
same file path and "buffer=" parameters, while only one buffer per file is used.
|
|
Configurations like
location /i/ {
image_filter resize 200 200;
image_filter rotate 180;
location /i/foo/ {
image_filter resize 200 200;
}
}
resulted in rotation incorrectly applied in the location /i/foo, without
any way to clear it. Fix is to handle conf->angle/conf->acv consistently
with other filter variables and do not try to inherit them if there are
transformations defined for current location.
|
|
If 0.0.0.0/32 entry was present and there was no explicit "default",
we failed to add an empty string as a default value.
|
|
|
|
The image_filter_jpeg_quality, image_filter_sharpen and "image_filter rotate"
were inherited incorrectly if a directive with variables was defined, and
then redefined to a literal value, i.e. in configurations like
image_filter_jpeg_quality $arg_q;
location / {
image_filter_jpeg_quality 50;
}
Patch by Ian Babrou, with minor changes.
|
|
|
|
|
|
|
|
Added variable name syntax checks to "geo" and "map" directives.
|
|
The following configuration returned an empty value for $geo:
geo $geo {
ranges;
default default;
}
|
|
|
|
An incorrect memLevel (lower than 1) might be passed to deflateInit2() if the
"gzip_hash" directive is set to a value less than the value of "gzip_window"
directive. This resulted in "deflateInit2() failed: -2" alert and an empty
reply.
|
|
and "perl_set" directives.
|
|
Requested by Igor Sysoev.
|
|
|
|
This makes conversion from strings to complex values possible
without the loss of functionality.
|
|
If XSLT transformation failed and error 500 was handled in the same
location, an infinite loop occured that exhausted the stack.
|
|
|
|
|
|
|
|
This allows to handle requests with chunked body by scgi module, and
also simplifies handling of various request body modifications.
|
|
This allows to handle requests with chunked body, and also simplifies
handling of various request body modifications.
|
|
No functional changes.
|
|
If request body reading happens with different options it's possible
that there will be no r->request_body->temp_file available (or even
no r->request_body available if body was discarded). Return internal
server error in this case instead of committing suicide by dereferencing
a null pointer.
|
|
|
|
Log module counterparts are removed as they aren't used often and
there is no need to preserve them for efficiency.
|
|
|
|
This fixes segfault if stapling was enabled in a server without a certificate
configured (and hence no ssl.ctx).
|
|
It was renamed to $body_bytes_sent in nginx 0.3.10 and the old name is
deprecated since then.
|