update for usage with wireshark 1.12

master
Sebastian Reichel 2015-05-29 18:30:26 +02:00
parent 0d0f1085dc
commit 4af535f240
14 changed files with 50 additions and 55 deletions

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-call.h"
@ -680,7 +679,7 @@ static void dissect_isi_call(tvbuff_t *tvb, packet_info *pinfo, proto_item *isit
break;
default:
col_set_str(pinfo->cinfo, COL_INFO, "unhandled Call packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-commgr.h"
@ -107,7 +106,7 @@ static void dissect_isi_commgr(tvbuff_t *tvb, packet_info *pinfo, proto_item *is
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown Indication packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-gpds.h"
@ -684,7 +683,7 @@ static void _sub_gpds_qos_neg_info(tvbuff_t *tvb, proto_tree *tree) {
static void _sub_gpds_string(guint32 hf, guint8 offset, tvbuff_t *tvb, proto_tree *tree) {
guint8 l = tvb_get_guint8(tvb, offset);
proto_tree_add_string(tree, hf, tvb, offset+1, l, tvb_memdup(tvb, offset+1, l));
proto_tree_add_string(tree, hf, tvb, offset+1, l, tvb_memdup(NULL, tvb, offset+1, l));
}
static void _sub_gpds_dns_address_req_info(tvbuff_t *tvb, proto_tree *tree) {
@ -762,7 +761,7 @@ static void dissect_isi_gpds_subblock(guint8 sptype, tvbuff_t *tvb, packet_info
case 0xFB: /* GPDS_SHARED_MBMS_SERVICE_LIST_INFO */
case 0xFC: /* GPDS_SHARED_INITIAL_DL_DCH_RATE */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock");
break;
}
}
@ -956,7 +955,7 @@ static void dissect_isi_gpds(tvbuff_t *tvb, packet_info *pinfo, proto_item *isit
case 0xEE: /* GPDS_RESP */
default:
col_set_str(pinfo->cinfo, COL_INFO, "unhandled GPDS packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-light.h"
@ -131,7 +130,7 @@ static void dissect_isi_light(tvbuff_t *tvb, packet_info *pinfo, proto_item *isi
switch (cmd) {
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown Light packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-mtc.h"
@ -527,7 +526,7 @@ static void dissect_isi_mtc(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr
break;
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown MTC packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-nameservice.h"
@ -168,7 +167,7 @@ static void dissect_isi_nameservice(tvbuff_t *tvb, packet_info *pinfo, proto_ite
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown Nameservice packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -20,9 +20,9 @@
#endif
#include <glib.h>
#include <stdlib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-network.h"
@ -526,7 +526,7 @@ static void _sub_gsm_reg_network_info(tvbuff_t *tvb, proto_tree *tree) {
guint8 l = tvb_get_guint8(tvb, 5);
proto_tree_add_item(tree, hf_isi_network_name_type, tvb, 2, 1, FALSE);
proto_tree_add_item(tree, hf_isi_network_country_initials, tvb, 3, 1, FALSE);
char *utf16 = tvb_memdup(tvb, 6, l*2);
char *utf16 = tvb_memdup(NULL, tvb, 6, l*2);
char *ascii = utf16_to_ascii(utf16, l);
proto_tree_add_string(tree, hf_isi_network_status_sub_msg, tvb, 6, l*2, ascii);
}
@ -587,7 +587,7 @@ static void dissect_isi_network_subpacket(guint8 sptype, tvbuff_t *tvb, packet_i
case 0xE7: /* NET_OPER_NAME_INFO */
default:
//proto_tree_add_item(tree, hf_isi_network_data_sub_type, tvb,
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}
@ -821,7 +821,7 @@ static void dissect_isi_network(tvbuff_t *tvb, packet_info *pinfo, proto_item *i
break;
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown Network packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-phoneinfo.h"
@ -311,7 +310,7 @@ void proto_register_isi_phoneinfo(void) {
static void _sub_sb_string(tvbuff_t *tvb, proto_tree *tree, guint8 offset, guint32 hf) {
guint8 l = tvb_get_guint8(tvb, offset);
proto_tree_add_string(tree, hf, tvb, offset+1, l, tvb_memdup(tvb, offset+1, l));
proto_tree_add_string(tree, hf, tvb, offset+1, l, tvb_memdup(NULL, tvb, offset+1, l));
}
@ -325,7 +324,7 @@ static void dissect_isi_phoneinfo_subpacket_wt(guint8 sptype, tvbuff_t *tvb, pac
case 0x06: /* INFO_SB_WT_WIS */
case 0x07: /* INFO_SB_WT_RPF */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock (wt)");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock (wt)");
break;
}
}
@ -337,7 +336,7 @@ static void dissect_isi_phoneinfo_subpacket_cs(guint8 sptype, tvbuff_t *tvb, pac
case 0x02: /* INFO_SB_PRODUCT_TYPE_HW_INFO */
case 0x03: /* INFO_SB_PRODUCT_TYPE_CS_SEC */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock (cs)");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock (cs)");
break;
}
}
@ -360,7 +359,7 @@ static void dissect_isi_phoneinfo_subpacket_product(guint8 sptype, tvbuff_t *tvb
case 0x0E: /* INFO_SB_USB_SICD_ID */
case 0x10: /* INFO_SB_USB_RNDIS_ID */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock (product)");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock (product)");
break;
}
}
@ -371,7 +370,7 @@ static void dissect_isi_phoneinfo_subpacket_bt(guint8 sptype, tvbuff_t *tvb, pac
case 0x02: /* INFO_SB_BT_ID_SEC */
case 0x0F: /* INFO_SB_BT_PID */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock (bt)");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock (bt)");
break;
}
}
@ -451,7 +450,7 @@ static void dissect_isi_phoneinfo_subpacket(guint8 sptype, tvbuff_t *tvb, packet
case 0xA8: /* INFO_SB_ACCELEROMETER_VERSION */
//case 0xF000: /* INFO_SB_RAT_BAND_INFO */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock");
break;
}
}
@ -548,7 +547,7 @@ static void dissect_isi_phoneinfo(tvbuff_t *tvb, packet_info *pinfo, proto_item
case 0x31: /* INFO_PRODUCT_RAT_BAND_WRITE_RESP */
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown PhoneInfo packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -24,7 +24,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-pipe.h"
@ -220,7 +219,7 @@ static void dissect_isi_pipe_subblock(guint8 sptype, tvbuff_t *tvb, packet_info
case 0x04: /* PN_PIPE_SB_REQUIRED_FC_TX */
case 0x05: /* PN_PIPE_SB_PREFERRED_FC_RX */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported subblock");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported subblock");
break;
}
}
@ -335,7 +334,7 @@ static void dissect_isi_pipe(tvbuff_t *tvb, packet_info *pinfo, proto_item *isit
case 0x4D: /* PNS_PEP_DISABLE_RESP */
default:
col_set_str(pinfo->cinfo, COL_INFO, "unhandled Pipe packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-radiosettings.h"
@ -78,7 +77,7 @@ static void dissect_isi_radiosettings(tvbuff_t *tvb, packet_info *pinfo, proto_i
default:
col_set_str(pinfo->cinfo, COL_INFO, "unknown Radio Settings packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-isi.h"
#include "isi-selftest.h"
@ -301,7 +300,7 @@ static void dissect_isi_selftest_subblock(guint8 sptype, tvbuff_t *tvb, packet_i
case 0x05: /* ST_SB_TVOUT_PATTERN */
default:
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}
@ -341,35 +340,35 @@ static void dissect_isi_selftest(tvbuff_t *tvb, packet_info *pinfo, proto_item *
break;
case 0x04: /* ST_SELFTEST_LIST_GET_REQ */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest List Get Request");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x05: /* ST_SELFTEST_LIST_GET_RESP */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest List Get Response");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x06: /* ST_SELFTEST_NAMES_GET_REQ */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest Names Get Request");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x07: /* ST_SELFTEST_NAMES_GET_RESP */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest Names Get Response");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x08: /* ST_DETAILED_RESULTS_GET_REQ */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest Detailed Results Get Request");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x09: /* ST_DETAILED_RESULTS_GET_RESP */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest Detailed Results Get Response");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x0A: /* ST_PRODUCT_TEST_REQ */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest Product Test Request");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0x0B: /* ST_PRODUCT_TEST_RESP */
col_set_str(pinfo->cinfo, COL_INFO, "Selftest Product Test Response");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
case 0xF0: /* COMMON_MESSAGE */
@ -377,7 +376,7 @@ static void dissect_isi_selftest(tvbuff_t *tvb, packet_info *pinfo, proto_item *
break;
default:
col_set_str(pinfo->cinfo, COL_INFO, "unhandled Selftest packet");
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}
}

View File

@ -25,7 +25,6 @@
#include <epan/packet.h>
#include <epan/dissectors/packet-e212.h>
#include <epan/bitswap.h>
#include "packet-isi.h"
#include "isi-sim.h"

View File

@ -23,7 +23,6 @@
#include <glib.h>
#include <epan/prefs.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include "handler.h"
#include "packet-isi.h"
@ -330,6 +329,8 @@ gint32 ett_isi_network_gsm_band_info = -1;
gint32 ett_isi_nameservice_entry = -1;
gint32 ett_isi_info = -1;
expert_field ei_isi_unknown_packet = EI_INIT;
#ifdef ISI_USB
/* Experimental approach based upon the one used for PPP*/
static gboolean dissect_usb_isi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
@ -413,6 +414,10 @@ void proto_register_isi(void) {
{ "Subpacket Length", "isi.sub.length", FT_UINT8, BASE_DEC, NULL, 0x0, "Subpacket Length", HFILL }},
};
static ei_register_info ei[] = {
{ &ei_isi_unknown_packet, { "isi.unknown.packet", PI_UNDECODED, PI_WARN, "Unknown packet", EXPFILL }},
};
static gint *ett[] = {
&ett_isi,
&ett_isi_msg,
@ -421,8 +426,13 @@ void proto_register_isi(void) {
&ett_isi_info,
};
expert_module_t* expert_isi;
proto_isi = proto_register_protocol("Intelligent Service Interface", "ISI", "isi");
expert_isi = expert_register_protocol(proto_isi);
expert_register_field_array(expert_isi, ei, array_length(ei));
proto_register_field_array(proto_isi, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
register_dissector("isi", dissect_isi, proto_isi);
@ -492,11 +502,8 @@ static void dissect_isi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
guint8 resource = 0;
guint16 length = 0;
if(check_col(pinfo->cinfo, COL_PROTOCOL))
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISI");
if(check_col(pinfo->cinfo,COL_INFO))
col_clear(pinfo->cinfo,COL_INFO);
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISI");
col_clear(pinfo->cinfo,COL_INFO);
if(tree) {
/* If tree != NULL, we're doing a detailed dissection of the
@ -520,11 +527,6 @@ static void dissect_isi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
dst = tvb_get_guint8(tvb, 0);
src = tvb_get_guint8(tvb, 1);
if(tvb_length(tvb) - 8 < length) {
expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "Broken Length (%d > %d)", length, tvb_length(tvb)-8);
length = tvb_length(tvb) - 8;
}
col_set_str(pinfo->cinfo, COL_DEF_SRC, val_to_str_const(src, hf_isi_device, "Unknown"));
col_set_str(pinfo->cinfo, COL_DEF_DST, val_to_str_const(dst, hf_isi_device, "Unknown"));
@ -608,7 +610,7 @@ void dissect_isi_common(const char *resource, tvbuff_t *tvb, packet_info *pinfo,
c_subcmd = "Service Not Authenticated Response";
break;
default:
//expert_add_info_format(pinfo, item, PI_PROTOCOL, PI_WARN, "unsupported packet");
//expert_add_info_format(pinfo, item, &ei_isi_unknown_packet, "unsupported packet");
break;
}

View File

@ -1,6 +1,8 @@
#ifndef _PACKET_ISI_H
#define _PACKET_ISI_H
#include <epan/expert.h>
/* Wireshark ID of the protocol */
extern int proto_isi;
@ -14,4 +16,6 @@ extern gint32 hf_isi_res;
void dissect_isi_common(const char *resource, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
void dissect_isi_subpacket(gint32 hf_sub_type, guint8 offset, tvbuff_t *tvb, packet_info *pinfo, proto_item *item, proto_tree *tree, void (*detail_cb)(guint8, tvbuff_t*, packet_info*, proto_item*, proto_tree*));
extern expert_field ei_isi_unknown_packet;
#endif