Commit Graph

7439 Commits

Author SHA1 Message Date
Ronnie Sahlberg 16e3a6ce6e Update to smb rtt stat for ethereal so that we can provide a filter for which
packets we have data.

Similar to oncrpc rtt stats smb rtt stats will also open a small window
where a filter string can be specified.
Only those packets matching the filter will be considered in calculating
the rtt statistics.

svn path=/trunk/; revision=7528
2003-04-22 09:30:59 +00:00
Ronnie Sahlberg 729e433e37 Update to the io,stat tethereal tap.
Make it possible to use subsecond granularity for the measurement intervals.

io,stat is updated to accept the interval to be specified with ms resolution.

Example

-z io,stat,0.001,smb

to generate 1ms statistics for all SMB traffic.

svn path=/trunk/; revision=7527
2003-04-22 09:02:54 +00:00
Guy Harris 146f8ebd46 Add the Ethernet type for the Vines Echo protocol.
svn path=/trunk/; revision=7526
2003-04-22 08:50:07 +00:00
Guy Harris 99b9d2a13e SAP_VINES1 (0xba) doesn't appear to be used for Vines-IP-over-LLC; it's
used for some other protocol.

Put in some information about an RMON draft that gives some information
about various protocol numbers in various protocols.

svn path=/trunk/; revision=7525
2003-04-22 08:37:55 +00:00
Guy Harris e3c76dd07e From Akira Endoh:
- fix the bug by dissecting the Flags field in RRO IPv4/IPv6/label sub-object
  (The 1.80 version of packet-rsvp.c dissects the wrong field in a packet.)
- erase unnecessary commas when displaying RRO IPv4 sub-object
- add support for displaying the error value, written explanation in ERROR
  object
- add support for draft-ietf-mpls-nodeid-subobject-00.txt

svn path=/trunk/; revision=7524
2003-04-22 05:35:54 +00:00
Guy Harris 7d29272f54 The main menu "/Display/{Match,Prepare}" menu items, and the tree view
"{Match,Prepare}" pop-up menu items, should be enabled only if we have a
field selected.

The main menu item "/Tools/Statistics" should be enabled only if we have
a capture.

The packet list "Show Packet In New Window" pop-up menu item should be
enabled only if there's a packet selected.

svn path=/trunk/; revision=7523
2003-04-22 04:49:17 +00:00
Guy Harris 3a4644bf42 "gtk_item_factory_get_widget()" returns, for a menu item with a submenu,
the submenu widget, not the menu item widget.  For items with submenus,
set the sensitivity on the menu item widget, not the submenu widget, so
that the menu item is grayed out when not sensitive.

svn path=/trunk/; revision=7522
2003-04-22 04:02:49 +00:00
Guy Harris 5b8500241e Have "set_menu_sensitivity()" take, as an argument, a pointer to the
GtkItemFactory for the item it's modifying, with NULL meaning "all
pop-up menus".  Use the full path for the menu item in all such calls;
have separate calls for the main menu item and pop-up menu items as
necessary.

svn path=/trunk/; revision=7521
2003-04-22 00:16:58 +00:00
Guy Harris c0b3f46abd Add the usual .cvsignore file.
svn path=/trunk/; revision=7520
2003-04-21 23:08:11 +00:00
Guy Harris f61152a7da From Greg Morris:
1. Add definitions for Novell defined Object ID's
2. Cleanup displayed information
3. Object ID's no longer displayed by default. To enable then set
   option in the NDPS preferences to "Display NDPS Details"
4. Value Syntax no longer displayed by default. To enable then set
   option in the NDPS preferences to "Display NDPS Details"
5. Utilize SPX End of Message within NDPS/SPX Fragment packets
6. Numerous Bug fixes
7. Add Print Program Function 0x23 (Add Event Profile 2)
8. Add Print Program Function 0x24 (List Event Profiles 2)
9. Create consolidation functions to elliminate redundant code
10. Remove some unused variable definitions

svn path=/trunk/; revision=7519
2003-04-21 23:06:39 +00:00
Guy Harris bbb746f9b1 From Erwin Rol: ArtNET support.
svn path=/trunk/; revision=7518
2003-04-21 21:28:39 +00:00
Guy Harris ee1bc75c1b From Brad Hards: don't mention the "Add Expression" button in the
message box popped up if you try to add a new capture filter but haven't
specified a filter name or string, as there is no such button for
capture filters.

svn path=/trunk/; revision=7517
2003-04-21 19:43:44 +00:00
Guy Harris 5c1d9182ec Make "first_pdu" an argument rather than a global in the ONC RPC
dissector - including the ONC RPC-over-TCP record marking code, which is
also used by NDMP.

That means that the NDMP dissector can, like the ONC RPC dissector, put
into the Info column items for all the NDMP messages dissected for a
frame; make it do so.

svn path=/trunk/; revision=7516
2003-04-21 08:13:18 +00:00
Guy Harris c9488831e2 From Jean-Baptiste Marchand: put the LDAP message ID and message type
into the protocol tree as visible fields.

svn path=/trunk/; revision=7515
2003-04-21 07:58:16 +00:00
Guy Harris 393e152a04 The DCE RPC dissector puts "request in" and "reply in" information into
the protocol tree, and no other dissector for a DCE RPC-based protocol
does to itself - get rid of the code to do so here.

svn path=/trunk/; revision=7514
2003-04-21 01:13:41 +00:00
Guy Harris d359286841 Add a pointer to an hf_ value for a "reassembled_in" field (which can be
null) to the "fragment_items" structure, and don't pass that value into
"process_reassembled_data()", just have it use the value in the
"fragment_items" structure passed to it.

Make "process_reassembled_data()" capable of handling reassembly done by
"fragment_add_seq_check()", and use it in the ATP and 802.11 dissectors;
give them "reassembled_in" fields.  Make "process_reassembled_data()"
handle only the case of a completed reassembly (fd_head != NULL) so that
we can use it in those dissectors without gunking the code up too much.

