mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Update.
2004-02-16 Ulrich Drepper <drepper@redhat.com> * sysdeps/posix/getaddrinfo.c (match_prefix): Correctly match partial bytes.
This commit is contained in:
parent
b078c5918e
commit
d9a3ae7f42
@ -1,3 +1,8 @@
|
||||
2004-02-16 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/posix/getaddrinfo.c (match_prefix): Correctly match
|
||||
partial bytes.
|
||||
|
||||
2004-02-13 Steven Munroe <sjmunroe@us.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/powerpc64/__longjmp-common.S: New file.
|
||||
|
@ -62,6 +62,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#define UNIX_PATH_MAX 108
|
||||
#endif
|
||||
|
||||
extern int idna_to_ascii_lz (const char *input, char **output, int flags);
|
||||
#define IDNA_SUCCESS 0
|
||||
#ifdef HAVE_LIBIDN
|
||||
# define SUPPORTED_IDN_FLAGS AI_IDN|AI_CANONIDN
|
||||
#else
|
||||
# define SUPPORTED_IDN_FLAGS 0
|
||||
#endif
|
||||
|
||||
struct gaih_service
|
||||
{
|
||||
const char *name;
|
||||
@ -539,6 +547,18 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
at->scopeid = 0;
|
||||
at->next = NULL;
|
||||
|
||||
#if 0
|
||||
if (req->ai_flags & AI_IDN)
|
||||
{
|
||||
char *p;
|
||||
rc = idna_to_ascii_lz (name, &p, 0);
|
||||
if (rc != IDNA_SUCCESS)
|
||||
return -EAI_IDN_ENCODE;
|
||||
name = strdupa (p);
|
||||
free (p);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (inet_pton (AF_INET, name, at->addr) > 0)
|
||||
{
|
||||
if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET)
|
||||
@ -1049,7 +1069,7 @@ match_prefix (const struct sockaddr_storage *ss, const struct prefixlist *list,
|
||||
|
||||
if (bits < 8)
|
||||
{
|
||||
if ((*mask & (0xff >> bits)) == (*val & (0xff >> bits)))
|
||||
if ((*mask & (0xff00 >> bits)) == (*val & (0xff00 >> bits)))
|
||||
/* Match! */
|
||||
break;
|
||||
}
|
||||
@ -1250,10 +1270,10 @@ getaddrinfo (const char *name, const char *service,
|
||||
|
||||
if (hints->ai_flags
|
||||
& ~(AI_PASSIVE|AI_CANONNAME|AI_NUMERICHOST|AI_ADDRCONFIG|AI_V4MAPPED
|
||||
|AI_ALL))
|
||||
|SUPPORTED_IDN_FLAGS|AI_ALL))
|
||||
return EAI_BADFLAGS;
|
||||
|
||||
if ((hints->ai_flags & AI_CANONNAME) && name == NULL)
|
||||
if ((hints->ai_flags & (AI_CANONNAME|AI_CANONIDN)) && name == NULL)
|
||||
return EAI_BADFLAGS;
|
||||
|
||||
if (hints->ai_flags & AI_ADDRCONFIG)
|
||||
|
Loading…
Reference in New Issue
Block a user