Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292545 - [PATCH] net-libs/adns-1.4 failed to follow CNAME chains
Summary: [PATCH] net-libs/adns-1.4 failed to follow CNAME chains
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-09 16:18 UTC by Alex Efros
Modified: 2009-11-10 13:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
add support for CNAME chains (adns-1.4-cnamechain.patch,5.10 KB, patch)
2009-11-09 16:20 UTC, Alex Efros
Details | Diff
ebuild patch (adns-1.4.ebuild.patch,372 bytes, patch)
2009-11-09 16:21 UTC, Alex Efros
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Efros 2009-11-09 16:18:09 UTC
Google start using CNAME chains in it's DNS replies for some countries (like UK), but adns doesn't support this "feature" because it author think it violates RFC. Because of this now it's impossible to resolve "www.google.com" in UK using adns.

More details on topic available here: http://www.chiark.greenend.org.uk/pipermail/adns-discuss/2006/001161.html

Here is example of DNS output on my server, with CNAME chain:

$ dnsqr a www.google.com
1 www.google.com:
140 bytes, 1+6+0+0 records, response, noerror
query: 1 www.google.com
answer: www.google.com 602770 CNAME www.l.google.com
answer: www.l.google.com 164 CNAME www-tmmdi.l.google.com
answer: www-tmmdi.l.google.com 165 A 216.239.59.104
answer: www-tmmdi.l.google.com 165 A 216.239.59.147
answer: www-tmmdi.l.google.com 165 A 216.239.59.99
answer: www-tmmdi.l.google.com 165 A 216.239.59.103

Here is adns debug output with error:

# adnshost -Vd www.google.com
adns debug: environment variable RES_OPTIONS not set
adns debug: environment variable ADNS_RES_OPTIONS not set
adns debug: using nameserver 127.0.0.2
adns debug: environment variable RES_CONF not set
adns debug: environment variable ADNS_RES_CONF not set
adns debug: environment variable RES_CONF_TEXT not set
adns debug: environment variable ADNS_RES_CONF_TEXT not set
adns debug: environment variable LOCALDOMAIN not set
adns debug: environment variable ADNS_LOCALDOMAIN not set
adns debug: allegedly canonical name www.l.google.com is actually alias for www-
tmmdi.l.google.com (QNAME=www.google.com, QTYPE=A(addr), NS=127.0.0.2)
www.google.com CNAME www.l.google.com
Error during DNS A lookup for www.google.com: DNS alias found where canonical na
me wanted


That maillist thread contains a patch, which solve this issue. I'll attach patch and diff to ebuild.

Here is adns output with patch applied:

# adnshost -Vd www.google.com
adns debug: environment variable RES_OPTIONS not set
adns debug: environment variable ADNS_RES_OPTIONS not set
adns debug: using nameserver 127.0.0.2
adns debug: environment variable RES_CONF not set
adns debug: environment variable ADNS_RES_CONF not set
adns debug: environment variable RES_CONF_TEXT not set
adns debug: environment variable ADNS_RES_CONF_TEXT not set
adns debug: environment variable LOCALDOMAIN not set
adns debug: environment variable ADNS_LOCALDOMAIN not set
www.google.com CNAME www-tmmdi.l.google.com
www-tmmdi.l.google.com A INET 216.239.59.103
www-tmmdi.l.google.com A INET 216.239.59.147
www-tmmdi.l.google.com A INET 216.239.59.99
www-tmmdi.l.google.com A INET 216.239.59.104


Reproducible: Always




Portage 2.1.6.13 (hardened/linux/x86/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.28-hardened-r9 i686)
=================================================================
System uname: Linux-2.6.28-hardened-r9-i686-Intel-R-_Core-TM-2_CPU_6600_@_2.40GHz-with-gentoo-1.12.13
Timestamp of tree: Sat, 07 Nov 2009 14:30:01 +0000
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r1
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /service /usr/inferno/keydb /usr/inferno/lib /usr/inferno/services /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/log /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O2 -pipe"
DISTDIR="/usr/portage-distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.lug.ro/gentoo/ http://mirror.qubenet.net/mirror/gentoo/"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en ru"
MAKEOPTS="-j3"
PKGDIR="/usr/portage-packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/powerman /usr/local/portage/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi aim alsa apache2 arts asf avi bash-completion berkdb bitmap-fonts bzip2 cdr chm cli cracklib crypt cscope curl dbus dga divx4linux djvu dlloader dri dts dvd dvdr dvdread encode fastcgi ffmpeg flac flash gd gdbm gif gnutls gpg gtk gtk2 hardened hddtemp iconv icq idn imagemagick imap imlib irc jabber javascript jpeg kde kdeenablefinal lm_sensors lzo mad mailbox mbox mmx mng modules motif mp3 mpeg msn mudflap mysql ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre perl pic png pppd pwdb python qt qt3support quicktime readline reflection rss rtc samba sdl session spell spl sse sse2 ssl ssse3 svg sysfs tcltk tcpd tiff truetype truetype-fonts type1-fonts unicode urandom vim-pager vim-syntax vim-with-x vorbis win32codecs x86 xinetd xorg xv xvid yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 	emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m 	maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="     log_config vhost_alias     autoindex alias rewrite dir deflate filter mime negotiation     auth_basic authn_file authz_host authz_user authz_groupfile     cgi actions headers env setenvif     " ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" LIRC_DEVICES="serial" USERLAND="GNU" VIDEO_CARDS="vesa fbdev nv nvidia"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Alex Efros 2009-11-09 16:20:01 UTC
Created attachment 209756 [details, diff]
add support for CNAME chains
Comment 2 Alex Efros 2009-11-09 16:21:06 UTC
Created attachment 209758 [details, diff]
ebuild patch
Comment 3 Markos Chandras (RETIRED) gentoo-dev 2009-11-10 13:51:41 UTC
On tree
Thanks for repoting it

+*adns-1.4-r1 (10 Nov 2009)
+
+  10 Nov 2009; Markos Chandras <hwoarang@gentoo.org> +adns-1.4-r1.ebuild,
+  +files/adns-1.4-cnamechain.patch:
+  Fix cname issue ( bug #292545 ). EAPI2fy it. Thanks to Alex Efros <powerman-asdf@yandex.ru>
+  for the attached patch.