This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]