Welcome! Log In Create A New Profile

Advanced

[nginx] svn commit: r4399 - trunk/src/http/modules

Anonymous User
January 10, 2012 10:10AM
Author: vbart
Date: 2012-01-10 15:09:45 +0000 (Tue, 10 Jan 2012)
New Revision: 4399

Modified:
trunk/src/http/modules/ngx_http_proxy_module.c
Log:
Fixed: proxy_redirect with regex might broke Refresh header.

The problem was localized in ngx_http_proxy_rewrite_redirect_regex() handler
function which did not take into account prefix when overwriting header value.


Modified: trunk/src/http/modules/ngx_http_proxy_module.c
===================================================================
--- trunk/src/http/modules/ngx_http_proxy_module.c 2012-01-10 07:28:32 UTC (rev 4398)
+++ trunk/src/http/modules/ngx_http_proxy_module.c 2012-01-10 15:09:45 UTC (rev 4399)
@@ -2348,6 +2348,8 @@
ngx_http_proxy_rewrite_redirect_regex(ngx_http_request_t *r, ngx_table_elt_t *h,
size_t prefix, ngx_http_proxy_redirect_t *pr)
{
+ size_t len;
+ u_char *data;
ngx_str_t redirect, replacement;

redirect.len = h->value.len - prefix;
@@ -2361,8 +2363,24 @@
return NGX_ERROR;
}

- h->value = replacement;
+ if (!prefix) {
+ h->value = replacement;
+ return NGX_OK;
+ }

+ len = prefix + replacement.len;
+
+ data = ngx_pnalloc(r->pool, len);
+ if (data == NULL) {
+ return NGX_ERROR;
+ }
+
+ ngx_memcpy(data, h->value.data, prefix);
+ ngx_memcpy(data + prefix, replacement.data, replacement.len);
+
+ h->value.len = len;
+ h->value.data = data;
+
return NGX_OK;
}


_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] svn commit: r4399 - trunk/src/http/modules

Anonymous User 1877 January 10, 2012 10:10AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 290
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready