Commit Graph

2728 Commits

Author SHA1 Message Date
Gilbert Ramirez bb279839f6 Bug fixes from Ed Warnicke.
svn path=/trunk/; revision=2767
2000-12-20 05:45:27 +00:00
Gilbert Ramirez 5c80670524 Call CHECK_DISPLAY_AS_DATA() for proto_ftp_data as well.
svn path=/trunk/; revision=2766
2000-12-19 02:57:49 +00:00
Guy Harris b5b2fbe783 X.25 over TCP support, from Paul Ionescu.
Also, update his e-mail address.

svn path=/trunk/; revision=2765
2000-12-17 07:38:14 +00:00
Richard Sharpe 8c47761ae4 Patches to prevent problems under Windows when time formats are negative.
Make sure that if _gtime is null, a bad format message returned.

Also noticed that I am going to have to do something about Unicode strings soon and the SMBopenX dissect is slightly wrong ... Oh well, it is the Xmas break soon :-) No rest for the Wicca'd (please don't interpret that as a statement of my religious affiliation, it is just a cute saying :-)

svn path=/trunk/; revision=2764
2000-12-17 03:48:44 +00:00
Gilbert Ramirez 297e84fc24 Match Selected works better with FT_STRING variables.
From Ed Warnicke <hagbard@physics.rutgers.edu>

svn path=/trunk/; revision=2763
2000-12-15 13:53:11 +00:00
Gerald Combs d4db37e5b5 Add the relative time to the frame tree, at the request of Manfred Young.
svn path=/trunk/; revision=2762
2000-12-15 03:30:21 +00:00
Guy Harris ada46b7434 Check the checksum on GRE packets, if possible and if the Checksum
Present flag is set.

svn path=/trunk/; revision=2761
2000-12-15 00:03:09 +00:00
Guy Harris 0f68b651b1 Check the checksum on OSPF packets, if possible.
svn path=/trunk/; revision=2760
2000-12-14 22:23:15 +00:00
Guy Harris 4f140107f9 Check the checksum on ICMPv6 packets, if possible.
svn path=/trunk/; revision=2759
2000-12-14 21:45:12 +00:00
Guy Harris d11a675ff5 Fix a typo in a comment.
svn path=/trunk/; revision=2758
2000-12-14 21:44:01 +00:00
Guy Harris 93975466e6 Set the "fragmented" field of the "packet_info" structure based on
whether the packet has any fragmentation headers or not.

svn path=/trunk/; revision=2757
2000-12-14 18:56:22 +00:00
Gilbert Ramirez 80237dcb08 Include winsock.h on windows so that htons will be defined.
svn path=/trunk/; revision=2756
2000-12-14 17:51:51 +00:00
Guy Harris e9904948d6 Mobile IPv6 support, from Martti Kuparinen.
svn path=/trunk/; revision=2755
2000-12-14 08:35:08 +00:00
Guy Harris 13ca5c39d7 PPP patches from Burke Lau to:
add FCS checking;

	support Cisco HDLC format in the PPP dissector;

	handle MPLS-over-PPP.

svn path=/trunk/; revision=2754
2000-12-14 08:20:31 +00:00
Ashok Narayanan 33474c33cc Added support for Router-Alert IP option (RFC2113)
svn path=/trunk/; revision=2753
2000-12-13 16:38:20 +00:00
Guy Harris 1eaedf15b5 Don't check the checksum of ICMP datagrams that are fragmented
(unlikely, perhaps even forbidden, but not impossible).

svn path=/trunk/; revision=2752
2000-12-13 02:43:32 +00:00
Guy Harris 677a1c6dc2 Add code to check the checksums of TCP segments and UDP datagrams;
replace the existing checksummer with a modified version of the BSD
checksumming code.  Add a flag to the "packet_info" structure to
indicate that a packet is the first fragment of a fragmented datagram,
so that the checksummers won't try to checksum those.

(It doesn't seem to add a lot of CPU overhead, so we don't introduce a
flag to disable it, yet.  Further checks may be necessary to see whether
the overhead is just swamped by other overheads when scanning through a
capture dissecting all frames, or if it truly is negligible.)

Make the Boolean preference option controlling whether to make the
top-level protocol tree item for TCP display a packet summary static to
the TCP dissector (it doesn't need to be accessible outside the TCP
dissector).

