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