Commit Graph

3180 Commits

Author SHA1 Message Date
Ed Warnicke c832ac2c35 Moved the value_string structures and function from packet.{c,h} into
a separate value_string.{c,h}.

svn path=/trunk/; revision=3221
2001-04-01 03:18:41 +00:00
Ed Warnicke 7e26a1681c Added to_str.obj
svn path=/trunk/; revision=3220
2001-04-01 02:52:10 +00:00
Ed Warnicke c17e3b00c6 Moved various to_str files from packet.{c,h} to a separate
to_str.{c,h}.  Resolved strange situation where ipx_addr_to_str was
declared in packet.h but defined in packet-ipx.c by moving
ipx_addr_to_str, ipxnet_to_str_punct, and ipxnet_to_str from packet-ipx.{c,h}   to to_str.{c,h}

svn path=/trunk/; revision=3219
2001-04-01 02:47:56 +00:00
Ed Warnicke 3b6554c069 removed #include "print.h" and #include "file.h" from packet.c
svn path=/trunk/; revision=3218
2001-03-31 23:02:31 +00:00
Ed Warnicke 364fe90e17 removed #include "util.h" from filesystem.c and resolv.c
svn path=/trunk/; revision=3217
2001-03-31 22:53:09 +00:00
Ed Warnicke a73d099837 removed #include "prefs.h" from epan/plugins.h
svn path=/trunk/; revision=3216
2001-03-31 22:36:21 +00:00
Guy Harris 734e904045 In various Frame Relay and PPP routines that set the length of the
top-level protocol tree items, use "offset" to set the length, rather
than fetching the length of the item - "offset" is the offset from the
beginning of the Frame Relay or PPP header just past the last field
processed in that header, so it indicates how much of the header we've
processed.

svn path=/trunk/; revision=3215
2001-03-31 10:35:54 +00:00
Guy Harris 9c1502e3e0 BACNET support, from Hartmut Mueller.
svn path=/trunk/; revision=3214
2001-03-31 10:13:13 +00:00
Guy Harris 6556578270 Call the encapsulation described in Annex E of Q.933 "Q.933
Encapsulation", not "IETF Encapsulation" - RFC's 1490 and 2427 include
stuff from that appendix, but say that Annex E is the authoritative
source for that information.

Include the second byte of the Cisco HDLC type in the top-level protocol
tree item.

svn path=/trunk/; revision=3213
2001-03-30 11:14:41 +00:00
Guy Harris 14b9ab8134 Fix a case where we were putting a 1-byte field into the tree with a
length of 0.

svn path=/trunk/; revision=3212
2001-03-30 11:03:29 +00:00
Guy Harris a8cbb073d4 NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,
respectively, not Q.931 and Q.2931, in Frame Relay.

When dissecting Q.933-style multiprotocol encapsulated Frame Relay
frames, use the "osinl" dissector table to check for OSI network layer
protocols, include the NLPID in the tvbuff you hand to
"dissector_try_port()" with that dissector table, and put the NLPID into
the protocol tree as an invisible item - the NLPID is considered part of
the PDU for those protocols, so you have to include it in the tvbuff,
and the dissector will put it into the protocol tree.

Also, make sure the top-level entry for the Frame Relay protocol
includes all the bytes preceding the payload, and none of the payload
bytes.

Export a routine to do Q.933-style dissection, and have the WCP
dissector call it, rather than duplicating that code in the WCP
dissector.

Don't register OSI network layer protocols with the "fr.ietf" dissector
table; it's now sufficient to register them with the "osinl" dissector
table, as the Frame Relay dissector now checks that.

Get rid of unnecessary checks for protocols being enabled (if the
dissector is always called through handles or dissector tables, the
common code for handles and dissector tables will do the checks for
you).

Get rid of some unnecessary #includes.

