Commit Graph

4722 Commits

Author SHA1 Message Date
Guy Harris df151b784a Properly set the length of the top-level item.
svn path=/trunk/; revision=4777
2002-02-22 08:54:54 +00:00
Guy Harris 7b176b7096 Redo the DNS-over-TCP code to handle the DNS-over-TCP header being split
across segment boundaries and to, for each DNS-over-TCP PDU, create a
tvbuff containing the header and the body of the PDU, handing that to
the DNS PDU dissector.

svn path=/trunk/; revision=4776
2002-02-22 08:45:02 +00:00
Guy Harris cbda24e612 From Dermot Bradley:
support for Openwave-specific WSP headers;

	support for Openwave-specific field names;

	support for additional content types from Openwave;

	support for additional language values.

svn path=/trunk/; revision=4775
2002-02-22 07:23:25 +00:00
Guy Harris 27e5901646 Properly handle the "no data" data frames.
svn path=/trunk/; revision=4774
2002-02-22 07:16:35 +00:00
Guy Harris 748d012012 AiroPeek captures have an extra 4 bytes of gunk at the end of every
packet; don't hand that gunk to the 802.11 dissector.

svn path=/trunk/; revision=4773
2002-02-22 07:15:28 +00:00
Ed Warnicke 3560ff5eea Added a preference to allow for setting the COPS tcp port.
svn path=/trunk/; revision=4772
2002-02-22 02:56:58 +00:00
Guy Harris 2f70b4df02 Initial quota support, from Ronnie Sahlberg.
svn path=/trunk/; revision=4771
2002-02-22 00:05:02 +00:00
Guy Harris e80b68372c Use the right format (one with a numerical format item rather than a
string format item) as the third argument to "val_to_str()".

svn path=/trunk/; revision=4770
2002-02-21 23:54:03 +00:00
Guy Harris 96bfaddff2 The number of bytes of tagged parameters should be computed by seeing
how many bytes remain in the packet starting at the initial offset of
the tagged parameters, not by seeing how many bytes remain in the packet
starting 4 bytes later.  (If you're trying to avoid counting a CRC that
appears at the end of the packet data, then you need to be sure there
*is* a CRC first; this may require using a different DLT_ type, in
libpcap, for those captures.)

svn path=/trunk/; revision=4769
2002-02-21 23:34:33 +00:00
Tim Potter 15c2a5a651 Export dissect_nt_sec_desc() so it can be used by other dissectors.
A NT security descriptor can be either revision 1 or 2 and seem to be the
same format on the wire.

svn path=/trunk/; revision=4768
2002-02-21 18:39:49 +00:00
Gilbert Ramirez d3b5ddbef1 Add first attempt at creating a tool to take a [t]ethereal core file
and using gdb, extract the packet that was being dissected when the
core file was created. It works in simple cases; it will probably
fail in many other cases. Right now it only creates libpcap files, and uses
text2pcap to do so.

svn path=/trunk/; revision=4767
2002-02-21 16:15:56 +00:00
Guy Harris 20c4601ef8 Be more paranoid, and check to make sure the length of the string or OID
isn't so large as to cause the end offset to wrap around.

svn path=/trunk/; revision=4766
2002-02-21 02:05:53 +00:00
Guy Harris 5f04fd0379 Throw in some sanity checking to make sure a bogus length in an ASN.1
string or OID data type doesn't cause us to hand a bogus length to a
memory allocator.

svn path=/trunk/; revision=4765
2002-02-20 22:46:21 +00:00
Guy Harris ac4cd62ed8 From Ronnie Sahlberg: add the actual SMB command to the structure that
remembers SMBs for request/response matching, and make sure the request
and the response have the same type (or that the response has a
different type but is a valid response to the request).

svn path=/trunk/; revision=4763
2002-02-20 21:46:42 +00:00
Guy Harris 4002814932 Sun's "yp.x" appears to lie when it claims that the argument to a FIRST
call is a "ypreq_key"; the argument appears to be a "ypreq_nokey"
instead.

