* http.c (send_request): Include the port if non-80 in the Host: header.

Noted by Jason Harris.
This commit is contained in:
David Shaw 2004-12-03 20:04:08 +00:00
parent a59e12f78f
commit 445542c942
2 changed files with 26 additions and 14 deletions

View File

@ -1,3 +1,8 @@
2004-12-03 David Shaw <dshaw@jabberwocky.com>
* http.c (send_request): Include the port if non-80 in the Host:
header. Noted by Jason Harris.
2004-08-23 Werner Koch <wk@g10code.de>
* dotlock.c (destroy_dotlock): Remove the handle from the list of

View File

@ -501,21 +501,28 @@ send_request( HTTP_HD hd )
return G10ERR_NETWORK;
p = build_rel_path( hd->uri );
request = m_alloc( strlen(server)*2 + strlen(p) + 50 );
if( http_proxy ) {
request = m_alloc( strlen(server)*2 + strlen(p) + 65 );
if( http_proxy )
{
sprintf( request, "%s http://%s:%hu%s%s HTTP/1.0\r\n",
hd->req_type == HTTP_REQ_GET ? "GET" :
hd->req_type == HTTP_REQ_HEAD? "HEAD":
hd->req_type == HTTP_REQ_POST? "POST": "OOPS",
server, port, *p == '/'? "":"/", p );
}
else {
sprintf( request, "%s %s%s HTTP/1.0\r\nHost: %s\r\n",
hd->req_type == HTTP_REQ_GET ? "GET" :
hd->req_type == HTTP_REQ_HEAD? "HEAD":
hd->req_type == HTTP_REQ_POST? "POST": "OOPS",
*p == '/'? "":"/", p, server);
}
hd->req_type == HTTP_REQ_GET ? "GET" :
hd->req_type == HTTP_REQ_HEAD? "HEAD":
hd->req_type == HTTP_REQ_POST? "POST": "OOPS",
server, port, *p == '/'? "":"/", p );
}
else
{
char portstr[15];
if(port!=80)
sprintf(portstr,":%u",port);
sprintf( request, "%s %s%s HTTP/1.0\r\nHost: %s%s\r\n",
hd->req_type == HTTP_REQ_GET ? "GET" :
hd->req_type == HTTP_REQ_HEAD? "HEAD":
hd->req_type == HTTP_REQ_POST? "POST": "OOPS",
*p == '/'? "":"/", p, server, (port!=80)?portstr:"");
}
m_free(p);
rc = write_server( hd->sock, request, strlen(request) );