Commit graph

7432 commits

Author SHA1 Message Date
Ronnie Sahlberg
18594809fe Update packet-ip.c to print the identification number in decimal as well as hexadecimal to make it easier to crossreference packets between output from other sniffers that display it in DEC instead of HEX.
Since this value has no human readable meaning it should be displayed in HEX only but make ethereal also display the "wrong" base to enhance human compatibility.

svn path=/trunk/; revision=7471
2003-04-16 12:17:55 +00:00
Ronnie Sahlberg
b7931e40fd Register RPC as dissector for both TCP and UDP port 111 which is used by ONC-RPC/PORTMAPPER
The reason for doing this is to allow a user to pick RPC as a protocol offered
by DecodeAs...

Why:
If ethereal has tcp-reseembly enabled, the heuristic dissector for rpc will not even attempt to find RPC packets.
If no PORTMAPPER/GETPORT are available either in the capture there is
currently no way for ethereal to know/learn that the conversation is ONC-RPC.
This at least will allow users to manually tell ethereal that such a conversation is ONC-RPC.

svn path=/trunk/; revision=7470
2003-04-16 12:15:06 +00:00
Guy Harris
7ddca7ecaf From Lars Roland:
Add Response-Time statistics for each known mgcp message-type.

	Fix a few bugs and remove trailing whitespace.

	Use "gdouble" for printing time-values and calculating the
	average.  It is easier to use and shouldn't overflow on big
	trace files like "guint32".

	Move some functions for time statistics into the new file
	timestats.c in the main directory.  This code may be useful in
	the rpc and smb rtt-taps as well.

svn path=/trunk/; revision=7469
2003-04-16 07:25:12 +00:00
Guy Harris
f17519118c From Stephen Shelley: full payload dissection of compliance levels 0, 1
and 2 function codes for Modbus/TCP, plus some bug fixes.

Use value_string tables to map function codes and exception codes to
strings.

svn path=/trunk/; revision=7468
2003-04-16 06:57:38 +00:00
Guy Harris
2678786425 Pull the stuff done in "dissect_packet()" to initialize a column_info
structure into its own routine; rename "col_init()" to "col_setup()",
and call the new routine "col_init()".

svn path=/trunk/; revision=7467
2003-04-16 05:55:41 +00:00
Guy Harris
24ec2110d1 Add the notion of a "fence" to columns. A dissector can set the fence
to "protect" what's currently in the column, so that attempts to clear
the column will only clear stuff after the fence and attempts to
overwrite the column will append stuff after the fence.  This, for
example, allows a dissector to arrange that the Info column contain
information for its protocol and for protocols running atop it.

svn path=/trunk/; revision=7466
2003-04-16 04:52:55 +00:00
Guy Harris
77923868c9 Don't format a string into a buffer with "snprintf()" and then use
"col_add_str()" to put it in the Info column, do the formatting with
"col_add_fstr()".

svn path=/trunk/; revision=7465
2003-04-15 22:07:21 +00:00
Guy Harris
e884881f24 Have separate fields for the COTP and CLTP PDU types.
Don't use "proto_tree_add_uint_format()" for the source and destination
reference fields, use "proto_tree_add_uint()".  Rename the field to make
that work.

Shuffle some stuff around to clean it up.

svn path=/trunk/; revision=7464
2003-04-15 21:33:26 +00:00
Guy Harris
8b1339c7fc From Laurent Meyer: add filterable fields to COTP.
svn path=/trunk/; revision=7463
2003-04-15 10:25:55 +00:00
Guy Harris
e04f6f760a Put in a comment noting that the reassembly code assumes subdissectors
are idempotent, which isn't necessarily the case.

svn path=/trunk/; revision=7462
2003-04-15 09:23:42 +00:00
Guy Harris
79ac2b53bd When dissecting a SYSTEM_TIME, include the milliseconds in the top-level
summary item.

svn path=/trunk/; revision=7461
2003-04-15 08:11:33 +00:00
Guy Harris
90a5d166ff Don't put "[DCE/RPC fragment]" into the Info column if the packet isn't
fragmented.

