Commit Graph

2746 Commits

Author SHA1 Message Date
Nathan Neulinger 79434f2dcf added KRB-ERROR response dissection
svn path=/trunk/; revision=2785
2000-12-26 16:44:43 +00:00
Nathan Neulinger 5242bfc924 add tethereal_static
svn path=/trunk/; revision=2784
2000-12-26 16:44:16 +00:00
Guy Harris d46aa3d576 Add a new "tvb_strsize()" routine, which finds the size of a
NUL-terminated string, starting at a given offset.  The size includes
the terminating NUL.  If it doesn't find the terminating NUL, it throws
the appropriate exception, as either there's no terminating NUL in the
packet or there is but it's past the end of the captured data in the
packet.

Use that routine in the TFTP dissector.  As it throws an exception if
the string isn't NUL-terminated, we can just use "%s" to print option
strings; we don't need to use "%.*s" with a string length.

svn path=/trunk/; revision=2783
2000-12-25 23:48:16 +00:00
Guy Harris cac14407f4 Preferences shouldn't supposed to have blanks in their names - it can
make it a bit of a pain to set their values on the command line (you
have to quote the name).  Use underscores instead.

Give the gateway and callagent port preferences different names.

Fix up the text descriptions and labels for those preferences.

svn path=/trunk/; revision=2782
2000-12-25 09:37:35 +00:00
Guy Harris 6de8fb2070 If a PrincipalName has at least one name-string, put the first of the
name strings into the top-level tree item for the PrincipalName, along
the lines of what was done earlier.

svn path=/trunk/; revision=2781
2000-12-25 06:59:33 +00:00
Jun-ichiro itojun Hagino b56e34d396 bgp route refresh/MP capability option.
Greg Hankins <gregh@twoguys.org>

svn path=/trunk/; revision=2780
2000-12-25 05:28:40 +00:00
Nathan Neulinger 9314e65702 Added kerberos name types and lookup in PrincName dissect
Cipher: to CipherText:
ETYPE to ENCTYPE to agree with krb5 headers
Added additional preauth types

svn path=/trunk/; revision=2779
2000-12-24 22:00:55 +00:00
Guy Harris a184a9d612 Add a "tftp_strnlen()" routine that
1) checks to make sure that the terminating '\0' is found in the
	   string, and throws a BoundsError exception if it isn't (TFTP
	   packets should fit in a single frame, so if the '\0' isn't
	   found, that's an error);

	2) adds 1 to the length to include the trailing '\0';

and use it to find all string lengths, so that we properly handle short
or malformed frames.

svn path=/trunk/; revision=2778
2000-12-24 20:33:04 +00:00
Guy Harris 60f9476740 Rename "asn1_octet_string_value_decode()" to
"asn1_string_value_decode()", as it can be used for various character
string types as well.

Turn "asn1_octet_string_decode()" into "asn1_string_decode()", which
takes an additional argument giving the tag expected for the string in
question, and make "asn1_octet_string_decode()" a wrapper around it.

Clean up the ASN.1 dissection in the Kerberos dissector, making more use
of the code in "asn1.c", wrapping more operations up in macros, and
doing some more type checking.

Use "REP" rather than "RESP" in names and strings; "REP" is what the
Kerberos spec uses.

Make the routines in the Kerberos dissector not used outside that
dissector static.

Fix some problems with the dissection of strings in the Kerberos
dissector (it was extracting the data from the wrong place in the
packet).

In Kerberos V5, the "kvno" item in the EncryptedData type is optional;
treat it as such.

Treat integers as unsigned in the Kerberos dissector.

svn path=/trunk/; revision=2777
2000-12-24 09:10:12 +00:00
Guy Harris 57e4216961 Report the holding time of a CLNP packet, in seconds, as seconds plus
fractions of a second (the resolution is 1/2 second).

In the bitfield breakdown of the flags/type field of a CLNP PDU, report
the PDU type as a name rather than as an abbreviation.

svn path=/trunk/; revision=2776
2000-12-23 23:06:50 +00:00
Guy Harris 03d721afc2 Show the type/flags byte of a CLNP PDU with a subtree dissecting the
bits.

svn path=/trunk/; revision=2775
2000-12-23 21:40:22 +00:00
Guy Harris 2536d27ed3 On Linux, try to open the "any" device and, if we can open it, add it to
the end of the list of interfaces on which you can capture.

svn path=/trunk/; revision=2774
2000-12-23 19:50:36 +00:00
Guy Harris 9689805893 Dissect the payload of a CLNP ER packet as a CLNP packet, so you know
what the offending packet was.

svn path=/trunk/; revision=2773
2000-12-23 19:34:46 +00:00
Guy Harris 039805843b Add support for the DLT_LINUX_SLL capture type in the current CVS
version of libpcap; that's used on Linux for captures on the "any"
device (which captures from all interfaces simultaneously) and for
captures on devices whose link-layer type libpcap doesn't (yet) support
natively.

The spanning tree code, when checking for GV{M,R,...}P packets, must
first check whether the link-layer destination address is, in fact, an
Ethernet-style address; on Linux cooked captures, there *is* no
destination address, so it's of type AT_NONE, not AT_ETHER.

svn path=/trunk/; revision=2772
2000-12-23 08:06:16 +00:00
Nathan Neulinger d9c2256fa2 fix '#endif FRED' to '#endif /* FRED */'
svn path=/trunk/; revision=2771
2000-12-22 22:26:19 +00:00
Nathan Neulinger e7c08b87ae added a couple of msg types - in particular - ERROR response
svn path=/trunk/; revision=2770
2000-12-22 21:43:53 +00:00
Nathan Neulinger aa1cf7209e added tethereal_static target
svn path=/trunk/; revision=2769
2000-12-22 15:55:36 +00:00
Gilbert Ramirez fe8e42b58e Enable FT_BYTES dfiltering, from Ed Warnicke.
svn path=/trunk/; revision=2768
2000-12-22 12:05:38 +00:00
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