|
Hi,
I am new to WS development, I now have a plugin which works well. however if I select "sslbp.frametype" in the display filter , I can select "Status" in the predefined values however: my printfs appear on the console, for both frametypes but no packets are displayed I know I must be doing something stupid, but I cant get this to work thanks in advance Stuart --------------------------------------------------------------------- #include <glib.h> #include <epan/packet.h> #include "packet-sslbp.h" #include <epan/prefs.h> static int proto_sslbp = -1; static int hf_sslbp_type = -1; static gint ett_sslbp = -1; static gint ett_sslbp_header = -1; static gint ett_sslbp_status = -1; static gint ett_sslbp_announce = -1; static const value_string frame_type[] = { {MYFT_ANNOUNCE, "Announce"}, {MYFT_STATUS, "Status"}, {0, NULL} }; static void dissect_sslbp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { int offset = 0; proto_tree *sslbp_tree; proto_item *ti; proto_tree *header_tree; proto_item *header_item; guint16 magic; guint8 protocol_ver; int start_offset; int msglen; unsigned int frmtyp; // add stuff to columns in main window if (check_col(pinfo->cinfo, COL_PROTOCOL)) // set the protcol column col_set_str(pinfo->cinfo, COL_PROTOCOL, "sslbp"); if (check_col(pinfo->cinfo, COL_INFO)) // clear the info column col_clear(pinfo->cinfo, COL_INFO); // basic data magic = tvb_get_ntohs(tvb, offset + 0); protocol_ver = tvb_get_guint8(tvb, offset + 2); frmtyp = tvb_get_guint8(tvb, offset + 3); msglen = tvb_reported_length_remaining(tvb, offset); printf("disect_sslbp: magic [%x] ver [%x] typ [%x] length[%d]\n",magic,protocol_ver,frmtyp,msglen); if (check_col(pinfo->cinfo, COL_INFO)) { /* * Indicate what kind of message this is. */ if ((frmtyp != MYFT_ANNOUNCE) && (frmtyp != MYFT_STATUS)) col_set_str(pinfo->cinfo, COL_INFO, "- Invalid -"); else col_set_str(pinfo->cinfo, COL_INFO,val_to_str(frmtyp,frame_type,"Unknown (0x%02x)")); col_append_fstr(pinfo->cinfo, COL_INFO," len=%u", msglen ); } if (tree == NULL) { printf("disect_sslbp: No tree"); return; } DETAILED CODE REMOVED } void proto_register_sslbp(void) { static hf_register_info hf[] = { { &hf_sslbp_type, { "Frame type", "sslbp.type", FT_UINT8, BASE_DEC,VALS(frame_type), 0x0, NULL, HFILL }}, }; static gint *ett[] = { &ett_sslbp, &ett_sslbp_header, &ett_sslbp_status, &ett_sslbp_announce, }; module_t *sslbp_module; proto_sslbp = proto_register_protocol("xxxxxx xxxxxxxxxxxxx", "sslbp", "sslbp"); proto_register_field_array(proto_sslbp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); sslbp_module = prefs_register_protocol(proto_sslbp, NULL); } void proto_reg_handoff_sslbp(void) { dissector_handle_t sslbp_handle; sslbp_handle = create_dissector_handle(dissect_sslbp, proto_sslbp); dissector_add("udp.port", 10000, sslbp_handle); } - --
_________________________________ Dr Stuart Marsden MyPhones.com - Extreme Digital Voice Meade House Chesham Rd Wigginton Tring Herts HP23 6JE Myphones Voice: +44 (0)1494 414100 Legacy Voice: +44 (0)1494 758204 Fax: +44 (0)1494 757000 Mob: +44 (0)7788 107013 mail to: [email protected] _________________________________ |
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