"PFC_NOT_FRAGMENTED()" is checked early in "dissect_dcerpc_cn_stub()";
there's no need to check it again in either of the code paths after
that, as we know it's true in the first code path and false in the second.

svn path=/trunk/; revision=7460
2003-04-15 08:04:54 +00:00
Guy Harris
ff8f930fe3 From Didier Gautheron: more getserverinfo decoding.
svn path=/trunk/; revision=7459
2003-04-15 05:45:02 +00:00
Guy Harris
e3645e4bd2 From Devin Heitmueller: dissect the "List" subtype in the Server Stored
List (SSI) family.

svn path=/trunk/; revision=7458
2003-04-15 04:45:57 +00:00
Guy Harris
c5f2165c36 Keep the two sides of a pipe separate when doing DCERPC-over-a-pipe
reassembly.  (Perhaps we *shouldn't* see reassembly in progress in both
directions, if the protocol is purely request/response, but that doesn't
mean you won't see it in a capture, due to bugs or dropped packets
or....)

svn path=/trunk/; revision=7457
2003-04-14 20:48:31 +00:00
Guy Harris
a551f4a0ab From Anders Broman: dissect user-to-user IEs in ISUP messages as Q.931
UU IE's.

svn path=/trunk/; revision=7456
2003-04-14 18:04:13 +00:00
Guy Harris
579ab38577 Add a new routine "dissect_file_data_maybe_dcerpc()" to handle file
read/write data that might, or might not, be DCE RPC information on a
pipe, and use that routine rather than duplicating similar code in
multiple places.

svn path=/trunk/; revision=7455
2003-04-14 17:38:49 +00:00
Guy Harris
82ff4f49a5 Fix up some comments.
svn path=/trunk/; revision=7454
2003-04-14 17:31:42 +00:00
Ronnie Sahlberg
ef8d406bd4 Reassembly of DCE/RPC fragments for Request packets was slightly broken.
Fixed this and rewrote the fragment reassembly routine to make it
cleaner and hopefully easier to read.

svn path=/trunk/; revision=7453
2003-04-14 13:22:13 +00:00
Ronnie Sahlberg
176c885a3d The two extra bytes in the write_andx request is only present if both
the MEssageStart and the Raw bits are set.

svn path=/trunk/; revision=7452
2003-04-14 10:58:21 +00:00
Guy Harris
d8fd06424e Don't show a string for datastream types other than the ones known to
SPX.

For the datastream types known to SPX, display it in the Info column.

svn path=/trunk/; revision=7451
2003-04-14 01:26:57 +00:00
Guy Harris
46416f7b7e Use symbolic names for the various write mode bits.
To test whether a single bit is set, just do "if (mode&bit)", not
"if ((mode&bit)==bit)".

In the places where read and write data is processed, have both a
comment indicating that it's file data and that you can transport DCERPC
over SMB just with reads and writes, to indicate why we may call the
DCERPC-over-a-pipe dissector.

svn path=/trunk/; revision=7450
2003-04-14 00:27:00 +00:00
Guy Harris
f2b07ad411 "dcerpc_fragment_table" is used only in packet-smb-pipe.c, except for
the call to initialize it; move the call to initialize it to the
registration routine for the dissector that uses it, move the definition
of ""dcerpc_fragment_table" to packet-smb-pipe.c, make it static, and
remove the declaration of it from smb.h.

Add some casts to squelch compiler complaints.

svn path=/trunk/; revision=7449
2003-04-13 23:58:37 +00:00
Jörg Mayer
106df618b5 Update FAQ to April 10th
svn path=/trunk/; revision=7448
2003-04-13 13:54:26 +00:00
Jörg Mayer
b0fc3cb0eb make-manuf:
Don't print Cavebear skipped - it makes the output unusable.
manuf.tmpl:
	Remove entries that overwrite identical or similar results from IEEE
manuf:
	Rebuild to reflect the changes in manuf.tmpl and add some new IEEE
	entries.

