This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.25-597-ge6b4e2d
- From: fw at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 27 Jun 2017 07:40:19 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.25-597-ge6b4e2d
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via e6b4e2de6dd91efdcac80b79149c596de8a26b70 (commit)
from 034e73802173a8bfa80ff21d3da45e3bbbfe8acc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e6b4e2de6dd91efdcac80b79149c596de8a26b70
commit e6b4e2de6dd91efdcac80b79149c596de8a26b70
Author: Florian Weimer <fweimer@redhat.com>
Date: Tue Jun 27 09:26:46 2017 +0200
resolv: Call _res_hconf_init from __res_vinit
Many callers of __res_maybe_init also call _res_hconf_init.
Additional calls to the latter do not hurt because the function
does its work only once. (/etc/hosts.conf is not reloaded or
even checked for changes.) This means that we can simplify the
code by calling _res_hconf_init directly from __res_vinit.
diff --git a/ChangeLog b/ChangeLog
index aec70b6..279059b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2017-06-27 Florian Weimer <fweimer@redhat.com>
+
+ Call _res_hconf_init from __res_vinit.
+ * inet/gethstbyad_r.c (NEED__RES_HCONF): Remove.
+ * inet/gethstbynm2_r.c (NEED__RES_HCONF): Likewise.
+ (NEED__RES): Define.
+ * inet/gethstbynm_r.c (NEED__RES_HCONF): Remove.
+ (NEED__RES): Define.
+ * nscd/aicache.c (addhstaiX): Remove call to _res_hconf_init.
+ * nscd/gethstbyad_r.c (NEED__RES_HCONF): Remove.
+ * nscd/gethstbynm3_r.c (NEED__RES_HCONF): Likewise.
+ (NEED__RES): Define.
+ * nss/getXXbyYY_r.c (REENTRANT_NAME): Remove call to
+ _res_hconf_init.
+ * resolv/res_hconf.h (_res_hconf_init): Declare as hidden.
+ * resolv/res_init.c (__res_vinit): Call _res_hconf_init.
+ * sysdeps/posix/getaddrinfo.c (gaih_inet): Remove call to
+ _res_hconf_init.
+
2017-06-26 Joseph Myers <joseph@codesourcery.com>
* sysdeps/ia64/Implies: Add ieee754/float128.
diff --git a/inet/gethstbyad_r.c b/inet/gethstbyad_r.c
index 88f428c..6b5c131 100644
--- a/inet/gethstbyad_r.c
+++ b/inet/gethstbyad_r.c
@@ -18,7 +18,7 @@
#include <netdb.h>
#include <string.h>
-
+#include <resolv/res_hconf.h>
#define LOOKUP_TYPE struct hostent
#define FUNCTION_NAME gethostbyaddr
@@ -27,7 +27,6 @@
#define ADD_VARIABLES addr, len, type
#define NEED_H_ERRNO 1
#define NEED__RES 1
-#define NEED__RES_HCONF 1
/* If the addr parameter is the IPv6 unspecified address no query must
be performed. */
#define PREPROCESS \
diff --git a/inet/gethstbynm2_r.c b/inet/gethstbynm2_r.c
index 5704797..580ba6d 100644
--- a/inet/gethstbynm2_r.c
+++ b/inet/gethstbynm2_r.c
@@ -22,7 +22,7 @@
#include <string.h>
#include <arpa/inet.h>
#include <netinet/in.h>
-
+#include <resolv/res_hconf.h>
#define LOOKUP_TYPE struct hostent
#define FUNCTION_NAME gethostbyname2
@@ -30,7 +30,7 @@
#define ADD_PARAMS const char *name, int af
#define ADD_VARIABLES name, af
#define NEED_H_ERRNO 1
-#define NEED__RES_HCONF 1
+#define NEED__RES 1
#define POSTPROCESS \
if (status == NSS_STATUS_SUCCESS) \
_res_hconf_reorder_addrs (resbuf);
diff --git a/inet/gethstbynm_r.c b/inet/gethstbynm_r.c
index 3758a9d..8f464b5 100644
--- a/inet/gethstbynm_r.c
+++ b/inet/gethstbynm_r.c
@@ -22,7 +22,7 @@
#include <string.h>
#include <arpa/inet.h>
#include <netinet/in.h>
-
+#include <resolv/res_hconf.h>
#define LOOKUP_TYPE struct hostent
#define FUNCTION_NAME gethostbyname
@@ -30,7 +30,7 @@
#define ADD_PARAMS const char *name
#define ADD_VARIABLES name
#define NEED_H_ERRNO 1
-#define NEED__RES_HCONF 1
+#define NEED__RES 1
#define POSTPROCESS \
if (status == NSS_STATUS_SUCCESS) \
_res_hconf_reorder_addrs (resbuf);
diff --git a/nscd/aicache.c b/nscd/aicache.c
index 7bf4131..f1f9284 100644
--- a/nscd/aicache.c
+++ b/nscd/aicache.c
@@ -26,7 +26,6 @@
#include <unistd.h>
#include <sys/mman.h>
#include <resolv/resolv-internal.h>
-#include <resolv/res_hconf.h>
#include "dbg_log.h"
#include "nscd.h"
@@ -102,7 +101,6 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
nip = hosts_database;
/* Initialize configurations. */
- _res_hconf_init ();
if (__res_maybe_init (&_res, 0) == -1)
no_more = 1;
diff --git a/nscd/gethstbyad_r.c b/nscd/gethstbyad_r.c
index b17f0d2..842ced2 100644
--- a/nscd/gethstbyad_r.c
+++ b/nscd/gethstbyad_r.c
@@ -28,7 +28,6 @@
#define EXTRA_VARIABLES , ttlp
#define NEED_H_ERRNO 1
#define NEED__RES 1
-#define NEED__RES_HCONF 1
/* We are nscd, so we don't want to be talking to ourselves. */
#undef USE_NSCD
diff --git a/nscd/gethstbynm3_r.c b/nscd/gethstbynm3_r.c
index 41bb268..2ab75e4 100644
--- a/nscd/gethstbynm3_r.c
+++ b/nscd/gethstbynm3_r.c
@@ -32,7 +32,7 @@
#define ADD_VARIABLES name, af
#define EXTRA_VARIABLES , ttlp, canonp
#define NEED_H_ERRNO 1
-#define NEED__RES_HCONF 1
+#define NEED__RES 1
#define HANDLE_DIGITS_DOTS 1
#define HAVE_LOOKUP_BUFFER 1
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index 5962475..7cab825 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -25,9 +25,6 @@
#ifdef USE_NSCD
# include <nscd/nscd_proto.h>
#endif
-#ifdef NEED__RES_HCONF
-# include <resolv/res_hconf.h>
-#endif
#ifdef NEED__RES
# include <resolv.h>
#endif
@@ -273,9 +270,6 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
return errno;
}
#endif /* need _res */
-#ifdef NEED__RES_HCONF
- _res_hconf_init ();
-#endif /* need _res_hconf */
void *tmp_ptr = fct.l;
#ifdef PTR_MANGLE
diff --git a/resolv/res_hconf.h b/resolv/res_hconf.h
index 6eaf403..209f76a 100644
--- a/resolv/res_hconf.h
+++ b/resolv/res_hconf.h
@@ -46,7 +46,7 @@ struct hconf
};
extern struct hconf _res_hconf;
-extern void _res_hconf_init (void);
+extern void _res_hconf_init (void) attribute_hidden;
extern void _res_hconf_trim_domain (char *domain);
extern void _res_hconf_trim_domains (struct hostent *hp);
extern void _res_hconf_reorder_addrs (struct hostent *hp);
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 9aa907e..821f060 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -85,6 +85,7 @@
#include <ctype.h>
#include <netdb.h>
#include <resolv/resolv-internal.h>
+#include <res_hconf.h>
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
@@ -430,6 +431,9 @@ res_vinit_1 (res_state statp, bool preinit, FILE *fp, char **buffer)
int
__res_vinit (res_state statp, int preinit)
{
+ /* Ensure that /etc/hosts.conf has been loaded (once). */
+ _res_hconf_init ();
+
FILE *fp = fopen (_PATH_RESCONF, "rce");
if (fp == NULL)
switch (errno)
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 91e0a76..4fb1eae 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -80,7 +80,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <not-cancel.h>
#include <nscd/nscd-client.h>
#include <nscd/nscd_proto.h>
-#include <resolv/res_hconf.h>
#include <scratch_buffer.h>
#include <inet/net-internal.h>
@@ -767,7 +766,6 @@ gaih_inet (const char *name, const struct gaih_service *service,
nip = __nss_hosts_database;
/* Initialize configurations. */
- _res_hconf_init ();
if (__res_maybe_init (&_res, 0) == -1)
no_more = 1;
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 19 +++++++++++++++++++
inet/gethstbyad_r.c | 3 +--
inet/gethstbynm2_r.c | 4 ++--
inet/gethstbynm_r.c | 4 ++--
nscd/aicache.c | 2 --
nscd/gethstbyad_r.c | 1 -
nscd/gethstbynm3_r.c | 2 +-
nss/getXXbyYY_r.c | 6 ------
resolv/res_hconf.h | 2 +-
resolv/res_init.c | 4 ++++
sysdeps/posix/getaddrinfo.c | 2 --
11 files changed, 30 insertions(+), 19 deletions(-)
hooks/post-receive
--
GNU C Library master sources