svn path=/trunk/; revision=2751
2000-12-13 02:24:23 +00:00
Jun-ichiro itojun Hagino 10022aee67 print message ID in isakmp header
svn path=/trunk/; revision=2750
2000-12-12 09:57:05 +00:00
Jun-ichiro itojun Hagino 0aa86c26f2 remove incorrect bound check. the check can fail on legal packet, at the
very end of the packet.  may need to revisit.

svn path=/trunk/; revision=2749
2000-12-12 08:25:37 +00:00
Gilbert Ramirez a36915da20 Fix for pppdump buffer-overflow check.
From Daniel Thompson <daniel.thompson@st.com>

svn path=/trunk/; revision=2748
2000-12-09 03:02:43 +00:00
Guy Harris 17c1bf2a59 When printing an address mask in hex, zero-pad it, don't blank-pad it.
svn path=/trunk/; revision=2747
2000-12-08 22:53:08 +00:00
Guy Harris a1cd319b54 Break out the bits in the NBIPX "connection control" field.
svn path=/trunk/; revision=2746
2000-12-06 04:19:44 +00:00
Richard Sharpe f8aed7c659 Fix egregious error with AF_ types. I relied on a Linux header file rather
than checking RFC1700.

svn path=/trunk/; revision=2745
2000-12-04 13:40:11 +00:00
Guy Harris a3fa5541a8 Add a "col_clear()" routine, to clear a column; it appears (and it
doesn't just seem to be a profiling artifact) that, at least on FreeBSD
3.4, it's significantly more efficient to clear out a column by stuffing
a '\0' into the first byte of the column data than to do so by copying a
null string (I guess when copying one byte, the fixed overhead of the
procedure call and of "strcpy()" is significant).

Have the TCP dissector set the Protocol column, and clear the Info
column, before doing anything that might cause an exception to be
thrown, so that if we *do* get an exception thrown, the frame at least
shows up as TCP.

Instead of, in the TCP dissector, constructing a string and then
stuffing it into the Info column, just append to the Info column, which
avoids one string copy.

Pass a "frame_data" pointer to dissectors for TCP and IP (and PPP)
options, so they can use it to append to the Info column.

svn path=/trunk/; revision=2744
2000-12-04 06:37:46 +00:00
Guy Harris 35bf0b2abc Don't loop infinitely if we see a Host Address or unknown Forwarding
Equivalence Class.

Set "pinfo->current_proto", so that if we run past the end of the data
the problem is noted as being with LDP.

svn path=/trunk/; revision=2743
2000-12-04 06:05:49 +00:00
Guy Harris e152085fa8 Update a comment.
svn path=/trunk/; revision=2742
2000-12-03 22:53:09 +00:00
Guy Harris 79d456e315 Declare "proto_malformed" in "packet-frame.h", as "packet-frame.c"
exports it.

Make the pointer that points to the GMemChunk for per-frame data static
to "epan/packet.c", as it's not used outside "epan/packet.c".

svn path=/trunk/; revision=2741
2000-12-03 22:32:10 +00:00
Guy Harris 6b744058c3 Nothing in "packet.c" uses the global "cfile", so there's no need to
declare it there.

svn path=/trunk/; revision=2740
2000-12-03 22:26:26 +00:00
Guy Harris 35b1907af8 Pull the code to set the fields in the "cfile.cinfo" structure into a
common routine to initialize a "column_info()" structure, shared by
Ethereal and Tethereal.

svn path=/trunk/; revision=2739
2000-12-03 22:12:21 +00:00
Guy Harris 6c4de764d1 Put the "-s" flag into the usage message for editcap.
svn path=/trunk/; revision=2738
2000-12-03 21:11:05 +00:00
Guy Harris 6e8a797df4 "dissect_ppp()" isn't called directly from outside of "packet-ppp.c", so
make it static.

svn path=/trunk/; revision=2737
2000-12-03 09:59:49 +00:00
Guy Harris b875b93005 Add the standard "CHECK_DISPLAY_AS_DATA()" call.
svn path=/trunk/; revision=2736
2000-12-03 09:47:18 +00:00
Guy Harris 7a2cd91595 Register "dissect_nbipx()", and have the IPX dissector look up its
handle and call it through the handle.  Make it static; this renders
"packet-nbipx.h" unnecessary.

Get rid of the "tvb_compat()" call in the IPX dissector - it calls all
dissectors through handles or lookup tables, and thus any
backwards-compatibility stuff is done by the code in libethereal.

svn path=/trunk/; revision=2735
2000-12-03 09:18:20 +00:00
Richard Sharpe 6d30ba2b97 Stealing time again to compulsively code this beast.
Still more TLVs to code ...

svn path=/trunk/; revision=2734
2000-12-03 02:37:56 +00:00
Richard Sharpe 8482bcd0ab Dissect Common Hello Params TLV ...
Still more work to do though ...

svn path=/trunk/; revision=2733
2000-12-02 14:23:04 +00:00
Guy Harris c06489bae3 Add the relevant "CHECK_DISPLAY_AS_DATA()" call.
svn path=/trunk/; revision=2732
2000-12-02 09:09:25 +00:00
Guy Harris 3f658551e5 The second argument to "proto_register_protocol()" is a name to be used
in filters, and should be all-lower-case.

svn path=/trunk/; revision=2731
2000-12-02 08:56:40 +00:00
Guy Harris 0ab8e159b9 Some tvbuffified dissectors weren't setting "pinfo->current_proto", so
that if they threw an exception, the wrong protocol would be blamed.
Add the missing assignments.

Clean up the extraction of the null-encapsulation header.

svn path=/trunk/; revision=2730
2000-12-02 08:41:08 +00:00
Guy Harris 75acffe70c Clean up the handling of MIME headers.
Handle the Content-Length: MIME header, so that, if there's a
Content-Length: header, we only process as RTSP payload the amount of
data specified by that header.

Handle frames with more than one RTSP message in them (the previous
change allows us to do so).

svn path=/trunk/; revision=2729
2000-12-02 06:05:29 +00:00
Gilbert Ramirez 70d52fa4e8 Comment out some unused variables.
svn path=/trunk/; revision=2728
2000-12-01 15:12:25 +00:00
Richard Sharpe 7c5911a9c6 Fix one small type WRT Forwarding Equivalence Classes and handle the
illegal padding by trying to skip it.

svn path=/trunk/; revision=2727
2000-12-01 09:40:12 +00:00
Richard Sharpe 1aa04e3836 A much more complete LDP dissector.
Still more work to do though, as I want to dissect the various message
types correctly, and to dissect TLVs much more as well.

The dissector currently handles multiple messages in a PDU, as the trace
file I have has some of those.

I think that the equipment that generated the LDP trace I have has a bug.

It seems to think that TLVs must be alligned on 4-byte boundaries, while the
spec (draft) says that there are no alignment requirements :-)