svn path=/trunk/; revision=7447
2003-04-13 13:51:32 +00:00
Ronnie Sahlberg
7bcd465705 Missing file from previous commit
svn path=/trunk/; revision=7446
2003-04-12 08:14:48 +00:00
Ronnie Sahlberg
f469559385 Rewrite the DCERPC over SMB reassembly completely.
Move the actual reassembly to packet-smb-pipe.c instead of having it inside
the packet-smb.b/Write_andX and ReadAndX dissectors.

Change the dissector to only call dcerpc dissector from the packet where
reassembly was completed instead of always from the first fragment.
Add display fiulter field for the other fragments that display which frame the dcerpc pdu was reassembled in.

This is needed in order to be able to reassemble the type of dcerpc fragments
that are sent between nt4 dc's.
The DCERPC fragment reassembly in the dcerpc layer is still broken though, and
i think it has been broken for quite some time.   That will be addressed shortly.

svn path=/trunk/; revision=7445
2003-04-12 08:14:02 +00:00
Guy Harris
151bd457db From Jeff Morriss: don't put stuff in the Info column if a subdissector
is called, so that we don't get a mix of M3UA and subdissector stuff.

svn path=/trunk/; revision=7444
2003-04-12 07:54:29 +00:00
Guy Harris
e1e43d42dc Some packets (the ones I've seen have a datastream type of
"End-of-Connection Acknolwedgment") have none of the connection control
bits set; describe them as "Data, No Ack Required" rather than
"Unknown".

svn path=/trunk/; revision=7443
2003-04-12 07:48:36 +00:00
Guy Harris
4f697a69f3 An SPX packet is not a retransmission of an earlier packet unless the
two packets have the same sequence number; use the sequence number in
the hash key.

The sequence number is not incremented for system packets, and system
packets probably don't get ACKed and thus presumably don't get
retransmitted, so don't do retransmission checks for system packets.

svn path=/trunk/; revision=7442
2003-04-12 07:35:52 +00:00
Guy Harris
e0d9bb60a2 Fix a typo.
svn path=/trunk/; revision=7441
2003-04-12 05:48:26 +00:00
Guy Harris
6f8439dc1b You can't put an FT_FRAMENUM into the tree with a length of -1, so, for
a retransmitted SPX frame, just put the number of the original frame in
as an item not referring to any data (offset and length of 0), and, if
there is any remaining data, put it into the tree as a separate item.

svn path=/trunk/; revision=7440
2003-04-12 05:36:10 +00:00
Guy Harris
30859b1802 From Jeff Morriss: rather than re-initializing the Info column with each
PDU, just append the message type acronym to the column, so you can see
the message types for all the messages in the frame.

svn path=/trunk/; revision=7439
2003-04-11 20:19:45 +00:00
Guy Harris
1bba417d59 From Jeff Morriss: add support for the Chinese ITU variant of SS7.
svn path=/trunk/; revision=7438
2003-04-10 18:52:15 +00:00
Guy Harris
237fd12777 From Anders Broman: decode ISUP element User service info as Q.931
Bearer capability.

svn path=/trunk/; revision=7437
2003-04-10 18:40:38 +00:00
Ronnie Sahlberg
1294318b4d The NT Security Descriptor revision field is only one byte, not two.
Make the dissector decode the first two bytes of the security descriptor as
one byte for the revision and the second byte as nothing/should be zero.

svn path=/trunk/; revision=7436
2003-04-10 08:41:58 +00:00
Tim Potter
8d78af7453 Some COL_INFO goodies for SpoolssWritePrinter.
svn path=/trunk/; revision=7435
2003-04-10 05:38:43 +00:00
Guy Harris
dab0d3a7e9 From David Frascone: use a string constant rather than a global variable
for the full name of the Diameter protocol.

svn path=/trunk/; revision=7434
2003-04-10 01:30:34 +00:00
Guy Harris
5311e02789 Make the individual flag bits in the Connection Control field of the SPX
header be filterable fields.

