Line
Link Here
|
0 |
-- httpd-2.4.12/modules/proxy/proxy_util.c.orig 2015-01-14 08:28:00.000000000 -0500 |
0 |
++ httpd-2.4.12/modules/proxy/proxy_util.c 2015-02-10 18:43:53.000000000 -0500 |
Lines 3311-3320
Link Here
|
3311 |
} |
3311 |
} |
3312 |
} |
3312 |
} |
3313 |
else { |
3313 |
else { |
3314 |
/* don't want to use r->hostname, as the incoming header might have a |
3314 |
const char *hostname; |
3315 |
* port attached |
3315 |
|
|
|
3316 |
/* According to RFC7230 section-5.4, if the absolute-form of request-target |
3317 |
* was given, set the Host: header sent to the orgin server to use the |
3318 |
* authority info from this, ignoring the provided Host: header |
3316 |
*/ |
3319 |
*/ |
3317 |
const char* hostname = apr_table_get(r->headers_in,"Host"); |
3320 |
if (r->parsed_uri.hostname){ |
|
|
3321 |
if (r->parsed_uri.port_str){ |
3322 |
hostname = apr_pstrcat(p, r->parsed_uri.hostname, ":", r->parsed_uri.port_str, NULL); |
3323 |
} else { |
3324 |
hostname = r->parsed_uri.hostname; |
3325 |
} |
3326 |
} else { |
3327 |
/* don't want to use r->hostname, as the incoming header might have a |
3328 |
* port attached |
3329 |
*/ |
3330 |
hostname = apr_table_get(r->headers_in,"Host"); |
3331 |
} |
3318 |
if (!hostname) { |
3332 |
if (!hostname) { |
3319 |
hostname = r->server->server_hostname; |
3333 |
hostname = r->server->server_hostname; |
3320 |
ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r, APLOGNO(01092) |
3334 |
ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r, APLOGNO(01092) |