diff options
-rw-r--r-- | security/gnupg2/distinfo | 3 | ||||
-rw-r--r-- | security/gnupg2/patches/patch-dirmngr_dns.c | 82 |
2 files changed, 84 insertions, 1 deletions
diff --git a/security/gnupg2/distinfo b/security/gnupg2/distinfo index 774c6a054bf..34b17ba74d1 100644 --- a/security/gnupg2/distinfo +++ b/security/gnupg2/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.53 2019/03/20 06:39:52 adam Exp $ +$NetBSD: distinfo,v 1.54 2019/03/27 09:42:15 jperkin Exp $ SHA1 (gnupg-2.2.14.tar.bz2) = f349c20e7498af88299b0d42a961e0364e5c37e7 RMD160 (gnupg-2.2.14.tar.bz2) = e8972a7e145b5c9a49e34392b2a70d09748c30b3 SHA512 (gnupg-2.2.14.tar.bz2) = 9d5216dee085efe6de300579d8fb773a5a55df639d5a435708611a974df522dd60dc995fbfcaad98065475dbeb731bbba19ecc3273e78b9b45fccff640dde69b Size (gnupg-2.2.14.tar.bz2) = 6707735 bytes +SHA1 (patch-dirmngr_dns.c) = 5850d0cde376b076cc80d749ff3fb5b49ff9ee1e diff --git a/security/gnupg2/patches/patch-dirmngr_dns.c b/security/gnupg2/patches/patch-dirmngr_dns.c new file mode 100644 index 00000000000..fe569f47e80 --- /dev/null +++ b/security/gnupg2/patches/patch-dirmngr_dns.c @@ -0,0 +1,82 @@ +$NetBSD: patch-dirmngr_dns.c,v 1.1 2019/03/27 09:42:15 jperkin Exp $ + +Avoid _P. + +--- dirmngr/dns.c.orig 2019-03-07 12:03:15.000000000 +0000 ++++ dirmngr/dns.c +@@ -5275,8 +5275,8 @@ error: + + + struct dns_packet *dns_hosts_query(struct dns_hosts *hosts, struct dns_packet *Q, int *error_) { +- union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _P = { 0 }; +- struct dns_packet *P = dns_p_init(&_P.p, 512); ++ union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Pack = { 0 }; ++ struct dns_packet *P = dns_p_init(&_Pack.p, 512); + struct dns_packet *A = 0; + struct dns_rr rr; + struct dns_hosts_entry *ent; +@@ -6837,7 +6837,7 @@ unsigned dns_hints_grep(struct sockaddr + + + struct dns_packet *dns_hints_query(struct dns_hints *hints, struct dns_packet *Q, int *error_) { +- union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _P = { 0 }; ++ union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Pack = { 0 }; + struct dns_packet *A, *P; + struct dns_rr rr; + char zone[DNS_D_MAXNAME + 1]; +@@ -6858,7 +6858,7 @@ struct dns_packet *dns_hints_query(struc + else if (zlen >= sizeof zone) + goto toolong; + +- P = dns_p_init(&_P.p, 512); ++ P = dns_p_init(&_Pack.p, 512); + dns_header(P)->qr = 1; + + if ((error = dns_rr_copy(P, &rr, Q))) +@@ -8463,8 +8463,8 @@ error: + + + static struct dns_packet *dns_res_glue(struct dns_resolver *R, struct dns_packet *Q) { +- union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _P = { 0 }; +- struct dns_packet *P = dns_p_init(&_P.p, 512); ++ union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Pack = { 0 }; ++ struct dns_packet *P = dns_p_init(&_Pack.p, 512); + char qname[DNS_D_MAXNAME + 1]; + size_t qlen; + enum dns_type qtype; +@@ -10608,9 +10608,9 @@ static void print_packet(struct dns_pack + + + static int parse_packet(int argc DNS_NOTUSED, char *argv[] DNS_NOTUSED) { +- union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _P = { 0 }; ++ union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Pack = { 0 }; + union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Q = { 0 }; +- struct dns_packet *P = dns_p_init(&_P.p, 512); ++ struct dns_packet *P = dns_p_init(&_Pack.p, 512); + struct dns_packet *Q = dns_p_init(&_Q.p, 512); + enum dns_section section; + struct dns_rr rr; +@@ -11033,10 +11033,10 @@ static int show_hints(int argc, char *ar + if (0 == strcmp(how, "plain")) { + dns_hints_dump(hints, stdout); + } else { +- union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _P = { 0 }; ++ union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Pack = { 0 }; + struct dns_packet *query, *answer; + +- query = dns_p_init(&_P.p, 512); ++ query = dns_p_init(&_Pack.p, 512); + + if ((error = dns_p_push(query, DNS_S_QUESTION, who, strlen(who), DNS_T_A, DNS_C_IN, 0, 0))) + panic("%s: %s", who, dns_strerror(error)); +@@ -11199,8 +11199,8 @@ static int echo_port(int argc DNS_NOTUSE + panic("127.0.0.1:5353: %s", dns_strerror(errno)); + + for (;;) { +- union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _P = { 0 }; +- struct dns_packet *pkt = dns_p_init(&_P.p, 512); ++ union { unsigned char b[dns_p_calcsize((512))]; struct dns_packet p; } _Pack = { 0 }; ++ struct dns_packet *pkt = dns_p_init(&_Pack.p, 512); + struct sockaddr_storage ss; + socklen_t slen = sizeof ss; + ssize_t count; |