block/curl: HTTP header field names are case insensitive
authorDavid Edmondson <david.edmondson@oracle.com>
Mon, 24 Feb 2020 10:13:10 +0000 (10:13 +0000)
committerMax Reitz <mreitz@redhat.com>
Wed, 11 Mar 2020 11:42:29 +0000 (12:42 +0100)
RFC 7230 section 3.2 indicates that HTTP header field names are case
insensitive.

Signed-off-by: David Edmondson <david.edmondson@oracle.com>
Message-Id: <20200224101310.101169-3-david.edmondson@oracle.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
block/curl.c

index f9ffb7f4e2bf0ca2f42e5911196d303c0df62779..6e325901dc68e4a12a76047a52b550bf498e5702 100644 (file)
@@ -216,11 +216,12 @@ static size_t curl_header_cb(void *ptr, size_t size, size_t nmemb, void *opaque)
     size_t realsize = size * nmemb;
     const char *header = (char *)ptr;
     const char *end = header + realsize;
-    const char *accept_ranges = "Accept-Ranges:";
+    const char *accept_ranges = "accept-ranges:";
     const char *bytes = "bytes";
 
     if (realsize >= strlen(accept_ranges)
-        && strncmp(header, accept_ranges, strlen(accept_ranges)) == 0) {
+        && g_ascii_strncasecmp(header, accept_ranges,
+                               strlen(accept_ranges)) == 0) {
 
         char *p = strchr(header, ':') + 1;