nginx-0.1.44-RELEASE import

    *) Feature: the IMAP/POP3 proxy supports SSL.

    *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module.

    *) Feature: the "userid_mark" directive.

    *) Feature: the $remote_user variable value is determined independently
       of authorization use.
diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c
index 8288df1..e8b9c4e 100644
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -424,10 +424,10 @@
 
     escape = 0;
 
-    loc_len = r->valid_location ? u->conf->location->len : 1;
+    loc_len = r->valid_location ? u->conf->location->len - 1 : 0;
 
     if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) {
-        len += r->unparsed_uri.len - 1;
+        len += r->unparsed_uri.len;
 
     } else {
         if (r->quoted_uri) {
@@ -508,11 +508,11 @@
                              r->method_name.len + 1);
     }
 
-    b->last = ngx_cpymem(b->last, u->conf->uri.data, u->conf->uri.len);
+    b->last = ngx_cpymem(b->last, u->conf->uri.data, u->conf->uri.len - 1);
 
     if (plcf->upstream.pass_unparsed_uri && r->valid_unparsed_uri) {
-        b->last = ngx_cpymem(b->last, r->unparsed_uri.data + 1,
-                             r->unparsed_uri.len - 1);
+        b->last = ngx_cpymem(b->last, r->unparsed_uri.data,
+                             r->unparsed_uri.len);
     } else {
         if (escape) {
             ngx_escape_uri(b->last, r->uri.data + loc_len,