xref: /dflybsd-src/contrib/tcpdump/print-http.c (revision 59c07fbdf8168fa08c76c515186d561b5a92690c)
1411677aeSAaron LI /*
2411677aeSAaron LI  * Redistribution and use in source and binary forms, with or without
3411677aeSAaron LI  * modification, are permitted provided that: (1) source code
4411677aeSAaron LI  * distributions retain the above copyright notice and this paragraph
5411677aeSAaron LI  * in its entirety, and (2) distributions including binary code include
6411677aeSAaron LI  * the above copyright notice and this paragraph in its entirety in
7411677aeSAaron LI  * the documentation or other materials provided with the distribution.
8411677aeSAaron LI  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
9411677aeSAaron LI  * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
10411677aeSAaron LI  * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
11411677aeSAaron LI  * FOR A PARTICULAR PURPOSE.
12411677aeSAaron LI  */
13411677aeSAaron LI 
14411677aeSAaron LI /* \summary: Hypertext Transfer Protocol (HTTP) printer */
15411677aeSAaron LI 
16411677aeSAaron LI #ifdef HAVE_CONFIG_H
17*ed775ee7SAntonio Huete Jimenez #include <config.h>
18411677aeSAaron LI #endif
19411677aeSAaron LI 
20*ed775ee7SAntonio Huete Jimenez #include "netdissect-stdinc.h"
21411677aeSAaron LI 
22411677aeSAaron LI #include "netdissect.h"
23411677aeSAaron LI 
24411677aeSAaron LI /*
25411677aeSAaron LI  * Includes WebDAV requests.
26411677aeSAaron LI  */
27411677aeSAaron LI static const char *httpcmds[] = {
28411677aeSAaron LI 	"GET",
29411677aeSAaron LI 	"PUT",
30411677aeSAaron LI 	"COPY",
31411677aeSAaron LI 	"HEAD",
32411677aeSAaron LI 	"LOCK",
33411677aeSAaron LI 	"MOVE",
34411677aeSAaron LI 	"POLL",
35411677aeSAaron LI 	"POST",
36411677aeSAaron LI 	"BCOPY",
37411677aeSAaron LI 	"BMOVE",
38411677aeSAaron LI 	"MKCOL",
39411677aeSAaron LI 	"TRACE",
40411677aeSAaron LI 	"LABEL",
41411677aeSAaron LI 	"MERGE",
42411677aeSAaron LI 	"DELETE",
43411677aeSAaron LI 	"SEARCH",
44411677aeSAaron LI 	"UNLOCK",
45411677aeSAaron LI 	"REPORT",
46411677aeSAaron LI 	"UPDATE",
47411677aeSAaron LI 	"NOTIFY",
48411677aeSAaron LI 	"BDELETE",
49411677aeSAaron LI 	"CONNECT",
50411677aeSAaron LI 	"OPTIONS",
51411677aeSAaron LI 	"CHECKIN",
52411677aeSAaron LI 	"PROPFIND",
53411677aeSAaron LI 	"CHECKOUT",
54411677aeSAaron LI 	"CCM_POST",
55411677aeSAaron LI 	"SUBSCRIBE",
56411677aeSAaron LI 	"PROPPATCH",
57411677aeSAaron LI 	"BPROPFIND",
58411677aeSAaron LI 	"BPROPPATCH",
59411677aeSAaron LI 	"UNCHECKOUT",
60411677aeSAaron LI 	"MKACTIVITY",
61411677aeSAaron LI 	"MKWORKSPACE",
62411677aeSAaron LI 	"UNSUBSCRIBE",
63411677aeSAaron LI 	"RPC_CONNECT",
64411677aeSAaron LI 	"VERSION-CONTROL",
65411677aeSAaron LI 	"BASELINE-CONTROL",
66411677aeSAaron LI 	NULL
67411677aeSAaron LI };
68411677aeSAaron LI 
69411677aeSAaron LI void
http_print(netdissect_options * ndo,const u_char * pptr,u_int len)70411677aeSAaron LI http_print(netdissect_options *ndo, const u_char *pptr, u_int len)
71411677aeSAaron LI {
72*ed775ee7SAntonio Huete Jimenez 	ndo->ndo_protocol = "http";
73*ed775ee7SAntonio Huete Jimenez 	txtproto_print(ndo, pptr, len, httpcmds, RESP_CODE_SECOND_TOKEN);
74411677aeSAaron LI }
75