]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
http: allow longer HTTP/2 request method names
authorGoro FUJI <goro@fastly.com>
Mon, 13 Nov 2023 01:18:47 +0000 (01:18 +0000)
committerJay Satiro <raysatiro@yahoo.com>
Mon, 13 Nov 2023 06:14:18 +0000 (01:14 -0500)
- Increase the maximum request method name length from 11 to 23.

For HTTP/1.1 and earlier there's not a specific limit in libcurl for
method length except that it is limited by the initial HTTP request
limit (DYN_HTTP_REQUEST). Prior to fc2f1e54 HTTP/2 was treated the same
and there was no specific limit.

According to Internet Assigned Numbers Authority (IANA) the longest
registered method is UPDATEREDIRECTREF which is 17 characters.

Also there are unregistered methods used by some companies that are
longer than 11 characters.

The limit was originally added by 61f52a97 but not used until fc2f1e54.

Ref: https://www.iana.org/assignments/http-methods/http-methods.xhtml

Closes https://github.com/curl/curl/pull/12311

lib/http.h

index 9ee3c6537cedf5a511f24afc0a55e35570dccbd7..f38333af60c208fb01f5955a08b3bd582fc383e3 100644 (file)
@@ -263,7 +263,7 @@ CURLcode Curl_http_decode_status(int *pstatus, const char *s, size_t len);
  * All about a core HTTP request, excluding body and trailers
  */
 struct httpreq {
-  char method[12];
+  char method[24];
   char *scheme;
   char *authority;
   char *path;