On Mon, Jan 26, 2004 at 06:54:20PM +0100, Antoine wrote:
> First, is there a specific place where to report bugs ? I couldn't find
> one, but a bugzilla or equivalent would certainly be easier than
> subscribing to a specific mailing-list...
There's
http://sourceforge.net/projects/ethereal/
although if you don't have a SourceForge account you won't, I think, get
mail if the bug item gets updated.
> I have the following problem with the latest ethereal package in
> Mandrake Cooker (0.10.0a-2mdk). When used with the -x option, tethereal
> crashes upon trying to display the first packet received. For example:
>
> # tethereal -i eth0 -x
> Capturing on eth0
> 0.000000 213.41.191.56 -> 62.4.16.70 DNS Standard query A qa.mandrakesoft.com
>
> ** ERROR **: file print.c: line 691 (print_line): should not be reached
> aborting...
> Aborted (core dumped)
That's a known bug in 0.10.0a, fixed in the current CVS version.
To get a fixed version, you'd either have to build the current CVS
version (which requires more tools, and more complicated steps, than
building a source tarball), or apply the attached patch to the 0.10.0a
source tarball and rebuild.
To work around the problem without having to compile a fixed version,
don't use "-x" unless you're also using "-V". ("-V" prints many lines
per packet; don't use it unless you really *want* every packet printed
in detail.)
Index: tethereal.c
===================================================================
RCS file: /usr/local/cvsroot/ethereal/tethereal.c,v
retrieving revision 1.210
retrieving revision 1.211
diff -c -r1.210 -r1.211
*** tethereal.c 11 Dec 2003 01:13:32 -0000 1.210
--- tethereal.c 17 Dec 2003 21:11:25 -0000 1.211
***************
*** 2537,2550 ****
#ifdef HAVE_LIBPCAP
ld.packet_count++;
#endif
if (verbose) {
/* Print the information in the protocol tree. */
- print_args.to_file = TRUE;
- print_args.format = print_format;
- print_args.print_summary = FALSE;
- print_args.print_hex = print_hex;
- print_args.print_dissections = print_dissections_expanded;
- print_args.print_range = print_range_all_captured;
proto_tree_print(&print_args, edt, stdout);
if (!print_hex) {
/* "print_hex_data()" will put out a leading blank line, as well
--- 2537,2550 ----
#ifdef HAVE_LIBPCAP
ld.packet_count++;
#endif
+ print_args.to_file = TRUE;
+ print_args.format = print_format;
+ print_args.print_summary = !verbose;
+ print_args.print_hex = print_hex;
+ print_args.print_dissections = print_dissections_expanded;
+ print_args.print_range = print_range_all_captured;
if (verbose) {
/* Print the information in the protocol tree. */
proto_tree_print(&print_args, edt, stdout);
if (!print_hex) {
/* "print_hex_data()" will put out a leading blank line, as well