aboutsummaryrefslogtreecommitdiffstats
path: root/packet-gtp.c
AgeCommit message (Collapse)AuthorFilesLines
2003-02-07Thou Shalt Not Ever Make An Offset An 8-bit Quantity If Thou ArtGuy Harris1-2/+3
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-01-31From Pasi Kovanen: display flow label IE in GTP v0 in hex.Guy Harris1-3/+3
svn path=/trunk/; revision=7066
2003-01-28Panic if a preference starts with the name of the module to which itGuy Harris1-8/+8
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-02From Flavio Poletti: handle the hyphen in QoS inside RADIUS clientGuy Harris1-1/+15
messages, as recommended by recent 3GPP recommendations. svn path=/trunk/; revision=6836
2002-12-10From Michal Melerowicz: fix the display of IMSI for operators having aGuy Harris1-7/+23
mobile network code greater than 9. svn path=/trunk/; revision=6775
2002-12-05From Fritz Budiyanto: add a missing g_ntohs() for flow_label in theGuy Harris1-1/+2
gtpv0 decoder. svn path=/trunk/; revision=6749
2002-11-13From Andreas Trauer:Guy Harris1-9/+8
- 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-11Instead of tweaking a "Protocol configuration options" extension headerGuy Harris1-35/+39
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-11From Andreas Trauer:Guy Harris1-23/+9
- 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-06From Andreas Trauer:Guy Harris1-47/+79
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-05Get rid of a trailing blank.Guy Harris1-2/+2
svn path=/trunk/; revision=6565
2002-11-01Get rid of some trailing blanks in strings.Guy Harris1-8/+8
svn path=/trunk/; revision=6537
2002-11-01From Fritz Budiyanto: the command in the Packet Transfer Command IE isGuy Harris1-3/+3
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-10-26Fix up some more byte-string displays.Guy Harris1-14/+7
svn path=/trunk/; revision=6512
2002-10-26Show the elements of authentication triplets as byte strings (as that'sGuy Harris1-34/+16
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-08-30From Flavio Poletti: fix a bug in "decode_qos_umts()".Guy Harris1-7/+13
svn path=/trunk/; revision=6143
2002-08-29From Ulf Lamping: change some #define names to avoid name collisions onGuy Harris1-316/+316
Windows that cause compiler warnings. svn path=/trunk/; revision=6129
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-445/+445
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-26From Flavio Poletti: handle 3GPP QoS in RADIUS messages.Guy Harris1-57/+141
svn path=/trunk/; revision=6091
2002-08-24From Marcus Haebler: handle a sub-protocol field of 0x00 as PPP.Guy Harris1-25/+5
Merge all the cases for handling PPP together. svn path=/trunk/; revision=6078
2002-08-23From Flavio Poletti: fix bug in decoding of maximum uplink and downlinkGuy Harris1-3/+3
rate in GTP v1 (they were swapped). svn path=/trunk/; revision=6070
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-13/+5
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-07-17From Joerg Mayer:Guy Harris1-5/+1
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-05-29From Michal Melerowicz:Guy Harris1-95/+137
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-29From Olivier Dreux: Add PPP support to GTP.Gerald Combs1-11/+78
svn path=/trunk/; revision=5586
2002-05-10From Joerg Mayer: make a pile of stuff not used outside one source fileGuy Harris1-10/+10
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-02From Joerg Mayer: flag unused arguments as such.Guy Harris1-53/+53
svn path=/trunk/; revision=5361
2002-04-29Removal (or, at least, #ifdeffing out) of unused variables andGuy Harris1-2/+30
functions, from David Frascone. svn path=/trunk/; revision=5288
2002-04-08More static-ization.Gilbert Ramirez1-3/+3
svn path=/trunk/; revision=5131
2002-01-31No C++ comments in C code, please.Guy Harris1-2/+2
svn path=/trunk/; revision=4652
2002-01-31Set some variables in the "can't happen" case of a UMTS QOS item with aGuy Harris1-1/+4
type that's neither 1 nor 2. svn path=/trunk/; revision=4651
2002-01-31Updates from Michal Melerowicz.Guy Harris1-207/+200
svn path=/trunk/; revision=4650
2002-01-24Replace a bunch of "tvb_length()" and "tvb_length_remaining()" calls inGuy Harris1-3/+3
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-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-2/+2
"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
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-31/+41
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-03Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris1-16/+22
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-11-21If we have to worry about subdissectors changing the "packet_info"Guy Harris1-11/+1
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-21Get rid of some unused variables.Guy Harris1-4/+3
svn path=/trunk/; revision=4241
2001-11-20Get rid of the "len" and "captured_len" members of the "packet_info"Guy Harris1-6/+5
structure; they're no longer used. svn path=/trunk/; revision=4236
2001-11-15Get rid of NullTVB, the "compat_top_tvb" member of the "packet_info"Guy Harris1-2/+1
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-10-30Fix a bunch of places where "tvb_get_letohl()" was being used to fetchGuy Harris1-13/+13
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-30IPv4 addresses should be entered in host byte order, not forcedGuy Harris1-8/+8
little-endian byte order. svn path=/trunk/; revision=4107
2001-10-04Avoid using non-ASCII characters in labels in the protocol tree - someGuy Harris1-2/+2
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-09-27Show Boolean flags as Booleans.Guy Harris1-9/+14
svn path=/trunk/; revision=3957
2001-09-19Updates from Michal Melerowicz:Guy Harris1-675/+998
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-11GTPv1 support and GTPv0 improvements, from Michal Melerowicz and NicolasGuy Harris1-795/+3564
Balkota. svn path=/trunk/; revision=3919
2001-08-13Change all occurrencess of routeing to routing, even in comments. I respectedRichard Sharpe1-2/+2
capitalization, however. svn path=/trunk/; revision=3844
2001-06-18From Joerg Mayer: explicitly fill in all members of aGuy Harris1-53/+53
"header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
2001-04-23Get rid of unnecessary includes.Guy Harris1-2/+1
Fix up Gerald's e-mail address in some files while we're at it, and fix up Michael T�xen's name in one file as well. svn path=/trunk/; revision=3368
2001-04-20Fix Gerald's e-mail address - and fix it in "README.developer", soGuy Harris1-2/+2
people don't blindly insert the old address into new dissectors, which is probably how it got into the dissectors being fixed here. svn path=/trunk/; revision=3348