Commit 5de8d840 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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
parent 47d76071
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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
  /*************************************************************