Mercurial > hg > nginx-vendor-current
comparison src/http/ngx_http_upstream.c @ 676:bfa81a0490a2 NGINX_1_3_1
nginx 1.3.1
*) Security: now nginx/Windows ignores trailing dot in URI path
component, and does not allow URIs with ":$" in it.
Thanks to Vladimir Kochetkov, Positive Research Center.
*) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
directives, and the "server" directive inside the "upstream" block,
now support IPv6 addresses.
*) Feature: the "resolver" directive now support IPv6 addresses and an
optional port specification.
*) Feature: the "least_conn" directive inside the "upstream" block.
*) Feature: it is now possible to specify a weight for servers while
using the "ip_hash" directive.
*) Bugfix: a segmentation fault might occur in a worker process if the
"image_filter" directive was used; the bug had appeared in 1.3.0.
*) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
had appeared in 1.1.12.
*) Bugfix: access to variables from SSI and embedded perl module might
not work after reconfiguration.
Thanks to Yichun Zhang.
*) Bugfix: in the ngx_http_xslt_filter_module.
Thanks to Kuramoto Eiji.
*) Bugfix: memory leak if $geoip_org variable was used.
Thanks to Denis F. Latypoff.
*) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
directives.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 05 Jun 2012 00:00:00 +0400 |
parents | ad45b044f1e5 |
children | 5cb5db9975ba |
comparison
equal
deleted
inserted
replaced
675:7052a9379344 | 676:bfa81a0490a2 |
---|---|
3675 | 3675 |
3676 static ngx_int_t | 3676 static ngx_int_t |
3677 ngx_http_upstream_rewrite_set_cookie(ngx_http_request_t *r, ngx_table_elt_t *h, | 3677 ngx_http_upstream_rewrite_set_cookie(ngx_http_request_t *r, ngx_table_elt_t *h, |
3678 ngx_uint_t offset) | 3678 ngx_uint_t offset) |
3679 { | 3679 { |
3680 ngx_int_t rc; | |
3680 ngx_table_elt_t *ho; | 3681 ngx_table_elt_t *ho; |
3681 | 3682 |
3682 ho = ngx_list_push(&r->headers_out.headers); | 3683 ho = ngx_list_push(&r->headers_out.headers); |
3683 if (ho == NULL) { | 3684 if (ho == NULL) { |
3684 return NGX_ERROR; | 3685 return NGX_ERROR; |
3685 } | 3686 } |
3686 | 3687 |
3687 *ho = *h; | 3688 *ho = *h; |
3688 | 3689 |
3689 if (r->upstream->rewrite_cookie) { | 3690 if (r->upstream->rewrite_cookie) { |
3690 return r->upstream->rewrite_cookie(r, ho); | 3691 rc = r->upstream->rewrite_cookie(r, ho); |
3692 | |
3693 if (rc == NGX_DECLINED) { | |
3694 return NGX_OK; | |
3695 } | |
3696 | |
3697 #if (NGX_DEBUG) | |
3698 if (rc == NGX_OK) { | |
3699 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | |
3700 "rewritten cookie: \"%V\"", &ho->value); | |
3701 } | |
3702 #endif | |
3703 | |
3704 return rc; | |
3691 } | 3705 } |
3692 | 3706 |
3693 return NGX_OK; | 3707 return NGX_OK; |
3694 } | 3708 } |
3695 | 3709 |