aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_static_module.c
Commit message (Collapse)AuthorAge
* Fixed "zero size buf" alerts with subrequests.Maxim Dounin2023-01-28
| | | | | | | | | | | | | | | | | Since 4611:2b6cb7528409 responses from the gzip static, flv, and mp4 modules can be used with subrequests, though empty files were not properly handled. Empty gzipped, flv, and mp4 files thus resulted in "zero size buf in output" alerts. While valid corresponding files are not expected to be empty, such files shouldn't result in alerts. Fix is to set b->sync on such empty subrequest responses, similarly to what ngx_http_send_special() does. Additionally, the static module, the ngx_http_send_response() function, and file cache are modified to do the same instead of not sending the response body at all in such cases, since not sending the response body at all is believed to be at least questionable, and might break various filters which do not expect such behaviour.
* Style.Maxim Dounin2023-01-28
|
* All known output headers can be linked lists now.Maxim Dounin2022-05-30
| | | | | | | | The h->next pointer properly provided as NULL in all cases where known output headers are added. Note that there are 3rd party modules which might not do this, and it might be risky to rely on this for arbitrary headers.
* Location header escaping in redirects (ticket #882).Ruslan Ermilov2021-05-24
| | | | | The header is escaped in redirects based on request URI or location name (auto redirect).
* Saved some memory allocations.Ruslan Ermilov2019-12-16
| | | | | In configurations when "root" has variables, some modules unnecessarily allocated memory for the "Location" header value.
* Cleaned up r->headers_out.headers allocation error handling.Sergey Kandaurov2017-04-20
| | | | | | | | | | If initialization of a header failed for some reason after ngx_list_push(), leaving the header as is can result in uninitialized memory access by the header filter or the log module. The fix is to clear partially initialized headers in case of errors. For the Cache-Control header, the fix is to postpone pushing r->headers_out.cache_control until its value is completed.
* Use ngx_calloc_buf() where appropriate.Ruslan Ermilov2017-04-12
|
* Added missing static specifiers.Eran Kornblau2017-03-02
|
* Fixed missing "Location" field with some relative redirects.Ruslan Ermilov2016-12-22
| | | | | Relative redirects did not work with directory redirects and auto redirects issued by nginx.
* Style: unified request method checks.Ruslan Ermilov2015-11-06
|
* Entity tags: set for static respones.Maxim Dounin2012-07-09
|
* Disable symlinks: initialization of the "disable_symlinks" field inValentin Bartenev2012-02-27
| | | | | | | ngx_open_file_info_t moved to a separate function. This is preparation for the "from=" parameter implementation of the "disable_symlinks" directive.
* Support for disable_symlinks in various modules.Andrey Belov2012-02-13
|
* Copyright updated.Maxim Konovalov2012-01-18
|
* Clear old Location header (if any) while adding a new one.Maxim Dounin2011-10-12
| | | | | This prevents incorrect behaviour when another redirect is issued within error_page 302 handler.
* remove r->zero_in_uriIgor Sysoev2010-05-24
|
* do not log misleading errno in "not a regular file" errorIgor Sysoev2010-04-21
|
* read_aheadIgor Sysoev2009-09-30
|
* *) of.test_only to not open file if only stat() is enoughIgor Sysoev2009-04-27
| | | | *) of.failed to return exact name of failed syscall
* remove TODO commentsIgor Sysoev2009-04-18
|
* set r->root_tested for non-error_page response onlyIgor Sysoev2009-01-16
|
* fix zero length static response, the bug was introduced in r2378Igor Sysoev2008-12-11
|
* *) refactor subrequest handling, now they run as separate posted requestsIgor Sysoev2008-12-08
| | | | | *) now $upstream_addr, $upstream_status, $upstream_response_time can be used with log_subrequest
* *) handle unaligned file part for directioIgor Sysoev2008-09-05
| | | | *) disable sendfile in directio mode
* allow file existence test for POST requests in static moduleIgor Sysoev2008-08-17
|
* directioIgor Sysoev2008-07-30
|
* always test root existence for access_log with variablesIgor Sysoev2008-07-07
|
* ngx_memzero() ngx_open_file_info_tIgor Sysoev2008-06-26
|
* initialize of.uniq in ngx_open_cached_file()Igor Sysoev2008-06-23
|
* *) back out r2040Igor Sysoev2008-06-17
| | | | | | *) refactor ngx_palloc() *) introduce ngx_pnalloc() *) additional pool blocks have smaller header
* add args in redirect to a directoryIgor Sysoev2008-05-26
|
* optimizationIgor Sysoev2007-12-27
|
* open_file_cache_min_usesIgor Sysoev2007-12-22
|
* open_file_cache_retest > open_file_cache_validIgor Sysoev2007-12-21
|
* delete useless variableIgor Sysoev2007-12-07
|
* open_file_cache_eventsIgor Sysoev2007-09-03
|
* open_file_cache in HTTPIgor Sysoev2007-09-01
|
* omit unnecessary conditionsIgor Sysoev2007-08-07
|
* rename ngx_http_discard_body() to ngx_http_discard_request_body()Igor Sysoev2007-08-06
|
* ngx_open_file(name, access, create) > ngx_open_file(name, mode, create, access)Igor Sysoev2007-01-18
|
* remove r->root_lengthIgor Sysoev2006-10-12
|
* backout O_NOATIME support, it requires CAP_FOWNER capabilityIgor Sysoev2006-09-14
|
* Linux O_NOATIME supportIgor Sysoev2006-09-01
|
* nginx-0.4.0-RELEASE importrelease-0.4.0Igor Sysoev2006-08-30
| | | | | | | | | | | | | | | | | | | | *) Change in internal API: the HTTP modules initialization was moved from the init module phase to the HTTP postconfiguration phase. *) Change: now the request body is not read beforehand for the ngx_http_perl_module: it's required to start the reading using the $r->has_request_body method. *) Feature: the ngx_http_perl_module supports the DECLINED return code. *) Feature: the ngx_http_dav_module supports the incoming "Date" header line for the PUT method. *) Feature: the "ssi" directive is available inside the "if" block. *) Bugfix: a segmentation fault occurred if there was an "index" directive with variables and the first index name was without variables; the bug had appeared in 0.1.29.
* nginx-0.3.44-RELEASE importrelease-0.3.44Igor Sysoev2006-05-04
| | | | | | | | | *) Feature: the "wait" parameter in the "include" SSI command. *) Feature: the Ukrainian and Byelorussian characters were added to koi-win conversion table. *) Bugfix: in the SSI.
* nginx-0.3.41-RELEASE importrelease-0.3.41Igor Sysoev2006-04-21
| | | | | | | | | | | | | *) Feature: the -v switch. *) Bugfix: the segmentation fault may occurred if the SSI page has remote subrequests. *) Bugfix: in FastCGI handling. *) Bugfix: if the perl modules path was not set using --with-perl_modules_path=PATH or the "perl_modules", then the segmentation fault was occurred.
* nginx-0.3.23-RELEASE importrelease-0.3.23Igor Sysoev2006-01-24
| | | | | | | | | | *) Feature: the "optimize_host_names" directive. *) Bugfix: in using of the variables in the "path" and "alias" directives. *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and Solaris.
* nginx-0.3.20-RELEASE importrelease-0.3.20Igor Sysoev2006-01-11
| | | | | | | *) Bugfix: in SSI handling. *) Bugfix: the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
* nginx-0.3.15-RELEASE importrelease-0.3.15Igor Sysoev2005-12-07
| | | | | | | | | | *) Feature: the new 444 code of the "return" directive to close connection. *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy. *) Bugfix: if there are unclosed connection nginx now calls abort() only on gracefull quit and active "debug_points" directive.
* nginx-0.3.14-RELEASE importrelease-0.3.14Igor Sysoev2005-12-05
| | | | | *) Bugfix: in the 304 response the body was transferred; the bug had appeared in 0.3.13.