summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules (follow)
AgeCommit message (Collapse)AuthorFilesLines
2013-02-04GeoIP: removed pseudo-support of "proxy" and "netspeed" databases.Ruslan Ermilov1-2/+0
2013-02-01FastCGI: proper handling of split fastcgi end request.Maxim Dounin1-7/+37
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).
2013-02-01FastCGI: unconditional state transitions.Maxim Dounin1-49/+8
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.
2013-02-01FastCGI: fixed wrong connection close with fastcgi_keep_conn.Maxim Dounin1-4/+0
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.
2013-01-28Secure_link: fixed configuration inheritance.Ruslan Ermilov1-2/+15
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.
2013-01-24GeoIP: IPv6 support.Ruslan Ermilov1-13/+145
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).
2013-01-22Proxy: fixed proxy_method to always add space.Maxim Dounin1-4/+5
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.
2013-01-17Version bump.Ruslan Ermilov1-1/+1
2013-01-16Fixed and improved the "*_bind" directives of proxying modules.Ruslan Ermilov5-0/+24
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.
2012-12-27Geo: improved code readability.Ruslan Ermilov1-54/+61
2012-12-26Upstream keepalive: detect duplicate "keepalive" directive.Ruslan Ermilov1-0/+4
A failure to detect duplicate "keepalive" directive resulted in stack exhaustion.
2012-12-26Version bump.Ruslan Ermilov1-1/+1
2012-12-26Geo: made "default" affect both IPv4 and IPv6 when using prefixes.Ruslan Ermilov1-48/+77
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.
2012-12-25Geo: properly initialize ngx_cidr_t when dealing with "default".Ruslan Ermilov1-1/+1
2012-12-25Geo: IPv6 support.Ruslan Ermilov1-79/+236
The "ranges" mode is still limited to IPv4 only.
2012-12-25Upstream: fixed state resetting when switching to backup servers.Valentin Bartenev1-1/+3
Based on patch by Thomas Chen (ticket #257).
2012-12-24Fixed HEAD requests handling when proxying is used (closes #261).Valentin Bartenev1-1/+1
2012-12-24Trailing whitespace fix.Ruslan Ermilov1-2/+2
2012-12-23Access log: the "gzip" parameter of the "access_log" directive.Valentin Bartenev1-5/+213
Note: this requires zlib version 1.2.0.4 or above to work.
2012-12-23Access log: the "flush" parameter of the "access_log" directive.Valentin Bartenev1-23/+97
2012-12-23Reopening log files code moved to a separate function.Valentin Bartenev1-19/+71
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..
2012-12-23Access log: fixed redundant buffer reallocation.Valentin Bartenev1-5/+9
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.
2012-12-21Image filter: fixed image_filter rotate inheritance.Maxim Dounin1-9/+15
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.
2012-12-21Geo: ensure that default entry is always present.Ruslan Ermilov1-4/+2
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.
2012-12-21There's no need to normalize address returned by ngx_ptocidr().Ruslan Ermilov1-1/+1
2012-12-20Image filter: configuration inheritance fixes.Maxim Dounin1-10/+18
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.
2012-12-20Brought the link to ngx_http_perl_module documentation up to date.Ruslan Ermilov1-1/+1
2012-12-19Let "add_header" affect 201 responses (ticket #125).Ruslan Ermilov1-0/+1
2012-12-19Slightly optimized code that handles special headers in "add_header".Ruslan Ermilov1-29/+21
2012-12-17Added checks that disallow adding a variable with an empty name.Ruslan Ermilov6-6/+20
Added variable name syntax checks to "geo" and "map" directives.
2012-12-14Geo: fixed the "ranges" without ranges case.Ruslan Ermilov1-15/+18
The following configuration returned an empty value for $geo: geo $geo { ranges; default default; }
2012-12-14Geo: improved ngx_http_geo_block() code readability.Ruslan Ermilov1-3/+2
2012-12-14Gzip: fixed zlib memLevel adjusting.Valentin Bartenev1-0/+4
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.
2012-12-13Fixed variable syntax checking in "set", "geo", "limit_conn_zone",Ruslan Ermilov4-4/+11
and "perl_set" directives.
2012-12-13Proxy: better error message about unexpected data.Maxim Dounin1-1/+2
Requested by Igor Sysoev.
2012-12-10The "auth_basic" directive gained support of variables.Ruslan Ermilov1-47/+36
2012-12-06Allow the complex value to be defined as an empty string.Ruslan Ermilov6-10/+10
This makes conversion from strings to complex values possible without the loss of functionality.
2012-12-06Xslt: prevented infinite loop.Ruslan Ermilov1-2/+2
If XSLT transformation failed and error 500 was handled in the same location, an infinite loop occured that exhausted the stack.
2012-12-03Fixed build with embedded perl in certain setups (ticket #48).Ruslan Ermilov1-14/+3
2012-11-29Version bump.Maxim Dounin1-1/+1
2012-11-26Gunzip: added missing ngx_http_clear_etag().Maxim Dounin1-0/+1
2012-11-21Request body: recalculate size of a request body in scgi module.Maxim Dounin1-10/+16
This allows to handle requests with chunked body by scgi module, and also simplifies handling of various request body modifications.
2012-11-21Request body: always use calculated size of a request body in proxy.Maxim Dounin1-16/+11
This allows to handle requests with chunked body, and also simplifies handling of various request body modifications.
2012-11-21Request body: chunked parsing moved to ngx_http_parse.c from proxy.Maxim Dounin1-276/+14
No functional changes.
2012-11-21Dav: fixed segfault on PUT if body was already read (ticket #238).Maxim Dounin1-0/+5
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.
2012-11-16Version bump.Ruslan Ermilov1-1/+1
2012-10-29Variables $connection and $connection_requests.Maxim Dounin1-23/+0
Log module counterparts are removed as they aren't used often and there is no need to preserve them for efficiency.
2012-10-18Gunzip: fixed r->gzip_ok check.Maxim Dounin1-1/+1
2012-10-05OCSP stapling: properly check if there is ssl.ctx.Maxim Dounin1-1/+1
This fixes segfault if stapling was enabled in a server without a certificate configured (and hence no ssl.ctx).
2012-10-03Log: $apache_bytes_sent removed.Maxim Dounin1-8/+0
It was renamed to $body_bytes_sent in nginx 0.3.10 and the old name is deprecated since then.