The response to an ALL call isn't a single item, it's a sequence of
items - all but the last item has the "more" field true, the last has it
false.  Show all the items.

svn path=/trunk/; revision=4762
2002-02-20 21:02:46 +00:00
Guy Harris 2c0ceea42f Export "conversation_set_dissector()" in the plugin API table.
svn path=/trunk/; revision=4760
2002-02-20 08:24:52 +00:00
Ashok Narayanan cd44c487d4 Fixed small bug in translation of IXCD in OSPF GMPLS LSA.
svn path=/trunk/; revision=4759
2002-02-19 21:56:56 +00:00
Guy Harris ddf6a753f0 From Andrew Hood: translate enterprise OIDs in SNMP traps to strings if
possible.

svn path=/trunk/; revision=4758
2002-02-19 09:35:45 +00:00
Guy Harris 642d7239dc Update a comment.
svn path=/trunk/; revision=4757
2002-02-19 03:43:43 +00:00
Guy Harris 51f8197b51 Fix the declaration of "rec_dissector_t" to include a return value type.
svn path=/trunk/; revision=4756
2002-02-19 03:43:08 +00:00
Guy Harris bcaa0c5c58 Fix up the declaration of "addr_tvb_new_real_data" to match
"tvb_new_real_data()".

svn path=/trunk/; revision=4755
2002-02-19 01:28:43 +00:00
Guy Harris d1afae8393 For TCP segments that are reassembled into larger packets, show the data
as raw TCP segment data under the TCP protocol tree item, rather than as
a top-level data item - and do so even for the last of the segments
reassembled into that packet.

svn path=/trunk/; revision=4754
2002-02-19 00:14:21 +00:00
Guy Harris b505843920 Add support for reassembling RPC-over-TCP fragments, and do that in both
RPC and NDMP.

Show the RPC-over-TCP fragment header as a tree with bitfields below it.

Add a routine to show a reported bounds error as an "Unreassembled
Packet" or a "Malformed Packet" depending on whether "pinfo->fragmented"
is set, and have NBNS and RPC use that.

Add "ett_ndmp_file_stats" to the list of ett_ values to be initialized
(it wasn't in that list, and wasn't getting initialized).

When freeing up various hash tables and memory chunks in the RPC
dissector, zero out the pointers to them, just to make sure we don't try
to free them again.

Always destroy the TCP segment key and address memory chunks in
"tcp_desegment_init()", regardless of whether TCP desegmentation is
enabled - we don't *allocate* them if TCP desegmentation isn't enabled,
but we should free them even if it's not enabled.  Also, when we free
them, set the pointers to them to null, so we don't double-free them.

Supply to subdissectors called from the TCP dissector the sequence
number of the first byte handed to the sub dissector.

svn path=/trunk/; revision=4753
2002-02-18 23:51:55 +00:00
Guy Harris 8166da40d5 Have "alloc_field_info()" take a pointer to the field length as an
argument, so if the length was supplied as -1, it can set it to the
length of data remaining in the tvbuff, so that its callers can use that
length when getting the value for the field, rather than leaving the
length in the "field_info" structure as -1.

svn path=/trunk/; revision=4752
2002-02-18 22:26:29 +00:00
Guy Harris 6a21dc7e44 Don't give tvbuffs names; instead, give data sources names, where a
"data source" has a name and a top-level tvbuff, and frames can have a
list of data sources associated with them.

Use the tvbuff pointer to determine which data source is the data source
for a given field; this means we don't have to worry about multiple data
sources with the same name - the only thing the name does is label the
notebook tab for the display of the data source, and label the hex dump
of the data source in print/Tethereal output.

Clean up a bunch of things discovered in the process of doing the above.

