From patchwork Fri Jun 30 10:39:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 21359 Received: (qmail 64319 invoked by alias); 30 Jun 2017 10:39:09 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 64254 invoked by uid 89); 30 Jun 2017 10:39:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 7B6EF7EBDB Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=fweimer@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 7B6EF7EBDB Date: Fri, 30 Jun 2017 12:39:04 +0200 To: libc-alpha@sourceware.org Subject: [PATCH COMMITTED] resolv: Turn _res_opcodes into a compatibility symbol User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20170630103904.2E8F6439942F0@oldenburg.str.redhat.com> From: fweimer@redhat.com (Florian Weimer) 2017-06-30 Florian Weimer * resolv/res_debug.c (_res_opcodes): Rename ... (res_opcodes): ... as compatibility symbol. (fp_nquery): Use res_opcodes. * include/resolv.h (_res_opcodes): Remove declaration. diff --git a/NEWS b/NEWS index 944804d..df6f394 100644 --- a/NEWS +++ b/NEWS @@ -234,6 +234,9 @@ Version 2.26 will now randomly pick a name server from the configuration as a starting point. (Previously, the second name server was always used.) +* The _res_opcodes variable has been removed from libresolv. It had been + exported by accident. + Security related changes: * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes, diff --git a/include/resolv.h b/include/resolv.h index 4d5b51e..2938506 100644 --- a/include/resolv.h +++ b/include/resolv.h @@ -90,8 +90,5 @@ libresolv_hidden_proto (__b64_ntop) libresolv_hidden_proto (__dn_count_labels) libresolv_hidden_proto (__p_secstodate) -extern const char *_res_opcodes[]; -libresolv_hidden_proto (_res_opcodes) - # endif /* _RESOLV_H_ && !_ISOMAC */ #endif diff --git a/resolv/res_debug.c b/resolv/res_debug.c index 182aeef..55d1fe9 100644 --- a/resolv/res_debug.c +++ b/resolv/res_debug.c @@ -106,6 +106,7 @@ #include #include #include +#include #ifdef SPRINTF_CHAR # define SPRINTF(x) strlen(sprintf/**/x) @@ -115,7 +116,12 @@ extern const char *_res_sectioncodes[] attribute_hidden; -const char *_res_opcodes[] = +/* _res_opcodes was exported by accident as a variable. */ +#if SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_26) +static const char *res_opcodes[] = +#else +static const char res_opcodes[][9] = +#endif { "QUERY", "IQUERY", @@ -134,7 +140,9 @@ const char *_res_opcodes[] = "ZONEINIT", "ZONEREF", }; -libresolv_hidden_data_def (_res_opcodes) +#if SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_26) +strong_alias (res_opcodes, _res_opcodes) +#endif static const char *p_section(int section, int opcode); @@ -259,7 +267,7 @@ fp_nquery (const unsigned char *msg, int len, FILE *file) if ((!pfcode) || (pfcode & RES_PRF_HEADX) || rcode) fprintf(file, ";; ->>HEADER<<- opcode: %s, status: %s, id: %d\n", - _res_opcodes[opcode], p_rcode(rcode), id); + res_opcodes[opcode], p_rcode(rcode), id); if ((!pfcode) || (pfcode & RES_PRF_HEADX)) putc(';', file); if ((!pfcode) || (pfcode & RES_PRF_HEAD2)) {