ASN1_ERR_NOERROR, as you can't have a dissection error if you've
dissected nothing.
When dissecting a Bind reply, set "ret" to the return value of
"dissect_ldap_response_bind()", so errors get reported properly.
svn path=/trunk/; revision=4851
just display the message type and body as an error.
If the message type isn't a type we dissect, display the "Unknown
message type" entry with the right offset and length.
svn path=/trunk/; revision=4850
scripts, and check in changes to add _U_ to some unused arguments (some
other should perhaps be used, so we leave the _U_ out so that the
warnings serve as a reminder to check those).
svn path=/trunk/; revision=4848
scripts, and check in changes to add _U_ to some unused arguments (some
other should perhaps be used, so we leave the _U_ out so that the
warnings serve as a reminder to check those).
svn path=/trunk/; revision=4847
other platforms, either) - don't use it. Instead, use "guint32", as the
item in question is a 32-bit unsigned integer.
In fact, it's a 32-bit unsigned integer containing a bit set, and the
data type isn't a "long", so print it with "0x%08x", rather than
"0x%04lx", so that all 8 hex digits are printed, and so that the format
matches the data type.
It also doesn't have to be initialized - the only code path in which
it's used sets it.
svn path=/trunk/; revision=4842
always set that pointer if they return ASN1_ERR_NOERROR. Have the
routines that call them use the value only if the routine returns
ASN1_ERR_NOERROR. Don't bother setting the pointer before calling the
routine.
Report unknown modify operation types.
svn path=/trunk/; revision=4834
that in the SNMP dissector.
Check the return values of ASN.1 routines in the LDAP dissector, and
have all the subroutines in that disesctor that can return error
indications return ASN1_ERR_ values.
Have the routines that can supply a pointer to a newly-created
protocol-tree item use the right type for items ("proto_item *", not
"proto_tree *", even though they are, at least currently, typedefs for
the same type), and use "proto_item" for the type of the item a pointer
to which is passed to those routines.
Before calling those routines, set the item pointer to null, in case the
routine fails.
Don't check the return value of "parse_filter_strings()" against -1 -
that routine can't return -1.
svn path=/trunk/; revision=4833
be initialized in gtk/follow_dlg.c
In gtk/follow_dlg.c, declare data_out_file as 'extern'.
In tethereal.c, no longer define 'data_out_file', as the storage
for it is now in follow.c.
svn path=/trunk/; revision=4830
In the "configure.in" files, add
-D_U_="__attribute__((unused))"
to CFLAGS if we're using GCC, and add
-D_U_=""
otherwise, so _U_ can be used to mark arguments as unused.
Add -D_U_="" arguments to the Makefile.nmake files as well, so _U_ works
with Microsoft Visual C++ as well.
Add comments and RCS IDs to the Makefile.nmake files that don't already
have them.
svn path=/trunk/; revision=4824
non-existent functions.
Remove the "filetype" argument from the "can_write_encap" functions for
particular capture file types - the argument value is implicit, in that
the routine being called is the routine for that particular file type.
svn path=/trunk/; revision=4823
and group names, and use them instead of the numeric "alias" and "group"
fields when putting the names into the protocol tree.
svn path=/trunk/; revision=4812
dissectors. "Old-style" dissectors return nothing. "New-style"
dissectors return one of:
a positive integer, giving the number of bytes worth of data in
the tvbuff that it considered to be part of the PDU in the
tvbuff;
zero, if it didn't consider the data in the tvbuff to be a PDU
for its protocol;
a negative integer, giving the number of additional bytes worth
of data in needs to get the complete PDU (for use with
fragmentation/segmentation when the length of the PDU isn't
known to the protocol atop the one the dissector is dissecting).
Have "call_dissector()" return the return value of new-style dissectors,
and the length of the tvbuff handed to it for old-style dissectors.
Have "dissector_try_port()" return FALSE if the subdissector is a
new-style dissector and returned 0.
Make the EAP dissector a new-style dissector, and have a "EAP fragment"
dissector that is also a new-style dissector and handles fragmentation
of EAP messages (as happens above, for example, RADIUS). Also, clean up
some signed vs. unsigned comparison problems.
Reassemble EAP-Message AVPs in RADIUS.
svn path=/trunk/; revision=4811
use that tree to stick fragment information when we reassemble
EAP-message fragments.
Fix up some "tvb_new_subset()" calls to set the actual length to the
minimum of the data left in the tvbuff and the length of the subset.
svn path=/trunk/; revision=4809
own protocol tree item; instead, use the SSL protocol tree for that, and
put it under the EAP tree. (I infer from mail from Adam Sulmicki that
this is a change he had but couldn't generate and submit due to CVS
problems.)
svn path=/trunk/; revision=4808
set the columns, for use with EAP payloads inside RADIUS packets.
From Adam Sulmicki: dissect SSL-encoded stuff inside EAP.
svn path=/trunk/; revision=4806
necessary; most of them also provoke compiler warning with some
compilers, as they assign -1 to unsigned variables.
Also use "guint8" instead of "unsigned char" for 8-bit unsigned integer
variables.
Get rid of one "tvb_get_letohl()"/"proto_tree_add_uint_format()"
combination in favor of "proto_tree_add_item()".
svn path=/trunk/; revision=4802
Move the ringbuffer capture options from the "capture_file" structure to
the structure for capture options, as they're a property of an
in-progress capture, not a property of a particular capture file.
svn path=/trunk/; revision=4799
a time, so we dissect as far as we can.
Set the length of the EAP protocol item to the length of an EAP header.
Put information into the Info column about the EAP code and, for a
request or response, the EAP type.
svn path=/trunk/; revision=4798
"init_dissection()" which calls "epan_conversation_init()", does the
work that "init_all_protocols()" did, and then calls
"reassemble_init()", so that the standard sequence of dissection
initialization is done in one place, rather than having multiple places
call the same sequence of routines.
svn path=/trunk/; revision=4797
"capture_file" structure - they're a property of an in-progress capture,
not a property of an open capture file. Make them just variables.
The maximum number of packets to be captured should be a variable
separate from the "count" field in the "capture_file" structure - the
latter is a count of the packets in the capture file in question.
Have Boolean variables indicating whether a maximum packet count,
maximum capture file size, and maximum capture duration were specified.
If an option isn't set, and we're doing an "update list of packets in
real time" capture, don't pass the option to the child process with a
command-line argument.
Don't create "stop when the capture file reaches this size" or "stop
when the capture's run for this long" conditions if a maximum capture
file size or a maximum capture duration, respectively, haven't been
specified. Don't test or free a condition if it wasn't created.
Don't allow a 0 argument to the "-c" flag - the absence of a "-c" flag
is the way you specify "no limit on the number of packets".
Initialize the check boxes and spin buttons for the "maximum packets to
capture", "maximum capture size", and "maximum capture duration" options
to the values they had in the last capture. If an option wasn't
specified, don't read its value from the dialog box and set the
variable.
svn path=/trunk/; revision=4795