Commit Graph

3587 Commits

Author SHA1 Message Date
Guy Harris e78964cea0 Get rid of a now-unused variable; it's the only variable of type
"isis_hdr_t", so we can get rid of the definition of that as well.

svn path=/trunk/; revision=3630
2001-07-02 02:09:26 +00:00
Guy Harris 6b6a4d8379 Fetch fields from the ISIS header one at a time, rather than snarfing
the entire ISIS header into a structure - that way, if we run out of
packet data in the middle of the header, we at least dissect the stuff
for which we have packet data.

svn path=/trunk/; revision=3629
2001-07-02 01:46:22 +00:00
Guy Harris 20908f55cd Fetch values only once from the tvbuff, and save them in a variable,
rather than calling the tvbuff accessor multiple times.

Use "proto_tree_add_item()" for fields whose values we don't care about
in the code.

BTW, apologies to Hannes Gredler - the changes with

	More IS-IS updates.

	HELLO message support in RSVP.

were from him, but I forgot to put that in the checkin message.

svn path=/trunk/; revision=3628
2001-07-02 01:41:25 +00:00
Guy Harris 5dc8f5c1c1 Fix the file name in the comment, and update Gerald's e-mail address.
svn path=/trunk/; revision=3627
2001-07-02 00:46:21 +00:00
Guy Harris 7ee4a18804 Tvbuffified ISIS dissector, from Ronnie Sahlberg.
svn path=/trunk/; revision=3626
2001-07-02 00:19:34 +00:00
Guy Harris 6bdba27db5 Fix a typo, discovered whilst testing the tvbuffified ISIS dissector
(the tvbuffified version is correct here; I'll check this in for
reference purposes, even though I plan to check in the tvbuffified
version later).

svn path=/trunk/; revision=3625
2001-07-01 20:37:02 +00:00
Guy Harris 7b39009cde From Ronnie Sahlberg: fix the AFS macros to parse the element count in
AFSCBFids and AFSCBs as a 32-bit integer rather than an 8-bit integer.

svn path=/trunk/; revision=3624
2001-06-30 09:32:44 +00:00
Guy Harris 93fd74d75e From Frank Singleton: when GIOP sub-dissectors register themselves, have
them supply a protocol ID, and have the code that calls the
subdissectors check if the protocol is enabled and, if it isn't, not
call the sub-dissector.

svn path=/trunk/; revision=3623
2001-06-29 20:49:29 +00:00
Guy Harris ec281bdf71 MSNIP support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3622
2001-06-29 18:55:50 +00:00
Guy Harris 556a11ad45 Create a routine to do the tvbuff-length-adjusting and
"pinfo->{len,captured_len}"-adjusting currently done by the IP
dissector, make the IP dissector call that rather than doing the work
itself, make the IPv6 dissector call that rather than just adjusting the
tvbuff length itself, and make the IPX dissector call that rather than
just adjusting "pi.{len,captured_len}" itself.

This cleans things up a bit, and causes trailers to be properly reported
in IPX-over-Ethernet frames.

svn path=/trunk/; revision=3621
2001-06-29 09:46:54 +00:00
Guy Harris c94f0e130b Update Gerald's e-mail address.
svn path=/trunk/; revision=3620
2001-06-29 09:42:45 +00:00
Guy Harris aca26c6f02 Include <string.h> to get "memcmp()" and "memcpy()" declared.
svn path=/trunk/; revision=3619
2001-06-28 19:15:11 +00:00
Guy Harris 0ffd5686d1 Updates from Mark Burton.
svn path=/trunk/; revision=3618
2001-06-28 08:05:26 +00:00
Gilbert Ramirez c70cdb456f Handle a few of the NCP types from the traces sent in by Pete,
<psailor@uswest.net>

svn path=/trunk/; revision=3617
2001-06-28 02:42:48 +00:00
Guy Harris 68f6c4d9b9 Improved support for CORBA IDL "fixed" types, and other updates, from
Frank Singleton.

svn path=/trunk/; revision=3616
2001-06-27 20:41:16 +00:00
Guy Harris 6c26a85435 Improved support for CORBA IDL "fixed" types, and fix to handling of
explicit and heuristic GIOP dissectors, from Frank Singleton.

svn path=/trunk/; revision=3615
2001-06-27 20:38:56 +00:00
Guy Harris db974f9b06 MRDISC support, from Ronnie Sahlberg.
svn path=/trunk/; revision=3614
2001-06-27 20:19:19 +00:00
Guy Harris fafefda449 Don't offer the ability to edit capture filters if Ethereal wasn't
linked with libpcap.

