"ds_name"s shouldn't be freed when the tvbuff is freed. (Thanks and a
tip of the Hatlo hat to the FreeBSD memory allocator for complaining
about multiple frees of the same string.)
svn path=/trunk/; revision=4136
That feels better. Some real programming for once.
Guided by Guy, I have cleaned up tftp a bit and added some useful stuff to
the summary line.
svn path=/trunk/; revision=4127
FT_INT64 type, and make the Diameter dissector use it.
Handle the 64-bit integer types in the display filter semantics checks.
svn path=/trunk/; revision=4125
whether it's present.
This puts HAVE_ICONV_H in the "config.h" file, so put in an entry for it
in "config.h.win32" - an entry that doesn't define it - and get rid of
the check for WIN32 in "xmlstub.h".
svn path=/trunk/; revision=4124
general packet analyzing, but useful when developing wiretap code or
other such low-level development.
Default preference is *not* to show File Offset.
svn path=/trunk/; revision=4120
Frascone.
Small white-space fix.
Display the preference level in router advertisements as signed, not
unsigned, as per RFC 1256, which says it's a "signed, twos-complement
value".
svn path=/trunk/; revision=4118
that they're external when the plugin is compiled, and there's no
definition to satisfy the extern, so plugins fail to compile.
Add a "plugins/plugin_api_defs.h" header file that defines them, and
include that in one (and only one) source file for a particular plugin.
svn path=/trunk/; revision=4117
and update the URL for the DHCP parameter value assignments; support a
code of 90 for DHCP authentication, as that's what RFC 3118 specifies.
Show symbolic values for some of the fields in the DHCP authentication
option, and base the decision on whether to dissect the authentication
data as HMAC-MD5 data on whether that's what the protocol and algorithm
field specified. Show the replay detection value as a 64-bit number
only if it's specified to be a monotonically-increasing counter;
otherwise, just show it as bytes.
svn path=/trunk/; revision=4116
It makes no difference if they really are function declarations;
however, in plugins, when building on OSes that don't let
dynamically-loaded modules access functions in the main program (e.g.,
Windows), when compiling a plugin, <plugin_api.h> defines the names of
those functions as (*pointer_name), so they turn into declarations of
pointer variables pointing to the functions in question, and, on
platforms with a def/ref model in the linker, if a plugin has more than
one source file that gets linked into the plugin, the linker may get
upset at two definitions of the same variable.
svn path=/trunk/; revision=4114
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
little-endian byte order.
Use "proto_tree_add_item()" wherever possible.
Get rid of line commented out with a C++ comment, as not all C compilers
accept C++ comments.
Don't put the user name into the protocol tree if it's not there (we
really should do TCP segment reassembly for this, but this is at least a
good first cut).
When checking whether data exists in the packet, use
"tvb_offset_exists()", don't compare the offset in the tvbuf with
"pinfo->len" - "pinfo->len" is the length of the entire packet, not of
the tvbuff.
Fix some references to "pi" to refer to "*pinfo" instead.
svn path=/trunk/; revision=4108
If the byte being investigated is 0, don't just do a "continue";
this might be one of the passes on which we have to propagate
carries, so skip the processing of that byte's bits, but fall
through to the carry processing.
In the carry processing loop, don't use "i" as the loop index,
as we're already using it as the outer loop index.
In "u64toh()", use lower-case letters rather than upper-case letters, as
we use "%x" rather than "%X" to print 8, 16, 24, and 32-bit integral
values in the "proto.c" code.
svn path=/trunk/; revision=4103
former depends on having "guint64" and the latter depends on
"%ll[douxX]" being what's used to print 64-bit integers, and there are
platforms on which Etheeal runs that don't have "guint64" or that don't
use "%ll[douxX]" to print 64-bit integers.
Get rid of the routines to extract 64-bit integers into "gint64"s and
"guint64"s, as per Ronnie Sahlberg's suggestion, to discourage people
from writing code that won't work on all platforms; they should be using
FT_UINT64, or the routines in "int-64bit.c", instead.
svn path=/trunk/; revision=4102
without requiring compiler support for them, and updates to the
Diameter, L2TP, NFS, and NLM dissectors to use it and to the ONC RPC
dissector to allow ONC RPC subdissectors to use it.
svn path=/trunk/; revision=4099
"snprintf()" returns a negative number, that's an error, and we assume
"errno" was set and return NULL, otherwise we cast its return value to
"size_t" and compare it with the size of the buffer we were given, and,
if it was bigger, we know that "snprintf()" didn't generate all the
characters it could be cause they wouldn't have fit, so we set "errno"
to ENOSPC and return NULL.
svn path=/trunk/; revision=4095
doesn't exist, or is out of date with respect to "config.h.win32", it's
remade - stuff in "ftypes" and "dfilter" includes "config.h", and it
should get the "config.h" in "epan".
svn path=/trunk/; revision=4091
that, when using cryptographic authentication, "The checksum field in
the standard OSPF header is not calculated, but is instead set to 0";
treat a packet checksum value of 0 as meaning "no checksum present".
svn path=/trunk/; revision=4090