From 5de8d84098db1bd24e7fffefbe14e81f2a05995a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 5 May 2014 13:47:52 +0200 Subject: [PATCH] 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 --- lib/url.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/url.c b/lib/url.c index 5952a9bec..c9339210c 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 /*************************************************************