/* packet-tacacs.c
* Routines for cisco tacacs/tacplus/AAA packet dissection
*
- * $Id: packet-tacacs.c,v 1.4 2000/05/11 08:15:52 gram Exp $
+ * $Id: packet-tacacs.c,v 1.10 2001/01/09 06:31:44 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
{
proto_tree *tacacs_tree, *ti;
+ OLD_CHECK_DISPLAY_AS_DATA(proto_tacacs, pd, offset, fd, tree);
+
if (check_col(fd, COL_PROTOCOL))
- col_add_str(fd, COL_PROTOCOL, "TACACS");
+ col_set_str(fd, COL_PROTOCOL, "TACACS");
if (check_col(fd, COL_INFO))
{
if (tree)
{
- ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, NULL);
+ ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, FALSE);
tacacs_tree = proto_item_add_subtree(ti, ett_tacacs);
- proto_tree_add_item(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "XTacacs");
+ proto_tree_add_string(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "XTacacs");
if (pi.match_port == pi.destport)
{
- proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_request, NullTVB,
+ proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_request, NullTVB,
offset, END_OF_FRAME, TRUE);
proto_tree_add_text(tacacs_tree, NullTVB, offset,
END_OF_FRAME, "Request: <opaque data>" );
}
else
{
- proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_response, NullTVB,
+ proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_response, NullTVB,
offset, END_OF_FRAME, TRUE);
proto_tree_add_text(tacacs_tree, NullTVB, offset,
END_OF_FRAME, "Response: <opaque data>");
proto_tree *tacacs_tree, *ti;
if (check_col(fd, COL_PROTOCOL))
- col_add_str(fd, COL_PROTOCOL, "TACACS");
+ col_set_str(fd, COL_PROTOCOL, "TACACS");
if (check_col(fd, COL_INFO))
{
if (tree)
{
- ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, NULL);
+ ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, FALSE);
tacacs_tree = proto_item_add_subtree(ti, ett_tacacs);
- proto_tree_add_item(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "Tacacs+");
+ proto_tree_add_string(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "Tacacs+");
if (pi.match_port == pi.destport)
{
- proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_request, NullTVB,
+ proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_request, NullTVB,
offset, END_OF_FRAME, TRUE);
proto_tree_add_text(tacacs_tree, NullTVB, offset,
END_OF_FRAME, "Request: <opaque data>" );
}
else
{
- proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_response, NullTVB,
+ proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_response, NullTVB,
offset, END_OF_FRAME, TRUE);
proto_tree_add_text(tacacs_tree, NullTVB, offset,
END_OF_FRAME, "Response: <opaque data>");
static gint *ett[] = {
&ett_tacacs,
};
- proto_tacacs = proto_register_protocol("TACACS", "tacacs");
+ proto_tacacs = proto_register_protocol("TACACS", "TACACS", "tacacs");
proto_register_field_array(proto_tacacs, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
void
proto_reg_handoff_tacacs(void)
{
- dissector_add("udp.port", UDP_PORT_TACACS, dissect_tacacs);
- dissector_add("tcp.port", TCP_PORT_TACACS, dissect_tacplus);
+ old_dissector_add("udp.port", UDP_PORT_TACACS, dissect_tacacs,
+ proto_tacacs);
+ old_dissector_add("tcp.port", TCP_PORT_TACACS, dissect_tacplus,
+ proto_tacacs);
}