Commit graph

71 commits

Author SHA1 Message Date
Jeff Morriss
aa5d9d78dd From Robert Bullen via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7683 :
The reassembled fragments tree in the Packet Details view is awesome, but it
lacks one thing: a field that exposes the reassembled data.

tcp.data already exists for exposing a single TCP segment's payload as a byte
array. It would be handy to have something similar for a single application
layer PDU when TCP segment reassembly is involved. I propose
tcp.reassembled.data, named and placed after the already existing field
tcp.reassembled.length.

My primary use case for this feature is outputting tcp.reassembled.data with
tshark for further processing with a script.

The attached patch implements this very feature. Because the reassembled
fragment tree code is general purpose, i.e. not specific to just TCP, any
dissector that relies upon it can add a similar field very cheaply. In that
vein I've also implemented ip.reassembled.data and ipv6.reassembled.data, which
expose reassembled fragment data as a single byte stream for IPv4 and IPv6,
respectively. All other protocols that use the reassembly code have been left
alone, other than inserting NULL into their initializer lists for the newly
introduced struct field reassemble.h:fragment_items.hf_reassembled_data.

svn path=/trunk/; revision=44802
2012-09-07 02:09:59 +00:00
Chris Maynard
07503d2af5 Fix the 2nd part of Coverity CID 280361 (formerly 361): "Logically dead code" that mmartin seems to have unintentionally missed in r36256.
svn path=/trunk/; revision=44177
2012-08-01 01:50:27 +00:00
Jakub Zawadzki
bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Bill Meier
30cee99009 Fix a number of proto_tree_add_item() encoding args.
svn path=/trunk/; revision=39774
2011-11-09 17:33:18 +00:00
Bill Meier
794757ae8f For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.
Also: remove trailing whitespace for a number of files.

svn path=/trunk/; revision=39503
2011-10-21 02:10:19 +00:00
Bill Meier
67ee5049d4 Convert 'encoding' parameter of certain proto_tree_add_item() calls in non-autogenerated epan/dissectors:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
  the encoding parameter for proto_tree_add_item() calls which directly reference
  an item in hf[] which has a type of:
     FT_BOOLEAN
     FT_IPv4
     FT_EUI64
     FT_GUID
     FT_UINT_STRING

