Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-02-10Updated OpenSSL used for win32 builds.Maxim Dounin
2015-02-10Core: fixed build on Tru64 UNIX.Sergey Kandaurov
There was a typo in NGX_EACCES. Reported by Goetz T. Fischer.
2015-01-21Fixed try_files directory test to match only a directory.Damien Tournoud
Historically, it was possible to match either a file or directory in the following configuration: location / { try_files $uri/ =404; }
2015-02-04Core: fixed a race resulting in extra sem_post()'s.Roman Arutyunyan
The mtx->wait counter was not decremented if we were able to obtain the lock right after incrementing it. This resulted in unneeded sem_post() calls, eventually leading to EOVERFLOW errors being logged, "sem_post() failed while wake shmtx (75: Value too large for defined data type)". To close the race, mtx->wait is now decremented if we obtain the lock right after incrementing it in ngx_shmtx_lock(). The result can become -1 if a concurrent ngx_shmtx_unlock() decrements mtx->wait before the added code does. However, that only leads to one extra iteration in the next call of ngx_shmtx_lock().
2015-02-02Core: reverted prefix-based temp files (a9138c35120d).Roman Arutyunyan
The use_temp_path http cache feature is now implemented using a separate temp hierarchy in cache directory. Prefix-based temp files are no longer needed.
2015-02-02Cache: added temp_path to file cache.Roman Arutyunyan
If use_temp_path is set to off, a subdirectory "temp" is created in the cache directory. It's used instead of proxy_temp_path and friends for caching upstream response.
2015-02-02Core: supported directory skipping in ngx_walk_tree().Roman Arutyunyan
If pre_tree_handler() returns NGX_DECLINED, the directory is ignored.
2015-01-28Fixed AIO handling in the output chain.Valentin Bartenev
The ctx->aio flag must be taken into account in the short path too.
2015-01-27A bounds check of %N format on Windows.Igor Sysoev
Thanks to Joe Bialek, Adam Zabrocki and Microsoft Vulnerability Research.
2015-01-14Upstream: $upstream_header_time variable.Vladimir Homutov
Keeps time spent on obtaining the header from an upstream server. The value is formatted similar to the $upstream_response_time variable.
2015-01-13Year 2015.Valentin Bartenev
2015-01-13Core: added disk_full_time checks to error log.Maxim Dounin
2015-01-13Fixed sendfile() trailers on OS X (8e903522c17a, 1.7.8).Maxim Dounin
The trailer.count variable was not initialized if there was a header, resulting in "sendfile() failed (22: Invalid argument)" alerts on OS X if the "sendfile" directive was used. The bug was introduced in 8e903522c17a (1.7.8).
2014-12-26Upstream: use_temp_path parameter of proxy_cache_path and friends.Valentin Bartenev
When set to "off", temporary files for cacheable responses will be stored inside cache directory.
2014-12-26Cache: update variant while setting header.Valentin Bartenev
Some parts of code related to handling variants of a resource moved into a separate function that is called earlier. This allows to use cache file name as a prefix for temporary file in the following patch.
2014-12-26Core: added prefix-based temporary files.Valentin Bartenev
Now, if the "path" parameter is NULL, ngx_create_temp_file() will use file->name as a predefined file path prefix.
2014-12-26Unified handling of ngx_create_temp_file() return value.Valentin Bartenev
The original check for NGX_AGAIN was surplus, since the function returns only NGX_OK or NGX_ERROR. Now it looks similar to other places. No functional changes.
2014-12-24Trailing space fix.Maxim Dounin
2014-12-24Fixed building with musl libc (ticket #685).Maxim Dounin
2014-12-24Version bump.Maxim Dounin
2014-12-23release-1.7.9 tagMaxim Dounin
2014-12-23nginx-1.7.9-RELEASErelease-1.7.9Maxim Dounin
2014-12-22Upstream: added variables support to proxy_cache and friends.Valentin Bartenev
2014-12-22Upstream: preset some cache configuration when bypassing.Valentin Bartenev
No functional changes.
2014-12-22Upstream: refactored proxy_cache and friends.Valentin Bartenev
The configuration handling code has changed to look similar to the proxy_store directive and friends. This simplifies adding variable support in the following patch. No functional changes.
2014-12-22Upstream: mutually exclusive inheritance of "cache" and "store".Valentin Bartenev
Currently, storing and caching mechanisms cannot work together, and a configuration error is thrown when the proxy_store and proxy_cache directives (as well as their friends) are configured on the same level. But configurations like in the example below were allowed and could result in critical errors in the error log: proxy_store on; location / { proxy_cache one; } Only proxy_store worked in this case. For more predictable and errorless behavior these directives now prevent each other from being inherited from the previous level.
2014-12-22Upstream: simplified proxy_store and friends configuration code.Valentin Bartenev
This changes internal API related to handling of the "store" flag in ngx_http_upstream_conf_t. Previously, a non-null value of "store_lengths" was enough to enable store functionality with custom path. Now, the "store" flag is also required to be set. No functional changes.
2014-12-17SSL: safeguard use of SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS.Lukas Tribus
The flag was recently removed by BoringSSL.
2014-12-12Autoindex: implemented XML output format.Valentin Bartenev
2014-12-12Autoindex: implemented JSON output format.Valentin Bartenev
2014-12-12Autoindex: rendering code moved to a separate function.Valentin Bartenev
No functional changes.
2014-12-11Headers filter: variables support in expires (ticket #113).Maxim Dounin
2014-12-11Headers filter: local variables for config, no functional changes.Maxim Dounin
2014-10-09Upstream: fixed inheritance of proxy_store and friends.Valentin Bartenev
The proxy_store, fastcgi_store, scgi_store and uwsgi_store were inherited incorrectly if a directive with variables was defined, and then redefined to the "on" value, i.e. in configurations like: proxy_store /data/www$upstream_http_x_store; location / { proxy_store on; }
2014-12-09Proxy: fixed incorrect URI change due to if (ticket #86).Maxim Dounin
In the following configuration request was sent to a backend without URI changed to '/' due to if: location /proxy-pass-uri { proxy_pass http://127.0.0.1:8080/; set $true 1; if ($true) { # nothing } } Fix is to inherit conf->location from the location where proxy_pass was configured, much like it's done with conf->vars.
2014-12-09Upstream: fixed unexpected inheritance into limit_except blocks.Maxim Dounin
The proxy_pass directive and other handlers are not expected to be inherited into nested locations, but there is a special code to inherit upstream handlers into limit_except blocks, as well as a configuration into if{} blocks. This caused incorrect behaviour in configurations with nested locations and limit_except blocks, like this: location / { proxy_pass http://u; location /inner/ { # no proxy_pass here limit_except GET { # nothing } } } In such a configuration the limit_except block inside "location /inner/" unexpectedly used proxy_pass defined in "location /", while it shouldn't. Fix is to avoid inheritance of conf->upstream.upstream (and conf->proxy_lengths) into locations which don't have noname flag.
2014-12-09Upstream: inheritance of proxy_pass and friends (ticket #645).Maxim Dounin
Instead of independant inheritance of conf->upstream.upstream (proxy_pass without variables) and conf->proxy_lengths (proxy_pass with variables) we now test them both and inherit only if neither is set. Additionally, SSL context is also inherited only in this case now. Based on the patch by Alexey Radkov.
2014-12-09Proxy: the "TE" header now stripped by default (ticket #537).Maxim Dounin
2014-11-27Cache: send conditional requests only for cached 200/206 responses.Piotr Sikora
RFC7232 says: The 304 (Not Modified) status code indicates that a conditional GET or HEAD request has been received and would have resulted in a 200 (OK) response if it were not for the fact that the condition evaluated to false. which means that there is no reason to send requests with "If-None-Match" and/or "If-Modified-Since" headers for responses cached with other status codes. Also, sending conditional requests for responses cached with other status codes could result in a strange behavior, e.g. upstream server returning 304 Not Modified for cached 404 Not Found responses, etc. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2014-08-04SSL: loading certificate keys via ENGINE_load_private_key().Dmitrii Pichulin
2014-12-04Version bump.Maxim Dounin
2014-12-02release-1.7.8 tagMaxim Dounin
2014-12-02nginx-1.7.8-RELEASErelease-1.7.8Maxim Dounin
2014-12-02Trailing spaces removed, typo fixed.Maxim Dounin
2014-12-02Cache: proper wakeup of subrequests.Maxim Dounin
In case of a cache lock timeout and in the aio handler we now call r->write_event_handler() instead of a connection write handler, to make sure to run appropriate subrequest. Previous code failed to run inactive subrequests and hence resulted in suboptimal behaviour, see report by Yichun Zhang: http://mailman.nginx.org/pipermail/nginx-devel/2013-October/004435.html (Infinite hang claimed in the report seems impossible without 3rd party modules, as subrequests will be eventually woken up by the postpone filter.)
2014-12-02Upstream: improved subrequest logging.Maxim Dounin
To ensure proper logging make sure to set current_request in all event handlers, including resolve, ssl handshake, cache lock wait timer and aio read handlers. A macro ngx_http_set_log_request() introduced to simplify this.
2014-12-01Access log: restricted "log_format" to "http" level.Sergey Kandaurov
Specifying the "log_format" directive on levels other than "http" is deprecated since 73d37e1ccb91 (1.1.11).
2014-11-28Write filter: fixed handling of sync bufs (ticket #132).Maxim Dounin
2014-11-28Fixed post_action to not trigger "header already sent" alert.Maxim Dounin
The alert was introduced in 03ff14058272 (1.5.4), and was triggered on each post_action invocation. There is no real need to call header filters in case of post_action, so return NGX_OK from ngx_http_send_header() if r->post_action is set.
2014-11-28Typo.Maxim Dounin