svn path=/trunk/; revision=3211
2001-03-30 10:51:50 +00:00
Guy Harris 4f61e8c410 Q.931 protocol discriminators aren't, at least as I read Q.931, the same
as ISO/IEC TR 9577 protocol identifiers, even if they may, in some
cases, use the same value for the same protocol.

svn path=/trunk/; revision=3210
2001-03-30 07:57:38 +00:00
Guy Harris a65579287d Call the capture routine for PPP-in-HDLC-like-framing (RFC 1662) the
"ppp_hdlc" capture routine.

svn path=/trunk/; revision=3209
2001-03-30 06:15:47 +00:00
Guy Harris 949888c04a Call the dissector for PPP-in-HDLC-like-framing (RFC 1662) the
"ppp_hdlc" dissector, and call the dissector for "raw" PPP (just RFC
1661, no HDLC encapsulation) the "ppp" dissector.

Have the common routine used by both those dissectors take the offset in
the tvbuff of the PPP protocol field as an argument, rather than
assuming that the protocol field begins at the beginning of the tvbuff,
so we don't have to construct a new tvbuff in the
PPP-in-HDLC-like-framing dissector.

Use the PPP dissector, not the PPP-in-HDLC-like-framing dissector, for
PPP over Frame Relay - there's no HDLC header in PPP over Frame Relay,
at least according to

	http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/120newft/120t/120t1/pppframe.htm

svn path=/trunk/; revision=3208
2001-03-30 06:10:54 +00:00
Guy Harris e30bc52b6a Have "dissect_ppp_stuff()" set the Protocol column for unknown
protocols; this obviates the need for "dissect_ppp()" to look at the
protocol field at all.

Have "dissect_ppp_stuff()" add the length of the protocol field to the
length of the top-level protocol tree item, as only it knows how long
the field is.

Have "dissect_mp()" call "dissect_ppp_payload()", rather than
duplicating what "dissect_ppp_payload()" does itself.

Don't fetch the address and control fields in "dissect_ppp()" until
you're ready to put them into the protocol tree.

svn path=/trunk/; revision=3207
2001-03-29 09:18:34 +00:00
Guy Harris 41904dc303 Add WCP to the list of Ethernet types in "etype_vals[]", and add
"compressed" to the list of NLPIDs in "nlpid_vals[]".

Use "nlpid_vals" for the Frame Relay NLPID field.

svn path=/trunk/; revision=3206
2001-03-29 08:05:07 +00:00
Guy Harris d11b311992 Fix a typo.
Put in a comment about NLPIDs.

svn path=/trunk/; revision=3205
2001-03-29 07:46:08 +00:00
Guy Harris 1eadf2b520 An NLPID of 0xb0 is defined by ISO/IEC TR 9577 to be "Data compression
protocol"; give it a more generic name than NLPID_WCP.

svn path=/trunk/; revision=3204
2001-03-29 06:09:50 +00:00
Gilbert Ramirez 9bda102f83 Change name of "Last-Protocol" columns to "End" so that there's
a better chance of them fitting horizontally into the window, for
users of small screens.

svn path=/trunk/; revision=3203
2001-03-29 04:21:35 +00:00
Guy Harris d8f688ea26 Use "proto_tree_add_boolean_hidden()", not
"proto_tree_add_item_hidden()", to add the "checksum bad" flags to
packets; the value should be "TRUE", not the numerical value of the
checksum field.

svn path=/trunk/; revision=3202
2001-03-28 21:33:31 +00:00
Olivier Abad fe0e0fef21 Replace proto_tree_add_item_hidden with proto_tree_add_boolean_hidden to
fix a crash found by Heikki Vatiainen when adding the hf_icmpv6_checksum_bad
field.

svn path=/trunk/; revision=3201
2001-03-28 21:24:15 +00:00
Guy Harris e8775b6c34 Handle, in the Q.931 heuristic dissector, the case where TPKT isn't
enabled.

Fix comments to explain that a return of -1 from "dissect_tpkt_header()"
means "TPKT wasn't enabled".

