create_hostcache_id: use the key lower cased
authorDaniel Stenberg <daniel@haxx.se>
Fri, 30 Dec 2011 21:46:57 +0000 (22:46 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 31 Dec 2011 09:58:05 +0000 (10:58 +0100)
... to make sure the DNS cache is properly case insensitive

lib/hostip.c

index 03c3bc9..0d737f4 100644 (file)
@@ -201,14 +201,23 @@ Curl_printable_address(const Curl_addrinfo *ai, char *buf, size_t bufsize)
 }
 
 /*
- * Return a hostcache id string for the providing host + port, to be used by
+ * Return a hostcache id string for the provided host + port, to be used by
  * the DNS caching.
  */
 static char *
-create_hostcache_id(const char *server, int port)
+create_hostcache_id(const char *name, int port)
 {
   /* create and return the new allocated entry */
-  return aprintf("%s:%d", server, port);
+  char *id = aprintf("%s:%d", name, port);
+  char *ptr = id;
+  if(ptr) {
+    /* lower case the name part */
+    while(*ptr != ':') {
+      *ptr = (char)TOLOWER(*ptr);
+      ptr++;
+    }
+  }
+  return id;
 }
 
 struct hostcache_prune_data {