This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.17-717-g47c2245
- From: ldv at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 May 2013 17:24:45 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.17-717-g47c2245
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 47c22455d4502b1262e9d7def5d4da64e58aa304 (commit)
from 3d04f5db20c8f0d1ba3881b5f5373586a18cf188 (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=47c22455d4502b1262e9d7def5d4da64e58aa304
commit 47c22455d4502b1262e9d7def5d4da64e58aa304
Author: Dmitry V. Levin <ldv@altlinux.org>
Date: Thu May 16 21:55:09 2013 +0000
Test getaddrinfo return value
This helps testing for regression of BZ#15339. Creation of network
isolated environments is a privileged operation and therefore is not
included to the test.
diff --git a/ChangeLog b/ChangeLog
index a551413..41f67c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-05-21 Dmitry V. Levin <ldv@altlinux.org>
+
+ [BZ #15339]
+ * posix/tst-getaddrinfo4.c: New test.
+ * posix/Makefile (tests): Add it.
+
2013-05-21 Siddhesh Poyarekar <siddhesh@redhat.com>
[BZ #15339]
diff --git a/posix/Makefile b/posix/Makefile
index 8265e76..54c6354 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -86,7 +86,7 @@ tests := tstgetopt testfnm runtests runptests \
tst-getaddrinfo3 tst-fnmatch2 tst-cpucount tst-cpuset \
bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \
bug-getopt5 tst-getopt_long1 bug-regex34 bug-regex35 \
- tst-pathconf
+ tst-pathconf tst-getaddrinfo4
xtests := bug-ga2
ifeq (yes,$(build-shared))
test-srcs := globtest
diff --git a/posix/tst-getaddrinfo4.c b/posix/tst-getaddrinfo4.c
new file mode 100644
index 0000000..10850cd
--- /dev/null
+++ b/posix/tst-getaddrinfo4.c
@@ -0,0 +1,67 @@
+/* Test getaddrinfo return value, [BZ #15339].
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+#include <netdb.h>
+
+static int
+try (const char *service, int family, int flags)
+{
+ struct addrinfo hints, *h, *ai;
+ int res;
+
+ memset (&hints, 0, sizeof hints);
+ hints.ai_family = family;
+ hints.ai_flags = flags;
+
+ errno = 0;
+ h = (family || flags) ? &hints : NULL;
+ res = getaddrinfo ("example.net", service, h, &ai);
+ switch (res)
+ {
+ case 0:
+ case EAI_AGAIN:
+ case EAI_NONAME:
+ printf ("SUCCESS getaddrinfo(service=%s, family=%d, flags=%d): %s: %m\n",
+ service ?: "NULL", family, flags, gai_strerror (res));
+ return 0;
+ }
+ printf ("FAIL getaddrinfo(service=%s, family=%d, flags=%d): %s: %m\n",
+ service ?: "NULL", family, flags, gai_strerror (res));
+ return 1;
+}
+
+static int
+do_test (void)
+{
+ int err = 0;
+ err |= try (NULL, 0, 0);
+ err |= try (NULL, AF_UNSPEC, AI_ADDRCONFIG);
+ err |= try (NULL, AF_INET, 0);
+ err |= try (NULL, AF_INET6, 0);
+ err |= try ("http", 0, 0);
+ err |= try ("http", AF_UNSPEC, AI_ADDRCONFIG);
+ err |= try ("http", AF_INET, 0);
+ err |= try ("http", AF_INET6, 0);
+ return err;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++
posix/Makefile | 2 +-
posix/tst-getaddrinfo4.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 74 insertions(+), 1 deletions(-)
create mode 100644 posix/tst-getaddrinfo4.c
hooks/post-receive
--
GNU C Library master sources