From Mathias Guettler

dissector for ISO 10747 Inter Domain Routing Protocol
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8562

from me:
check for negative return value of tvb_reported_length_remaining()
remove unused hf entries
add modelines
don't initialise variables unless it's necessary
make idrp a new-style dissector


svn path=/trunk/; revision=49002
This commit is contained in:
Martin Kaiser 2013-04-23 18:46:08 +00:00
parent d18230de70
commit 4324eeb254
4 changed files with 1594 additions and 0 deletions

View File

@ -216,6 +216,7 @@ set(ASN1_DISSECTOR_SRC
dissectors/packet-h501.c
dissectors/packet-hnbap.c
dissectors/packet-idmp.c
dissectors/packet-idrp.c
dissectors/packet-inap.c
dissectors/packet-isdn-sup.c
dissectors/packet-lcsap.c

View File

@ -130,6 +130,7 @@ ASN1_DISSECTOR_SRC = \
packet-h501.c \
packet-hnbap.c \
packet-idmp.c \
packet-idrp.c \
packet-inap.c \
packet-isdn-sup.c \
packet-lcsap.c \

View File

@ -101,6 +101,7 @@ static const fragment_items clnp_frag_items = {
static dissector_handle_t clnp_handle;
static dissector_handle_t ositp_handle;
static dissector_handle_t ositp_inactive_handle;
static dissector_handle_t idrp_handle;
static dissector_handle_t data_handle;
/*
@ -577,6 +578,12 @@ dissect_clnp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
XXX - if this isn't the first Derived PDU of a segmented Initial
PDU, skip that? */
if (nsel==NSEL_NET && tvb_get_guint8(next_tvb, 0)==NLPID_ISO10747_IDRP) {
if(call_dissector(idrp_handle, next_tvb, pinfo, tree) != 0) {
pinfo->fragmented = save_fragmented;
return;
}
}
if (nsel == (guchar)tp_nsap_selector || always_decode_transport) {
if (call_dissector(ositp_handle, next_tvb, pinfo, tree) != 0) {
pinfo->fragmented = save_fragmented;
@ -774,6 +781,7 @@ proto_reg_handoff_clnp(void)
{
ositp_handle = find_dissector("ositp");
ositp_inactive_handle = find_dissector("ositp_inactive");
idrp_handle = find_dissector("idrp");
data_handle = find_dissector("data");
clnp_handle = create_dissector_handle(dissect_clnp, proto_clnp);

File diff suppressed because it is too large Load Diff