Commit Graph

1789 Commits

Author SHA1 Message Date
Guy Harris bfcea09863 Add support for reassembly of Gnutella packets that cross TCP segment
boundaries.

svn path=/trunk/; revision=13165
2005-01-24 01:20:14 +00:00
Guy Harris 1dcecc733a Get rid of an extra space after the edge value of a SACK item if
relative sequence numbers aren't being used.

svn path=/trunk/; revision=13164
2005-01-24 00:18:13 +00:00
Ulf Lamping 1618e3697b Some dcerpc related stuff needed to write dcerpc plugin
svn path=/trunk/; revision=13163
2005-01-22 21:46:35 +00:00
Ronnie Sahlberg 5b33d550a6 needs an ALIGN_TO_2_BYTES to make the idl compiler happy
svn path=/trunk/; revision=13162
2005-01-22 19:56:12 +00:00
Anders Broman f9021bcb6a Handle some more op codes.
svn path=/trunk/; revision=13159
2005-01-21 22:46:14 +00:00
Anders Broman 92691ce697 Fixed bugs with conversations and t35
svn path=/trunk/; revision=13158
2005-01-21 22:45:20 +00:00
Ulf Lamping 13e90b72b3 use col_set_fence for COL_INFO, if multiple DCE/RPC requests/responses are in one (TCP)PDU. I've used " # " as the delimiter string, BTW: do we have an "official" one yet?
svn path=/trunk/; revision=13149
2005-01-20 19:26:24 +00:00
Ronnie Sahlberg 91548c85da SACK prettyfication
svn path=/trunk/; revision=13141
2005-01-20 13:19:11 +00:00
Ronnie Sahlberg 85c7eb84fd make TCP SACK option handle relative sequence numbers
svn path=/trunk/; revision=13140
2005-01-20 12:29:11 +00:00
Tomas Kukosa 5978eebab0 NonStandardData and TunnelledProtocol reimplemented and tested
H225 dissector regenerated with new asn2eth version

svn path=/trunk/; revision=13139
2005-01-20 12:16:53 +00:00
Guy Harris d5159a4b0e Squelch a compiler warning.
svn path=/trunk/; revision=13136
2005-01-20 11:35:45 +00:00
Guy Harris 588631b328 From Julien Leproust: add heuristic dissectors' protocol names to the
layers string.

Remove protocol names from the layer names string if the dissector
rejects the frame.

svn path=/trunk/; revision=13135
2005-01-20 11:05:06 +00:00
Guy Harris b6f0632323 Free the chunk of reassembled DNP data iff there was a CRC error;
otherwise, we're using it in a tvbuff and shouldn't free it (even if the
next level of reassembly isn't complete, so that al_tvb is ultimately
null).

svn path=/trunk/; revision=13134
2005-01-20 09:44:29 +00:00
Guy Harris 3060dc91b6 Squelch some compiler warnings.
svn path=/trunk/; revision=13133
2005-01-20 07:58:23 +00:00
Guy Harris b799112fdd Make some routines static that aren't used outside this module.
Use "guint16" instead of "u_int16_t", "guint8" instead of "u_int8_t",
and "guint" instead of "u_int", to handle platforms lacking the latter
types.  Make "ppp_heuristic_guess()" reeturn a Boolean, as it just
returns a "yes or no" answer.

svn path=/trunk/; revision=13132
2005-01-20 07:02:08 +00:00
Guy Harris c4c4dd4715 Back out the asn2eth-generated GSM MAP dissector for now, at Anders
Broman's request, as it has a number of problems.

svn path=/trunk/; revision=13131
2005-01-20 06:22:20 +00:00
Guy Harris 36e8efcbca From Hannes Gredler: support for Juniper's DLT_JUNIPER_ATM{1,2} values.
svn path=/trunk/; revision=13130
2005-01-20 05:40:56 +00:00
Guy Harris b8e743ada9 From Jean-Baptiste Marchand: stub dissectors for rras and pnp MSRPC
interfaces.

svn path=/trunk/; revision=13129
2005-01-20 05:06:38 +00:00
Guy Harris c04a9a4180 There's no guaranteee that "req_resp_hdrs_do_reassembly()" gets called
only at the beginning of a tvbuff, so it needs an argument that's the
starting offset in the tvbuff.

svn path=/trunk/; revision=13128
2005-01-20 04:37:03 +00:00
Guy Harris 2b7ca484ac From Ruud Linders: support short names in multipart headers; SIP-T
requires this.

