diff options
author | rafan <rafan@FreeBSD.org> | 2007-08-21 09:33:56 +0800 |
---|---|---|
committer | rafan <rafan@FreeBSD.org> | 2007-08-21 09:33:56 +0800 |
commit | e10a033374bc863082ea78c465722fdd3c3e5435 (patch) | |
tree | 354ceeb9e27f2289cd465b2af2ef2a8c4c53dd39 | |
parent | 560863ac855f5a9c38c779fa9cd620aab26e36c8 (diff) | |
download | freebsd-ports-gnome-e10a033374bc863082ea78c465722fdd3c3e5435.tar.gz freebsd-ports-gnome-e10a033374bc863082ea78c465722fdd3c3e5435.tar.zst freebsd-ports-gnome-e10a033374bc863082ea78c465722fdd3c3e5435.zip |
- Add a patch for chained CNAME
PR: ports/115297
Submitted by: rafan
Approved by: farrokhi (maintainer)
Obtained from: http://hugo.vulcano.cl/development/adns-cc
-rw-r--r-- | dns/adns/Makefile | 1 | ||||
-rw-r--r-- | dns/adns/files/patch-cname-chains | 56 |
2 files changed, 57 insertions, 0 deletions
diff --git a/dns/adns/Makefile b/dns/adns/Makefile index 7e8ca98c662b..419620b1cefa 100644 --- a/dns/adns/Makefile +++ b/dns/adns/Makefile @@ -7,6 +7,7 @@ PORTNAME= adns PORTVERSION= 1.4 +PORTREVISION= 1 CATEGORIES= dns MASTER_SITES= ftp://ftp.chiark.greenend.org.uk/users/ian/adns/ \ http://www.chiark.greenend.org.uk/~ian/adns/ftp/ diff --git a/dns/adns/files/patch-cname-chains b/dns/adns/files/patch-cname-chains new file mode 100644 index 000000000000..4958d48eafd8 --- /dev/null +++ b/dns/adns/files/patch-cname-chains @@ -0,0 +1,56 @@ +Index: src/query.c +=================================================================== +--- src/query.c (revision 14) ++++ src/query.c (working copy) +@@ -63,6 +63,10 @@ + + qu->cname_dgram= 0; + qu->cname_dglen= qu->cname_begin= 0; ++ /* Patch to allow CNAME chains */ ++ /* Credits: Brad Spencer, see http://www.chiark.greenend.org.uk/pipermail/adns-discuss/2006/001161.html */ ++ /* Allow CNAME chains up to some sane limit */ ++ qu->cname_alias_hops_left = 10; + + adns__vbuf_init(&qu->search_vb); + qu->search_origlen= qu->search_pos= qu->search_doneabs= 0; +Index: src/internal.h +=================================================================== +--- src/internal.h (revision 14) ++++ src/internal.h (working copy) +@@ -231,6 +231,11 @@ + int cname_dglen, cname_begin; + /* If non-0, has been allocated using . */ + ++ /* Patch to allow CNAME chains */ ++ /* Credits: Brad Spencer, see http://www.chiark.greenend.org.uk/pipermail/adns-discuss/2006/001161.html */ ++ int cname_alias_hops_left; ++ /* The number of cname alias hops we will allow */ ++ + vbuf search_vb; + int search_origlen, search_pos, search_doneabs; + /* Used by the searching algorithm. The query domain in textual form +Index: src/reply.c +=================================================================== +--- src/reply.c (revision 14) ++++ src/reply.c (working copy) +@@ -190,12 +190,17 @@ + if (qu->flags & adns_qf_cname_forbid) { + adns__query_fail(qu,adns_s_prohibitedcname); + return; +- } else if (qu->cname_dgram) { /* Ignore second and subsequent CNAME(s) */ ++ } ++ ++ /* Patch to allow CNAME chains */ ++ /* Credits: Brad Spencer, see http://www.chiark.greenend.org.uk/pipermail/adns-discuss/2006/001161.html */ ++ else if (qu->cname_dgram && --(qu->cname_alias_hops_left) <= 0) { /* Don't follow "too long" CNAME chains */ + adns__debug(ads,serv,qu,"allegedly canonical name %s" +- " is actually alias for %s", qu->answer->cname, ++ " is actually alias for %s and aliases too deep", ++ qu->answer->cname, + adns__diag_domain(ads,serv,qu, &qu->vb, + dgram,dglen,rdstart)); +- adns__query_fail(qu,adns_s_prohibitedcname); ++ adns__query_fail(qu,adns_s_norecurse); + return; + } else if (wantedrrs) { /* Ignore CNAME(s) after RR(s). */ + adns__debug(ads,serv,qu,"ignoring CNAME (to %s) coexisting with RR", |