summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules (follow)
AgeCommit message (Collapse)AuthorFilesLines
2013-04-23Perl: request body handling fixed.Maxim Dounin1-3/+36
As of 1.3.9, chunked request body may be available with r->headers_in.content_length_n <= 0. Additionally, request body may be in multiple buffers even if r->request_body_in_single_buf was requested.
2013-04-19Configure: fixed perl Makefile generation (ticket #334).Maxim Dounin1-1/+1
Dependancy tracking introduced in r5169 were not handled absolute path names properly. Absolute names might appear in CORE_DEPS if --with-openssl or --with-pcre configure arguments are used to build OpenSSL/PCRE libraries. Additionally, revert part of r5169 to set NGX_INCS from Makefile variables. Makefile variables have $ngx_include_opt in them, which might result in wrong include paths being used. As a side effect, this also restores build with --with-http_perl_module and --without-http at the same time.
2013-04-12Upstream: warn if multiple non-stackable balancers are installed.Ruslan Ermilov2-0/+10
2013-04-10Configure: fixed nginx.so rebuild (broken by r5145).Maxim Dounin1-2/+4
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.
2013-04-03Limit req: rate should be non-zero.Valentin Bartenev1-1/+1
Specifying zero rate caused division by zero when calculating delays.
2013-03-28Simplified nginx version maintenance.Ruslan Ermilov1-1/+1
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.
2013-03-27Version bump.Maxim Dounin1-1/+1
2013-03-25Upstream: removed double-free workarounds in peer.free() methods.Ruslan Ermilov2-15/+1
2013-03-21Split clients: check length when parsing configuration.Ruslan Ermilov1-1/+1
2013-03-21Fixed language in a comment preceding ngx_http_index_handler().Ruslan Ermilov1-5/+5
2013-03-21Use NGX_DEFAULT_POOL_SIZE macro where appropriate.Ruslan Ermilov2-3/+3
2013-03-20Preliminary experimental support for SPDY draft 2.Valentin Bartenev1-1/+16
2013-03-19Image filter: the "image_filter_interlace" directive.Ruslan Ermilov1-0/+13
Patch by Ian Babrou, with minor changes.
2013-03-18The limit_req_status and limit_conn_status directives.Maxim Dounin2-3/+36
Patch by Nick Marden, with minor changes.
2013-03-15Status: introduced the "ngx_stat_waiting" counter.Valentin Bartenev1-2/+10
And corresponding variable $connections_waiting was added. Previously, waiting connections were counted as the difference between active connections and the sum of reading and writing connections. That made it impossible to count more than one request in one connection as reading or writing (as is the case for SPDY). Also, we no longer count connections in handshake state as waiting.
2013-03-11Gzip: fixed setting of NGX_HTTP_GZIP_BUFFERED.Valentin Bartenev1-0/+2
In r2411 setting of NGX_HTTP_GZIP_BUFFERED in c->buffered was moved from ngx_http_gzip_filter_deflate_start() to ngx_http_gzip_filter_buffer() since it was always called first. But in r2543 the "postpone_gzipping" directive was introduced, and if postponed gzipping is disabled (the default setting), ngx_http_gzip_filter_buffer() is not called at all. We must always set NGX_HTTP_GZIP_BUFFERED after the start of compression since there is always a trailer that is buffered. There are no known cases when it leads to any problem with current code. But we already had troubles in upcoming SPDY implementation.
2013-03-07SSL: Next Protocol Negotiation extension support.Valentin Bartenev1-0/+34
Not only this is useful for the upcoming SPDY support, but it can also help to improve HTTPS performance by enabling TLS False Start in Chrome/Chromium browsers [1]. So, we always enable NPN for HTTPS if it is supported by OpenSSL. [1] http://www.imperialviolet.org/2012/04/11/falsestart.html
2013-03-07Version bump.Valentin Bartenev1-1/+1
2013-03-04Mp4: fixed handling of too small mdat atoms (ticket #266).Maxim Dounin1-0/+7
Patch by Gernot Vormayr (with minor changes).
2013-02-27Correctly handle multiple X-Forwarded-For headers (ticket #106).Ruslan Ermilov4-39/+49
2013-02-23Trailing whitespace fix.Maxim Dounin2-2/+2
2013-02-21Introduced variables in ngx_http_stub_status module.Andrey Belov1-1/+80
Three new variables were added: $connections_active, $connections_reading and $connections_writing.
2013-02-20Connection upgrade support in uwsgi and scgi modules.Maxim Dounin2-2/+18
Prodded by Roberto De Ioris.
2013-02-19Removed zero termination of shm zone names.Valentin Bartenev1-1/+0
It was added in r2717 and no longer needed since r2721, where the termination was added to ngx_shm_alloc() and ngx_init_zone_pool(). So then it only corrupts error messages about ivalid zones.
2013-02-19Version bump.Valentin Bartenev1-1/+1
2013-02-18Proxy: support for connection upgrade (101 Switching Protocols).Maxim Dounin2-0/+9
This allows to proxy WebSockets by using configuration like this: location /chat/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } Connection upgrade is allowed as long as it was requested by a client via the Upgrade request header.
2013-02-13Fixed false memset warning on Linux with -O3 (ticket #275).Maxim Dounin1-2/+5
Prodded by John Leach.
2013-02-07Version bump.Maxim Dounin1-1/+1
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.