|
|
dd65c9 |
From 4fbaa65aff7eda3b3965e9c482b08532f3491800 Mon Sep 17 00:00:00 2001
|
|
|
dd65c9 |
From: Marcin Bachry <hegel666@gmail.com>
|
|
|
dd65c9 |
Date: Wed, 11 Nov 2015 15:45:26 +0100
|
|
|
dd65c9 |
Subject: [PATCH] test: fix failing test-socket-util when running with
|
|
|
dd65c9 |
ipv6.disable=1 kernel param
|
|
|
dd65c9 |
|
|
|
dd65c9 |
The ability to use inet_pton(AF_INET6, ...) doesn't depend on kernel
|
|
|
dd65c9 |
ipv6 support (inet_pton is a pure libc function), so make ipv6 address
|
|
|
dd65c9 |
parsing tests unconditional.
|
|
|
dd65c9 |
|
|
|
dd65c9 |
(cherry picked from commit 4ebc62ec87162aaa11e077f8693316ecf2d5c58d)
|
|
|
dd65c9 |
|
|
|
dd65c9 |
Resolves: #1497639
|
|
|
dd65c9 |
---
|
|
|
23b3cf |
src/test/test-socket-util.c | 41 +++++++++++++++++--------------------
|
|
|
dd65c9 |
1 file changed, 19 insertions(+), 22 deletions(-)
|
|
|
dd65c9 |
|
|
|
dd65c9 |
diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c
|
|
|
dd65c9 |
index 6fb4a4094..85f222993 100644
|
|
|
dd65c9 |
--- a/src/test/test-socket-util.c
|
|
|
dd65c9 |
+++ b/src/test/test-socket-util.c
|
|
|
dd65c9 |
@@ -38,28 +38,25 @@ static void test_socket_address_parse(void) {
|
|
|
dd65c9 |
|
|
|
dd65c9 |
assert_se(socket_address_parse(&a, "65535") >= 0);
|
|
|
dd65c9 |
|
|
|
dd65c9 |
- if (socket_ipv6_is_supported()) {
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[::1]") < 0);
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[::1]8888") < 0);
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "::1") < 0);
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[::1]:0") < 0);
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[::1]:65536") < 0);
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[a:b:1]:8888") < 0);
|
|
|
dd65c9 |
-
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "8888") >= 0);
|
|
|
dd65c9 |
- assert_se(a.sockaddr.sa.sa_family == AF_INET6);
|
|
|
dd65c9 |
-
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[2001:0db8:0000:85a3:0000:0000:ac1f:8001]:8888") >= 0);
|
|
|
dd65c9 |
- assert_se(a.sockaddr.sa.sa_family == AF_INET6);
|
|
|
dd65c9 |
-
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[::1]:8888") >= 0);
|
|
|
dd65c9 |
- assert_se(a.sockaddr.sa.sa_family == AF_INET6);
|
|
|
dd65c9 |
- } else {
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "[::1]:8888") < 0);
|
|
|
dd65c9 |
-
|
|
|
dd65c9 |
- assert_se(socket_address_parse(&a, "8888") >= 0);
|
|
|
dd65c9 |
- assert_se(a.sockaddr.sa.sa_family == AF_INET);
|
|
|
dd65c9 |
- }
|
|
|
dd65c9 |
+ /* The checks below will pass even if ipv6 is disabled in
|
|
|
dd65c9 |
+ * kernel. The underlying glibc's inet_pton() is just a string
|
|
|
dd65c9 |
+ * parser and doesn't make any syscalls. */
|
|
|
dd65c9 |
+
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[::1]") < 0);
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[::1]8888") < 0);
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "::1") < 0);
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[::1]:0") < 0);
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[::1]:65536") < 0);
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[a:b:1]:8888") < 0);
|
|
|
dd65c9 |
+
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "8888") >= 0);
|
|
|
dd65c9 |
+ assert_se(a.sockaddr.sa.sa_family == (socket_ipv6_is_supported() ? AF_INET6 : AF_INET));
|
|
|
dd65c9 |
+
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[2001:0db8:0000:85a3:0000:0000:ac1f:8001]:8888") >= 0);
|
|
|
dd65c9 |
+ assert_se(a.sockaddr.sa.sa_family == AF_INET6);
|
|
|
dd65c9 |
+
|
|
|
dd65c9 |
+ assert_se(socket_address_parse(&a, "[::1]:8888") >= 0);
|
|
|
dd65c9 |
+ assert_se(a.sockaddr.sa.sa_family == AF_INET6);
|
|
|
dd65c9 |
|
|
|
dd65c9 |
assert_se(socket_address_parse(&a, "192.168.1.254:8888") >= 0);
|
|
|
dd65c9 |
assert_se(a.sockaddr.sa.sa_family == AF_INET);
|