From dddad339e8a56722babb5864b39a83f293f6491a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 1 Jun 2021 08:28:29 +0200 Subject: [PATCH] conncache: lowercase the hash key for better match As host names are case insensitive, the use of case sensitive hashing caused unnecesary cache misses and therefore lost performance. This lowercases the hash key. Reported-by: Harry Sintonen Fixes #7159 Closes #7161 --- lib/conncache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/conncache.c b/lib/conncache.c index 5453c00f3..a3cbe9fef 100644 --- a/lib/conncache.c +++ b/lib/conncache.c @@ -34,6 +34,7 @@ #include "share.h" #include "sigpipe.h" #include "connect.h" +#include "strcase.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" @@ -161,6 +162,7 @@ static void hashkey(struct connectdata *conn, char *buf, /* put the number first so that the hostname gets cut off if too long */ msnprintf(buf, len, "%ld%s", port, hostname); + Curl_strntolower(buf, buf, len); } /* Returns number of connections currently held in the connection cache.