aboutsummaryrefslogtreecommitdiffstats
path: root/packet-gtp.c
AgeCommit message (Collapse)AuthorFilesLines
2004-07-16Indces run from 0-2 if an array is declared as array[3].Jörg Mayer1-7/+7
This patch has been part of RedHat since 0.9.16, unfortunately the patch never made it into the mainline source. The patch seems to be authored by Phil Knirsch (from ethereal.spec: * Tue Nov 25 2003 Phil Knirsch <pknirsch@redhat.com> 0.9.16-3 - Fixed out of bound array access (#110749). svn path=/trunk/; revision=11380
2004-03-30The extension ID field in a Private Extension IU is 2 bytes, so theGuy Harris1-9/+12
length of the IU must be at least 2 bytes in order to dissect the contents. Just use "proto_tree_add_item()" to add the value of the private extension, and do so only if it's not zero-length. svn path=/trunk/; revision=10518
2004-02-27Fix up the previous checkin.Guy Harris1-3/+2
svn path=/trunk/; revision=10248
2004-02-25Use "tvb_get_string()" instead of allocating a (len+1)-sized buffer,Guy Harris1-6/+4
"tvb_memcpy()"ing to it, and putting in a null terminator; "tvb_get_string()" will check whether all bytes of the string are present before allocating the buffer, so that you don't leak memory if the copy throws an exception, and don't crash if the length is absurdly large. Use "tvb_memdup()" instead of allocating a buffer and "tvb_memcpy()"ing to it, so that an exception is thrown before you try to allocate the buffer (for the same reasons as listed above). Before allocating a buffer used when processing a chunk of data from a packet, get a pointer to the chunk with "tvb_get_ptr()", or check that the data is all there with "tvb_ensure_bytes_exist()", so that an exception is thrown before you try to allocate the buffer (for the same reasons as listed above). Fix up the lengths of the tvbuff used when dissecting ONC RPC opaque data with a particular dissector. svn path=/trunk/; revision=10236
2004-01-06In "decode_qos_umts()", "length" can get assigned a 2-byte value, soGuy Harris1-3/+3
make it a "guint", not just a "guint8". svn path=/trunk/; revision=9569
2004-01-05removed some MSVC warnings (level 3)Ulf Lamping1-2/+2
svn path=/trunk/; revision=9561
2003-11-29From melerski [AT] poczta.onet.pl: fix a problem with unknown IEs.Guy Harris1-4/+12
svn path=/trunk/; revision=9115
2003-10-22Get rid of C++ comment.Guy Harris1-2/+2
svn path=/trunk/; revision=8749
2003-10-16From Michal Melerowicz:Guy Harris1-909/+617
merge gtpv0 and gtpv1 dissectors into one; fix up XXX_to_str routines. svn path=/trunk/; revision=8715
2003-10-16Get rid of a value_string table that was used by now-deleted code.Guy Harris1-12/+1
svn path=/trunk/; revision=8714
2003-10-15Fix the XXX_to_str routinesGuy Harris1-17/+20
1) not to rely on their static buffers being initialized; 2) not to bother checking whether a BCD digit is a valid digit or not (index into a 16-element array, instead); 3) to work correctly, in the case of "id_to_str()". svn path=/trunk/; revision=8705
2003-10-10From Michal Melerowicz: remove obsolete GTP'v0 CDR dissection.Guy Harris1-572/+7
svn path=/trunk/; revision=8665
2003-09-21Remove a bunch of duplicate semicolons.Gerald Combs1-2/+2
svn path=/trunk/; revision=8509
2003-09-20You can't safely return from a routine a pointer to an automaticGuy Harris1-4/+4
variable. svn path=/trunk/; revision=8504
2003-09-18Make the string variables in the *_to_str() functions non-static.Gerald Combs1-16/+16
svn path=/trunk/; revision=8492
2003-09-18From Michal Melerowicz: Properly terminate the return string inGerald Combs1-3/+3
msisdn_to_str(). Do the same for imsi_to_str(). svn path=/trunk/; revision=8491
2003-09-15Use "int"s as array indices - it squelches aGuy Harris1-4/+6
signed-vs-unsigned-comparison complaint in one case, and it's a generally good habit. svn path=/trunk/; revision=8469
2003-09-14Fix a buffer overflow in msisdn_to_str(). Clean up string pointer handlingGerald Combs1-28/+18
in it, imsi_to_str(), and id_to_str() a bit. svn path=/trunk/; revision=8468
2003-09-14Fix warning: guint8 is always <= 255Jörg Mayer1-2/+2
svn path=/trunk/; revision=8467
2003-08-26From Jesper Peterson:Guy Harris1-2/+2
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-07-09Decode a bit more of the mobility management context message, and useGuy Harris1-14/+59
"mm_sec_modep[]" to decode the security type. svn path=/trunk/; revision=8005
2003-04-29Don't export "osinl_subdissector_table" or "ppp_subdissector_table" -Guy Harris1-1/+5
have other dissectors that use them fetch them with "find_dissector_table()". svn path=/trunk/; revision=7601
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