svn path=/trunk/; revision=3613
2001-06-27 10:00:14 +00:00
Guy Harris cc9df27294 Fix a problem that shows up if you build without libpcap.
svn path=/trunk/; revision=3612
2001-06-27 08:36:08 +00:00
Guy Harris c932345421 Replace "--enable-pcap" with "--with-pcap", and if an argument is
specified to "--with-pcap", add that directory to the include file and
library search paths, so that you can use "--with-pcap=DIR" to search
for libpcap in a directory other than the standard ones (either because
it was installed somewhere other than under "/usr" or "/usr/local", or
because you want to use a special version you've installed rather than
the standard one).

svn path=/trunk/; revision=3611
2001-06-27 07:47:50 +00:00
Guy Harris 032f16e2eb If length arguments to "%*s" aren't of type "int", cast them to "int",
as that's what C requires them to be.

svn path=/trunk/; revision=3610
2001-06-26 20:52:19 +00:00
Guy Harris 0b36ed83c6 Add HFILL to explicitly fill in some additional structure members.
svn path=/trunk/; revision=3609
2001-06-26 20:50:30 +00:00
Jun-ichiro itojun Hagino 3242b12d40 indentation consistencies.
svn path=/trunk/; revision=3608
2001-06-26 17:31:36 +00:00
Guy Harris 43d40e561c Remove second entry for Michael Rozhavsky - "Additional OSPF LSA types
and opaque-options flag" falls under the broader heading of "OSPF
enhancements".

svn path=/trunk/; revision=3607
2001-06-25 08:36:48 +00:00
Guy Harris 25c2cb0ec0 A better fix - we don't use "assigned" if the action was E_DECODE_NO, so
don't bother fetching it if the action is E_DECODE_NO; that means we can
also avoid fetching the currently selected row if the action is
E_DECODE_NO, so the fact that we've cleared the selection if the action
is E_DECODE_NO doesn't matter.

svn path=/trunk/; revision=3606
2001-06-25 08:10:38 +00:00
Guy Harris 9c046f18a3 In "decode_network()", get the information about the currently selected
row *before* calling "decode_simple()", as, if the "Do not decode" radio
button is selected, "decode_simple()" will clear the current selection.

svn path=/trunk/; revision=3605
2001-06-25 07:57:50 +00:00
Guy Harris d4c81a142c More IS-IS updates.
HELLO message support in RSVP.

svn path=/trunk/; revision=3604
2001-06-23 19:45:12 +00:00
Guy Harris fb82ca171d Include "strerror.h" only on platforms that don't declare it in a
standard header file, so we get the platform's declaration (which may
include, for example, "dllexport"-type declarations) rather than the
"workaround for platforms that lack it" declaration.

svn path=/trunk/; revision=3603
2001-06-23 19:14:42 +00:00
Guy Harris 92d546499e "index()" is non-standard, and MSVC++ 6.0 complained about it; the ANSI
C standard has "strchr()" instead, so use it.

svn path=/trunk/; revision=3602
2001-06-23 19:10:27 +00:00
Gilbert Ramirez 39b0e82f63 Support CIDR notation in IPv4 address filtering.
svn path=/trunk/; revision=3601
2001-06-22 16:29:15 +00:00
Guy Harris b3c464723c Allow the 802.11 management-frame protocol to be disabled.
Don't bother doing the WEP processing and child-tvbuff construction for
frames other than management and data frames, as they have no payload to
be WEP-encrypted or dissected.

svn path=/trunk/; revision=3600
2001-06-22 08:12:11 +00:00
Guy Harris 210a722eca Dissect the payload of a management frame as a separate protocol, so
that you can open up that protocol without opening up the 802.11 MAC
header; this can save some screen real estate.

Make the tree item for all the WEP parameters a text item, rather than a
"string" field with a null string pointer, as "strings" with null string
pointers give the filtering code gastric distress.

Dissect the WEP initialization vector as an FT_UINT24 (as it's a 3-byte
field), and dissect the key ID as part of an FT_UINT8 (as it's in an
8-bit byte).

After dissecting the frame control field, dissect the rest of the header
in one switch statement, and then:

	handle WEP-encrypted frames with common code for all frame
	types;

	handle the payload of other frames.

(If we can supply the relevant keys to Ethereal, we could perhaps add
code to decrypt the WEP payload and then dissect the decrypted payload
the same way we dissect un-encrypted payloads.)

svn path=/trunk/; revision=3599
2001-06-22 07:46:25 +00:00
Guy Harris 31f2169275 Fix up some incorrect handling of the TO_DS and FROM_DS flags by
#defining all the bits in the flags field, and using those #defines in
the macros to test the flag fields, the macros fot the data address
types, the value_string table for the data frame to/from DS
combinations, and the bitfields for the flag bits.