Don't hand retransmitted SPX frames to subdissectors - just show the
payload as a retransmission of the original frame.

Instead of handing a retransmission indicator to SPX subdissectors, hand
them a structure containing the datastream type (under the assumption
that it's data for the protocol running atop SPX, and that the dissector
for that protocol might use it) and the state of the end-of-message bit
(under the assumption that it's data for the protocol running atop SPX).

svn path=/trunk/; revision=7433
2003-04-09 22:33:19 +00:00
Guy Harris
0cb78e6508 Instead of using passing the SPX hash value to subdissectors, attach to
frames that are retransmissions a data structure containing the frame
number of the original frame, and pass that to subdissectors (or, if not
present, pass NULL).

That means we can free the hash values when we're done with the first
pass through the packets.

svn path=/trunk/; revision=7432
2003-04-09 20:45:04 +00:00
Gerald Combs
2abb403b4e Update for NSIS 2.0
svn path=/trunk/; revision=7431
2003-04-09 18:58:37 +00:00
Guy Harris
4727ca154d Squelch a compiler warning - the problem "should not happen", as a
WriteAndX request should have a full complement of word parameters, but,
just in cast it doesn't....

(Should we somehow arrange to throw an exception if there aren't enough
word or byte parameters in SMBs, i.e. impose a minimum in some cases?)

svn path=/trunk/; revision=7430
2003-04-09 18:35:27 +00:00
Guy Harris
d53c3b80c4 From Tom Uijldert: properly decode the packet sequence number in WTP
Negative Ack packets.

svn path=/trunk/; revision=7429
2003-04-09 18:15:53 +00:00
Ronnie Sahlberg
d1b5e90a50 Update to WriteAndX request decoding so it can handle the pipe bits properly.
If both mode bits  MessageStart and WriteRaw are set, then the first two bytes of the byte-field is the total length of the data written to the pipe.

svn path=/trunk/; revision=7428
2003-04-09 09:35:57 +00:00
Ronnie Sahlberg
90a6dc4ea0 Added new field reassembled_in to the fragment data structure.
This field gets set to the frame number when this pdu was first completely reassembled.

This is useful since it will allow us to do reassembly properly in say packet-ip.c
instead of printing the full pdu for every fragment and thus making NFSoverUDP  rpc-rtt statistics less than useful.

A dissector using fragment_add() can tehn choose to only dissect the reassembled PDU only for the frame where it was first reassembled.

svn path=/trunk/; revision=7427
2003-04-09 09:04:08 +00:00
Guy Harris
9be967086f Fix some spelling/punctuation/capitalization/etc. errors.
svn path=/trunk/; revision=7426
2003-04-09 08:51:18 +00:00
Guy Harris
9442f5bc7d Don't create a protocol tree or do anything to the columns before
calling "tcp_dissect_pdus()", so that if we don't have the final segment
of a multi-segment packet, we don't change the columns or put in an
empty protocol tree item for NDPS.

Rename "ndps.desegment_ndps" to "ndps.desegment_tcp" - the "ndps." is
sufficient to indicate that it's for desegmenting NDPS, but we now have
a flag for desegmenting NDPS-over-SPX, so we should indicate that the
other flag is for desegmenting NDPS-over-TCP.

svn path=/trunk/; revision=7425
2003-04-09 08:43:53 +00:00
Guy Harris
de205c4a3a Clean up the handling of the completion code.
svn path=/trunk/; revision=7424
2003-04-09 08:36:54 +00:00
Guy Harris
d3daad1bec Add "proto_tree_add_none_format()" to the set of functions exported to
plugins.

svn path=/trunk/; revision=7423
2003-04-08 17:20:05 +00:00
Jörg Mayer
a7cd846b47 make-manuf:
Sometimes printed a \n too much
manuf.tmpl:
	Remove most manual Mappings to Cisco because that's what gets used
	anyway (all except Racal and Newpoint)
manuf:
	Update to represent changes in make-manuf, manuf.tmpl and IEEE

svn path=/trunk/; revision=7422
2003-04-08 16:41:59 +00:00