protocol tree lines can be long enough that you might want, or even
need, one (consider really long names for SNMP OIDs, for example).
svn path=/trunk/; revision=3466
dissector to dissect the datagram inside an error report datagram, save
the current values of the source and destination addresses, and restore
them after the subdissector returns, so that all address columns in the
summary pane will reflect the error datagram, not the datagram that
provoked the error.
Set the Protocol and Info columns upon entry to the ICMPv6 dissector, so
that if we throw an exception they don't reflect the protocol above
ICMPv6.
svn path=/trunk/; revision=3456
as it's called only through a handle or a dissector table, and the code
that handles those calls does the check.
Also, set the Protocol and Info columns before fetching anything from
the packet, so they're set if we throw an exception.
svn path=/trunk/; revision=3455
Use "col_add_fstr()" to set the Info column, rather than "sprintf()"ing
to a buffer and using "col_add_str()".
Add a routine that dissects unknown types of IGMP messages, and use it
for all IGMP messages for which we don't have a dissector.
svn path=/trunk/; revision=3452
packet is BOOTP or DHCP; have "bootp_option()" take a flag indicating
whether it's the first pass or the second and, in the first pass, don't
put anything in the protocol tree - just return, through pointers, the
DHCP packet type and the vendor class ID. On the second pass, don't
modify what those pointers point to, just use them as appropriate.
Make the vendor class ID pointer local to "dissect_bootp()", and have
"dissect_bootp()" do the first pass, set the Protocol and Info columns
appropriately if the packet is DHCP, and then, if a protocol tree is to
be built, make a second pass, handing "bootp_option()" the DHCP packet
type and vendor class ID we found.
If the vendor class ID is null, don't try to compare it with Intel's PXE
client indicator.
svn path=/trunk/; revision=3449
Fix text2pcap.c so that it can be compiled with Microsoft Visual C++
6.0:
protect some includes with #ifdefs, as not all the header files
in question exist in the MSVC++ build environment;
include <winsock.h> if we have it, to declare "ntohs()" and the
like;
include "getopt.h" if we need it, to declare stuff for
"getopt()";
include "config.h" if we have it, so we know whether the header
files in question exist or are needed;
rename "BYTE" to "READ_BYTE", as <winsock.h> defines BYTE as
well, and that definition causes a conflict;
get rid of references to "__FUNCTION__", as MSVC++ doesn't
define it (I suspect at least some UNIX compilers don't define
it, either).
svn path=/trunk/; revision=3428
when it's used by "text2pcap.c" - and so that the *same* prototype is in
scope when it's defined by "text2pcap-scanner.c".
Define "YY_NO_UNPUT" in "text2pcap.h", so we don't define "yyunput()" in
"text2pcap-scanner.c"; it's not used, so some compilers whine about it.
svn path=/trunk/; revision=3424
files. See text2pcap.1 (built from doc/text2pcap.pod) for details.
Changed 'tethereal -x' output to match hex dump format of text2pcap,
Ethereal and others.
svn path=/trunk/; revision=3421