forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-crypt/gnupg: Fix CNAME dns regression introduced in 2.1.17
Upstream patch to fix CNAME DNS regression introduced in released 2.1.17 relating to trailing dot in name. Package-Manager: Portage-2.3.3, Repoman-2.3.1
- Loading branch information
Showing
2 changed files
with
49 additions
and
3 deletions.
There are no files selected for viewing
46 changes: 46 additions & 0 deletions
46
...crypt/gnupg/files/gnupg-2.1.17-dirmngr-Strip-root-zone-suffix-from-libdns-cname-res.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
From b200e636ab20d2aa93d9f71f3789db5a04af0a56 Mon Sep 17 00:00:00 2001 | ||
From: Werner Koch <[email protected]> | ||
Date: Mon, 2 Jan 2017 10:00:33 +0100 | ||
Subject: [PATCH] dirmngr: Strip root zone suffix from libdns cname results. | ||
|
||
* dirmngr/dns-stuff.c (resolve_name_libdns): Strip trailing dot. | ||
(get_dns_cname_libdns): Ditto. | ||
-- | ||
|
||
Signed-off-by: Werner Koch <[email protected]> | ||
--- | ||
dirmngr/dns-stuff.c | 11 +++++++++++ | ||
1 file changed, 11 insertions(+) | ||
|
||
diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c | ||
index a31b073..f2e1df9 100644 | ||
--- a/dirmngr/dns-stuff.c | ||
+++ b/dirmngr/dns-stuff.c | ||
@@ -732,6 +732,10 @@ resolve_name_libdns (const char *name, unsigned short port, | ||
err = gpg_error_from_syserror (); | ||
goto leave; | ||
} | ||
+ /* Libdns appends the root zone part which is problematic | ||
+ * for most other functions - strip it. */ | ||
+ if (**r_canonname && (*r_canonname)[strlen (*r_canonname)-1] == '.') | ||
+ (*r_canonname)[strlen (*r_canonname)-1] = 0; | ||
} | ||
|
||
dai = xtrymalloc (sizeof *dai + ent->ai_addrlen -1); | ||
@@ -1899,6 +1903,13 @@ get_dns_cname_libdns (const char *name, char **r_cname) | ||
*r_cname = xtrystrdup (cname.host); | ||
if (!*r_cname) | ||
err = gpg_error_from_syserror (); | ||
+ else | ||
+ { | ||
+ /* Libdns appends the root zone part which is problematic | ||
+ * for most other functions - strip it. */ | ||
+ if (**r_cname && (*r_cname)[strlen (*r_cname)-1] == '.') | ||
+ (*r_cname)[strlen (*r_cname)-1] = 0; | ||
+ } | ||
|
||
leave: | ||
dns_free (ans); | ||
-- | ||
2.8.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters