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, release/2.14/master, updated. glibc-2.14-15-g9614794


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, release/2.14/master has been updated
       via  96147940d8ffb63efdf84a7f2608eec742df8c61 (commit)
       via  5ec98a06e70c071cc38c45c80804df4afc7eff09 (commit)
       via  0e779ef2a9fcfd13f5243224c82894ba797ecec3 (commit)
      from  5babac1535735419921ca9edbf5f6c96a40296da (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=96147940d8ffb63efdf84a7f2608eec742df8c61

commit 96147940d8ffb63efdf84a7f2608eec742df8c61
Author: Andreas Schwab <schwab@redhat.com>
Date:   Tue Jun 28 03:15:30 2011 -0400

    Fix crash in GB18030 encoder
    (cherry picked from commit a4172181585cec75422786d905c6e03ddfa7cd20)

diff --git a/ChangeLog b/ChangeLog
index c90463e..b27323c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-27  Andreas Schwab  <schwab@redhat.com>
+
+	* iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP
+	two-byte characters.
+
 2011-06-22  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix last change.
diff --git a/iconvdata/gb18030.c b/iconvdata/gb18030.c
index f2b23e6..a06b75d 100644
--- a/iconvdata/gb18030.c
+++ b/iconvdata/gb18030.c
@@ -18233,17 +18233,17 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] =
 	      len = 0;							      \
 	  }								      \
 	else if (ch == 0x20087)						      \
-	  idx = 0xfe51;							      \
+	  cp = (const unsigned char *) "\xfe\x51";			      \
 	else if (ch == 0x20089)						      \
-	  idx = 0xfe52;							      \
+	  cp = (const unsigned char *) "\xfe\x52";			      \
 	else if (ch == 0x200CC)						      \
-	  idx = 0xfe53;							      \
+	  cp = (const unsigned char *) "\xfe\x53";			      \
 	else if (ch == 0x215d7)						      \
-	  idx = 0xfe6c;							      \
+	  cp = (const unsigned char *) "\xfe\x6c";			      \
 	else if (ch == 0x2298F)						      \
-	  idx = 0xfe76;							      \
+	  cp = (const unsigned char *) "\xfe\x76";			      \
 	else if (ch == 0x241FE)						      \
-	  idx = 0xfe91;							      \
+	  cp = (const unsigned char *) "\xfe\x91";			      \
 	else								      \
 	  len = 0;							      \
 									      \

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5ec98a06e70c071cc38c45c80804df4afc7eff09

commit 5ec98a06e70c071cc38c45c80804df4afc7eff09
Author: Andreas Schwab <schwab@redhat.com>
Date:   Wed Jun 22 14:35:49 2011 -0400

    Fix Ipv4&IPv6 lookup in getaddrinfo
    
    Problem introduced in the last patch.
    (cherry picked from commit e12df166d37522c2ed434c2d70a1b04640d2d7c6)

diff --git a/ChangeLog b/ChangeLog
index 47a9fbb..c90463e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-06-22  Andreas Schwab  <schwab@redhat.com>
+
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix last change.
+
 2011-06-21  Ulrich Drepper  <drepper@gmail.com>
 
 	[BZ #12885]
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index abd8551..6b7423c 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -904,7 +904,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
 			      pat = &((*pat)->next);
 			      no_data = 0;
 			    }
-			  else if ((*pat)->family == AF_UNSPEC
+			  else if (req->ai_family == AF_UNSPEC
 				   || (*pat)->family == req->ai_family)
 			    {
 			      pat = &((*pat)->next);

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0e779ef2a9fcfd13f5243224c82894ba797ecec3

commit 0e779ef2a9fcfd13f5243224c82894ba797ecec3
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Tue Jun 21 17:03:38 2011 -0400

    Fix IPv6-only lookups through getaddrinfo
    
    A recent patch introduced a problem where IPv6 lookups happily returned
    IPv4 addresses.
    (cherry picked from commit c0244a9dedce43a4b950d91451b16a7cf5408476)

diff --git a/ChangeLog b/ChangeLog
index c29470a..47a9fbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-21  Ulrich Drepper  <drepper@gmail.com>
+
+	[BZ #12885]
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): When looking up only IPv6
+	addresses using gethostbyname4_r ignore IPv4 addresses.
+
 2011-06-15  Ulrich Drepper  <drepper@gmail.com>
 
 	* resolv/res_send.c (__libc_res_nsend): Fix typos in last patch.  We
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 469abe2..abd8551 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -881,16 +881,44 @@ gaih_inet (const char *name, const struct gaih_service *service,
 			}
 		    }
 
-		  no_inet6_data = no_data;
-
 		  if (status == NSS_STATUS_SUCCESS)
 		    {
+		      assert (!no_data);
+		      no_data = 1;
+
 		      if ((req->ai_flags & AI_CANONNAME) != 0 && canon == NULL)
 			canon = (*pat)->name;
 
 		      while (*pat != NULL)
-			pat = &((*pat)->next);
+			{
+			  if ((*pat)->family == AF_INET
+			      && req->ai_family == AF_INET6
+			      && (req->ai_flags & AI_V4MAPPED) != 0)
+			    {
+			      uint32_t *pataddr = (*pat)->addr;
+			      (*pat)->family = AF_INET6;
+			      pataddr[3] = pataddr[0];
+			      pataddr[2] = htonl (0xffff);
+			      pataddr[1] = 0;
+			      pataddr[0] = 0;
+			      pat = &((*pat)->next);
+			      no_data = 0;
+			    }
+			  else if ((*pat)->family == AF_UNSPEC
+				   || (*pat)->family == req->ai_family)
+			    {
+			      pat = &((*pat)->next);
+
+			      no_data = 0;
+			      if (req->ai_family == AF_INET6)
+				got_ipv6 = true;
+			    }
+			  else
+			    *pat = ((*pat)->next);
+			}
 		    }
+
+		  no_inet6_data = no_data;
 		}
 	      else
 		{

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |   15 +++++++++++++++
 iconvdata/gb18030.c         |   12 ++++++------
 sysdeps/posix/getaddrinfo.c |   34 +++++++++++++++++++++++++++++++---
 3 files changed, 52 insertions(+), 9 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]