]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/tcpdump/print-http.c
zfs: merge openzfs/zfs@9198de8f1
[FreeBSD/FreeBSD.git] / contrib / tcpdump / print-http.c
1 /*
2  * Redistribution and use in source and binary forms, with or without
3  * modification, are permitted provided that: (1) source code
4  * distributions retain the above copyright notice and this paragraph
5  * in its entirety, and (2) distributions including binary code include
6  * the above copyright notice and this paragraph in its entirety in
7  * the documentation or other materials provided with the distribution.
8  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
9  * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
10  * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
11  * FOR A PARTICULAR PURPOSE.
12  */
13
14 /* \summary: Hypertext Transfer Protocol (HTTP) printer */
15
16 #ifdef HAVE_CONFIG_H
17 #include <config.h>
18 #endif
19
20 #include "netdissect-stdinc.h"
21
22 #include "netdissect.h"
23
24 /*
25  * Includes WebDAV requests.
26  */
27 static const char *httpcmds[] = {
28         "GET",
29         "PUT",
30         "COPY",
31         "HEAD",
32         "LOCK",
33         "MOVE",
34         "POLL",
35         "POST",
36         "BCOPY",
37         "BMOVE",
38         "MKCOL",
39         "TRACE",
40         "LABEL",
41         "MERGE",
42         "DELETE",
43         "SEARCH",
44         "UNLOCK",
45         "REPORT",
46         "UPDATE",
47         "NOTIFY",
48         "BDELETE",
49         "CONNECT",
50         "OPTIONS",
51         "CHECKIN",
52         "PROPFIND",
53         "CHECKOUT",
54         "CCM_POST",
55         "SUBSCRIBE",
56         "PROPPATCH",
57         "BPROPFIND",
58         "BPROPPATCH",
59         "UNCHECKOUT",
60         "MKACTIVITY",
61         "MKWORKSPACE",
62         "UNSUBSCRIBE",
63         "RPC_CONNECT",
64         "VERSION-CONTROL",
65         "BASELINE-CONTROL",
66         NULL
67 };
68
69 void
70 http_print(netdissect_options *ndo, const u_char *pptr, u_int len)
71 {
72         ndo->ndo_protocol = "http";
73         txtproto_print(ndo, pptr, len, httpcmds, RESP_CODE_SECOND_TOKEN);
74 }