Commit ba42d310 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

http: add missing Host field to proxied requests (fix #6388)

(cherry picked from commit 28db7725)
parent 875f8c7c
...@@ -1239,44 +1239,22 @@ static int Request( access_t *p_access, uint64_t i_tell ) ...@@ -1239,44 +1239,22 @@ static int Request( access_t *p_access, uint64_t i_tell )
p_sys->b_persist = false; p_sys->b_persist = false;
p_sys->i_remaining = 0; p_sys->i_remaining = 0;
if( p_sys->b_proxy )
{
if( p_sys->url.psz_path )
{
net_Printf( p_access, p_sys->fd, NULL,
"GET http://%s:%d%s HTTP/1.%d\r\n",
p_sys->url.psz_host, p_sys->url.i_port,
p_sys->url.psz_path, p_sys->i_version );
}
else
{
net_Printf( p_access, p_sys->fd, NULL,
"GET http://%s:%d/ HTTP/1.%d\r\n",
p_sys->url.psz_host, p_sys->url.i_port,
p_sys->i_version );
}
}
else
{
const char *psz_path = p_sys->url.psz_path; const char *psz_path = p_sys->url.psz_path;
if( !psz_path || !*psz_path ) if( !psz_path || !*psz_path )
{
psz_path = "/"; psz_path = "/";
} net_Write( p_access, p_sys->fd, pvs, "GET ", 4 );
if( p_sys->b_proxy && pvs == NULL )
net_Printf( p_access, p_sys->fd, NULL, "http://%s:%d",
p_sys->url.psz_host, p_sys->url.i_port );
net_Printf( p_access, p_sys->fd, pvs, "%s HTTP/1.%d\r\n",
psz_path, p_sys->i_version );
if( p_sys->url.i_port != (pvs ? 443 : 80) ) if( p_sys->url.i_port != (pvs ? 443 : 80) )
{ net_Printf( p_access, p_sys->fd, pvs, "Host: %s:%d\r\n",
net_Printf( p_access, p_sys->fd, pvs, p_sys->url.psz_host, p_sys->url.i_port );
"GET %s HTTP/1.%d\r\nHost: %s:%d\r\n",
psz_path, p_sys->i_version, p_sys->url.psz_host,
p_sys->url.i_port );
}
else else
{ net_Printf( p_access, p_sys->fd, pvs, "Host: %s\r\n",
net_Printf( p_access, p_sys->fd, pvs, p_sys->url.psz_host );
"GET %s HTTP/1.%d\r\nHost: %s\r\n",
psz_path, p_sys->i_version, p_sys->url.psz_host );
}
}
/* User Agent */ /* User Agent */
net_Printf( p_access, p_sys->fd, pvs, net_Printf( p_access, p_sys->fd, pvs,
"User-Agent: %s\r\n", "User-Agent: %s\r\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment