summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2011-12-12nginx-1.1.11-RELEASErelease-1.1.11Maxim Dounin1-0/+98
2011-12-12Fixed RELEASE target again.Maxim Dounin1-1/+1
2011-12-12Fixed RELEASE target to correctly call "release" one.Maxim Dounin1-1/+1
2011-12-12Cache: only complain on long locked entries.Maxim Dounin1-3/+3
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.
2011-12-12Cache: handling of cache files with long headers.Maxim Dounin1-0/+7
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
2011-12-12Cache: obsolete code removed.Maxim Dounin1-66/+0
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.
2011-12-12Renamed some constants to improve readability, no functional changes.Ruslan Ermilov1-17/+14
2011-12-12Proxy: added variables and regexp support to the first parameter ofValentin Bartenev1-99/+119
the "proxy_redirect" directive.
2011-12-11Microoptimization of sendfile(2) usage under FreeBSD.Maxim Dounin1-2/+7
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.
2011-12-09Fixed: some of $sent_http_* variables may contain header entries that actuallyValentin Bartenev1-12/+29
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).
2011-12-09Added HTTPS param with Apache-like behaviour to fastcgi/scgi/uwsgi_params ↵Valentin Bartenev3-0/+3
(fixes #38).
2011-12-09Added the $https variable.Valentin Bartenev1-0/+28
2011-12-09SCGI: added "if_not_empty" flag support to the "scgi_param" directive.Valentin Bartenev1-14/+60
2011-12-09uwsgi: added "if_not_empty" flag support to the "uwsgi_param" directive.Valentin Bartenev1-7/+44
2011-12-09FastCGI: added "if_not_empty" flag support to the "fastcgi_param" directive.Valentin Bartenev1-7/+44
2011-12-09Added the ngx_http_upstream_param_set_slot().Valentin Bartenev2-0/+53
2011-12-06- Improved error message when parsing of the "buffer" parameter of theRuslan Ermilov1-1/+7
"access_log" directive fails. - Added a warning if "log_format" is used in contexts other than "http".
2011-12-06Removed unused function ngx_regex_capture_count().Valentin Bartenev1-17/+0
The function has been unused since r3326.
2011-12-06Fix for read_head with try_files and open_file_cache.Maxim Dounin1-0/+1
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.
2011-12-06Version bump.Maxim Dounin2-3/+3
2011-12-05Added the "so_keepalive=" parameter to the "listen" directive.Valentin Bartenev9-1/+297
The "so_keepalive" directive in mail module was deprecated. Thanks to Vsevolod Stakhov for initial work.
2011-11-30release-1.1.10 tagMaxim Dounin1-0/+1
2011-11-30nginx-1.1.10-RELEASErelease-1.1.10Maxim Dounin1-0/+16
2011-11-30Compute the repository root from the checkout.Ruslan Ermilov1-2/+2
2011-11-29Fixed AIO on Linux, broken in r4306.Maxim Dounin1-10/+10
Events from eventfd do not have c->write set, and the stale event check added in r4306 causes null pointer dereference.
2011-11-29Version bump.Maxim Dounin2-3/+3
2011-11-28release-1.1.9 tagMaxim Dounin1-0/+1
2011-11-28nginx-1.1.9-RELEASErelease-1.1.9Maxim Dounin1-0/+166
2011-11-28Added (void) as we intentionally ignore returned values.Maxim Dounin2-2/+2
Requested by Igor Sysoev.
2011-11-28Allowed add_header for proxied 206 replies.Maxim Dounin1-0/+1
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.
2011-11-28Added support for IP-literal in the Host header and request line (ticket #1).Valentin Bartenev2-26/+115
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.
2011-11-25Added escaping of double quotes in ngx_escape_html().Maxim Dounin1-0/+9
Patch by Zaur Abasmirzoev.
2011-11-23Unlock of shared memory zones on process crash.Maxim Dounin1-11/+50
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.
2011-11-23Fixed build without atomic operations.Maxim Dounin1-2/+2
2011-11-23Added shmtx interface to forcibly unlock mutexes.Maxim Dounin6-49/+86
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().
2011-11-23Fixed "rotate" to always work when combined with "resize/crop".Ruslan Ermilov1-1/+5
2011-11-23Cosmetics.Ruslan Ermilov1-3/+3
2011-11-23Fix of mp4 module seeking.Igor Sysoev1-1/+1
2011-11-22Protection from stale write events in epoll.Maxim Dounin1-0/+12
Stale write event may happen if epoll_wait() reported both read and write events, and processing of the read event closed descriptor. Patch by Yichun Zhang (agentzh).
2011-11-22Fixed segfault on ssl servers without cert with SNI (ticket #54).Maxim Dounin1-12/+14
Non-default servers may not have ssl context created if there are no certificate defined. Make sure to check if ssl context present before using it.
2011-11-22Made it possible to build/install from the SVN checkout.Ruslan Ermilov1-3/+15
2011-11-21o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> includedMaxim Konovalov1-4/+5
in the sys_nerr test. o When sys_nerr and _sys_nerr are missed on a particular platform and our euristic for a maximum errno detection applied always print the maximum errno number we reached instead of printing void.[*] * patch from Maxim Dounin This commit makes possible to build nginx on AIX 7.1.
2011-11-21svgz extension for compressed SVG added (close #56).Maxim Konovalov1-1/+1
2011-11-21Fixed "keepalive_disable".Ruslan Ermilov1-1/+1
Patch by Alexander Usov. The bug has been introduced in r4267.
2011-11-18FreeBSD 10-current has recently gotten POSIX_FADV_* macros.Maxim Konovalov1-1/+1
A fix for the broken build applied. Patch from Igor Sysoev.
2011-11-18Upstream: don't cache unfinished responses.Maxim Dounin1-2/+10
Check if received data length match Content-Length header (if present), don't cache response if no match found. This prevents caching of corrupted response in case of premature connection close by upstream.
2011-11-18Fixed flv header to match specification.Maxim Dounin1-1/+1
Used "\x5" in 5th byte to claim presence of both audio and video. Used previous tag size 0 in the beginning of the flv body (bytes 10 .. 13) as required by specification (see http://www.adobe.com/devnet/f4v.html). Patch by Piotr Sikora.
2011-11-16Silenced a warning for some compilers.Ruslan Ermilov1-0/+1
2011-11-16Now nginx uses TTL of a DNS response when calculating cache validity.Ruslan Ermilov1-6/+38
Previously it used a hardcoded value of 300 seconds. Also added the "valid=" parameter to the "resolver" directive that can be used to override the cache validity time. Patch by Kirill A. Korinskiy with minor changes.
2011-11-16Fixed incorrect counting the length of headers in a SCGI request.Valentin Bartenev1-1/+3