svn path=/trunk/; revision=4749
2002-02-18 01:08:44 +00:00
Guy Harris d92a1cd8e1 With the tvbuffication of all dissectors, the "packet_info" structure no
longer contains length fields, so there's no need to pass a "packet_info
*" argument to "set_actual_length()".

svn path=/trunk/; revision=4748
2002-02-17 00:51:21 +00:00
Guy Harris ac5a603cb7 Add support for SNA-over-Ethernet (Ethernet type 80d5).
svn path=/trunk/; revision=4747
2002-02-17 00:16:19 +00:00
Guy Harris 31fc804847 From Joerg Mayer: remove trailing blanks from hex dump in
print/Tethereal.

svn path=/trunk/; revision=4742
2002-02-15 11:56:10 +00:00
Guy Harris d49247e450 AiroPeek puts variable-length, not padded fixed-length, 802.11 headers
into captures.

The data rate header is in .5 megabyte/second units, not .5
kilobyte/second units.

svn path=/trunk/; revision=4741
2002-02-15 11:37:56 +00:00
Guy Harris 3e39a2b0f2 Put in a missing "break;" statement. (Testing the untested AiroPeek
support revealed that I'd left it out; putting it back made it work.)

svn path=/trunk/; revision=4740
2002-02-15 11:35:13 +00:00
Guy Harris 44ba4504b4 Undo the change of "UcpHandleByte(hf_ucp_parm_NT);" to
"UcpHandleString(hf_ucp_parm_NT);" - the field really is one character
long, as per the (correct) change from FT_STRING to FT_UINT8.

svn path=/trunk/; revision=4739
2002-02-15 11:24:45 +00:00
Gilbert Ramirez e36aa9657d Comment-out FT_UCS2_LE, and remove the already commented-out FT_TEXT_ONLY.
svn path=/trunk/; revision=4738
2002-02-15 09:01:21 +00:00
Gilbert Ramirez 558d570073 Add ncp2222 as a type of packet than randpkt can produce.
If type passed in with -t option is unknown, die instead of using
Ethernet as a default.

svn path=/trunk/; revision=4737
2002-02-14 17:45:07 +00:00
Gilbert Ramirez c902d9899b Register hf_ucp_parm_NT as an FT_UINT8 instead of FT_STRING,
and use the vals_parm_NT value string in that registration.
Thanks to Marcin Gryszkalis <mgryszkalis@cerint.pl> for the bug report.

svn path=/trunk/; revision=4736
2002-02-14 16:48:08 +00:00
Gilbert Ramirez 756707ac0d FIRST_PROTO_PREFS_PAGE needs to be incremented by 2 in order for
the "Protocol Preferences" pop-up menu option to work properly.

svn path=/trunk/; revision=4735
2002-02-14 10:58:49 +00:00
Guy Harris 0d297e590e From Ronnie Sahlberg: add decoding of the (known) individual bits of
the Account-Control bits.

svn path=/trunk/; revision=4734
2002-02-14 05:56:48 +00:00
Guy Harris 879e1160e4 From Tim Potter:
- For selected read and write SMBs, display the byte count and offset
    in the info column.  This makes browsing file read/writes easier to
    understand.

  - In dissect_nt_sids() sometimes the version number is 3 but the rest
    of the sid format remains the same.  This is purely by observation -
    I have no documentation to confirm this.

  - Use a GString instead of a fixed buffer in dissect_nt_sids().

svn path=/trunk/; revision=4733
2002-02-14 05:53:59 +00:00
Guy Harris 8ea7c346b8 From Laurent Rabret: print the correct length in the Extended
Communities attribute in a BGP Update message.

Also, get rid of an extra space before a colon in the display for that
attribute, which isn't in other attributes.

svn path=/trunk/; revision=4732
2002-02-14 05:28:44 +00:00
Guy Harris 055f13d2d1 "tvb_ieee_to_long()" returns a "long", not a "long long", so you can't
print it with "%lld".

In any case, not all platforms on which Ethereal can be built support
64-bit integral data types, and, even on those that do, not all of them
support "%ll[doux]" as the format for printing those types, so do the
arithmetic in floating point by multiplying the bytes/s values by 8.0,
and print with "%.0f" instead.

svn path=/trunk/; revision=4731
2002-02-14 05:23:32 +00:00
Ashok Narayanan 00d1c463ee GMPLS extensions for OSPF Opaque LSAs
svn path=/trunk/; revision=4730
2002-02-14 02:32:14 +00:00
Guy Harris ff9f006274 From Ronnie Sahlberg:
fix various alignment problems;

	change/prettify a few of the structures;

	other updates.

svn path=/trunk/; revision=4729
2002-02-13 04:14:13 +00:00
Guy Harris e594878f52 From Ronnie Sahlberg: display the opnum also for reply packets.
svn path=/trunk/; revision=4728
2002-02-13 04:12:42 +00:00
Guy Harris e7737953d0 From Ronnie Sahlberg: display FILETIME values of 0x8000000000000000 as
"Infinity (absolute time)", and values of 0x7fffffffffffffff as
"Infinity (relative time)".

svn path=/trunk/; revision=4727
2002-02-13 04:11:37 +00:00
Guy Harris a006c4fcca Have the private data for the SCSI dissection routines be a pointer to a
structure containing a 32-bit conversation ID (which uniquely identifies
conversations between a SCSI initiator and target) and a 32-bit task ID
(which uniquely identifies a task within that conversation).

Have the NDMP dissector create conversations when it sees an "execute
CDB" request, and use the conversation index as the conversation ID and
the sequence number for requests and reply sequence for replies as the
task ID.

Have it use "dissect_scsi_payload()" to dissect the payload of "execute
CDB" requests and replies.

svn path=/trunk/; revision=4726
2002-02-13 01:17:58 +00:00
Guy Harris 2c62907ff6 Dissect "execute CDB" requests and replies.
Get rid of extra trailing white space in some protocol tree items.

svn path=/trunk/; revision=4725
2002-02-12 23:56:37 +00:00
Guy Harris 869e4d94f6 Move all the stuff in "packet-scsi.h" that's solely for the use of
"packet-scsi.c" into "packet-scsi.c"; the iSCSI dissector doesn't need
its own versions of a pile of static data structures used only by
"packet-scsi.c", nor does it need a pile of typedefs and #defines used
only by "packet-scsi.c".

The iSCSI dissector *does* use "scsi_status_val", so make that
non-static, and export it from "packet-scsi.h".

svn path=/trunk/; revision=4724
2002-02-12 23:52:34 +00:00
Guy Harris 8bf31f9c18 Have a Q.931-over-TPKT TCP heuristic dissector.
Have the Q.931 PDU dissector, if it's Q.931-over-TPKT, check for
user-user IEs with a protocol discriminator of "X.208 and X.209 coded
user information" and, if it sees one, call an H.225.0 Call Setup
dissector if it could find the handle for it.

svn path=/trunk/; revision=4723
2002-02-12 10:21:05 +00:00
Guy Harris 3b47ff0df8 Display the fragment length, and fragment ordinal number, in decimal.
svn path=/trunk/; revision=4722
2002-02-12 07:55:23 +00:00
Guy Harris a8fc99ae5a From Ronnie Sahlberg:
SAMR updates;

	a bugfix in dissect_ndr_pointer() (should not check referent id
	for aliases for unique pointers);

	enhancement to dissect_ndr_pointer() to make it possible to
	hand a generic int value to the dissector for the pointer object
	in a similar way as hf_index values are passed through the
	pointer layer.

svn path=/trunk/; revision=4721
2002-02-12 07:35:21 +00:00
Gilbert Ramirez 9249d8094f dissect_frame() can throw a ReportedBoundsError; catch it in
dissect_packet().

svn path=/trunk/; revision=4720
2002-02-11 19:02:56 +00:00