mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
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
This commit is contained in:
parent
47d760714f
commit
5de8d84098
@ -3502,9 +3502,17 @@ static void fix_hostname(struct SessionHandle *data,
|
|||||||
#elif defined(CURL_DISABLE_VERBOSE_STRINGS)
|
#elif defined(CURL_DISABLE_VERBOSE_STRINGS)
|
||||||
(void)conn;
|
(void)conn;
|
||||||
#endif
|
#endif
|
||||||
|
size_t len;
|
||||||
|
|
||||||
/* set the name we use to display the host name */
|
/* set the name we use to display the host name */
|
||||||
host->dispname = 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)) {
|
if(!is_ASCII_name(host->name)) {
|
||||||
#ifdef USE_LIBIDN
|
#ifdef USE_LIBIDN
|
||||||
/*************************************************************
|
/*************************************************************
|
||||||
|
Loading…
Reference in New Issue
Block a user