From 0d058d2174d9b11d0854826d2739f56595434255 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 11 Jul 2008 09:08:27 +0000 Subject: [PATCH] - Daniel Fandrich found out we didn't pass on the user-agent properly when doing "proxy-tunnels" with non-HTTP prototols and that was simply because the code assumed the user-agent was only needed for HTTP. --- CHANGES | 5 +++++ RELEASE-NOTES | 1 + lib/url.c | 10 ++++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index bfa1942fc..82e3d5a61 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,11 @@ Changelog +Daniel Stenberg (11 Jul 2008) +- Daniel Fandrich found out we didn't pass on the user-agent properly when + doing "proxy-tunnels" with non-HTTP prototols and that was simply because + the code assumed the user-agent was only needed for HTTP. + Daniel Fandrich (10 Jul 2008) - Changed slightly the SFTP quote commands chmod, chown and chgrp to only set the attribute that has changed instead of all possible ones. Hopefully, diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 0983411c3..25e90ba3c 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -33,6 +33,7 @@ This release includes the following bugfixes: o FTP transfers segfault when using different CURLOPT_FTP_FILEMETHOD o c-ares powered libcurls can resolve/use IPv6 addresses o poll not working on Windows Vista due to POLLPRI being incorrectly used + o user-agent in CONNECT with non-HTTP protocols This release includes the following known bugs: diff --git a/lib/url.c b/lib/url.c index 4238256cb..58c7331c8 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4278,10 +4278,12 @@ static CURLcode setup_conn(struct connectdata *conn, lingering set from a previous invoke */ conn->bits.proxy_connect_closed = FALSE; - /************************************************************* - * Set user-agent for HTTP - *************************************************************/ - if((conn->protocol&PROT_HTTP) && data->set.str[STRING_USERAGENT]) { + /* + * Set user-agent. Used for HTTP, but since we can attempt to tunnel + * basically anything through a http proxy we can't limit this based on + * protocol. + */ + if(data->set.str[STRING_USERAGENT]) { Curl_safefree(conn->allocptr.uagent); conn->allocptr.uagent = aprintf("User-Agent: %s\r\n", data->set.str[STRING_USERAGENT]);