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 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]