Message ID | 20200219132745.315381-3-david.edmondson@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block/curl: Improve HTTP header parsing | expand |
Hi David, On 2/19/20 2:27 PM, David Edmondson wrote: > RFC 7230 section 3.2 indicates that HTTP header field names are case > insensitive. > > Signed-off-by: David Edmondson <david.edmondson@oracle.com> > --- > block/curl.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block/curl.c b/block/curl.c > index 0cf99a4b31b8..4256659cd85b 100644 > --- a/block/curl.c > +++ b/block/curl.c > @@ -216,11 +216,11 @@ 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) { > + && strncasecmp(header, accept_ranges, strlen(accept_ranges)) == 0) { Can you use g_ascii_strncasecmp() instead? > > char *p = strchr(header, ':') + 1; > >
diff --git a/block/curl.c b/block/curl.c index 0cf99a4b31b8..4256659cd85b 100644 --- a/block/curl.c +++ b/block/curl.c @@ -216,11 +216,11 @@ 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) { + && strncasecmp(header, accept_ranges, strlen(accept_ranges)) == 0) { char *p = strchr(header, ':') + 1;
RFC 7230 section 3.2 indicates that HTTP header field names are case insensitive. Signed-off-by: David Edmondson <david.edmondson@oracle.com> --- block/curl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)