Commit Graph

19 Commits

Author SHA1 Message Date
Guy Harris e28b621f8f From Olivier Biot: put a summary into the top-level SMPP item in the
protocol tree.

svn path=/trunk/; revision=8489
2003-09-17 20:24:45 +00:00
Guy Harris 5e2b3906d3 From Olivier Biot:
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.

svn path=/trunk/; revision=8374
2003-09-04 18:59:21 +00:00
Ronnie Sahlberg 47bd7df2a4 From Biot Oliver
Support in SMPP for GSM SMS and GSM CBS.
Reassembly of SMPP has also been fixed so that it now works.

svn path=/trunk/; revision=8209
2003-08-23 02:15:53 +00:00
Guy Harris ecb79f8973 From Olivier Biot: use "fragment_add_seq_check()" so that we don't have
a problem with message IDs getting reused.

svn path=/trunk/; revision=7974
2003-07-07 22:42:11 +00:00
Guy Harris 69a9858068 From Olivier Biot:
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.

svn path=/trunk/; revision=7960
2003-07-02 21:10:50 +00:00
Guy Harris 299f79c4f7 From Olivier Biot:
UDH dissection in SMPP message
	WTP and WSP dissection over SMPP (no reassembly)
	WSP status code rendering in Info column

svn path=/trunk/; revision=7954
2003-06-30 23:24:39 +00:00
Guy Harris 57e6b9d751 From Tom Uijldert: fix some fields to use the appropriate value_string
tables.

svn path=/trunk/; revision=7941
2003-06-26 08:55:27 +00:00
Guy Harris ee97ce3196 Add new routines:
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.

svn path=/trunk/; revision=7859
2003-06-12 08:33:32 +00:00
Guy Harris ea959f5a6d Don't use "tvb_get_nstringz()" to get string data - just use
"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).

svn path=/trunk/; revision=7795
2003-06-06 01:56:39 +00:00
Laurent Deniel 96a5616ada The SMPP dissector has a too light heuristic and
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.

svn path=/trunk/; revision=7326
2003-03-08 14:21:15 +00:00
Guy Harris deb5c457a2 Get rid of a commented-out #include.
svn path=/trunk/; revision=5988
2002-08-13 09:03:23 +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 dc2f822c01 Register the heuristic SMPP dissector with X.25.
svn path=/trunk/; revision=4909
2002-03-10 03:08:31 +00:00
Guy Harris c9c0a8373b Initialize the "tm_isdst" field of a "struct tm" to -1 before passing it
to "mktime()".

svn path=/trunk/; revision=4907
2002-03-10 01:02:06 +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 712f266e69 Get rid of some unused variables.
svn path=/trunk/; revision=4320
2001-12-04 06:35:51 +00:00
Guy Harris 51fe2ab58b SMPP support, from Tom Uijldert.
svn path=/trunk/; revision=4315
2001-12-03 20:18:29 +00:00