Also: For type FT_ITv6 use ENC_NA. (This was missed in SVN #39260)

svn path=/trunk/; revision=39328
2011-10-10 00:39:31 +00:00
Bill Meier
4e57694d4a Convert 'encoding' parameter of certain proto_tree_add_item() calls in non-autogenerated epan/dissectors:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
 the encoding parameter for proto_tree_add_item() calls which directly reference
 an item in hf[] which has a type of:
    FT_UINT8
    FT_UINT16
    FT_UINT24
    FT_UINT32
    FT_UINT64
    FT_INT8
    FT_INT16
    FT_INT24
    FT_INT32
    FT_INT64
    FT_FLOAT
    FT_DOUBLE


svn path=/trunk/; revision=39288
2011-10-06 03:35:44 +00:00
Jaap Keuter
18e443f308 Fix for bug 6009:
Information transfer rate is a 7 bit field.

svn path=/trunk/; revision=37663
2011-06-13 20:29:51 +00:00
Martin Mathieson
0370a7977d Remove redundant comparison.
Coverity CID 361.

svn path=/trunk/; revision=36256
2011-03-22 18:06:58 +00:00
Jeff Morriss
d8659693ef Check for places where tvb_bytes_to_str() or tvb_get_bytes_to_str_punct()
should be used (instead of the non-tvb functions with a call to tvb_get_ptr()).

Use those functions in a bunch of places.

svn path=/trunk/; revision=35911
2011-02-11 02:43:07 +00:00
Stig Bjørlykke
84bc28bd6a Introduce "Fragment count" filter element for all protocols doing reassembly.
svn path=/trunk/; revision=35705
2011-01-30 21:01:07 +00:00
Jeff Morriss
8d32d2066a There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().

Replace some tvb_get_ptr()s with tvb_get_ephemeral_string() or
tvb_get_const_stringz().

Use tvb_memeql() & tvb_memcmp().

svn path=/trunk/; revision=35558
2011-01-16 20:51:21 +00:00
Guy Harris
a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys.  (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)

svn path=/trunk/; revision=35224
2010-12-20 05:35:29 +00:00
Anders Broman
7870de6f95 Fill value_strings.
svn path=/trunk/; revision=34875
2010-11-15 16:46:07 +00:00
Bill Meier
b78ec52693 Use value_string_ext fcns to access certain value_string arrays;
Sort certain value_string arrays so the values are in ascending order;
Use val_to_str_ext() instead of for loops to do value_string array lookups (voip_calls.c).
Minor whitespace cleanup.

svn path=/trunk/; revision=34794
2010-11-05 22:44:03 +00:00
Jaap Keuter
c1b8394ebc From Alexis La Goutte:
Fix false positive from checkhf.

svn path=/trunk/; revision=34772
2010-11-04 06:44:57 +00:00
Jaap Keuter
b7920c07c5 From Alexis La Goutte:
Replace all *_min()/*_max() by MIN() and MAX().

svn path=/trunk/; revision=34767
2010-11-04 06:36:33 +00:00
Tomas Kukosa
b32d39b755 ignore unreassembled fragments if the first segment of the next message comes
svn path=/trunk/; revision=32643
2010-05-03 08:07:53 +00:00
Bill Meier
09764dd969 Remove unneeded #include <stdio.h>
svn path=/trunk/; revision=32367
2010-04-03 21:55:23 +00:00
Tomas Kukosa
6fe3d98de8 Do not reassemble messages if segment is not complete (packet size limited during capture)
svn path=/trunk/; revision=32326
2010-03-30 12:23:52 +00:00
Tomas Kukosa
02a8a77f03 add some Q.931 messages from older specifications
svn path=/trunk/; revision=32244
2010-03-19 13:03:14 +00:00
Tomas Kukosa
cd719af33a Add heuristic table for Q.931 User-specific protocol
svn path=/trunk/; revision=32218
2010-03-17 15:25:20 +00:00
Stig Bjørlykke
47e732e29e Changed "reassembled_length" -> "reassembled.length".
svn path=/trunk/; revision=31776
2010-02-03 08:47:15 +00:00
Stig Bjørlykke
88b72356ad Introduce "Reassembled length" filter element for all protocols doing
reassembly.

svn path=/trunk/; revision=31767
2010-02-02 16:01:52 +00:00
Bill Meier
1a4283ccf8 Fixes for gcc -Wshadow warnings; Fix indentation and do other minor cleanup in a few cases.
svn path=/trunk/; revision=31617
2010-01-22 13:56:19 +00:00
Anders Broman
3faf5345ab From Gerasimos Dimitriadis:
DTAP: Progress description depends on coding standard.
Changed to export value strings trough .h file
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4146

svn path=/trunk/; revision=30661
2009-10-22 05:28:53 +00:00
Anders Broman
f5f2bf6ecd From Gerasimos Dimitriadis:
DTAP: Call state depends on coding standard.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4145

svn path=/trunk/; revision=30655
2009-10-21 09:38:51 +00:00
Kovarththanan Rajaratnam
8b515e9340 Switch a bunch of dissectors over to using tvb_new_subset_remaining()
svn path=/trunk/; revision=29446
2009-08-16 12:36:22 +00:00
Kovarththanan Rajaratnam
e971354a54 Don't guard col_set_str (COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29340
2009-08-09 06:26:46 +00:00
Jaap Keuter
2c9c96744d From Gerasimos Dimitriadis:
Added decoding support for the High Layer Compatibility IE in DTAP and updated
the relevant part in Q.931. Also some minor enhancements in Q.931.

svn path=/trunk/; revision=29280
2009-08-03 21:12:41 +00:00
Stig Bjørlykke
b228488bc0 From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
    for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
    FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero

svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
Anders Broman
c91a384702 Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28356
2009-05-13 19:46:11 +00:00
Bill Meier
5aa5576a55 The convention is to use TFS(...) when specifying a true_false_string with an FT_BOOLEAN field;
Also: use the global true_false_string tfs_yes_no  in place of a static local string.

svn path=/trunk/; revision=28320
2009-05-08 22:18:14 +00:00
Richard van der Hoff
02dbe1edba fix unused parameter warning
svn path=/trunk/; revision=27779
2009-03-18 20:30:35 +00:00
Guy Harris
d160db2cfb Check the length in dissect_q931_change_status_ie().
Don't print a string value returned by a function by using it as the
format string - use "%s" as the format.

svn path=/trunk/; revision=27320
2009-01-28 18:16:22 +00:00
Tomas Kukosa
3116c7d051 new SERVICE/SERVICE ACKNOWLEGE messages defined in various US standards (AT&T TR41459, Nortel NIS A211-1, Telcordia SR-4994)
svn path=/trunk/; revision=27317
2009-01-28 13:32:13 +00:00
Bill Meier
c0e92cbc04 Fix various typos and spelling errors (mostly in text strings)
svn path=/trunk/; revision=27065
2008-12-20 00:09:02 +00:00
Tomas Kukosa
fd2e95371f H.323 over SCTP support
svn path=/trunk/; revision=26903
2008-12-02 13:09:21 +00:00
Anders Broman
33ad445703 Packet-isup.c &packet-q931.[ch]:
In case of cause pointing out ie "faults" use the correct "ie value_string".
in packet-isup.c use packet-e164.c for country code translation.

svn path=/trunk/; revision=26264
2008-09-24 21:59:50 +00:00
Jaap Keuter
a83a87e9ca Fix for bug 2870:
Wrap dissect_q931_cause_ie() in a save version which clears the have_valid_q931_pi semaphore. This may remain set if a malformed q931 message causes an exception.

svn path=/trunk/; revision=26190
2008-09-14 13:09:14 +00:00
Jaap Keuter
7a942da919 Add codeset 5 ETSI party catagory IE.
svn path=/trunk/; revision=24690
2008-03-18 19:57:35 +00:00
Jaap Keuter
a6c664155a Add consistent Bearer Capability layer identifications.
svn path=/trunk/; revision=24689
2008-03-18 19:53:07 +00:00
Guy Harris
f260d1cd81 memmove() is needed only if the source and destination might overlap.
svn path=/trunk/; revision=21591
2007-04-26 05:43:43 +00:00
Jaap Keuter
14cafb271f From Alfred Alinazar:
The patch is to dissect unknown information element when an Avaya PBX
use codeset = 6 to send display.

svn path=/trunk/; revision=20189
2006-12-21 22:24:33 +00:00
Anders Broman
612c85a7af From Richard Braun:
The Q931 dissector applies a wrong mask when testing the odd/even indicator bit.

svn path=/trunk/; revision=20010
2006-11-28 06:31:07 +00:00
Anders Broman
c8f1354c14 Fix for bug http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1106
packet-lapd.c change on 2006-03-02 (17452) by etxrab swaps SRC/DST for the default case
And added a comment to Q.931

svn path=/trunk/; revision=19275
2006-09-21 19:39:42 +00:00
Tomas Kukosa
539102ca60 - new function ssl_dissector_delete()
- register H.225.0 over TLS (configurable port 1300)
- register SIP over TLS (fixed port 5061)
- new function proto_tree_get_root()

svn path=/trunk/; revision=19059
2006-08-28 07:05:02 +00:00
Anders Broman
c19f6b2d97 gsm_a: Dissect LLC
Q.931: Add Bit 8 first in Bearer Cap IE

svn path=/trunk/; revision=18477
2006-06-15 21:14:26 +00:00
Anders Broman
b590de7ce0 From Richard van der Hoff:
Q.931:I
mprovesthe dissection of Q.931 Channel 
Identification information elements, by using proper (filterable) header 
fields rather than text tree items.

H253:
make the h.263 dissector dissect the group-of-block 
number which comes after a GOB start code.

svn path=/trunk/; revision=18323
2006-06-02 20:29:05 +00:00
Ronnie Sahlberg
feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00