print-http.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. /* \summary: Hypertext Transfer Protocol (HTTP) printer */
  14. #ifdef HAVE_CONFIG_H
  15. #include "config.h"
  16. #endif
  17. #include <netdissect-stdinc.h>
  18. #include <stdio.h>
  19. #include <stdlib.h>
  20. #include "netdissect.h"
  21. #include "extract.h"
  22. /*
  23. * Includes WebDAV requests.
  24. */
  25. static const char *httpcmds[] = {
  26. "GET",
  27. "PUT",
  28. "COPY",
  29. "HEAD",
  30. "LOCK",
  31. "MOVE",
  32. "POLL",
  33. "POST",
  34. "BCOPY",
  35. "BMOVE",
  36. "MKCOL",
  37. "TRACE",
  38. "LABEL",
  39. "MERGE",
  40. "DELETE",
  41. "SEARCH",
  42. "UNLOCK",
  43. "REPORT",
  44. "UPDATE",
  45. "NOTIFY",
  46. "BDELETE",
  47. "CONNECT",
  48. "OPTIONS",
  49. "CHECKIN",
  50. "PROPFIND",
  51. "CHECKOUT",
  52. "CCM_POST",
  53. "SUBSCRIBE",
  54. "PROPPATCH",
  55. "BPROPFIND",
  56. "BPROPPATCH",
  57. "UNCHECKOUT",
  58. "MKACTIVITY",
  59. "MKWORKSPACE",
  60. "UNSUBSCRIBE",
  61. "RPC_CONNECT",
  62. "VERSION-CONTROL",
  63. "BASELINE-CONTROL",
  64. NULL
  65. };
  66. void
  67. http_print(netdissect_options *ndo, const u_char *pptr, u_int len)
  68. {
  69. txtproto_print(ndo, pptr, len, "http", httpcmds, RESP_CODE_SECOND_TOKEN);
  70. }