[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r4035 - in glibc-package/trunk/debian: . patches patches/any



Author: aurel32
Date: 2009-12-25 13:59:35 +0000 (Fri, 25 Dec 2009)
New Revision: 4035

Added:
   glibc-package/trunk/debian/patches/any/cvs-nis-not-configured.diff
Removed:
   glibc-package/trunk/debian/patches/any/submitted-nis-not-configured.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * Replace debian/any/submitted-nis-not-configured.diff by upstream patch
    debian/any/cvs-nis-not-configured.diff.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2009-12-25 03:40:59 UTC (rev 4034)
+++ glibc-package/trunk/debian/changelog	2009-12-25 13:59:35 UTC (rev 4035)
@@ -12,6 +12,8 @@
     buildds kernels now that they have been upgraded.
   * debian/control.in/main: add a Homepage: pseudo header.  Closes: #561034.
   * debian/local/manpages/gai.conf.5: fix a typo.  Closes: #560144. 
+  * Replace debian/any/submitted-nis-not-configured.diff by upstream patch
+    debian/any/cvs-nis-not-configured.diff.
 
   [ Samuel Thibault ]
   * testsuite-checking/expected-results-i486-linux-gnu-libc: Add hurd-i386
@@ -25,7 +27,7 @@
   [ Petr Salinger]
   * kfreebsd/local-sysdeps.diff: update to revision 2904 (from glibc-bsd).
 
- -- Aurelien Jarno <aurel32@debian.org>  Wed, 23 Dec 2009 15:44:38 +0100
+ -- Aurelien Jarno <aurel32@debian.org>  Fri, 25 Dec 2009 14:58:49 +0100
 
 eglibc (2.10.2-2) unstable; urgency=low
 

Added: glibc-package/trunk/debian/patches/any/cvs-nis-not-configured.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/cvs-nis-not-configured.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/any/cvs-nis-not-configured.diff	2009-12-25 13:59:35 UTC (rev 4035)
@@ -0,0 +1,269 @@
+2009-12-10  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #11000]
+	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): Always set
+	*herrnop before returning.
+	* nis/nss_nisplus/nisplus-hosts.c (internal_gethostbyname2_r):
+	Likewise.
+	* nss/nss_files/files-hosts.c (_nss_files_gethostbyname4_r): Handle
+	TRYAGAIN errors separately.
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix error handling of
+	*name4_r after functions.
+
+
+--- a/nis/nss_nis/nis-hosts.c
++++ b/nis/nss_nis/nis-hosts.c
+@@ -70,20 +70,20 @@ LINE_PARSER
+      {
+        assert ((flags & AI_V4MAPPED) == 0 || af != AF_UNSPEC);
+        if (flags & AI_V4MAPPED)
+-         {
+-           map_v4v6_address ((char *) entdata->host_addr,
+-                             (char *) entdata->host_addr);
+-           result->h_addrtype = AF_INET6;
+-           result->h_length = IN6ADDRSZ;
+-         }
++	 {
++	   map_v4v6_address ((char *) entdata->host_addr,
++			     (char *) entdata->host_addr);
++	   result->h_addrtype = AF_INET6;
++	   result->h_length = IN6ADDRSZ;
++	 }
+        else
+-         {
+-           result->h_addrtype = AF_INET;
+-           result->h_length = INADDRSZ;
+-         }
++	 {
++	   result->h_addrtype = AF_INET;
++	   result->h_length = INADDRSZ;
++	 }
+      }
+    else if (af != AF_INET
+-            && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
++	    && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
+      {
+        result->h_addrtype = AF_INET6;
+        result->h_length = IN6ADDRSZ;
+@@ -164,14 +164,14 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer,
+       int keylen;
+       int yperr;
+       if (new_start)
+-        yperr = yp_first (domain, "hosts.byname", &outkey, &keylen, &result,
++	yperr = yp_first (domain, "hosts.byname", &outkey, &keylen, &result,
+ 			  &len);
+       else
+-        yperr = yp_next (domain, "hosts.byname", oldkey, oldkeylen, &outkey,
++	yperr = yp_next (domain, "hosts.byname", oldkey, oldkeylen, &outkey,
+ 			 &keylen, &result, &len);
+ 
+       if (__builtin_expect (yperr != YPERR_SUCCESS, 0))
+-        {
++	{
+ 	  enum nss_status retval = yperr2nss (yperr);
+ 
+ 	  switch (retval)
+@@ -191,12 +191,12 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer,
+ 	}
+ 
+       if (__builtin_expect ((size_t) (len + 1) > linebuflen, 0))
+-        {
+-          free (result);
++	{
++	  free (result);
+ 	  *h_errnop = NETDB_INTERNAL;
+-          *errnop = ERANGE;
+-          return NSS_STATUS_TRYAGAIN;
+-        }
++	  *errnop = ERANGE;
++	  return NSS_STATUS_TRYAGAIN;
++	}
+ 
+       char *p = strncpy (data->linebuffer, result, len);
+       data->linebuffer[len] = '\0';
+@@ -233,7 +233,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen,
+   __libc_lock_lock (lock);
+ 
+   status = internal_nis_gethostent_r (host, buffer, buflen, errnop, h_errnop,
+-		        ((_res.options & RES_USE_INET6) ? AF_INET6 : AF_INET),
++			((_res.options & RES_USE_INET6) ? AF_INET6 : AF_INET),
+ 			((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0 ));
+ 
+   __libc_lock_unlock (lock);
+@@ -346,7 +346,7 @@ _nss_nis_gethostbyname2_r (const char *name, int af, struct hostent *host,
+ 
+   return internal_gethostbyname2_r (name, af, host, buffer, buflen, errnop,
+ 				    h_errnop,
+-		        ((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0));
++			((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0));
+ }
+ 
+ 
+@@ -456,7 +456,10 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
+ {
+   char *domain;
+   if (yp_get_default_domain (&domain))
+-    return NSS_STATUS_UNAVAIL;
++    {
++      *herrnop = NO_DATA;
++      return NSS_STATUS_UNAVAIL;
++    }
+ 
+   /* Convert name to lowercase.  */
+   size_t namlen = strlen (name);
+--- a/nis/nss_nisplus/nisplus-hosts.c
++++ b/nis/nss_nisplus/nisplus-hosts.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1997-2003, 2005, 2006, 2008 Free Software Foundation, Inc.
++/* Copyright (C) 1997-2003, 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
+ 
+@@ -38,10 +38,10 @@ static nis_name tablename_val;
+ static u_long tablename_len;
+ 
+ #define NISENTRYVAL(idx, col, res) \
+-        (NIS_RES_OBJECT (res)[idx].EN_data.en_cols.en_cols_val[col].ec_value.ec_value_val)
++	(NIS_RES_OBJECT (res)[idx].EN_data.en_cols.en_cols_val[col].ec_value.ec_value_val)
+ 
+ #define NISENTRYLEN(idx, col, res) \
+-        (NIS_RES_OBJECT (res)[idx].EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len)
++	(NIS_RES_OBJECT (res)[idx].EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len)
+ 
+ /* Get implementation for some internal functions. */
+ #include <resolv/mapv4v6addr.h>
+@@ -287,15 +287,15 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer,
+ 	      return NSS_STATUS_TRYAGAIN;
+ 	    }
+ 	  if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
+-            {
+-              enum nss_status retval = niserr2nss (result->status);
+-              if (retval == NSS_STATUS_TRYAGAIN)
+-                {
+-                  *herrnop = NETDB_INTERNAL;
+-                  *errnop = errno;
+-                }
+-              return retval;
+-            }
++	    {
++	      enum nss_status retval = niserr2nss (result->status);
++	      if (retval == NSS_STATUS_TRYAGAIN)
++		{
++		  *herrnop = NETDB_INTERNAL;
++		  *errnop = errno;
++		}
++	      return retval;
++	    }
+ 
+ 	}
+       else
+@@ -308,18 +308,18 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer,
+ 	      return NSS_STATUS_TRYAGAIN;
+ 	    }
+ 	  if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
+-            {
+-              enum nss_status retval= niserr2nss (result->status);
++	    {
++	      enum nss_status retval= niserr2nss (result->status);
+ 
+ 	      nis_freeresult (result);
+ 	      result = saved_res;
+-              if (retval == NSS_STATUS_TRYAGAIN)
+-                {
+-                  *herrnop = NETDB_INTERNAL;
++	      if (retval == NSS_STATUS_TRYAGAIN)
++		{
++		  *herrnop = NETDB_INTERNAL;
+ 		  *errnop = errno;
+-                }
+-              return retval;
+-            }
++		}
++	      return retval;
++	    }
+ 	}
+ 
+       if (_res.options & RES_USE_INET6)
+@@ -330,13 +330,13 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer,
+ 						buflen, errnop, 0);
+ 
+       if (parse_res == -1)
+-        {
++	{
+ 	  nis_freeresult (result);
+ 	  result = saved_res;
+-          *herrnop = NETDB_INTERNAL;
++	  *herrnop = NETDB_INTERNAL;
+ 	  *errnop = ERANGE;
+-          return NSS_STATUS_TRYAGAIN;
+-        }
++	  return NSS_STATUS_TRYAGAIN;
++	}
+       if (saved_res != NULL)
+ 	nis_freeresult (saved_res);
+ 
+@@ -435,6 +435,7 @@ internal_gethostbyname2_r (const char *name, int af, struct hostent *host,
+   if (result == NULL)
+     {
+       *errnop = ENOMEM;
++      *herrnop = NETDB_INTERNAL;
+       return NSS_STATUS_TRYAGAIN;
+     }
+ 
+@@ -444,10 +445,13 @@ internal_gethostbyname2_r (const char *name, int af, struct hostent *host,
+       if (retval == NSS_STATUS_TRYAGAIN)
+ 	{
+ 	  *errnop = errno;
+-	  *herrnop = NETDB_INTERNAL;
++	  *herrnop = TRY_AGAIN;
+ 	}
+       else
+-	__set_errno (olderr);
++	{
++	  __set_errno (olderr);
++	  *herrnop = NETDB_INTERNAL;
++	}
+       nis_freeresult (result);
+       return retval;
+     }
+@@ -502,7 +506,7 @@ _nss_nisplus_gethostbyname_r (const char *name, struct hostent *host,
+ 					  buflen, errnop, h_errnop,
+ 					  AI_V4MAPPED);
+       if (status == NSS_STATUS_SUCCESS)
+-        return status;
++	return status;
+     }
+ 
+   return internal_gethostbyname2_r (name, AF_INET, host, buffer,
+--- a/nss/nss_files/files-hosts.c
++++ b/nss/nss_files/files-hosts.c
+@@ -423,6 +423,11 @@ _nss_files_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
+       if (! keep_stream)
+ 	internal_endent ();
+     }
++  else if (status == NSS_STATUS_TRYAGAIN)
++    {
++      *errnop = errno;
++      *herrnop = TRY_AGAIN;
++    }
+   else
+     {
+       *errnop = errno;
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -719,13 +719,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
+ 		      if (status != NSS_STATUS_TRYAGAIN
+ 			  || rc != ERANGE || herrno != NETDB_INTERNAL)
+ 			{
+-			  if (herrno == NETDB_INTERNAL)
+-			    {
+-			      __set_h_errno (herrno);
+-			      _res.options = old_res_options;
+-			      return -EAI_SYSTEM;
+-			    }
+-			  if (herrno == TRY_AGAIN)
++			  if (status == NSS_STATUS_TRYAGAIN
++			      && herrno == TRY_AGAIN)
+ 			    no_data = EAI_AGAIN;
+ 			  else
+ 			    no_data = herrno == NO_DATA;

Deleted: glibc-package/trunk/debian/patches/any/submitted-nis-not-configured.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/submitted-nis-not-configured.diff	2009-12-25 03:40:59 UTC (rev 4034)
+++ glibc-package/trunk/debian/patches/any/submitted-nis-not-configured.diff	2009-12-25 13:59:35 UTC (rev 4035)
@@ -1,20 +0,0 @@
-2009-11-22  Aurelien Jarno  <aurelien@aurel32.net>
-
-	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): If
-	NIS is not configured, set errnop and herrnop appropriately.
-
---- a/nis/nss_nis/nis-hosts.c
-+++ b/nis/nss_nis/nis-hosts.c
-@@ -456,7 +456,11 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
- {
-   char *domain;
-   if (yp_get_default_domain (&domain))
--    return NSS_STATUS_UNAVAIL;
-+    {
-+      *herrnop = HOST_NOT_FOUND;
-+      *errnop = errno;
-+      return NSS_STATUS_UNAVAIL;
-+    }
- 
-   /* Convert name to lowercase.  */
-   size_t namlen = strlen (name);

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2009-12-25 03:40:59 UTC (rev 4034)
+++ glibc-package/trunk/debian/patches/series	2009-12-25 13:59:35 UTC (rev 4035)
@@ -215,6 +215,6 @@
 any/cvs-ksm.diff
 any/submitted-bits-fcntl_h-at.diff
 any/cvs-sched_h.diff
-any/submitted-nis-not-configured.diff
+any/cvs-nis-not-configured.diff
 any/submitted-getaddrinfo-nodata.diff
 any/submitted-gethostbyname3.diff


Reply to: