summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-06-26Mp4: fixed build on win32 after r4689.Maxim Dounin1-1/+1
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-18New core variable: $status.Andrey Belov1-4/+1
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-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 Dounin1-1/+17
2012-06-03Upstream: least_conn balancer module.Maxim Dounin1-0/+404
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
2012-05-28Fixed memory leak if $geoip_org variable was used.Ruslan Ermilov1-2/+13
Patch by Denis F. Latypoff (slightly modified).
2012-05-24Fixed the reuse of parsed DTDs and XSLTs.Ruslan Ermilov1-2/+2
Patch by Kuramoto Eiji.
2012-05-23Fixed warning during nginx.xs compilation.Maxim Dounin1-1/+1
2012-05-16Zero padded the returned and logged HTTP status code, and fixed possibleRuslan Ermilov1-2/+2
buffer overrun in $status handling.
2012-05-16Capped the status code that may be returned with "return" and "try_files".Ruslan Ermilov1-0/+6
2012-05-16Added syntax checking of the second parameter of the "split_clients" directive.Ruslan Ermilov1-0/+7
2012-05-16Version bump.Ruslan Ermilov1-1/+1
2012-05-14geoip: trusted proxies support and partial IPv6 support.Ruslan Ermilov1-30/+130
The module now supports recursive search of client address through the chain of trusted proxies (closes #100), in the same scope as the geo module. Proxies are listed by the "geoip_proxy" directive, recursive search is enabled by the "geoip_proxy_recursive" directive. IPv6 is partially supported: proxies may be specified with IPv6 addresses. Example: geoip_country .../GeoIP.dat; geoip_proxy 127.0.0.1; geoip_proxy ::1; geoip_proxy 10.0.0.0/8; geoip_proxy_recursive on;
2012-05-14geo: chains of trusted proxies and partial IPv6 support.Ruslan Ermilov1-74/+62
The module now supports recursive search of client address through the chain of trusted proxies, controlled by the "proxy_recursive" directive in the "geo" block. It also gets partial IPv6 support: now proxies may be specified with IPv6 addresses. Example: geo $test { ... proxy 127.0.0.1; proxy ::1; proxy_recursive; } There's also a slight change in behavior. When original client address (as specified by the "geo" directive) is one of the trusted proxies, and the value of the X-Forwarded-For request header cannot not be parsed as a valid address, an original client address will be used for lookup. Previously, 255.255.255.255 was used in this case.
2012-05-14realip: chains of trusted proxies and IPv6 support.Ruslan Ermilov1-93/+45
The module now supports recursive search of client address through the chain of trusted proxies, controlled by the "real_ip_recursive" directive (closes #2). It also gets full IPv6 support (closes #44) and canonical value of the $client_addr variable on address change. Example: real_ip_header X-Forwarded-For; set_real_ip_from 127.0.0.0/8; set_real_ip_from ::1; set_real_ip_from unix:; real_ip_recursive on;
2012-05-11Fastcgi: fixed padding handling on fixed-size records.Maxim Dounin1-4/+23
Padding was incorrectly ignored on end request, empty stdout and stderr fastcgi records. This resulted in protocol desynchronization if fastcgi application used these records with padding for some reason. Reported by Ilia Vinokurov.
2012-05-11Added r->state reset on fastcgi/scgi/uwsgi request start.Maxim Dounin3-0/+7
Failing to do so results in problems if 400 or 414 requests are redirected to fastcgi/scgi/uwsgi upstream, as well as after invalid headers got from upstream. This was already fixed for proxy in r3478, but fastcgi (the only affected protocol at that time) was missed. Reported by Matthieu Tourne.
2012-04-26Allows particular modules to handle subrequests properly.Andrey Belov4-4/+4
2012-04-26Version bump.Maxim Dounin1-1/+1
2012-04-23Version bump.Maxim Dounin1-1/+1
2012-04-23Proxy: added ctx checking to input filters.Maxim Dounin1-0/+18
The proxy module context may be NULL in case of filter finalization (e.g. by image_filter) followed by an internal redirect. This needs some better handling, but for now just check if ctx is still here.
2012-04-21Image filter: compare aspect ratio more accurately during crop.Maxim Dounin1-3/+1
Previously used fixed-point calculation caused wrong code path selection in some cases, resulting in incorrect image size. See here for report: http://mailman.nginx.org/pipermail/nginx-devel/2012-April/002123.html
2012-04-12Fixed grammar in error messages.Ruslan Ermilov7-37/+37
2012-04-12Version bump.Maxim Dounin1-1/+1
2012-04-12Mp4: sanity checks cleanup.Maxim Dounin1-66/+208
2012-04-11Fixed directives inheritance.Ruslan Ermilov1-3/+5
2012-04-10Access module: fixed inheritance of allow/deny ipv6 rules.Maxim Dounin1-4/+9
Previous (incorrect) behaviour was to inherit ipv6 rules separately from ipv4 ones. Now all rules are either inherited (if there are no rules defined at current level) or not (if there are any rules defined).
2012-04-10Fixed debug logging.Igor Sysoev1-1/+1
2012-04-10Fixed previous commit.Igor Sysoev1-1/+1
2012-04-10Fixed mp4 module seek.Igor Sysoev1-1/+1
2012-04-03Fixed spelling in multiline C comments.Ruslan Ermilov1-1/+1
2012-04-02Version bump.Maxim Dounin1-1/+1
2012-03-29Corrected spelling of error message (ticket #136).Ruslan Ermilov1-1/+1
2012-03-28Replaced ngx_http_realip_from_t with ngx_in_cidr_t.Ruslan Ermilov1-10/+4
2012-03-28Fixed calculation of range boundaries.Ruslan Ermilov1-11/+8
2012-03-28Xslt: parser options now set with xmlCtxtUseOptions().Maxim Dounin1-3/+2
Note that "ctxt->loadsubset = 1" previously used isn't really correct as ctxt->loadsubset is a bitfield now. The use of xmlCtxtUseOptions() with XML_PARSE_DTDLOAD is believed to be a better way to do the same thing. Patch by Laurence Rowe.
2012-03-22Added xslt_param and xslt_string_param directives.Maxim Dounin1-33/+168
Based on patch by Samuel Behan.
2012-03-22Fixed off-by-one in xslt parameter parsing.Maxim Dounin1-1/+1
The problem was introduced in 0.7.44 (r2589) during conversion to complex values. Previously string.len included space for terminating NUL, but with complex values it doesn't.
2012-03-21If we inserted "Last-Modified" in r->headers_out.headers, don'tRuslan Ermilov1-0/+2
forget to set the r->headers_out.last_modified pointer to it.
2012-03-21Minor ngx_http_headers_filter_module.c code cleanup.Ruslan Ermilov1-22/+20
- Removed "hash" element from ngx_http_header_val_t which was always 1. - Replaced NGX_HTTP_EXPIRES_* with ngx_http_expires_t enum type. - Added prototype for ngx_http_add_header() - Simplified ngx_http_set_last_modified().
2012-03-15- New variable: $connection_requests.Ruslan Ermilov1-1/+13
- While here, fixed format specifier for $connection.
2012-03-15Version bump.Maxim Dounin1-1/+1