summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2012-06-25 11:21:39 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2012-06-25 11:21:39 +0000
commit464d32fd7232f885cc0233b3436ddb05cbfe6c9e (patch)
tree82f849386df9696232862a8496233d4e5ed036a0 /test
parentbb0992cf76cf377265d9a7fe638b0c879412e2c1 (diff)
downloadneon-464d32fd7232f885cc0233b3436ddb05cbfe6c9e.tar.gz
* test/ssl.c (fail_ssl_request_with_error2): Fix tests with "fake" hostname
where localhost maps to multiple addresses. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1886 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'test')
-rw-r--r--test/ssl.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/test/ssl.c b/test/ssl.c
index 2f1b79f..4f60896 100644
--- a/test/ssl.c
+++ b/test/ssl.c
@@ -798,17 +798,30 @@ static int fail_ssl_request_with_error2(char *cert, char *key, char *cacert,
int gotf = 0, ret;
struct ssl_server_args args = {0};
ne_sock_addr *addr = NULL;
- const ne_inet_addr *list[1];
+ const ne_inet_addr **list = NULL;
if (realhost) {
+ size_t n;
+ const ne_inet_addr *ia;
+
addr = ne_addr_resolve(realhost, 0);
ONV(ne_addr_result(addr),
("fake hostname lookup failed for %s", realhost));
+
+ NE_DEBUG(NE_DBG_SSL, "ssl: Using fake hostname '%s'\n", realhost);
+
+ for (n = 0, ia = ne_addr_first(addr); ia; ia = ne_addr_next(addr))
+ n++;
+
+ NE_DEBUG(NE_DBG_SSL, "ssl: Address count '%lu'\n", n);
+
+ list = ne_calloc(n * sizeof(*list));
+
+ for (n = 0, ia = ne_addr_first(addr); ia; ia = ne_addr_next(addr))
+ list[n++] = ia;
- list[0] = ne_addr_first(addr);
-
- ne_set_addrlist(sess, list, 1);
+ ne_set_addrlist(sess, list, n);
}
args.cert = cert;