Commit graph

1767 commits

Author SHA1 Message Date
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
Michael Tüxen
8d5801b10d Add support for extended sequence numbers as specified in Annex A of Q.703.
svn path=/trunk/; revision=13042
2005-01-14 22:26:18 +00:00
Guy Harris
766b213ed6 If an item in a source description chunk begins with 4 bytes of zero,
that doesn't mean it's padding at the end of a previous item - it might,
for example, be the *first* item in the chunk.  Don't treat it as
padding.

Do, however, treat an item that begins with a zero byte as an item, but
break out of the loop processing items as soon as the item type is put
into the protocol tree, as there's no length field or data in an
RTCP_SDES_END item.  Fix the comment for that loop to indicate that the
loop checks both for end-of-frame and for an RTCP_SDES_END item.

svn path=/trunk/; revision=13040
2005-01-14 19:28:02 +00:00
Guy Harris
e7fd062619 Pass 0, not FALSE, as the FCS length argument (FALSE is defined as 0,
but the field is integral, not Boolean, so it's clearer if it's passed
as 0).

svn path=/trunk/; revision=13039
2005-01-14 18:05:08 +00:00
Gerald Combs
6c530b42b3 From Greg Morris: Improve malformed packet handling.
svn path=/trunk/; revision=13034
2005-01-14 17:09:11 +00:00
Guy Harris
94ecf93f8a Fix indentation.
Catch size values >= 0x80000000 and throw an exception rather than
crashing with an assertion.

svn path=/trunk/; revision=13032
2005-01-14 12:20:03 +00:00
Guy Harris
685b736c0b From Rene Pilz:
- Fix partly wrong cause values in the gmm (found by Miklos Szurdi)
	- Fix high/low nibble swap of the force to standby field (found by
	  Miklos Szurdi)
	- Dissect all elements

svn path=/trunk/; revision=13030
2005-01-14 11:40:05 +00:00
Guy Harris
544216dd74 From Stefano Pettini: RMT support for ALC and NORM.
svn path=/trunk/; revision=13029
2005-01-14 11:17:35 +00:00
Anders Broman
1fb480bcfe Some minor bugfixes to H225 functions exported and an OID added and one OID for H245
svn path=/trunk/; revision=13024
2005-01-13 21:12:06 +00:00
Guy Harris
d1f9f0b516 Use tcp_dissect_pdus() for DLSw-over-TCP.
Have the DLSw dissector reject packets with an unknown version field.

Leave out some more fields when dissecting Capability Exchange packets,
as they're not used in those packets.

Show numbers in hex when appropriate.

Show the individual subfields of the flow control and SSP flags fields.

Show the frame direction field with val_to_str(), and show the raw
value.

Clean up indentation.

svn path=/trunk/; revision=13019
2005-01-13 17:26:10 +00:00
Guy Harris
9fd1400dee Updates from Susanne Edlund.
Remove bogus boilerplate from introductory comment.

svn path=/trunk/; revision=13018
2005-01-13 09:21:04 +00:00
Guy Harris
5862d6546e Add support for a personal hosts file.
Clean up the description of the global and personal ethers and ipxnets
files.

svn path=/trunk/; revision=13017
2005-01-13 09:09:56 +00:00
Guy Harris
e93d213c7a OPT RRs don't have a class field.
svn path=/trunk/; revision=13016
2005-01-13 07:51:08 +00:00
Guy Harris
d49241d087 Use symbolic names for ARP types.
Clean up indentation.

svn path=/trunk/; revision=13015
2005-01-13 07:49:31 +00:00
Guy Harris
31871276d6 HTTP requests have no content if there's no Content-Length header and no
Transfer-Encoding header.

svn path=/trunk/; revision=13014
2005-01-13 07:47:26 +00:00
Guy Harris
d7bf4a1400 Display PER booleans the way other bitfields are displayed.
svn path=/trunk/; revision=13013
2005-01-13 07:43:17 +00:00
Anders Broman
6465708652 Don't crash on a negative length
svn path=/trunk/; revision=13012
2005-01-13 07:03:14 +00:00
Ulf Lamping
80d0151d6c add some of the DCE/RPC functions to the plugin API
svn path=/trunk/; revision=13010
2005-01-12 21:44:53 +00:00
Ulf Lamping
86bd4b30c5 performance improvement:
In the past: to prevent duplicate protocol names (and alike), each time a new protocol was registered, the list of protocols were iterated and the name compared with each existing name using strcasecmp, which is slow as we have >500 protocols right now.

Now: the protocol name to check against duplicates is first converted into a hashvalue and then only this value is checked and stored in a hashtable. This way the string to check for, has to be converted/compared only a single time!

svn path=/trunk/; revision=13007
2005-01-12 21:31:22 +00:00
Ulf Lamping
aa139758f9 add new function dissect_dcerpc_uuid_t and let dissect_ndr_uuid_t call it
svn path=/trunk/; revision=13006
2005-01-12 21:20:50 +00:00
Tomas Kukosa
e136ee34a4 Add a "hex_str_to_bytes()" routine
svn path=/trunk/; revision=13002
2005-01-10 09:06:07 +00:00
Guy Harris
7b49d981ae From Deepak Jain: L2TP v3 (draft 15) support.
Add VENDOR_IETF to <epan/sminmpec.h>, and add an entry for it to
sminmpec_values[], so that the L2TP dissector can use them rather than
defining its own copy of the private enterprise number values and table
- and make it do so.

svn path=/trunk/; revision=12999
2005-01-09 21:42:39 +00:00
Guy Harris
d8c21fe77e Properly declare "dissect_h245()" and "dissect_h245_h245()" as returning
nothing.

svn path=/trunk/; revision=12998
2005-01-09 00:01:55 +00:00