Commit graph

3211 commits

Author SHA1 Message Date
Guy Harris
f5e3edc132 GTP support, from Michal Melerowicz.
svn path=/trunk/; revision=3252
2001-04-04 01:00:19 +00:00
Guy Harris
b966192f5e Try to load WinPcap only on Windows.
svn path=/trunk/; revision=3251
2001-04-03 05:55:44 +00:00
Guy Harris
6617c40dd7 An Ethernet type of 0x6558 is "Transparent Ethernet Bridging" which,
apparently, means an Ethernet packet is stuffed into the payload; add
support for it as an Ethernet, Cisco HDLC, and GRE packet type.

Sort the Ethernet types in "etypes.h" by value.

svn path=/trunk/; revision=3250
2001-04-03 05:42:11 +00:00
Gilbert Ramirez
a817e97015 Now that WinPcap is a DLL, I can load it at run-time rather than load-time.
That means that I no longer need to distribute capture and non-capture
versions of Ethereal for Win32; one version (compiled with WinPcap headers)
can run on systems with or without WinPcap.

For systems that don't have WinPcap, instead of disabling the Capture
menu, Capture|Start brings up a dialogue informing the user that wpcap.dll
was not loadable, and gives a URL to the WinPcap home page.

svn path=/trunk/; revision=3249
2001-04-03 05:26:27 +00:00
Nathan Neulinger
e453b3e5de simplistic check for encrypted data
svn path=/trunk/; revision=3248
2001-04-02 19:10:06 +00:00
Guy Harris
6270db715c Include <string.h> to declare "strlen()", and include <winsock.h> to
declare "struct timeval", so that MSVC++ 6.0 doesn't give an error.

svn path=/trunk/; revision=3247
2001-04-02 10:44:09 +00:00
Guy Harris
393b1b3e8d Don't use "u_int" and "u_char", as they're not defined in <sys/types.h>
on Windows, so we'd have to drag in <winsock.h> to define them.

svn path=/trunk/; revision=3246
2001-04-02 10:41:19 +00:00
Guy Harris
9b99fdd7ab Don't use "u_int" for IPv4 addresses in "column-utils.c", as that'll
require that it drag in <winsock.h> on Windows; instead, use "guint32".

svn path=/trunk/; revision=3245
2001-04-02 10:38:26 +00:00
Guy Harris
ce01c4e7ef "to_str.c" uses "size_t"; include <stdlib.h>, to declare it (necessary
on Windows).

svn path=/trunk/; revision=3244
2001-04-02 09:59:41 +00:00
Guy Harris
0a6b7f6f39 The plugins code has an API that uses a type from "prefs.h"; include
"prefs.h", as otherwise MSVC++ 6.0 won't compile "plugins.c".

svn path=/trunk/; revision=3243
2001-04-02 09:58:15 +00:00
Guy Harris
d42a2a652f "tvb_get_ptr()" now returns a "const guint8 *", not a "guint8 *"; adjust
the plugin-API declarations appropriately.

svn path=/trunk/; revision=3242
2001-04-02 09:55:34 +00:00
Guy Harris
65dc469326 "get_home_dir()", in "epan/filesystem.c", uses
"find_last_pathname_separator()" on Win32; move the other pathname
manipulation routines from "util.c" into "epan/filesystem.c".

Remove from "util.h" the declarations of routines not defined in
"util.c", and put them into "epan/filesystem.h" if they're not already
there.

Adjust #includes to make the above work.

svn path=/trunk/; revision=3241
2001-04-02 09:53:46 +00:00
Guy Harris
d203637ade Use GLib types rather than "u_int" and "u_char" in "resolv.h"; "u_int"
and "u_char" aren't declared in <sys/types.h> in Win32, you have to
include <winsock.h>, which is a pain.

Throw in some "const"s while we're at it.

svn path=/trunk/; revision=3240
2001-04-02 09:41:56 +00:00
Guy Harris
d2de258acb Get rid of a tab after a backslash - Microsoft Visual C++ 6.0's "nmake"
doesn't seem to treat backslash-tab as an end-of-line escape, the
backslash has to be at the end of the line.

svn path=/trunk/; revision=3239
2001-04-02 09:21:31 +00:00
Guy Harris
13681cf12b Include <sys/time.h> as well as <time.h> in "column-utils.c" and
"value_string.c", as they include "epan/to_str.h", and that uses "struct
timeval" in some function prototypes.

In "to_str.c", include <sys/types.h> before including <netinet/in.h>; on
at least some platforms, definitions in <netinet/in.h> require types
defined in <sys/types.h>.

In "to_str.c", include <sys/socket.h>, so that AF_INET6 is defined.

svn path=/trunk/; revision=3238
2001-04-02 02:30:06 +00:00
Ed Warnicke
f5cf9c8dca Added two new arguments to epan_init() and proto_init() to
allow the passing of register_all_protocols() and
register_all_protocol_handoffs() through epan_init() to proto_init().
This allows the removal of the compile time dependence of proto.c
on register.h.  Modified dftest.c, tethereal.c, and gtk/main.c to
use the new style epan_init() and depend on register.h.

svn path=/trunk/; revision=3237
2001-04-02 00:38:36 +00:00
Ed Warnicke
58a096e88c Changed proto_init() to have it fetch proto_malformed at run time
using proto_get_id_by_filter_name().  Removed #include "packet-frame.h"

svn path=/trunk/; revision=3236
2001-04-01 23:11:43 +00:00
Ed Warnicke
cb21a9735a Added a function proto_get_id_by_filter_name() function to proto.{c,h}
to allow the lookup of proto_ids by filter_name.

svn path=/trunk/; revision=3235
2001-04-01 22:50:08 +00:00
Ed Warnicke
10cd0c5f70 Changed packet_init() to look up the frame dissector and cache its
dissector_handle in a static variable in packet.c.  Changed dissect_packet
to call dissector from using the call_dissector() function and the cached
dissector_handle for frame_dissector.  Changed the order of function
calls in epan_init() to allow for this change ( it sucks to look up
a dissector when none are registered ).

svn path=/trunk/; revision=3234
2001-04-01 22:01:34 +00:00
Ed Warnicke
62e9875d34 Added a register_dissector() call in packet-frame.c so that frame is now
a registered dissector and can be called by call_dissector().

svn path=/trunk/; revision=3233
2001-04-01 21:12:05 +00:00
Ed Warnicke
80f1da63b0 Added #include<sys/time.h> to to_str.c
svn path=/trunk/; revision=3232
2001-04-01 17:35:21 +00:00
Ed Warnicke
cd6ad9d4c0 Moved the the remaining column related routines out of packet.{c,h}
and into column-utils{c,h}.

svn path=/trunk/; revision=3231
2001-04-01 07:32:35 +00:00
Ed Warnicke
21d1ad6375 Moved some ipv6 definitions from packet-ipv6.h to epan/ipv6-utils.h.
Fixed some typos.

svn path=/trunk/; revision=3230
2001-04-01 07:06:24 +00:00
Ed Warnicke
1d4e847837 Moved vines_addr_to_str() from packet-vines.{h,c} to epan/to_str.{c,h}.
svn path=/trunk/; revision=3229
2001-04-01 06:32:10 +00:00
Ed Warnicke
48421be1d2 Moved timestamp.h into epan.
svn path=/trunk/; revision=3228
2001-04-01 06:11:25 +00:00
Ed Warnicke
3bf0b09117 Added osi-utils.obj to epan/Makefile.nmake
svn path=/trunk/; revision=3227
2001-04-01 05:49:31 +00:00
Ed Warnicke
90f7f6184d Moved some definitions and functions from packet-osi.{c,h} to
epan/osi-utils.{c,h} to bring all of the epan dependencies into epan.

svn path=/trunk/; revision=3226
2001-04-01 05:48:15 +00:00
Ed Warnicke
dd54ba9396 Moved the packet_info structure and supporting functions out of
packet.{h,c} and into a separate packet_info{h,c}.

svn path=/trunk/; revision=3225
2001-04-01 04:50:42 +00:00
Ed Warnicke
13cfdd7b71 Added frame_data.obj
svn path=/trunk/; revision=3224
2001-04-01 04:13:14 +00:00
Ed Warnicke
20eee44b70 Moved the frame_data structures and functions from packet.{h,c} to
frame_data{h,c}.  Added a frame_data_init to be called by epan_init.

svn path=/trunk/; revision=3223
2001-04-01 04:11:51 +00:00
Ed Warnicke
5d0c213448 Moved the column_info structure and related enum from packet.{c,h} to
column_info.h.

svn path=/trunk/; revision=3222
2001-04-01 03:42:00 +00:00
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