aboutsummaryrefslogtreecommitdiffstats
path: root/packet-smpp.c
AgeCommit message (Collapse)AuthorFilesLines
2004-03-08Remove email addresses and add a reference to the AUTHORS file (or man page)obiot1-2/+4
for contacting the authors of the files. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10345 f5534014-38df-0310-8fa8-9805f1628bb7
2004-01-27From Chris Wilson:obiot1-579/+4
Separate the GSM SMS User Data dissector from the SMPP dissector. Rename the protocol. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9872 f5534014-38df-0310-8fa8-9805f1628bb7
2004-01-20From Chris Wilson:obiot1-136/+157
Use tcp_dissect_pdus() for SMPP dissection over TCP. Also: Get rid of the (broken) loop in dissect_smpp() which is called dissect_smpp_pdu() now. Add a preference to enable reassembly of SMPP over TCP. NOTE: The SMPP dissector currently uses a global variable static to packet-smpp.c for distinguishing between the first PDU and subsequent PDUs so the summary line can be set correctly. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9751 f5534014-38df-0310-8fa8-9805f1628bb7
2004-01-18From Chris Wilson:obiot1-200/+305
Support for dissection of concatenated SMPP PDUs. Also: Add more information to the protocol tree summary. Clean up the white space so it's in-line with the conventions of the original author (8-space tabs, 4-space indentations). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9696 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-23Move the GSM SMS dissection to a dedicated subdissector (currently still withinobiot1-180/+305
packet-smpp.c). Now the higher-level protocols show up without the need of unfolding the SMPP dissector tree. Add a new address type AT_STRINGZ, and use it for GSM SMS message reassembly. Get rid of the different UDH IE subtrees, and replace them with one subtree for all UDH IEs. Add debug logging to SMPP and SMPP GSM SMS dissectors. Move the Short Message reassembly from the SMPP dissector to the SMPP GSM SMS dissector. Fix duplicated "reassembled in" header fields. Rename header fields that are now part of SMPP GSM SMS (including the dissector table name, so it has also been updated in packet-wsp.c and packet-wtp.c). Add an explicit "if (!tree) return" in the WSP add_headers() method. NOTE: it would be great if we were able to merge the existing packet-gsm_sms.c and the SMPP GSM SMS dissector. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9431 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-22Fix a typo.guy1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9404 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-21Fix unconditional handoff to subdissector introduced with the common reassemblyobiot1-6/+28
code. Add the "Reassembled in" header field, and show it if the packet has been reassembled, but not in the given packet. This also allows to use the "Jump to the corresponding frame" feature in Ethereal. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9401 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-19Don't store the result of "tvb_reported_length()" into a "guint8" - itguy1-13/+33
could be more than 255 (even if that "shouldn't happen"). Don't use "frags != 0" as an indication that the message was fragmented - that can't handle bogus packets with a zero fragment count. Have an explicit variable for that. Check that "sm_data_len" isn't 0 before attempting dissection or reassembly. Check that "frag" and "frags" aren't zero before attempting reassembly (arguably, we should report both of those as errors). Use "process_reassembled_data()" to do the bulk of the work for reassembly - it handles the case where a "fragmented" packet has only one fragment. This fixes a crash that occurred when only the last fragment was seen, although there's an underlying problem there, namely that the hack tha "fragment_add_seq_check()" does to handle some problems with some 802.11 captures causes it to consider a packet where the first fragment seen is also the last fragment as a one-fragment packet; we probably need to do that *only* for 802.11. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9361 f5534014-38df-0310-8fa8-9805f1628bb7
2003-12-12Always dissect a sm_submit otherwise reassembly of short messages does not work.obiot1-4/+10
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9252 f5534014-38df-0310-8fa8-9805f1628bb7
2003-11-21From Olivier Biot: fix up the description of theguy1-3/+4
"port_number_udh_means_wsp" preference. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9063 f5534014-38df-0310-8fa8-9805f1628bb7
2003-09-17From Olivier Biot: put a summary into the top-level SMPP item in theguy1-2/+9
protocol tree. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8489 f5534014-38df-0310-8fa8-9805f1628bb7
2003-09-04From Olivier Biot:guy1-32/+60
cleanup the reassembly code; add a new preference to enable/disable subdissection on the 1st fragment of an unreassembled message; update the comments to note that the reassembly code is even able to reassemble short message fragments across distinct SMPP connections. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8374 f5534014-38df-0310-8fa8-9805f1628bb7
2003-08-23From Biot Oliversahlberg1-43/+463
Support in SMPP for GSM SMS and GSM CBS. Reassembly of SMPP has also been fixed so that it now works. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8209 f5534014-38df-0310-8fa8-9805f1628bb7
2003-07-07From Olivier Biot: use "fragment_add_seq_check()" so that we don't haveguy1-7/+8
a problem with message IDs getting reused. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7974 f5534014-38df-0310-8fa8-9805f1628bb7
2003-07-02 From Olivier Biot:guy1-32/+224
Short Message reassembly; Preference to allow automatic decoding of Short Message data as CL-WSP if a Port Number UDH is present. Use "%u" rather than "%d" for unsigned quantities. Use "tvb_get_ntohs()" to fetch big-endian 16-bit quantities rather than calling "tvb_get_guint8()" twice and reassembling yourself. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7960 f5534014-38df-0310-8fa8-9805f1628bb7
2003-06-30From Olivier Biot:guy1-8/+189
UDH dissection in SMPP message WTP and WSP dissection over SMPP (no reassembly) WSP status code rendering in Info column git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7954 f5534014-38df-0310-8fa8-9805f1628bb7
2003-06-26From Tom Uijldert: fix some fields to use the appropriate value_stringguy1-2/+2
tables. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7941 f5534014-38df-0310-8fa8-9805f1628bb7
2003-06-12Add new routines:guy1-6/+6
tvb_get_string() - takes a tvbuff, an offset, and a length as arguments, allocates a buffer big enough to hold a string with the specified number of bytes plus an added null terminator (i.e., length+1), copies the specified number of bytes from the tvbuff, at the specified offset, to that buffer and puts in a null terminator, and returns a pointer to that buffer (or throws an exception before allocating the buffer if that many bytes aren't available in the tvbuff); tvb_get_stringz() - takes a tvbuff, an offset, and a pointer to a "gint" as arguments, gets the size of the null-terminated string starting at the specified offset in the tvbuff (throwing an exception if the null terminator isn't found), allocates a buffer big enough to hold that string, copies the string to that buffer, and returns a pointer to that buffer and stores the length of the string (including the terminating null) in the variable pointed to by the "gint" pointer. Replace many pieces of code allocating a buffer and copying a string with calls to "tvb_get_string()" (for one thing, "tvb_get_string()" doesn't require you to remember that the argument to "tvb_get_nstringz0()" is the size of the buffer into which you're copying the string, which might be the length of the string to be copied *plus 1*). Don't use fixed-length buffers for null-terminated strings (even if the code that generates those packets has a #define to limit the length of the string). Use "tvb_get_stringz()", instead. In some cases where a value is fetched but is only used to pass an argument to a "proto_tree_add_XXX" routine, use "proto_tree_add_item()" instead. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7859 f5534014-38df-0310-8fa8-9805f1628bb7
2003-06-06Don't use "tvb_get_nstringz()" to get string data - just useguy1-6/+6
"tvb_strsize()" to get the string length, and then use "tvb_get_ptr()" to get a pointer to the guaranteed-to-be-null-terminated string in the tvbuff (if the null character is missing, "tvb_strsize()" throws an exception). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7795 f5534014-38df-0310-8fa8-9805f1628bb7
2003-03-08The SMPP dissector has a too light heuristic anddeniel1-1/+6
it wrongly decodes non SMPP packets. Check that the overall PDU size is not greater than 64K before accepting to decode the packet. Check at least valid as of SMPP v3.4 issue 1.2. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7326 f5534014-38df-0310-8fa8-9805f1628bb7
2002-08-13Get rid of a commented-out #include.guy1-2/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5988 f5534014-38df-0310-8fa8-9805f1628bb7
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hjmayer1-9/+1
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5932 f5534014-38df-0310-8fa8-9805f1628bb7
2002-07-17From Joerg Mayer:guy1-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()". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5889 f5534014-38df-0310-8fa8-9805f1628bb7
2002-03-10Register the heuristic SMPP dissector with X.25.guy1-2/+8
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4909 f5534014-38df-0310-8fa8-9805f1628bb7
2002-03-10Initialize the "tm_isdst" field of a "struct tm" to -1 before passing itguy1-1/+2
to "mktime()". git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4907 f5534014-38df-0310-8fa8-9805f1628bb7
2002-01-21Include files from the "epan" directory and subdirectories thereof withguy1-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/"). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4586 f5534014-38df-0310-8fa8-9805f1628bb7
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"guy1-9/+9
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4370 f5534014-38df-0310-8fa8-9805f1628bb7
2001-12-04Get rid of some unused variables.guy1-5/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4320 f5534014-38df-0310-8fa8-9805f1628bb7
2001-12-03SMPP support, from Tom Uijldert.guy1-0/+2214
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4315 f5534014-38df-0310-8fa8-9805f1628bb7