summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules (follow)
AgeCommit message (Collapse)AuthorFilesLines
2011-10-31Fixed segfault on configuration testing with ssl (ticket #37).Maxim Dounin1-1/+10
The following config caused segmentation fault due to conf->file not being properly set if "ssl on" was inherited from the http level: http { ssl on; server { } }
2011-10-17Fixed "expires @time" with unknown last modified time (ticket #32).Maxim Dounin1-6/+6
2011-10-17Fixed "expires @00h".Maxim Dounin1-1/+1
2011-10-17Version bump.Igor Sysoev1-1/+1
2011-10-13Skipping location rewrite phase for server null location.Igor Sysoev1-0/+12
2011-10-12Better recheck of dead upstream servers.Maxim Dounin1-2/+2
Previously nginx used to mark backend again as live as soon as fail_timeout passes (10s by default) since last failure. On the other hand, detecting dead backend takes up to 60s (proxy_connect_timeout) in typical situation "backend is down and doesn't respond to any packets". This resulted in suboptimal behaviour in the above situation (up to 23% of requests were directed to dead backend with default settings). More detailed description of the problem may be found here (in Russian): http://mailman.nginx.org/pipermail/nginx-ru/2011-August/042172.html Fix is to only allow one request after fail_timeout passes, and mark backend as "live" only if this request succeeds. Note that with new code backend will not be marked "live" unless "check" request is completed, and this may take a while in some specific workloads (e.g. streaming). This is believed to be acceptable.
2011-10-12Clear old Location header (if any) while adding a new one.Maxim Dounin1-0/+2
This prevents incorrect behaviour when another redirect is issued within error_page 302 handler.
2011-10-12Wording fix, "many data" is incorrect.Maxim Dounin1-1/+1
Noted by Piotr Sikora.
2011-10-11Handling of Content-Encoding set from perl.Maxim Dounin1-0/+7
This fixes double gzipping in case of gzip filter being enabled while perl returns already gzipped response.
2011-10-11Autoindex: escape html in file names.Maxim Dounin1-12/+49
2011-10-11Autoindex: escape '?' in file names.Maxim Dounin1-11/+3
For files with '?' in their names autoindex generated links with '?' not escaped. This resulted in effectively truncated links as '?' indicates query string start. This is an updated version of the patch originally posted at [1]. It introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but unreserved characters as per RFC 3986. This approach also renders unneeded special colon processing (as colon is percent-encoded now), it's dropped accordingly. [1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html Reported by Konstantin Leonov.
2011-10-11Improved access log escaping to better protect other software.Maxim Dounin1-5/+5
Some character sets (notably ISO-8859-1) have C1 control characters in upper half, make sure to escape them. Reported by Jesus Olmos Gonzalez.
2011-10-11Fixing mp4 module seeking on 32-bit platforms.Igor Sysoev1-1/+1
2011-10-10Fixed macro name.Ruslan Ermilov1-1/+1
2011-10-07Version bump.Igor Sysoev1-1/+1
2011-10-05Version bump.Igor Sysoev1-1/+1
2011-09-30Added uwsgi_buffering and scgi_buffering directives.Maxim Dounin2-2/+20
Patch by Peter Smit.
2011-09-30Using strtod() instead of atofp() to support a lot of digits after dot inIgor Sysoev1-2/+9
"start" parameter value.
2011-09-29Fix of building on platforms with 32-bit off_t. (closed #23)Igor Sysoev1-9/+9
2011-09-27Fix for "ssl_session_cache builtin" (broken since 1.1.1, r3993).Maxim Dounin1-2/+2
2011-09-27Fix for "return 202" not discarding body.Maxim Dounin1-7/+0
Big POST (not fully preread) to a location / { return 202; } resulted in incorrect behaviour due to "return" code path not calling ngx_http_discard_request_body(). The same applies to all "return" used with 2xx/3xx codes except 201 and 204, and to all "return ... text" uses. Fix is to add ngx_http_discard_request_body() call to ngx_http_send_response() function where it looks appropriate. Discard body call from emtpy gif module removed as it's now redundant. Reported by Pyry Hakulinen, see http://mailman.nginx.org/pipermail/nginx/2011-August/028503.html
2011-09-27Fix for double content when return is used in error_page handler.Maxim Dounin1-2/+2
Test case: location / { error_page 405 /nope; return 405; } location /nope { return 200; } This is expected to return 405 with empty body, but in 0.8.42+ will return builtin 405 error page as well (though not counted in Content-Length, thus breaking protocol). Fix is to use status provided by rewrite script execution in case it's less than NGX_HTTP_BAD_REQUEST even if r->error_status set. This check is in line with one in ngx_http_script_return_code(). Note that this patch also changes behaviour for "return 302 ..." and "rewrite ... redirect" used as error handler. E.g. location / { error_page 405 /redirect; return 405; } location /redirect { rewrite ^ http://example.com/; } will actually return redirect to "http://example.com/" instead of builtin 405 error page with meaningless Location header. This looks like correct change and it's in line with what happens on e.g. directory redirects in error handlers.
2011-09-25Proxy: logging levels tuned, double logging fixed.Maxim Dounin1-6/+3
2011-09-25Proxy: whitespaces after chunk size allowed.Maxim Dounin1-0/+4
Whitespaces after chunk size seems to be be allowed by the "implied *LWS" rule and emitted by some servers.
2011-09-20Fixed loss of chain links in fastcgi module.Maxim Dounin1-2/+4
2011-09-19Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov3-3/+3
Fixed nearby grammar errors.
2011-09-16Trailing space fix.Maxim Dounin1-1/+1
2011-09-15Upstream keepalive module.Maxim Dounin1-0/+569
2011-09-15Proxy: basic HTTP/1.1 support (including keepalive).Maxim Dounin1-5/+773
By default we still send requests using HTTP/1.0. This may be changed with new proxy_http_version directive.
2011-09-15Protocol version parsing in ngx_http_parse_status_line().Maxim Dounin1-0/+5
Once we know protocol version, set u->headers_in.connection_close to indicate implicitly assumed connection close with HTTP before 1.1.
2011-09-15Keepalive support in fastcgi.Maxim Dounin1-7/+69
By default follow the old behaviour, i.e. FASTCGI_KEEP_CONN flag isn't set in request and application is responsible for closing connection once request is done. To keep connections alive fastcgi_keep_conn must be activated.
2011-09-15Keepalive support in memcached.Maxim Dounin1-0/+16
2011-09-15Upstream: r->upstream->length type change to off_t.Maxim Dounin1-1/+1
Previous use of size_t may cause wierd effects on 32bit platforms with certain big responses transferred in unbuffered mode. Nuke "if (size > u->length)" check as it's not usefull anyway (preread body data isn't subject to this check) and now requires additional check for u->length being positive.
2011-09-15Upstream: content_length_n API change.Maxim Dounin1-2/+2
We no longer use r->headers_out.content_length_n as a primary source of backend's response length. Instead we parse response length to u->headers_in.content_length_n and copy to r->headers_out.content_length_n when needed.
2011-09-15API change: ngx_chain_update_chains() now requires pool.Maxim Dounin2-3/+3
The ngx_chain_update_chains() needs pool to free chain links used for buffers with non-matching tags. Providing one helps to reduce memory consumption for long-lived requests.
2011-09-15Buffers reuse in chunked filter.Maxim Dounin1-31/+68
There were 2 buffers allocated on each buffer chain sent through chunked filter (one buffer for chunk size, another one for trailing CRLF, about 120 bytes in total on 32-bit platforms). This resulted in large memory consumption with long-lived requests sending many buffer chains. Usual example of problematic scenario is streaming though proxy with proxy_buffering set to off. Introduced buffers reuse reduces memory consumption in the above problematic scenario. See here for initial report: http://mailman.nginx.org/pipermail/nginx/2010-April/019814.html
2011-09-15MP4 co64 atom support added.Igor Sysoev1-6/+164
2011-09-15Fix of struct field name.Igor Sysoev1-4/+4
2011-09-14Style fix.Igor Sysoev1-1/+2
2011-09-14Fixing building by gcc-4.7.Igor Sysoev1-3/+0
2011-09-14Version bump.Igor Sysoev1-1/+1
2011-09-14Skipping traks with unsupported media formats.Igor Sysoev1-14/+42
2011-09-14Fix of case when start sample does not reside on chunk boundary.Igor Sysoev1-67/+134
2011-09-12Fix of debug message format.Igor Sysoev1-6/+6
2011-09-12Fix of codec debug message.Igor Sysoev1-1/+3
2011-09-12Fix of error message.Igor Sysoev1-2/+2
2011-09-12Fix of error message.Igor Sysoev1-1/+1
2011-09-12mp4_max_moov_size directive has been renamed to mp4_max_buffer_size.Igor Sysoev1-7/+7
2011-09-09bugfix of r4086: nginx could not be built without debug log.Igor Sysoev1-4/+4
2011-09-09Bugfix of r4086: directio was always enabled if mp4 file was sent as is.Igor Sysoev1-0/+3