svn path=/trunk/; revision=3598
2001-06-22 06:03:50 +00:00
Guy Harris 8e50692576 Fix a typo.
svn path=/trunk/; revision=3597
2001-06-21 22:35:33 +00:00
Guy Harris 81a6c19ccf M2PA support, from Jeff Morriss.
svn path=/trunk/; revision=3596
2001-06-21 22:25:53 +00:00
Uwe Girlich b966930fb5 some more dissectors of Uwe Girlich added
svn path=/trunk/; revision=3595
2001-06-21 15:18:11 +00:00
Uwe Girlich 83c16fabb0 new source files packet-quakeworld.c and packet-quake2.c added
svn path=/trunk/; revision=3594
2001-06-21 15:16:43 +00:00
Uwe Girlich 2d0a2ec04c initial checkin of the Quake II network protocol dissector
svn path=/trunk/; revision=3593
2001-06-21 15:15:57 +00:00
Uwe Girlich f4f5e0c4d4 initial checkin of the QuakeWorld network protocol dissector
svn path=/trunk/; revision=3592
2001-06-21 15:15:02 +00:00
Uwe Girlich 1b971dbfae signed/unsigned warning corrected
the server port is now configurable via preferences
code reformatting

svn path=/trunk/; revision=3591
2001-06-21 15:13:42 +00:00
Guy Harris 5748457c94 Get rid of an unused #define.
Make routines not used outside this module static.

Make "find_header_length()" return the correct value for management and
control frames.

svn path=/trunk/; revision=3590
2001-06-21 06:59:47 +00:00
Guy Harris eea200a485 Don't use "tvb_get_ptr()" and "pletohs()" just to fetch a 16-bit
integral value from a packet - "tvb_get_letohs()" can do that just fine.

Don't use "tvb_get_ptr()", casting the result to a "guint16 *", and
dereferencing that pointer, either: that doesn't handle byte order
correctly, and it may fail if the pointer isn't aligned on a 2-byte
boundary.

For that matter, don't just use "tvb_get_ptr()" and dereference the
result to get an 8-bit quantity.

Use "proto_tree_add_item()" in many places where it's possible.

Reuse the results of "tvb_get_ptr()" calls when possible.

Show the fragment number and sequence number in decimal - they're just
ordinals.

Fix the blurb for the sequence number field.

svn path=/trunk/; revision=3589
2001-06-21 06:36:44 +00:00
Guy Harris f492449c58 Make sure the top-level 802.11 item covers the entire frame.
Give the type field values names, rather than just showing them as 0, 1,
and 2.

svn path=/trunk/; revision=3588
2001-06-20 23:58:57 +00:00
Guy Harris a9eb080410 Make the type/subtype field the very first entry in the protocol tree,
and put it under the top-level 802.11 protocol item, so you don't have
to open the frame control field to see it.

Rename the variable for it, and the value_string array for it, to
indicate that it's made out of the type and subtype fields.

svn path=/trunk/; revision=3587
2001-06-20 23:29:16 +00:00
Guy Harris 693ff9fecb All four data frame types are now handled with identical code, so,
instead of having four identical copies of that code in switch
statements, just handle all four of them with the same case.

svn path=/trunk/; revision=3586
2001-06-20 23:12:05 +00:00
Guy Harris 49a931ee69 Put the combined type/subtype into the protocol tree, so you can look
for all Association Request frames, or all frames except for
Clear-to-send frames, or....

Compute the composed frame type early in the dissection process, and set
the Info column as soon as you've done that, rather than doing it in the
later switch statement.

svn path=/trunk/; revision=3585
2001-06-20 23:04:36 +00:00
Guy Harris 9b8bfbe171 If it's not a protocol, it doesn't belong at the top level of the
protocol tree; not only is putting it at the top level a little weird,
it upsets the heck out of the protocol-statistics code, causing it to
abort.  Put the fixed and tagged parameters under the top-level entry
for 802.11 (where one of the fixed-parameters entries already was).

Call the top-level item just "IEEE 802.11", not "IEEE 802.11 Header", as
it includes management-frame information.

svn path=/trunk/; revision=3584
2001-06-20 22:26:07 +00:00
Guy Harris ff0d7ee9c4 Clean up a string.
svn path=/trunk/; revision=3583
2001-06-20 06:22:33 +00:00
Guy Harris 65d0b1e526 Fix "COOK_ADDR_SELECTOR()" to extract the 2 bits that determine the
interpretation of the address fields, in DATA_ADDR_T{1,2,3,4} format.

Clean up a bunch of other macros to enclose their argument in
parentheses.

Clean up "find_header_length()" - it only needs to take the frame
control field of the frame as an argument, and should just check whether
"COOK_ADDR_SELECTOR()" returns DATA_ADDR_T4.

"tofrom_ds" is a value_string table, not a true_false_string table, so
wrap it in "VALS()", not "TFS()".

Don't fetch the header length in N different places in the main
dissector - just fetch it once and use it throughout.

svn path=/trunk/; revision=3582
2001-06-20 06:15:07 +00:00
Guy Harris 5d8b3d5659 Catch TLVs with bogus lengths (i.e., less than the fixed-length header
size); otherwise, we run the risk of looping forever.

svn path=/trunk/; revision=3581
2001-06-20 05:18:36 +00:00