svn path=/trunk/; revision=13127
2005-01-20 01:26:34 +00:00
Ulf Lamping 39a6232a8d try to defragment DCE/RPC fragments (simply one after the other), if alloc_hint is zero
svn path=/trunk/; revision=13126
2005-01-19 23:41:07 +00:00
Anders Broman d80fae9ab9 Attempt to reimplement "non standard data/parameter" and "tunnelled
protocol"

svn path=/trunk/; revision=13123
2005-01-19 22:44:09 +00:00
Gerald Combs 561fbc8b25 Add a field called "frame.protocols" which shows the protocols present
in the frame.   The filter "frame.protocols contains ip:icmp:ip" could
be used to find any ICMP packets containing IP headers.

Clean up whitespace.

svn path=/trunk/; revision=13118
2005-01-19 04:49:29 +00:00
Ulf Lamping b5ee55d468 slightly improve dissection of complex_ping response
svn path=/trunk/; revision=13113
2005-01-18 20:44:11 +00:00
Guy Harris e2ba7ba242 Add packet-h450.h to the list of header files.
svn path=/trunk/; revision=13107
2005-01-18 02:29:14 +00:00
Lars Roland c2435429a1 Fix a small bug in h245.cnf.
All h.323 related statistics should work now in the same way as they did before the h323 dissectors were generated.

svn path=/trunk/; revision=13105
2005-01-17 23:42:22 +00:00
Guy Harris 4f81f615b0 Use -1 rather than tvb_length() to create a protocol tree item that runs
to the end of the tvbuff.

Don't return a value from "dissect_h4501()" - the value isn't used, and
"dissect_h4501()" is registered with "register_dissector()", so it's not
supposed to return a value.

svn path=/trunk/; revision=13104
2005-01-17 23:26:45 +00:00
Anders Broman eee54467b1 Reinsert h450 dissection
svn path=/trunk/; revision=13100
2005-01-17 22:30:31 +00:00
Anders Broman 232ab9d158 Export q931_protocol_discriminator_vals
svn path=/trunk/; revision=13098
2005-01-17 22:26:33 +00:00
Anders Broman f6fe109fc7 If a string of zero length is encountered offset still needs to be advanced(?)
svn path=/trunk/; revision=13097
2005-01-17 22:25:36 +00:00
Lars Roland 5a483e3abe From Anders Broman:
Add recently lost support for the h.323 conversations tap in the h225 dissector.

svn path=/trunk/; revision=13092
2005-01-17 21:52:30 +00:00
Guy Harris 1f8699cca9 Fix a typo in the previous checkin.
svn path=/trunk/; revision=13090
2005-01-17 21:38:31 +00:00
Guy Harris 2aad197f9e Use WINDIR rather than SYSTEMROOT - WINDIR is apparently set on Windows
OT as well as NT, while SYSTEMROOT isn't.

If it's not set, don't bother looking for the hosts file, rather than
trying a path with a fixed drive letter.  If it is set, try the Windows
NT location first and, if that fails, the Windows OT location.

svn path=/trunk/; revision=13088
2005-01-17 19:30:31 +00:00
Tomas Kukosa 5b3af778d6 ASN.1 PER VisibleString support
svn path=/trunk/; revision=13085
2005-01-17 10:09:43 +00:00
Guy Harris 3778ca99c1 If a given TLV type isn't found in an aim_tlv table, just use "Unknown"
as the description - some aim_tlv tables have NULL in the end-of-table
entry.

For those that don't, replace "Unknown" with NULL; "Unknown" is now
redundant.

svn path=/trunk/; revision=13084
2005-01-17 08:13:02 +00:00
Guy Harris 6d5fa89996 When assembling application layer chunks, don't include the transport
layer byte in the reassembled data - including it means we have to pass
to "tvb_new_real_data()" a pointer to the *second* byte of a mallocated
chunk of data, but that would require us to have the free routine for
the new tvbuff back that pointer up before freeing it (we aren't doing
that currently, which means that "free()" either complains bitterly or,
potentially, corrupts the arena, causing crashes later).

Put in some XXX comments about some issues seen when looking at the
code.

svn path=/trunk/; revision=13083
2005-01-17 03:39:58 +00:00
Guy Harris 5e4584e186 Add the source file name and line number to the dissector bug report
(not as useful as for bugs caught in the dissector itself, but still may
be useful).