svn path=/trunk/; revision=3200
2001-03-28 08:06:07 +00:00
Guy Harris c00e9c43dc Support for TPKT being used for its original purpose (TCP port > 102,
containing OSI transport layer PDUs).

Enable the Q.931-inside-TPKT code (but not the H.225 stuff, as that
requires Andreas Sikkema's H.225 dissector).  Update it to match his
current modified Q.931 dissector.

svn path=/trunk/; revision=3199
2001-03-28 07:49:41 +00:00
Guy Harris 28531d2efd If the IP header length is < 20, don't try to dissect the header (other
than, well, dissecting the header length field), just show the packet
has having a bogus IP header length.

svn path=/trunk/; revision=3198
2001-03-28 06:20:22 +00:00
Guy Harris 31cb40ce44 Fix a comment.
svn path=/trunk/; revision=3197
2001-03-27 08:00:00 +00:00
Guy Harris c58b7b49b5 Make "comp_info_str" static in Ethereal - there's no need for it outside
"gtk/main.c" in Ethereal.

Add the GLib version to it in Ethereal, and put in the GLib version
rather than the GTK+ version in Tethereal (which isn't linked with
GTK+...).

Make it a GString; this makes the code to construct it slightly less
ugly, especially now that we're putting the GLib version in.

Fix the code for the "-D" flag in Tethereal to compile in a no-libpcap
version (in a no-libpcap version, it just says that this version of
Tethereal wasn't compiled with capture support).

svn path=/trunk/; revision=3196
2001-03-27 06:48:12 +00:00
Guy Harris f380fba2b1 There's no "-D" option to Ethereal - remove the "D" from the getopt flag
list argument.

svn path=/trunk/; revision=3195
2001-03-27 06:19:30 +00:00
Guy Harris 40ba2e9e61 Give Tethereal a "-D" flag, inspired by WinPcap's "-D" flag, which
prints a list of all network interfaces it found on which it can capture
(the same list as the one that shows up in the "Interface" combo box in
Ethereal's "Capture Preferences" dialog).

svn path=/trunk/; revision=3194
2001-03-27 06:16:11 +00:00
Guy Harris 7d274106ec Added the created tvbuff into the original tvbuff chain so clean-up is
performed.

svn path=/trunk/; revision=3193
2001-03-27 02:01:31 +00:00
Jeff Foster 963080eb33 Added the created tvbuff into the original tvbuff chain so clean-up is performed.
svn path=/trunk/; revision=3192
2001-03-26 18:55:27 +00:00
Jeff Foster 486d964200 Change proto_item_add_subtree to test for NULL pi value and return NULL.
This is the same behavior as the proto_tree_add routines with NULL tree values.

svn path=/trunk/; revision=3191
2001-03-26 17:58:33 +00:00
Nathan Neulinger 6f5497ef8a misc afs/rx updates - more dissection, etc.
svn path=/trunk/; revision=3190
2001-03-26 15:27:55 +00:00
Guy Harris 92e96d7e9f GUI code fixes from Eduardo P�rez Ureta.
svn path=/trunk/; revision=3189
2001-03-26 10:28:34 +00:00
Gilbert Ramirez 16358126d5 Create dialogue box as top-level window, not transient window.
svn path=/trunk/; revision=3188
2001-03-26 03:02:57 +00:00
Guy Harris 1b6b985063 Tvbuffify the ICQ dissector.
svn path=/trunk/; revision=3187
2001-03-25 01:52:16 +00:00
Guy Harris 51aa38785a Get rid of extra definition of "byte_nb_ptr"; it's defined in
"gtk/main.c", and declared in "gtk/gtkglobals.h".

The last argument to "gtk_object_set_data()" is a "gpointer"; cast it to
that.

svn path=/trunk/; revision=3186
2001-03-24 23:57:12 +00:00
Guy Harris 92a7d9b2eb Fix typos in comments.
svn path=/trunk/; revision=3185
2001-03-24 23:53:07 +00:00
Guy Harris d0608379b3 Always hand "print_line()" a string that ends with "\n".
svn path=/trunk/; revision=3184
2001-03-24 23:49:14 +00:00
Guy Harris 6e05db37f9 Put a blank line before the line identifying the data source for the
data being dumped.

svn path=/trunk/; revision=3183
2001-03-24 09:39:47 +00:00
Guy Harris d055130ad2 Clear "fdata->data_src" when initializing a "frame_data" structure.
When we're done with a "frame_data" structure, free all data attached to
it.

svn path=/trunk/; revision=3182
2001-03-24 09:24:41 +00:00
Guy Harris 9b85728d1d "reactivate_window()" is used only by stuff in the "gtk" directory, and
has an API that depends on GTK+.  "set_main_window_name()" is
UI-toolkit-independent.  Declare the former in a new "gtk/ui_util.h"
file, rather than in "ui_util.h"; this helps separate
UI-toolkit-independent stuff from UI-toolkit-dependent stuff.

svn path=/trunk/; revision=3181
2001-03-24 02:23:08 +00:00
Guy Harris 8ac0e6618a The declaration of "destroy_packet_wins()" belongs in
"gtk/packet_win.h", along with the declarations of the other packet
window manipulation routines; put it there.

svn path=/trunk/; revision=3180
2001-03-24 02:14:56 +00:00
Guy Harris 58369df4ef Give the code that computes protocol statistics a progress dialog box,
as, on a large capture, it could take a significant amount of time.

Let the user stop the computation and, if they do, don't pop up the
statistics dialog box.

Create a new header file declaring the routines to create, update, and
destroy progress dialog boxes; those routines' APIs don't depend on
GTK+, but others declared in "ui_util.h" do, and we don't want to oblige
a source file to depend on GTK+ headers unless it uses a GTK+ API or an
API that depends on GTK+.

svn path=/trunk/; revision=3179
2001-03-24 02:07:22 +00:00
Guy Harris 8f43649bcb Add a macro to extract the DLCI from the address field.
Extract the DLCI only once.

svn path=/trunk/; revision=3178
2001-03-23 23:56:03 +00:00
Guy Harris 289f57e570 Back out the guint64 stuff - it's not clear it's the right way to handle
this, as

	1) we still need to handle platforms that don't support 64-bit
	   integral data types, so we still needed the old stuff in some
	   fashion anyway

and

	2) MSVC appears to treat structures as requiring 8-byte
	   alignment in some cases, and "guint64"s require 8-byte
	   alignment on at least some platforms, forcing structures
	   containing those 64-bit time stamps to have a size that's a
	   multiple of 8 bytes, which *isn't* the correct size for the
	   data record header.

svn path=/trunk/; revision=3177
2001-03-23 23:16:29 +00:00
Guy Harris 720d7bb9f4 Put back some of Gilbert's changes lost by recent checkins.
svn path=/trunk/; revision=3176
2001-03-23 22:26:33 +00:00
Guy Harris d0ac50e4e7 Add "volatile" qualifiers so that variables survive a setjmp/longjmp
operation.

svn path=/trunk/; revision=3175
2001-03-23 21:58:37 +00:00
Guy Harris 080d72123e Routines called by "g_node_traverse()" are supposed to return TRUE if
the traversal is supposed to stop when the routine returns and FALSE
otherwise.

svn path=/trunk/; revision=3174
2001-03-23 21:55:36 +00:00
Guy Harris 5632391770 Pull the NLPID for Wellfleet compression into "nlpid.h".
svn path=/trunk/; revision=3173
2001-03-23 21:49:23 +00:00
Nathan Neulinger 848fa23499 Misc ubik/afs updates to correct a SEGV and add some more
dissection. Will be more coming, but wanted to commit these before I headed
home.

svn path=/trunk/; revision=3172
2001-03-23 21:42:37 +00:00