RFC2833 is a bit "unclear" but I guess this type is encoded
as first a length-determinant followed by the actual ascii data.
I belive the length-determinant is byte aligned in aligned-per so the entire
field is so.
at best, this is pure guesswork but it does decode the single capture i do have containing GeneralString types properly.
Anyone interested are welcome to purchase and provide
proper h323 standard docs from itu-t and snail-mail them to me.
A random asn file from www.packetyzer.com together with the X.691 pdf file is
"difficult".
svn path=/trunk/; revision=7969
Replace dissect_h245_TransportAddress() which was the generic decoder for the TransportAddress sequence with several semi-identical routines that matches the name of the field (instead of the type).
This makes the presentation easier to read.
e.g. Present this ip address as mediaChannel which is the field name instead of as TransportAddress
svn path=/trunk/; revision=7967
connection to check for addresses and ports at the same time, rather
then checking the source addresses, destination addresses, and ports
separately, as the latter doesn't handle A:X->B:Y and B:X->A:Y both
being active connections.
svn path=/trunk/; revision=7966
itself, so we leaked memory when freeing the interface list; in
"free_interface_list()", use "g_list_foreach()", calling a list free
routine, to free the data items in the list, and then use
"g_list_free()" to free the list.
Use "free_interface_list()" in "get_interface_list()" to free the list
if we have an error, as it now does what the code that use to be there
did.
svn path=/trunk/; revision=7965
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
"tvb_get_string()" rather than "tvb_format_text()". (This fixes a
problem wherein we freed the return value of "tvb_format_text()", which
we should not do as "tvb_format_text()" doesn't dynamically allocate the
buffer it returns, but means that we don't handle non-printable
characters - but that's a problem with "cb_wstr_postprocess()" as well,
as "tvb_fake_unicode()" also doesn't handle non-printable characters
specially; we should fix the problem in *both* routines.)
svn path=/trunk/; revision=7955
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
source files, so that they're not defined in every file that includes
the header file, regardless of whether the file uses the table (in which
case it should be defined in one file, and externally referenced in
other files) or not (in which case it should't be defined in that file
at all).
Get rid of a boilerplate comment paragraph that doesn't apply.
svn path=/trunk/; revision=7952
don't assume that a dissector handle has a protocol associated
with it (there's none for the "OSI network layer" dissector, for
example, as that dissector hands off to one of several protocols
based on the NLPID);
rename a few functions to have names that better explain what
they do;
have separate functions to show all the layer types (dissector
tables) and to show all the protocols supported for a layer
type, and have both of them take, as an argument, the standard
I/O stream to which they should write;
improve the parser for the "-d" option to give more information
on errors;
fix up some comments.
svn path=/trunk/; revision=7949
rathe than the record length minus the record header length, as the
number of available (captured) bytes in the packet. Check to make sure
that value isn't bigger than the record length minus the header length.
Only subtract the 4-byte FCS length from the purported length of the
packet on the wire if that would leave the on-the-wire length >= the
number of captured bytes, so that we can better handle capture files
from programs that produce LANalyzer-format captures where the
on-the-wire length *doesn't* include the FCS.
svn path=/trunk/; revision=7948
Make it have the usual collection of 3 static buffers, just in case
somebody decides to call it more than once in the same
printf-like-routine call.
svn path=/trunk/; revision=7940
list rather than duplicating this information in the dissector. Some
of the opnum strings were starting to get out of date as developers
forgot to update the information in both places.
svn path=/trunk/; revision=7936
is pointless, as it's a 16-bit unsigned quantity. Remove those checks -
but note in a comment that WTAP_MAX_PACKET_SIZE must be at least 65535
(as there might well be link-layer types with packets at least that
large).
svn path=/trunk/; revision=7934
removed two hf fields that are now redundant since F_CTL is decoded
placed most interesting header fields in a struct
added request response matching and measurement of delta time between the first and the last frame of an exchange.
todo:
1, finish restructure of decoding of fc header so that
it will populate the tree as it reads more data fields from the tvb
so that we can get useful info in the tree even for short frames.
2, add TAP to fc and pass the header struct and the time delta struct to
tap listeners
3, add ServiceResponseTime tap listener for FC
svn path=/trunk/; revision=7923
parse the WEP keys every time they're changed, not just when we
start up;
make the description of the WEP keys in the preference more
accurate.
svn path=/trunk/; revision=7922
isn't sufficient if the line to be printed is more than twice the
current size of the line buffer. Make it twice the size of the line to
be printed, instead.
svn path=/trunk/; revision=7921