aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fixed limit_conn_log_level/limit_req_log_level inheritance.Valentin Bartenev2011-12-25
| | | | | The directives did not work if there were no limit_conn/limit_req specified on the same level.
* Added the HTTPS fastcgi_param to fastcgi.conf.Valentin Bartenev2011-12-25
|
* Words duplications removed.Maxim Konovalov2011-12-24
|
* Proxy: made proxy_pass with variables more consistent.Maxim Dounin2011-12-23
| | | | | | | | | If proxy_pass was used with variables and there was no URI component, nginx always used unparsed URI. This isn't consistent with "no variables" case, where e.g. rewrites are applied even if there is no URI component. Fix is to use the same logic in both cases, i.e. only use unparsed URI if it's valid and request is the main one.
* configure on Solaris fixedSergey Budnevitch2011-12-20
|
* Added clearing of r->valid_unparsed_uri on internal redirects.Maxim Dounin2011-12-19
| | | | | | | | | | | | | | | | | | This resolves issue with try_files (see ticket #70), configuration like location / { try_files $uri /index.php; } location /index.php { proxy_pass http://backend; } caused nginx to use original request uri in a request to a backend. Historically, not clearing of the r->valid_unparsed_uri on internal redirect was a feature: it allowed to pass the same request to (another) upstream server via error_page redirection. Since then named locations appeared though, and it's time to start resetting r->valid_unparsed_uri on internal redirects. Configurations still using this feature should be converted to use named locations instead. Patch by Lanshun Zhou.
* SSI bugfix: the "if" command did not work inside the "block" command andValentin Bartenev2011-12-19
| | | | produced parsing errors.
* Scgi: removed error if there is no Status header.Maxim Dounin2011-12-19
| | | | | | | The SCGI specification doesn't specify format of the response, and assuming CGI specs should be used there is no reason to complain. RFC 3875 explicitly states that "A Status header field is optional, and status 200 'OK' is assumed if it is omitted".
* Scgi: removed duplicate function declaration.Maxim Dounin2011-12-19
|
* Fixed incorrect use of r->http_version in scgi module.Maxim Dounin2011-12-19
| | | | | | | | | | | The r->http_version is a version of client's request, and modules must not set it unless they are really willing to downgrade protocol version used for a response (i.e. to HTTP/0.9 if no response headers are available). In neither case r->http_version may be upgraded. The former code downgraded response from HTTP/1.1 to HTTP/1.0 for no reason, causing various problems (see ticket #66). It was also possible that HTTP/0.9 requests were upgraded to HTTP/1.0.
* Version bump.Maxim Dounin2011-12-19
|
* release-1.1.11 tagMaxim Dounin2011-12-12
|
* nginx-1.1.11-RELEASErelease-1.1.11Maxim Dounin2011-12-12
|
* Fixed RELEASE target again.Maxim Dounin2011-12-12
|
* Fixed RELEASE target to correctly call "release" one.Maxim Dounin2011-12-12
|
* Cache: only complain on long locked entries.Maxim Dounin2011-12-12
| | | | | | | | | | There have been multiple reports of cases where a real locked entry was removed, resulting in a segmentation fault later in a worker which locked the entry. It looks like default inactive timeout isn't enough in real life. For now just ignore such locked entries, and move them to the top of the inactive queue to allow processing of other entries.
* Cache: handling of cache files with long headers.Maxim Dounin2011-12-12
| | | | | | | | | | There are two possible situations which can lead to this: response was cached with bigger proxy_buffer_size value (and nginx was restared since then, i.e. shared memory zone content was lost), or due to the race in the cache update code (see [1]) we've end up with fcn->body_start from a different response stored in shared memory zone. [1] http://mailman.nginx.org/pipermail/nginx-devel/2011-September/001287.html
* Cache: obsolete code removed.Maxim Dounin2011-12-12
| | | | | | The ngx_http_cache() and ngx_http_no_cache_set_slot() functions were replaced by ngx_http_test_predicates() and ngx_http_set_predicate_slot() in 0.8.46 and no longer used since then.
* Renamed some constants to improve readability, no functional changes.Ruslan Ermilov2011-12-12
|
* Proxy: added variables and regexp support to the first parameter ofValentin Bartenev2011-12-12
| | | | the "proxy_redirect" directive.
* Microoptimization of sendfile(2) usage under FreeBSD.Maxim Dounin2011-12-11
| | | | | | | FreeBSD kernel checks headers/trailers pointer against NULL, not corresponding count. Passing NULL if there are no headers/trailers helps to avoid unneeded work in kernel, as well as unexpected 0 bytes GIO in traces.
* Fixed: some of $sent_http_* variables may contain header entries that actuallyValentin Bartenev2011-12-09
| | | | | | | | | haven't been sent to a client. The ngx_http_variable_headers() and ngx_http_variable_unknown_header() functions did not ignore response header entries with zero "hash" field. Thanks to Yichun Zhang (agentzh).
* Added HTTPS param with Apache-like behaviour to fastcgi/scgi/uwsgi_params ↵Valentin Bartenev2011-12-09
| | | | (fixes #38).
* Added the $https variable.Valentin Bartenev2011-12-09
|
* SCGI: added "if_not_empty" flag support to the "scgi_param" directive.Valentin Bartenev2011-12-09
|
* uwsgi: added "if_not_empty" flag support to the "uwsgi_param" directive.Valentin Bartenev2011-12-09
|
* FastCGI: added "if_not_empty" flag support to the "fastcgi_param" directive.Valentin Bartenev2011-12-09
|
* Added the ngx_http_upstream_param_set_slot().Valentin Bartenev2011-12-09
|
* - Improved error message when parsing of the "buffer" parameter of theRuslan Ermilov2011-12-06
| | | | | | "access_log" directive fails. - Added a warning if "log_format" is used in contexts other than "http".
* Removed unused function ngx_regex_capture_count().Valentin Bartenev2011-12-06
| | | | The function has been unused since r3326.
* Fix for read_head with try_files and open_file_cache.Maxim Dounin2011-12-06
| | | | | The of.read_ahead wasn't set in try_files code path, causing read_ahead directive to be a nop if try_files and open_file_cache were used.
* Version bump.Maxim Dounin2011-12-06
|
* Added the "so_keepalive=" parameter to the "listen" directive.Valentin Bartenev2011-12-05
| | | | | | The "so_keepalive" directive in mail module was deprecated. Thanks to Vsevolod Stakhov for initial work.
* release-1.1.10 tagMaxim Dounin2011-11-30
|
* nginx-1.1.10-RELEASErelease-1.1.10Maxim Dounin2011-11-30
|
* Compute the repository root from the checkout.Ruslan Ermilov2011-11-30
|
* Fixed AIO on Linux, broken in r4306.Maxim Dounin2011-11-29
| | | | | Events from eventfd do not have c->write set, and the stale event check added in r4306 causes null pointer dereference.
* Version bump.Maxim Dounin2011-11-29
|
* release-1.1.9 tagMaxim Dounin2011-11-28
|
* nginx-1.1.9-RELEASErelease-1.1.9Maxim Dounin2011-11-28
|
* Added (void) as we intentionally ignore returned values.Maxim Dounin2011-11-28
| | | | Requested by Igor Sysoev.
* Allowed add_header for proxied 206 replies.Maxim Dounin2011-11-28
| | | | | | It was working for nginx's own 206 replies as they are seen as 200 in the headers filter module (range filter goes later in the headers filter chain), but not for proxied replies.
* Added support for IP-literal in the Host header and request line (ticket #1).Valentin Bartenev2011-11-28
| | | | | | | | | | | | | | | | | | | | Additional parsing logic added to correctly handle RFC 3986 compliant IPv6 and IPvFuture characters enclosed in square brackets. The host validation was completely rewritten. The behavior for non IP literals was changed in a more proper and safer way: - Host part is now delimited either by the first colon or by the end of string if there's no colon. Previously the last colon was used as delimiter which allowed substitution of a port number in the $host variable. (e.g. Host: 127.0.0.1:9000:80) - Fixed stripping of the ending dot in the Host header when the host was also followed by a port number. (e.g. Host: nginx.com.:80) - Fixed upper case characters detection. Previously it was broken which led to wasting memory and CPU.
* Added escaping of double quotes in ngx_escape_html().Maxim Dounin2011-11-25
| | | | Patch by Zaur Abasmirzoev.
* Unlock of shared memory zones on process crash.Maxim Dounin2011-11-23
| | | | | | | | If process exited abnormally while holding lock on some shared memory zone - unlock it. It may be not safe thing to do (as crash with lock held may result in corrupted shared memory structure, and other processes will subsequently crash while trying to access shared data), therefore complain loudly if unlock succeeds.
* Fixed build without atomic operations.Maxim Dounin2011-11-23
|
* Added shmtx interface to forcibly unlock mutexes.Maxim Dounin2011-11-23
| | | | | | | | | | | It is currently used from master process on abnormal worker termination to unlock accept mutex (unlocking of accept mutex was broken in 1.0.2). It is expected to be used in the future to unlock other mutexes as well. Shared mutex code was rewritten to make this possible in a safe way, i.e. with a check if lock was actually held by the exited process. We again use pid to lock mutex, and use separate atomic variable for a count of processes waiting in sem_wait().
* Fixed "rotate" to always work when combined with "resize/crop".Ruslan Ermilov2011-11-23
|
* Cosmetics.Ruslan Ermilov2011-11-23
|
* Fix of mp4 module seeking.Igor Sysoev2011-11-23
|