Ethereal version 0.9.13 adds support for the ADNS library. This lets you enable host name lookups with impunity (before they would slow Ethereal down to a crawl if it had to wait for lookups to time out). The attached patch makes the following changes: - Adds ADNS 1.0 to the RDEPEND list (Does ADNS have a USE variable? I couldn't find one.) - Improves the gtk2-vs-gtk-vs-nothing_at_all checking. This should take care of bug # 20475. - Fixes couple of other nits (configure directive names, mainly). Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 13222 [details, diff] 0.9.13 ebuild patch
without this patch, ethereal compiling fails: /usr/bin/pod2man \ --center="The Ethereal Network Analyzer" \ --release=0.9.13 \ tethereal.pod > ../tethereal.1 make[3]: Leaving directory `/mnt/hdc/tmp/portage/ethereal-0.9.13/work/ethereal-0.9.13/doc' (cd doc ; \ make ../ethereal.1 ) make[3]: Entering directory `/mnt/hdc/tmp/portage/ethereal-0.9.13/work/ethereal-0.9.13/doc' ../ethereal -G fields | /usr/bin/perl ./dfilter2pod.pl ./ethereal.pod.template > ethereal.pod epan/libethereal.a(resolv.o)(.text+0x1f9): In function `host_name_lookup_process': : undefined reference to `adns_check' epan/libethereal.a(resolv.o)(.text+0x285): In function `host_name_lookup_process': : undefined reference to `adns_submit' epan/libethereal.a(resolv.o)(.text+0x89f): In function `host_name_lookup_init': : undefined reference to `adns_init' epan/libethereal.a(resolv.o)(.text+0x8d5): In function `host_name_lookup_cleanup': : undefined reference to `adns_finish' collect2: ld returned 1 exit status make[2]: *** [dftest] Error 1 make[2]: *** Waiting for unfinished jobs.... /usr/bin/pod2man \ --center="The Ethereal Network Analyzer" \ --release=0.9.13 \ ethereal.pod > ../ethereal.1 make[3]: Leaving directory `/mnt/hdc/tmp/portage/ethereal-0.9.13/work/ethereal-0.9.13/doc' make[2]: Leaving directory `/mnt/hdc/tmp/portage/ethereal-0.9.13/work/ethereal-0.9.13' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/mnt/hdc/tmp/portage/ethereal-0.9.13/work/ethereal-0.9.13' make: *** [all] Error 2 !!! ERROR: net-analyzer/ethereal-0.9.13 failed. !!! Function src_compile, Line 70, Exitcode 2 !!! compile problem
To be more specific, compilation fails if you have ADNS installed. Unfortunately, the 0.9.13 distribution broke dftest if ADNS is present on your system and you don't explicitly disable it. (The configure script automatically adds ADNS support if it's present on the system.) A fix has been checked in to the CVS tree and will be present in the 0.9.14 release: http://www.ethereal.com/cgi-bin/viewcvs.cgi/ethereal/Makefile.am.diff?r1=1.589&r2=1.590 For 0.9.13, the choices are: - Build without dftest - Apply the above patch to fix dftest - Explicitly disable ADNS I'd recommend one of the first two. If you have a need for dftest, it's because you're modifying the display filter code (and you're working from a source tree). I'm not sure why it was included in the ebuild in the first place.
If we were voting, I'd vote for an adns USE flag. However, there are currently only three packages with a *direct* dependency on adns: $ etcat -d adns [ Results for search key : adns ] * app-admin/modlogan-0.7.4-r1 >=net-libs/adns-1.0 * app-admin/modlogan-0.7.18 >=net-libs/adns-1.0 * app-games/tetrix-1.13.16.1.40c net-libs/adns * net-www/straw-0.17 =dev-python/adns-python-1.0.0 * net-www/straw-0.18.1 =dev-python/adns-python-1.0.0 * dev-python/adns-python-1.0.0 =net-libs/adns-1.0* However, there may be more lurking out there than have an *optional* dependency on adns that isn't being tested for by ebuilds but might be used by GNU configure. BTW, removing --enable-dftest fixed my ethereal compile problems (part of the previously attached patch), but the makefile patch (from ethereal.com) looks safe, too.
I think the best way to fix this issue will be the quickest one. There has been a security alert on 0.9.12 for more than a week, and it's really critical that people still can't update. I've personnaly done it patching Makefile.am, because it is only two lines to add to the src_unpack(), and it does work. mv Makefile.am Makefile.am.orig sed "s|@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@|@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@ @ADNS_LIBS@|" \ Makefile.am.orig > Makefile.am
I added this patch into the ebuild. Thanks for it :-) Now ethereal compiled fine with ADNS enabled on my iBook. I'll resolve this bug, but will leave the resolution to "later". We still have to discuss, if ADNS should be enabled by default in ethereal.