This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, release/2.14/master, updated. glibc-2.14-15-g9614794
- From: schwab at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 28 Jun 2011 11:47:38 -0000
- Subject: 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