Commit Graph

10 Commits

Author SHA1 Message Date
Anders Broman 88bb44a51e From Jakub Zawadzki:
Cleanup dissector code - use proper memory functions.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4164

svn path=/trunk/; revision=30691
2009-10-25 11:43:30 +00:00
Jaap Keuter d90cb60f61 From Mithun Roy:
The primary header in bundle protocol contains some offset values(destination
scheme offset, destination ssp offset, source scheme offset, source ssp offset,
etc). These are the offsets within the dictionary if the length of the
dictionary length is greater than 0. But if the dictionary length is 0, then
these offset refer to node number and service number respectively(according to
compressed bundle header encoding). For example if destination scheme offset is
2 and the destination ssp offset is 1, then the destination
EID(<node_number>.<service_number>) is 2.1. 

Currently the dtn dissector will consider these offsets to be actual offsets in
the dictionary even if the dictionary length is 0. So the values for the
EID's(destination, source, report, custodian) and their schemes are junk
values. For example if the destination scheme offset is 2 and the destination
ssp offset is 1 and the dictionary length is 0(which means the dictionary is
empty), then the destination scheme is 2 bytes after the beginning of the
metadata block(field after dictionary) and destination is 1 byte after the
beginning of the metadata block.

svn path=/trunk/; revision=30682
2009-10-24 11:19:23 +00:00
Jeff Morriss 350729607a dissect_udp_bundle(): check if dissect_payload_header() or
display_metadata_block() return 0 (meaning they failed to decode something and
the offset was not incremented) rather than checking if the resulting offset
is 0.

This fixes the infinite loop reported in:

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4156

svn path=/trunk/; revision=30672
2009-10-23 15:55:39 +00:00
Kovarththanan Rajaratnam cf8138e195 Remove check_col() guard
svn path=/trunk/; revision=30124
2009-09-24 19:50:43 +00:00
Kovarththanan Rajaratnam c28bafe341 Use col_set_str instead of col_add_fstr when adding constant strings to COL_INFO
svn path=/trunk/; revision=30082
2009-09-22 21:18:11 +00:00
Jeff Morriss 2eea452ccb From Don Chirieleison via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3914 :
SDNVs are theoretically unlimited in size.  The value of most SDNVs in the
Bundle Protocol is practically limited to far less than a 32 bit number. The
initial dissector included only 1 SDNV evaluation routine which returned a 32
bit number. SDNV fields that evaluated to greater than a 32 bit number were
considered in error. One BP implementation chose to add some syntax to one of
the SDNV fields that extends it to more than 32 bits. The patch included here
adds an evaluation routine that will return a 64 bit number. That routine is
called to evaluate the field where it makes sense to have a value in excess of
32 bits.

svn path=/trunk/; revision=29954
2009-09-17 01:49:55 +00:00
Jaap Keuter 863057ff9c Address the size_t vs. gint issue.
svn path=/trunk/; revision=29027
2009-07-08 17:46:37 +00:00
Bill Meier b60ff9f677 Do defragment inits via registered init routine
instead of once-only in proto_reg_handoff;
Also: localize handles to proto_reg_handoff;
      Fix a typo;

svn path=/trunk/; revision=29018
2009-07-08 12:50:09 +00:00
Guy Harris b0f37069b7 "uint" isn't a standard type, and isn't a type defined by GLib; use
guint, as defined by GLib, instead.

svn path=/trunk/; revision=29011
2009-07-08 06:40:17 +00:00
Jaap Keuter 437318216b From Don Chirieleison:
Within the attached diff file are two source files, packet-dtn.h and
packet-dtn.c. Their function is to decode Bundle Protocol PDUs sent using the
UDP or TCP Convergence Layers. These protocols have been released by the
Internet Research Task Force and are described in RFC 4838 and RFC 5050.
Detailed information on DTN can be obtained at www.dtnrg.org.

svn path=/trunk/; revision=29010
2009-07-08 06:07:21 +00:00