svn path=/trunk/; revision=7513
2003-04-20 11:36:16 +00:00
Michael Tüxen 4af58d8967 change LITTLE_ENDIAN to LITTLE_ENDIAN_BYTE_ORDER
svn path=/trunk/; revision=7512
2003-04-20 09:21:47 +00:00
Guy Harris 9dd8bbe38e Put entries for a reassembled packet into the appropriate hash table for
all of the frames that make it up, so Ethereal can show, for all but the
final frame, the frame in which it was reassembled.  (Tethereal can't,
as it's a one-pass program.)

svn path=/trunk/; revision=7511
2003-04-20 08:40:45 +00:00
Guy Harris 87dfb09b12 Pull much of the processing done after a call to "fragment_add_check()"
into a subroutine, for use in other dissectors.

Use it in the IPv6 and CLNP dissectors.

svn path=/trunk/; revision=7510
2003-04-20 08:06:01 +00:00
Gerald Combs 56cd2c741b Under Solaris, strlen() segfaults if you pass it a NULL. Replace all of the
NULL blurbs in the hf_register_info definition with empty strings.

svn path=/trunk/; revision=7509
2003-04-20 01:14:42 +00:00
Guy Harris 8140efea8e Add a "fragment_add_multiple_ok()" routine that skips the check for a
fragment having been added already.  In protocols using the ONC
RPC-over-TCP record-marking mechanism (RPC-over-TCP and NDMP), there can
be more than one record-marking-layer fragment in a single TCP segment,
and thus can be more than one fragment in a frame being added to a given
higher-level packet.

svn path=/trunk/; revision=7508
2003-04-20 00:27:29 +00:00
Guy Harris ea29d0768a Use "fragment_add_check()" for IPv6 and CLNP reassembly. (Possibly an
issue for CLNP, with its 16-bit IDs, which could be duplicated in a
sufficiently large capture even if CLNP implementations don't
deliberately reuse IDs; less of an issue for IPv6, with its 32-bit IDs
and with its prohibition on reuse:

   For every packet that is to be fragmented, the source node generates
   an Identification value. The Identification must be different than
   that of any other fragmented packet sent recently* with the same
   Source Address and Destination Address.  If a Routing header is
   present, the Destination Address of concern is that of the final
   destination.

      * "recently" means within the maximum likely lifetime of a packet,
        including transit time from source to destination and time spent
        awaiting reassembly with other fragments of the same packet.
        However, it is not required that a source node know the maximum
        packet lifetime.  Rather, it is assumed that the requirement can
        be met by maintaining the Identification value as a simple, 32-
        bit, "wrap-around" counter, incremented each time a packet must
        be fragmented.  It is an implementation choice whether to
        maintain a single counter for the node or multiple counters,
        e.g., one for each of the node's possible source addresses, or
        one for each active (source address, destination address)
        combination.

but perhaps we'll ultimately be able to get rid of the old
"fragment_add()" entirely and rename "fragment_add_check()" to
"fragment_add()").

svn path=/trunk/; revision=7507
2003-04-20 00:21:17 +00:00
Guy Harris 0def9a0b52 We can't use the frame_data structure as a key structure when looking
for reassembled frames - in Tethereal, there's only one frame_data
structure used for all frames.  Instead, use the frame number itself as
the key.

Add a "fragment_add_check()" routine, for fragments where there's a
fragment offset rather than a fragment sequence number, which does the
same sort of thing as "fragment_add_seq_check()" - i.e., once reassembly
is done, it puts the reassembled fragment into a separate hash table, so
that there're only incomplete reassemblies in the fragment hash table.
That's necessary in order to handle cases where the packet ID field can
be reused.

Use that routine for IPv4 fragment reassembly - IP IDs can be reused (in
fact, RFC 791 suggests that doing so might be a feature:

    It is appropriate for some higher level protocols to choose the
    identifier. For example, TCP protocol modules may retransmit an
    identical TCP segment, and the probability for correct reception
    would be enhanced if the retransmission carried the same identifier
    as the original transmission since fragments of either datagram
    could be used to construct a correct TCP segment.

and RFC 1122 says that it's permitted to do so, although it also says
"we believe that retransmitting the same Identification field is not
useful":

         3.2.1.5  Identification: RFC-791 Section 3.2

            When sending an identical copy of an earlier datagram, a
            host MAY optionally retain the same Identification field in
            the copy.

            DISCUSSION:
                 Some Internet protocol experts have maintained that
                 when a host sends an identical copy of an earlier
                 datagram, the new copy should contain the same
                 Identification value as the original.  There are two
                 suggested advantages:  (1) if the datagrams are
                 fragmented and some of the fragments are lost, the
                 receiver may be able to reconstruct a complete datagram
                 from fragments of the original and the copies; (2) a
                 congested gateway might use the IP Identification field
                 (and Fragment Offset) to discard duplicate datagrams
                 from the queue.

                 However, the observed patterns of datagram loss in the
                 Internet do not favor the probability of retransmitted
                 fragments filling reassembly gaps, while other
                 mechanisms (e.g., TCP repacketizing upon
                 retransmission) tend to prevent retransmission of an
                 identical datagram [IP:9].  Therefore, we believe that
                 retransmitting the same Identification field is not
                 useful.  Also, a connectionless transport protocol like
                 UDP would require the cooperation of the application
                 programs to retain the same Identification value in
                 identical datagrams.

and, in any case, I've seen that in at least one capture, and it
confuses the current reassembly code).

Unfortunately, that means that fragments other than the last fragment
can't be tagged with the frame number in which the reassembly was done;
see the comment in packet-ip.c for a discussion of that problem.

svn path=/trunk/; revision=7506
2003-04-20 00:11:28 +00:00
Michael Tüxen d067b0e361 change my e-mail address.
svn path=/trunk/; revision=7505
2003-04-19 20:21:49 +00:00
Michael Tüxen f9dcb193a1 - a 'quick hack' for col_set_fence support for better INOF column handling (a new version
of the SCTP dissector is in development...)
- change of my e-mail address.

svn path=/trunk/; revision=7504
2003-04-19 20:16:18 +00:00
Michael Tüxen 7535bb2016 - added better handling of the INFO column using col_set_fence.
- changed my e-mail.

svn path=/trunk/; revision=7503
2003-04-19 20:14:35 +00:00
Michael Tüxen d8b05d1729 - add better INFO column handling using col_set_fence.
- change my e-mail.

svn path=/trunk/; revision=7502
2003-04-19 20:13:23 +00:00
Michael Tüxen 2f420ebf71 - add a col_set_fence call
svn path=/trunk/; revision=7501
2003-04-19 20:10:49 +00:00
Michael Tüxen 58c20781a0 - add INFO column stuff using fence.
- change my e-mail address

svn path=/trunk/; revision=7500
2003-04-19 20:09:00 +00:00
Guy Harris 9cd871da88 Run strings through "format_text()" before putting them into items in
the protocol tree.

Give SMUX filterable fields for the version and PDU type.

svn path=/trunk/; revision=7499
2003-04-19 09:45:25 +00:00
Guy Harris d735ac10cc The first element in a fragment list isn't a fragment, it's a special
entry for the reassembled packet; don't look at it when checking to see
if we've already seen a fragment (its "frame" field isn't initialized,
so we shouldn't check it in any case).

svn path=/trunk/; revision=7498
2003-04-19 09:42:53 +00:00
Guy Harris e0e6edf0e8 Squelch a compiler warning.
svn path=/trunk/; revision=7497
2003-04-19 06:04:58 +00:00
Guy Harris d2afac6513 Fix a typo.
svn path=/trunk/; revision=7496
2003-04-19 06:04:20 +00:00
Guy Harris 02f45277ed From Thierry Andry: more filterable fields in SNMP.
svn path=/trunk/; revision=7495
2003-04-18 21:05:52 +00:00
Guy Harris d09e8e93a7 Show metrics in ARP and RTP as ticks and seconds.
An RTP information type of 0 is an update.

The compatibility flags are a bunch of flag bits; show them as such.

Fix some bitfield strings.

Sequence numbers in RTP are 4 bytes, not 2 bytes.

svn path=/trunk/; revision=7494
2003-04-18 19:57:30 +00:00
Richard Sharpe 15a665d461 Add some comments about the 0x10 bit in the Flags field of an NTcreate&X.
svn path=/trunk/; revision=7493
2003-04-18 18:07:50 +00:00
Guy Harris fdabc787ad 0x06 appears to be an opcode for VRTP redirects.
SRTP requests don't look the way the stuff I found appears to say they
look.

Fix some incorrect uses of "tvb_get_ntohl()" to fetch 16-bit values to
use "tvb_get_ntohs()" instead.

Fix some strings for flag bits.

svn path=/trunk/; revision=7492
2003-04-18 17:34:37 +00:00
Guy Harris e8a340e46b Dissect non-sequenced RTP and ARP, and dissect more of sequenced RTP.
Add Vines Echo.

Add some additional class values.

Use the length field in the Vines IP header to set the length of the
packet.

Adjust the byte order of all multi-byte integer fields in the IPC and
SPP headers.

svn path=/trunk/; revision=7491
2003-04-18 09:31:00 +00:00
Ronnie Sahlberg 4014f31bb7 Fix a problem where the RPC tap would not be called
if the PDU was short.

This was most noticeable in NFS Read Replies not generating tap events and
thus NFS RTT statistics did not count the Read procedure.

svn path=/trunk/; revision=7490
2003-04-18 06:34:42 +00:00
Ronnie Sahlberg 37e401385c Update the ip fragment reassembly so that the subdissector is only
called from the frame where the ip packet was reassembled instead of from each fragment.

For fragments, put [Reassembled in #xx] in the summary pane so it is easy
to see which fragments are successfully reassembled and which are not.

For fragments, add a "This fragment is reassembled in:xx" to the tree
pane so and make it FT_FRAMENUM so it is easy to jump top the reassembled ip packet.

svn path=/trunk/; revision=7489
2003-04-18 05:11:44 +00:00
Guy Harris 28af7d2f8f From Stephen Shelley: in the NSIS installer build, use the NET_SNMP_DIR
definition in config.nmake, rather than force the builder to update the
NSIS config file by hand.

svn path=/trunk/; revision=7488
2003-04-18 04:46:38 +00:00
Guy Harris a5e8c99294 From Stephen Shelley: remove a TODO comment that describes stuff that's
been done.

svn path=/trunk/; revision=7487
2003-04-18 04:45:00 +00:00
Guy Harris 9274527286 In Vines ARP Assignment Response packets, put the address being assigned
in the Info column.

svn path=/trunk/; revision=7486
2003-04-18 04:28:07 +00:00
Guy Harris 31db598238 Handle non-SNAP LLC Vines packets as such when capturing.
svn path=/trunk/; revision=7485
2003-04-18 03:41:39 +00:00
Guy Harris d717e90748 Add support for Vines ICP.
svn path=/trunk/; revision=7484
2003-04-18 03:40:49 +00:00
Guy Harris 6c5f3ed9c2 Add support for VINES SRTP (and a stub dissector for RTP).
svn path=/trunk/; revision=7483
2003-04-18 03:00:28 +00:00
Guy Harris a52b79ca98 Add VINES ARP support.
Shuffle the routines for subprotocols of VINES ARP into numerical order
by protocol number.

The 32-bit net/16-bit subnet fields in the VINES IP header structure
doesn't work, as the net has to be aligned on a 32-bit boundary; replace
it with a 6-byte address field.

svn path=/trunk/; revision=7482
2003-04-18 01:47:52 +00:00
Guy Harris 2020b91759 Add support for Vines IPC.
Dissect the transport control field differently for broadcast packets.

svn path=/trunk/; revision=7481
2003-04-18 00:32:47 +00:00
Guy Harris 197b9b228b Add a heuristic dissector table to Vines SPP, use it for dissecting SPP
data packets, and register the SMB dissector with it.

Dissect the Control field of SPP packets.

svn path=/trunk/; revision=7480
2003-04-17 20:30:43 +00:00
Guy Harris 044d4ae7e0 Add support for VINES-over-802.2 LLC.
Show the meaning of most of the bits in the transport control field.

Show lengths, windows, sequence numbers, and the like in decimal (that's
how Sniffer Pro shows them).

svn path=/trunk/; revision=7479
2003-04-17 19:10:17 +00:00