Don't know what generated the trace :-)

svn path=/trunk/; revision=2726
2000-12-01 09:05:46 +00:00
Guy Harris a810e733e6 NFS V4 support, from Mike Frisch.
svn path=/trunk/; revision=2725
2000-12-01 00:38:20 +00:00
Richard Sharpe 749e87cb6f Step-wise improvement on this thing ... next to dissect each message type
more fully.

Apparently, LDP allows multiple messages per PDU. Has anyone seen such an
implementation?

svn path=/trunk/; revision=2724
2000-11-30 20:27:40 +00:00
Uwe Girlich d27c24579a Small code optimization to make it possible to compile on ReliantUNIX.
svn path=/trunk/; revision=2723
2000-11-30 14:09:14 +00:00
Guy Harris 060587a3a5 Fix up the handling of type/length fields in ATMARP.
svn path=/trunk/; revision=2722
2000-11-30 10:42:50 +00:00
Guy Harris 60b1bed605 GVRP dissector, from Kevin Shi.
svn path=/trunk/; revision=2721
2000-11-30 09:31:52 +00:00
Richard Sharpe 8af1fc6550 More work in progress on the Label Distribution Protocol dissector ...
Bit more work to do, and a list of TLV values, and I am away :-)

svn path=/trunk/; revision=2720
2000-11-30 06:24:53 +00:00
Guy Harris 50f6a061a7 In "tvb_find_guint8()" and "tvb_pbrk_guint8()", correctly set the limit
of the search if the caller-supplied limit goes past the end of the
tvbuff - the limit should just be what remains in the tvbuff after the
specified starting offset.

In "tvb_find_line_end_unquoted()", after searching for the next
interesting character, check the value we got back from that search, in
"char_offset", not whatever happens to be in "cur_offset", to see if we
found a character.

svn path=/trunk/; revision=2719
2000-11-30 06:11:32 +00:00
Gilbert Ramirez a0729a25dd In tvb_set_reported_length(), don't assert on
reported_length <= tvb->reported_length, but throw a ReportedBoundsError
if that condition is not met.

svn path=/trunk/; revision=2718
2000-11-30 03:24:16 +00:00