daandemeyer / rpms / systemd

Forked from rpms/systemd 2 years ago
Clone
7e7c9f
From 351e67e1a7259ac31ec3a7c2d5e850e60f622a5a Mon Sep 17 00:00:00 2001
7e7c9f
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
7e7c9f
Date: Tue, 31 Jan 2017 19:55:33 -0500
7e7c9f
Subject: [PATCH] nss-util: silence warning about deprecated RES_USE_INET6
7e7c9f
MIME-Version: 1.0
7e7c9f
Content-Type: text/plain; charset=UTF-8
7e7c9f
Content-Transfer-Encoding: 8bit
7e7c9f
7e7c9f
src/nss-resolve/nss-resolve.c: In function ‘_nss_resolve_gethostbyname_r’:
7e7c9f
src/nss-resolve/nss-resolve.c:680:13: warning: RES_USE_INET6 is deprecated
7e7c9f
 NSS_GETHOSTBYNAME_FALLBACKS(resolve);
7e7c9f
             ^~~~~~~~~~~~~~~~~~~~~~~~~
7e7c9f
7e7c9f
In glibc bz #19582, RES_USE_INET6 was deprecated. This might make sense for
7e7c9f
clients, but they didn't take into account nss module implementations which
7e7c9f
*must* continue to support the option. glibc internally defines
7e7c9f
DEPRECATED_RES_USE_INET6 which can be used without emitting a warning, but
7e7c9f
it's not exported publicly. Let's do the same, and just copy the definition
7e7c9f
to our header.
7e7c9f
7e7c9f
(cherry picked from commit 6154d33de3f15bbd5d5df718103af9c37ba0a768)
7e7c9f
7e7c9f
Resolves: #1799002
7e7c9f
---
7e7c9f
 src/shared/nss-util.h | 6 +++++-
7e7c9f
 1 file changed, 5 insertions(+), 1 deletion(-)
7e7c9f
7e7c9f
diff --git a/src/shared/nss-util.h b/src/shared/nss-util.h
7e7c9f
index 230a986040..01524289c5 100644
7e7c9f
--- a/src/shared/nss-util.h
7e7c9f
+++ b/src/shared/nss-util.h
7e7c9f
@@ -25,6 +25,10 @@
7e7c9f
 #include <netdb.h>
7e7c9f
 #include <resolv.h>
7e7c9f
 
7e7c9f
+#ifndef DEPRECATED_RES_USE_INET6
7e7c9f
+#  define DEPRECATED_RES_USE_INET6 0x00002000
7e7c9f
+#endif
7e7c9f
+
7e7c9f
 #define NSS_GETHOSTBYNAME_PROTOTYPES(module)            \
7e7c9f
 enum nss_status _nss_##module##_gethostbyname4_r(       \
7e7c9f
                 const char *name,                       \
7e7c9f
@@ -90,7 +94,7 @@ enum nss_status _nss_##module##_gethostbyname_r(        \
7e7c9f
                 int *errnop, int *h_errnop) {           \
7e7c9f
         enum nss_status ret = NSS_STATUS_NOTFOUND;      \
7e7c9f
                                                         \
7e7c9f
-        if (_res.options & RES_USE_INET6)               \
7e7c9f
+        if (_res.options & DEPRECATED_RES_USE_INET6)    \
7e7c9f
                 ret = _nss_##module##_gethostbyname3_r( \
7e7c9f
                         name,                           \
7e7c9f
                         AF_INET6,                       \