aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchiehminw <chiehminw@synology.com>2019-03-26 11:46:57 +0800
committerchiehminw <chiehminw@synology.com>2019-03-26 11:46:57 +0800
commit1df5b453cb20afa6fac0a3af4a59c03a71de5563 (patch)
treea78931c609f5601fd11fe9453b0b9ac7e04a23be
parent0b5e5a5f82ce87c14a5ecd588ed1dd0b08ff5e18 (diff)
Parse HTTP PATCH method
HTTP PATCH is introduced in RFC 5789 (https://tools.ietf.org/html/rfc5789) Signed-off-by: chiehminw <chiehminw@synology.com>
-rw-r--r--src/include/ndpi_typedefs.h1
-rw-r--r--src/lib/protocols/http.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h
index 92c011b3d..068b62e59 100644
--- a/src/include/ndpi_typedefs.h
+++ b/src/include/ndpi_typedefs.h
@@ -360,6 +360,7 @@ typedef enum {
NDPI_HTTP_METHOD_OPTIONS,
NDPI_HTTP_METHOD_GET,
NDPI_HTTP_METHOD_HEAD,
+ NDPI_HTTP_METHOD_PATCH,
NDPI_HTTP_METHOD_POST,
NDPI_HTTP_METHOD_PUT,
NDPI_HTTP_METHOD_DELETE,
diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c
index fc392c2b7..86bfed87d 100644
--- a/src/lib/protocols/http.c
+++ b/src/lib/protocols/http.c
@@ -182,6 +182,7 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_
case 'P':
switch(flow->packet.http_method.ptr[1]) {
+ case 'A': flow->http.method = NDPI_HTTP_METHOD_PATCH; break;
case 'O': flow->http.method = NDPI_HTTP_METHOD_POST; break;
case 'U': flow->http.method = NDPI_HTTP_METHOD_PUT; break;
}
@@ -412,6 +413,7 @@ static struct l_string {
STATIC_STRING_L("OPTIONS "),
STATIC_STRING_L("HEAD "),
STATIC_STRING_L("PUT "),
+ STATIC_STRING_L("PATCH "),
STATIC_STRING_L("DELETE "),
STATIC_STRING_L("CONNECT "),
STATIC_STRING_L("PROPFIND "),