svn path=/trunk/; revision=13082
2005-01-17 01:11:39 +00:00
Guy Harris df98de72ed Use REPORT_DISSECTOR_BUG() for the "bogus length" error in
"alloc_field_info()", so the error report can include the field with the
problem.  (The file and line number isn't interesting - the bug isn't in
"alloc_field_info()", it's in the dissector that called the routine
calling "alloc_field_info()" - but the field name/abbrevition is
interesting, as it'd help developers identify the place in the dissector
where we're passing in a bogus length.)

svn path=/trunk/; revision=13081
2005-01-17 00:56:56 +00:00
Guy Harris 2617e40356 Add a REPORT_DISSECTOR_BUG() macro to let caller-specified messages be
used in DissectorError exceptions.

svn path=/trunk/; revision=13079
2005-01-17 00:18:39 +00:00
Guy Harris 2bdef3c122 Rename the FieldError exception to DissectorError.
Add a DISSECTOR_ASSERT() macro, which is the usual type of assertion
macro, but throws a DissectorError exception with a message giving the
flien and line number and the failed test as a string.  Use that macro
in "alloc_field_info()".

Report that exception in the Info column and the protocol tree, as well
as logging the exception failure with g_warning().

svn path=/trunk/; revision=13078
2005-01-16 23:30:55 +00:00
Lars Roland ce032dd5cf Add a few more things to the h225 dissector that got lost.
Lost things left:
-h.450 stuff
-support for the h.323 conversations tap (It is currently broken.)

svn path=/trunk/; revision=13076
2005-01-16 21:21:41 +00:00
Guy Harris 636d4690d7 Make the object length variable in some routines an "int"; we fetch a
16-bit unsigned value into it, but we might round it up to a multiple of
4 bytes, which could overflow a guint16.  Make arguments corresponding
to them "int" as well.

Use the reported length in "cops_analyze_packetcable_mm_obj()".

svn path=/trunk/; revision=13075
2005-01-16 20:26:19 +00:00
Ulf Lamping 1c9781b4ec throw the new FieldError exception, if a dissector tries to add a field with invalid parameters
add a message parameter to the show_exception function

svn path=/trunk/; revision=13074
2005-01-16 16:06:15 +00:00
Guy Harris d1ae7c688f From Jon Ringle:
don't dissect attributes if there aren't any;

	put each attribute into a subtree;

	register the dissector by name.

Use "match_strval()" to check whether the message type is a known STUN
message type, and to generate the message type for the Info column.

Don't use "tvb_bytes_exist()" to check when we run out of data - use the
length fields from the packet.  Check the sanity of those lengths, too.

svn path=/trunk/; revision=13063
2005-01-16 04:25:27 +00:00
Guy Harris 7af9548d90 The keycode_first and keycode_count arguments to "listOfKeysyms()" can
come directly from packet data, so don't abort if they define a sequence
of keycodes that goes past 255 - just report errors for the keycodes
past 255.

Clean up indentation.

svn path=/trunk/; revision=13059
2005-01-16 01:22:53 +00:00
Guy Harris b24afc4ed8 Revert to the previous formatting of the item.
svn path=/trunk/; revision=13058
2005-01-16 00:48:25 +00:00
Guy Harris f1ce220265 Display the keycode list for a modifier a bit differently (don't list
the modifier name for every keycode, just give the modifier name once
and then show all the keycodes), and use "proto_item_append_text()"
rather than building a string.

Clean up white space.

svn path=/trunk/; revision=13057
2005-01-16 00:29:54 +00:00
Guy Harris 99594646d4 Correction for TP-Validity-Period extended format, from Victor Stratan:
Fix 1:
	Offset not incremented for relative type

	Fix 2:
	Semioctets not reversed for HHMMSS relative type

svn path=/trunk/; revision=13056
2005-01-15 23:45:37 +00:00
Guy Harris d8d4a344c8 From Carlos Pignataro: Layer Two Tunneling Protocol version 3 [L2TPv3]
updates and enhancements:

  - Added Cookie and L2-Specific sublayer support via preferences dialog.
  - Added carried payload dissecting support from draft-ietf-l2tpext-pwe3-*
    and draft-townsley-l2tpv3-mpls-02.txt
  - Completed missing message types (call types) and result codes for stopccn
    and cdn.
  - Fixed conditionals for avp_vendor_id (Vendor-Specific AVPs)
  - Changed Pseudowire Capabilities List AVPs to use subtree instead of tab
  - Added numeric value of result and error codes
  - Added Session ID for v3 data packets and missing flags and reserved
  - Added version to the L2TPv3 protocol tree
  - Changed `Tunnel Id' to `Control Connection Id' for v3
  - Fixed offset for ctrl_tree on L2TPv3 over UDP
  - Added `L2TPv3' in the COL_PROTOCOL and fixed handling of L2TP version

svn path=/trunk/; revision=13055
2005-01-15 23:36:24 +00:00
Guy Harris 268e7b23d4 From Yann: handle OLSR messages with an unknown message type, using the
message length.

svn path=/trunk/; revision=13044
2005-01-15 10:09:00 +00:00