summaryrefslogtreecommitdiffhomepage
path: root/src/http (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2012-08-17Mark logically dead code with corresponding comment.Andrey Belov1-0/+1
Found by Coverity.
2012-08-17Mp4: removed restriction to avc1/mp4a formats (ticket #194).Maxim Dounin1-8/+0
2012-08-16Geo: fixed handling of ranges without default set.Maxim Dounin1-4/+4
The bug had appeared in 0.8.43 (r3653). Patch by Weibin Yao.
2012-08-16Map: fixed optimization of variables as values.Maxim Dounin1-8/+2
Previous code incorrectly used ctx->var_values as an array of pointers to ngx_http_variable_value_t, but the array contains structures, not pointers. Additionally, ctx->var_values inspection failed to properly set var on match.
2012-08-08Added three missing checks for NULL after ngx_array_push() calls.Valentin Bartenev3-0/+10
Found by Coverity.
2012-08-03Whitespace fix.Maxim Dounin1-2/+2
2012-07-31Version bump.Ruslan Ermilov1-1/+1
2012-07-30Core: ipv6only is now on by default.Ruslan Ermilov2-2/+5
There is a general consensus that this change results in better consistency between different operating systems and differently tuned operating systems. Note: this changes the width and meaning of the ipv6only field of the ngx_listening_t structure. 3rd party modules that create their own listening sockets might need fixing.
2012-07-30ngx_http_find_virtual_server() should return NGX_DECLINED if virtual server notValentin Bartenev1-1/+1
found.
2012-07-30Upstream: hide_headers/pass_headers inheritance fix.Maxim Dounin1-3/+3
Hide headers and pass headers arrays might not be inherited correctly into a nested location, e.g. in configuration like server { proxy_hide_header X-Foo; location / { location /nested/ { proxy_pass_header X-Pad; } } } the X-Foo header wasn't hidden in the location /nested/. Reported by Konstantin Svist, http://mailman.nginx.org/pipermail/nginx-ru/2012-July/047555.html
2012-07-29Improved diagnostics when a directive is specified in the wrong context.Ruslan Ermilov1-1/+1
2012-07-29Slight optimization in ngx_http_upstream_add(): replaced an expressionRuslan Ermilov1-1/+1
known to be constant with the constant value.
2012-07-29ngx_http_upstream_add() should return NULL if an error occurs.Ruslan Ermilov1-2/+2
2012-07-24Fixed compilation with -Wmissing-prototypes.Ruslan Ermilov3-2/+3
2012-07-20Fixed debugging messages to account that limit_zone was renamed to limit_conn.Ruslan Ermilov1-2/+2
2012-07-17Fixed sorting of listen addresses so that wildcard address is always atRuslan Ermilov1-0/+5
the end (closes #187). Failure to do so could result in several listen sockets to be created instead of only one listening on wildcard address. Reported by Roman Odaisky.
2012-07-17Version bump.Ruslan Ermilov1-1/+1
2012-07-09Entity tags: empty etags handling in If-Range.Maxim Dounin1-1/+1
Entity tag may be of length 2 as per RFC 2616, i.e. double quotes only. Pointed out by Ruslan Ermilov.
2012-07-09Entity tags: the "etag" directive.Maxim Dounin2-1/+18
It allows to disable generation of nginx's own entity tags, while still handling ETags in cache properly. This may be useful e.g. if one want to serve static files from servers with different ETag generation algorithms.
2012-07-09Entity tags: set for static respones.Maxim Dounin6-0/+46
2012-07-07Entity tags: handling in add_header.Maxim Dounin1-0/+38
Notably this allows to clear ETag if one want to for some reason.
2012-07-07Entity tags: clear on entity changes.Maxim Dounin7-0/+14
2012-07-07Entity tags: support in If-Range header.Maxim Dounin1-5/+29
2012-07-07Entity tags: basic support in not modified filter.Maxim Dounin3-2/+102
This includes handling of ETag headers (if present in a response) with basic support for If-Match, If-None-Match conditionals in not modified filter. Note that the "r->headers_out.last_modified_time == -1" check in the not modified filter is left as is intentionally. It's to prevent handling of If-* headers in case of proxy without cache (much like currently done with If-Modified-Since).
2012-07-07Not modified filter: tests separated from actions.Maxim Dounin1-31/+38
This makes code more extendable. The only functional change is when If-Modified-Since and If-Unmodified-Since are specified together, the case which is explicitly left undefined by RFC 2616. The new behaviour is to respect them both, which seems better.
2012-07-07Added Last-Modified parsing in add_header.Maxim Dounin1-25/+13
This allows to use last modified time set in If-Range checks. Code simplified to improve readability.
2012-07-07Fixed If-Range with unknown last modified time.Maxim Dounin1-1/+5
If modification time isn't known, skip range processing and return full entity body instead of just ignoring If-Range. Ignoring If-Range isn't safe as client will assume entity wasn't changed since time specified.
2012-07-06Corrected $request_length calculation for pipelined requests.Andrey Belov1-7/+4
2012-07-03Reset r->uri_changed in a named location (ticket #184).Maxim Dounin1-0/+1
2012-06-29map: strip final dot before looking up in a map of hostnames.Ruslan Ermilov1-5/+4
(closes #182)
2012-06-29Version bump.Ruslan Ermilov1-1/+1
2012-06-26Mp4: fixed build on win32 after r4689.Maxim Dounin1-1/+1
2012-06-25Fixed a harmless error in spelling of "Connection: close" when computingRuslan Ermilov1-1/+1
the response header length.
2012-06-21Fixed compile-time conditionals used to detect if X-Forwarded-For supportRuslan Ermilov3-3/+3
is needed.
2012-06-19Added IPv6 support to ip_hash.Ruslan Ermilov1-16/+27
2012-06-18Upstream keepalive: "single" parameter deprecated.Maxim Dounin1-29/+4
The original idea was to optimize edge cases in case of interchangeable backends, i.e. don't establish a new connection if we have any one cached. This causes more harm than good though, as it screws up underlying balancer's idea about backends used and may result in various unexpected problems.
2012-06-18Mp4: fixed streaming if moov atom is at buffer edge.Maxim Dounin1-0/+10
2012-06-18Mp4: fixed non-keyframe seeks in some cases (ticket #175).Maxim Dounin1-1/+8
Number of entries in stsc atom was wrong if we've added an entry to split a chunk. Additionally, there is no need to add an entry if we are going to split last chunk in an entry, it's enough to update the entry we already have. Previously new entry was added and old one was left as is, resulting in incorrect entry with zero chunks which might confuse some software.
2012-06-18Style fix.Andrey Belov1-1/+1
2012-06-18New core variable: $status.Andrey Belov2-4/+40
Contains response status code as a 3-digit integer (with leading zeroes if necessary), or one of the following values: 000 - response status code has not yet been assigned 009 - HTTP/0.9 request is being processed
2012-06-18Version bump.Ruslan Ermilov1-1/+1
2012-06-08Fixed spelling of "endianness", and called it "byte ordering" in theRuslan Ermilov1-1/+1
user visible part.
2012-06-05Win32: uris with ":$" are now rejected.Maxim Dounin1-6/+22
There are too many problems with special NTFS streams, notably "::$data", "::$index_allocation" and ":$i30:$index_allocation". For now we don't reject all URIs with ":" like Apache does as there are no good reasons seen yet, and there are multiple programs using it in URLs (e.g. MediaWiki).
2012-06-05Win32: normalization of trailing dot inside uri.Maxim Dounin1-0/+20
Windows treats "/directory./" identical to "/directory/". Do the same when working on Windows. Note that the behaviour is different from one with last path component (where multiple spaces and dots are ignored by Windows).
2012-06-04Upstream: least_conn compilation fixes.Maxim Dounin1-5/+3
Removed duplicate call of ngx_http_upstream_init_round_robin_peer() overlooked during code changes. Rewritten "return lcp->free_rr_peer(...)" as MSVC doesn't like it.
2012-06-03Upstream: weights support in ip_hash balancer.Maxim Dounin3-3/+33
2012-06-03Upstream: least_conn balancer module.Maxim Dounin1-0/+404
2012-05-30Fixed returned value handling from the cookie rewrite handler.Valentin Bartenev1-1/+15
If the "proxy_cookie_domain" or "proxy_cookie_path" directive is used and there are no matches in Set-Cookie header then ngx_http_proxy_rewrite_cookie() returns NGX_DECLINED to indicate that the header was not rewritten. Returning this value further from the upstream headers copy handler resulted in 500 error response. See here for report: http://mailman.nginx.org/pipermail/nginx/2012-May/033858.html
2012-05-29geoip: got rid of ugly casts when calling ngx_free().Ruslan Ermilov1-4/+4
This is done by removing the "const" qualifier from the common return type of handler functions returning either "const char *" or "char *".
2012-05-28Fixed broken build.Ruslan Ermilov1-2/+2