2 * Routines for CVS password server packet dissection
3 * Copyright 2018, Jaap Keuter <jaap.keuter@xs4all.nl>
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
14 #include <epan/packet.h>
16 #define CVSPSERVER_PORT_TCP 2401
18 void proto_register_cvspserver(void);
19 void proto_reg_handoff_cvspserver(void);
21 static int proto_cvspserver = -1;
23 static int hf_cvspserver_data = -1;
25 static gint ett_cvspserver = -1;
28 dissect_cvspserver(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dissector_data _U_)
30 proto_tree* cvspserver_tree;
33 gint next_offset, offset;
36 col_set_str(pinfo->cinfo, COL_PROTOCOL, "CVSPSERVER");
37 col_clear(pinfo->cinfo, COL_INFO);
39 ti = proto_tree_add_item(tree, proto_cvspserver, tvb, 0, -1, ENC_NA);
40 cvspserver_tree = proto_item_add_subtree(ti, ett_cvspserver);
42 for (offset = 0; tvb_offset_exists(tvb, offset); offset = next_offset)
44 length = tvb_find_line_end_unquoted(tvb, offset, -1, &next_offset);
45 proto_tree_add_item(cvspserver_tree, hf_cvspserver_data, tvb, offset, length, ENC_UTF_8|ENC_NA);
49 col_add_fstr(pinfo->cinfo, COL_INFO, "%s %u",
50 (pinfo->srcport == pinfo->match_uint) ? "Response lines:" : "Request lines :",
53 proto_item_append_text(ti, " %s",
54 (pinfo->srcport == pinfo->match_uint) ? "Response" : "Request");
56 return tvb_captured_length(tvb);
60 proto_register_cvspserver(void)
62 static hf_register_info hf[] = {
63 { &hf_cvspserver_data, {
64 "Data", "cvspserver.data", FT_STRING, BASE_NONE,
65 NULL, 0, NULL, HFILL }}
68 static gint *ett[] = {
72 proto_cvspserver = proto_register_protocol("CVS pserver", "cvspserver", "cvspserver");
73 proto_register_field_array(proto_cvspserver, hf, array_length(hf));
74 proto_register_subtree_array(ett, array_length(ett));
78 proto_reg_handoff_cvspserver(void)
80 dissector_handle_t cvspserver_handle;
82 cvspserver_handle = create_dissector_handle(dissect_cvspserver, proto_cvspserver);
83 dissector_add_uint_with_preference("tcp.port", CVSPSERVER_PORT_TCP, cvspserver_handle);
87 * Editor modelines - http://www.wireshark.org/tools/modelines.html
95 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
96 * :indentSize=8:tabSize=8:noTabs=false: