Commit Graph

56 Commits

Author SHA1 Message Date
Guy Harris f7e3062867 From Jesper Peterson:
Extract the FCS decoding section of the PPP_HDLC dissector to
	allow the CHDLC dissector to use the same routine.

	The ppp_options used for preferences has been renamed to
	fcs_options and exported via packet-ppp.h so CHDLC gets a
	separate (but identical) FCS preference.

	This means prefs.h has to be included before packet-ppp.h so a
	couple of ppp related files (packet-{gtp,null,raw,vj}.c) had
	their includes slightly re-arranged.

From me: make the PPP/CHDLC FCS code use "crc32()" to check the 32-bit
FCS.

svn path=/trunk/; revision=8266
2003-08-26 05:52:53 +00:00
Guy Harris e8b5b4fec2 Decode a bit more of the mobility management context message, and use
"mm_sec_modep[]" to decode the security type.

svn path=/trunk/; revision=8005
2003-07-09 07:12:23 +00:00
Guy Harris daeac95d4a Don't export "osinl_subdissector_table" or "ppp_subdissector_table" -
have other dissectors that use them fetch them with
"find_dissector_table()".

svn path=/trunk/; revision=7601
2003-04-29 17:56:49 +00:00
Guy Harris e708872638 Thou Shalt Not Ever Make An Offset An 8-bit Quantity If Thou Art
Comparing It Against An 8-bit Or Longer Length To Make Sure It Doesn't
Go Past The Length, because if the length is 255, it can't ever go past
it as it'll overflow if it does.

svn path=/trunk/; revision=7093
2003-02-07 19:57:19 +00:00
Guy Harris 608e8c31f5 From Pasi Kovanen: display flow label IE in GTP v0 in hex.
svn path=/trunk/; revision=7066
2003-01-31 18:45:06 +00:00
Guy Harris 231f28ce08 Panic if a preference starts with the name of the module to which it
belongs, as that's redundant.

Fix a bunch of cases where that was done, and map the old name to the
new name.

Instead of marking "mtp3.mtp3_standard" as obsolete, map it to
"mtp3.standard".

svn path=/trunk/; revision=7030
2003-01-28 23:56:40 +00:00
Guy Harris 6664e10070 From Flavio Poletti: handle the hyphen in QoS inside RADIUS client
messages, as recommended by recent 3GPP recommendations.

svn path=/trunk/; revision=6836
2003-01-02 20:33:45 +00:00
Guy Harris 8480cf347a From Michal Melerowicz: fix the display of IMSI for operators having a
mobile network code greater than 9.

svn path=/trunk/; revision=6775
2002-12-10 19:05:29 +00:00
Guy Harris 6b72decb11 From Fritz Budiyanto: add a missing g_ntohs() for flow_label in the
gtpv0 decoder.

svn path=/trunk/; revision=6749
2002-12-05 22:31:13 +00:00
Guy Harris 4943cc7e76 From Andreas Trauer:
- more typos corrected
	- changed "Teardown indication" to "Teardown Indicator"
	  The official name is Teardown Ind, but 3GPP TS 29.060 also
	  refers to it as Teardown Indicator
	- bugfix: I had moved the call to col_append_str_gtp() one bracket
	  too far resulting in display of "GTP <GTP>" or "GTP-U <GTP-C>".

svn path=/trunk/; revision=6619
2002-11-13 09:01:08 +00:00
Guy Harris 5ae19d6256 Instead of tweaking a "Protocol configuration options" extension header
item to look more-or-less like a PPP packet, just dissect it in place
and hand off to the appropriate subdissector using the PPP dissector's
handoff table (which we export, along with its value_string table for
protocol IDs, which we use to report the protocol ID symbolically).

This means there's no point in having a configurable option to control
whether to do that tweaking; make it an obsolete option.

Bring "col_get_writable()" back from the dead, and have the GTP
dissector save the current "writable" flag for columns, mark the columns
non-writable before calling the subdissector for the PPP configuration
protocol, and restore the state of the writable flag, rather than
putting the columns back after the PPP configuration protocol's
dissector is done.

Fix some more typos in comments.

Don't register the IP dissector in the "ppp.protocol" table in the GTP
dissector's handoff registration routine - it's already being done in
the IP dissector's handoff routine.

Fix the name for CHAP to match what RFC 1994 calls it (if the name
changed, it should be changed in all places, but, at least according to
this message, a while ago, from Bob Sutterfield, "since the RFC defines
the protocol, the RFC defines the name":

	http://mail-index.netbsd.org/netbsd-help/1996/05/16/0011.html

and the RFC defines the name as "PPP Challenge Handshake Authentication
Protocol (CHAP)").

svn path=/trunk/; revision=6617
2002-11-11 19:23:14 +00:00
Guy Harris d30c672c9d From Andreas Trauer:
- correct typos in comments
	- remove obsoleted definition of GTP_PPP_0x00, ...
	- remove distinction between GTP and PPP for col_append_str_gtp(),
		because this layer is GTP (or GTP-U), but never PPP

svn path=/trunk/; revision=6614
2002-11-11 17:41:37 +00:00
Guy Harris eab13a03f3 From Andreas Trauer:
Replace the handling of PPP packets over GTPv1 and also
	establish the handling of PPP packet over GTPv0.  Additionally
	IPv6 packets are handled in GTPv0 and GTPv1.

	Explanation:

	- old solution: examining the known PPP protocols is a tough
	  task, because there might be more in the future -> the list
	  must be extended more and more (the octet 0x00 has already
	  been added for PPP network layer protocols, but for protocol
	  field compression a lot of protocols must be inserted for
	  IPv4(0x21), IPv6(0x57), maybe IPX (0x2b) or AppleTalk (0x29),
	  ...)

	- new solution: It is easier the other way: the most significant
	  nibble of the first octet must be 4 for IPv4 and 6 for IPv6.
	  All other values are assumed to be PPP packets, including
	  packets beginning with values 0x40-0x44 (header too short for
	  IPv4 packet) and value 0x4f (PPP protocol type (IPv6 header
	  compression protocol) taking precedence over IPv4 packets with
	  header length of 60 octets).

svn path=/trunk/; revision=6568
2002-11-06 22:59:23 +00:00
Guy Harris d4e632c5ea Get rid of a trailing blank.
svn path=/trunk/; revision=6565
2002-11-05 23:00:11 +00:00
Guy Harris 205d13ca35 Get rid of some trailing blanks in strings.
svn path=/trunk/; revision=6537
2002-11-01 08:21:57 +00:00
Guy Harris 1522cd2994 From Fritz Budiyanto: the command in the Packet Transfer Command IE is
one byte, so fetch it with "tvb_get_guint8()", not "tvb_get_ntohl()".

Put in the location in the GPRS standard where that's defined, while
we're at it.

svn path=/trunk/; revision=6533
2002-11-01 05:30:48 +00:00
Guy Harris 45ed05190c Fix up some more byte-string displays.
svn path=/trunk/; revision=6512
2002-10-26 06:30:41 +00:00
Guy Harris 54117349d4 Show the elements of authentication triplets as byte strings (as that's
what they are - well, bit strings, really, but...).  Doing so also fixes
a bug, as "decode_gtp_auth_tri()" was copying 16 bytes to an array that
was 8 bytes long....

Do the same for byte-string elements of a quintuplet - and show as byte
strings some elements that weren't being shown at all.

svn path=/trunk/; revision=6511
2002-10-26 06:13:33 +00:00
Guy Harris 043548c7fc From Flavio Poletti: fix a bug in "decode_qos_umts()".
svn path=/trunk/; revision=6143
2002-08-30 10:14:03 +00:00
Guy Harris 3f4397bbb0 From Ulf Lamping: change some #define names to avoid name collisions on
Windows that cause compiler warnings.

svn path=/trunk/; revision=6129
2002-08-29 19:05:41 +00:00
Jörg Mayer 7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Guy Harris 320621f2f4 From Flavio Poletti: handle 3GPP QoS in RADIUS messages.
svn path=/trunk/; revision=6091
2002-08-26 20:22:31 +00:00
Guy Harris 1e1bbe5215 From Marcus Haebler: handle a sub-protocol field of 0x00 as PPP.
Merge all the cases for handling PPP together.

svn path=/trunk/; revision=6078
2002-08-24 10:12:45 +00:00
Guy Harris 9ff9891c02 From Flavio Poletti: fix bug in decoding of maximum uplink and downlink
rate in GTP v1 (they were swapped).

svn path=/trunk/; revision=6070
2002-08-23 20:03:15 +00:00
Jörg Mayer 173fe5aef4 Replace the types from sys/types.h and netinet/in.h by their glib.h
equivalents for the toplevel directory. The removal of winsock2.h will
hopefully not cause any problems under MSVC++, as those files using
struct timeval still include wtap.h, which still includes winsock2.h.

svn path=/trunk/; revision=5932
2002-08-02 23:36:07 +00:00
Guy Harris 77fa06b899 From Joerg Mayer:
dftest.c:
	     Remove #if-0-ed includes

	packet-ieee80211.c, packet-wtls.c, packet-afp.c, packet-wsp.c,
        packet-wtp.c, ethereal_gen.py:
	     Remove redundant include varargs (already in snprintf.h,
	     and required only for snprintf.h)

	Remove unused include of snprintf.h from files not using
	"snprintf()".

svn path=/trunk/; revision=5889
2002-07-17 00:43:03 +00:00
Guy Harris 20a92d3ffc From Michal Melerowicz:
Fixed TFT decoding and processing PPP payload inside of GTP
	protocol conf options

That change also put all GTP preferences under a "gtp" heading; put in
another hack so that your old "gtpv0" and "gtpv1" settings are recognized.

svn path=/trunk/; revision=5588
2002-05-29 07:35:55 +00:00
Gerald Combs ee0bdc5751 From Olivier Dreux: Add PPP support to GTP.
svn path=/trunk/; revision=5586
2002-05-29 03:07:02 +00:00
Guy Harris ae88c45ef0 From Joerg Mayer: make a pile of stuff not used outside one source file
static, and add a new "packet-data.h" to declare "proto_data".

Display escape sequences in octal in the IAPP dissector, as is now done
in the RADIUS dissector.

svn path=/trunk/; revision=5441
2002-05-10 23:20:38 +00:00
Guy Harris 8245e425ff From Joerg Mayer: flag unused arguments as such.
svn path=/trunk/; revision=5361
2002-05-02 11:05:44 +00:00
Guy Harris 9a80f0a521 Removal (or, at least, #ifdeffing out) of unused variables and
functions, from David Frascone.

svn path=/trunk/; revision=5288
2002-04-29 08:20:18 +00:00
Gilbert Ramirez 5c10ad55a8 More static-ization.
svn path=/trunk/; revision=5131
2002-04-08 20:30:56 +00:00
Guy Harris 1dfcb47a99 No C++ comments in C code, please.
svn path=/trunk/; revision=4652
2002-01-31 12:10:58 +00:00
Guy Harris 981ece4a85 Set some variables in the "can't happen" case of a UMTS QOS item with a
type that's neither 1 nor 2.

svn path=/trunk/; revision=4651
2002-01-31 10:11:32 +00:00
Guy Harris e20de5ee10 Updates from Michal Melerowicz.
svn path=/trunk/; revision=4650
2002-01-31 09:59:22 +00:00
Guy Harris eb2d6593dc Replace a bunch of "tvb_length()" and "tvb_length_remaining()" calls in
arguments to "proto_tree_add_text()", and to "proto_tree_add_XXX()" calls
that add FT_NONE or FT_PROTO items to the protocol tree, with -1.

Replace some calls to "tvb_length()" or "tvb_length_remaining()" with
calls to "tvb_reported_length()" and "tvb_reported_length_remaining()",
as those give the actual length of the data in the packet, not just the
data that happened to be captured.

svn path=/trunk/; revision=4605
2002-01-24 09:20:54 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).

Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").

svn path=/trunk/; revision=4586
2002-01-21 07:37:49 +00:00
Guy Harris 23319ff023 Move the pointer to the "column_info" structure in the "frame_data"
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.

That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.

svn path=/trunk/; revision=4370
2001-12-10 00:26:21 +00:00
Guy Harris bced8711f6 Make "dissector_add()", "dissector_delete()", and "dissector_change()"
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID.  Associate dissector handles with
dissector table entries.

svn path=/trunk/; revision=4308
2001-12-03 04:00:26 +00:00
Guy Harris bd90493d46 If we have to worry about subdissectors changing the "packet_info"
structure, we may have to worry about it in more places than the places
that *used* to set "pi.len" and "pi.captured_len", so there's no point
in just saving and restoring it there.  We'll remove those
saves/restores, and worry about saves and restores when we find a
problem.

svn path=/trunk/; revision=4245
2001-11-21 21:37:26 +00:00
Guy Harris 60fe401dc7 Get rid of some unused variables.
svn path=/trunk/; revision=4241
2001-11-21 02:01:06 +00:00
Guy Harris 2f10c7f630 Get rid of the "len" and "captured_len" members of the "packet_info"
structure; they're no longer used.

svn path=/trunk/; revision=4236
2001-11-20 22:29:07 +00:00
Guy Harris 4a5538085f Get rid of NullTVB, the "compat_top_tvb" member of the "packet_info"
structure, the check for a null tvbuff pointer in "alloc_field_info()",
and the "tvb_create_from_top()" macro; they're no longer needed, as
there's no non-tvbuffified dissector code remaining.

svn path=/trunk/; revision=4205
2001-11-15 10:58:51 +00:00
Guy Harris c31d8f839e Fix a bunch of places where "tvb_get_letohl()" was being used to fetch
IP addresses - either use "tvb_memcpy()", or just use
"proto_tree_add_item()" and leave the fetching up to the core Ethereal
code.

In the DVMRP dissector, replace a bunch of other "proto_tree_add_XXX()"
calls with "proto_tree_add_item()", and use
"tvb_reported_length_remaining()" rather than "tvb_length_remaining()"
(if we didn't capture enough data because the snapshot length was too
low, we *want* an exception to be thrown, so that the frame is marked as
a "Short Frame").

svn path=/trunk/; revision=4109
2001-10-30 21:31:15 +00:00
Guy Harris 958b4d6d2c IPv4 addresses should be entered in host byte order, not forced
little-endian byte order.

svn path=/trunk/; revision=4107
2001-10-30 10:18:47 +00:00
Guy Harris f52303ffc9 Avoid using non-ASCII characters in labels in the protocol tree - some
compilers may not interpret them as the ISO 8859/1 characters they're
intended to be, and the GUI toolkit or other software through which the
text passes might not interpret them as such, either.

svn path=/trunk/; revision=3992
2001-10-04 00:30:23 +00:00
Guy Harris 6518163e63 Show Boolean flags as Booleans.
svn path=/trunk/; revision=3957
2001-09-27 10:01:07 +00:00
Guy Harris 5644182f65 Updates from Michal Melerowicz:
1. simplified and shorter names
	2. fixed problem with filtering (consequence of 1st point)
	3. added more charging tickets

svn path=/trunk/; revision=3946
2001-09-19 06:08:36 +00:00
Guy Harris a649181931 GTPv1 support and GTPv0 improvements, from Michal Melerowicz and Nicolas
Balkota.

svn path=/trunk/; revision=3919
2001-09-11 08:14:39 +00:00
Richard Sharpe 689a4460df Change all occurrencess of routeing to routing, even in comments. I respected
capitalization, however.

svn path=/trunk/; revision=3844
2001-08-13 00:56:18 +00:00