struct addr_port dst;
 };
 
-static int connect_to_server(const struct sockaddr *addr, socklen_t len,
-                            int type)
-{
-       int fd = socket(addr->sa_family, type, 0);
-       if (CHECK_FAIL(fd == -1))
-               return -1;
-       if (CHECK_FAIL(connect(fd, addr, len)))
-               goto err;
-
-       return fd;
-
-err:
-       close(fd);
-       return -1;
-}
-
 static bool fill_addr_port(const struct sockaddr *sa, struct addr_port *ap)
 {
        const struct sockaddr_in6 *in6;
        if (CHECK_FAIL(getsockname(*server, sa, &slen)))
                goto close_server;
 
-       *conn = connect_to_server(sa, slen, type);
+       *conn = connect_to_addr(type, (struct sockaddr_storage *)sa, slen, NULL);
        if (*conn < 0)
                goto close_server;