From: Daniel Stenberg Date: Mon, 5 May 2014 11:47:52 +0000 (+0200) Subject: fix_hostname: strip off a single trailing dot from host name X-Git-Tag: curl-7_37_0~71 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5de8d84098db1bd24e7fffefbe14e81f2a05995a;p=thirdparty%2Fcurl.git fix_hostname: strip off a single trailing dot from host name Primarily for SNI, we need the host name without a trailing dot. "https://www.example.com." resolves fine but fails on SNI unless the dot is removed. Reported-by: Leon Winter Bug: http://curl.haxx.se/mail/lib-2014-04/0161.html --- diff --git a/lib/url.c b/lib/url.c index 5952a9bec3..c9339210c7 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3502,9 +3502,17 @@ static void fix_hostname(struct SessionHandle *data, #elif defined(CURL_DISABLE_VERBOSE_STRINGS) (void)conn; #endif + size_t len; /* set the name we use to display the host name */ host->dispname = host->name; + + len = strlen(host->name); + if(host->name[len-1] == '.') + /* strip off a single trailing dot if present, primarily for SNI but + there's no use for it */ + host->name[len-1]=0; + if(!is_ASCII_name(host->name)) { #ifdef USE_LIBIDN /*************************************************************