2 --- src/connect.c.orig Sun Mar 29 23:28:15 1998
3 +++ src/connect.c Fri Sep 24 15:49:42 1999
6 make_connection (int *sock, char *hostname, unsigned short port)
9 + struct sockaddr_storage sock_name;
10 + struct sockaddr_in *sin;
11 + struct sockaddr_in6 *sin6;
15 + * Get internet address of the host. We can do it either by calling
16 + * ngethostbyname, or by calling store_hostaddress, from host.c.
17 + * storehostaddress is better since it caches calls to
20 + if (!store_hostaddress (&sock_name, hostname))
23 + /* Set port and protocol */
24 + switch (sock_name.ss_family) {
26 + sin = (struct sockaddr_in *) &sock_name;
27 + sin->sin_family = AF_INET;
28 +#ifdef HAVE_SOCKADDR_SA_LEN
29 + sin->sin_len = sizeof (struct sockaddr_in);
31 + sin->sin_port = htons (port);
32 + socksize = sizeof (struct sockaddr_in);
35 + sin6 = (struct sockaddr_in6 *) &sock_name;
36 + sin6->sin6_family = AF_INET6;
37 +#ifdef HAVE_SOCKADDR_SA_LEN
38 + sin6->sin6_len = sizeof (struct sockaddr_in6);
40 + sin6->sin6_port = htons (port);
41 + socksize = sizeof (struct sockaddr_in6);
46 + /* Make an internet socket, stream type. */
47 + if ((*sock = socket (sock_name.ss_family, SOCK_STREAM, 0)) == -1)
50 + /* Connect the socket to the remote host. */
51 + if (connect (*sock, (struct sockaddr *) &sock_name, socksize))
53 + if (errno == ECONNREFUSED)
58 + DEBUGP (("Created fd %d.\n", *sock));
61 struct sockaddr_in sock_name;
62 /* struct hostent *hptr; */
66 DEBUGP (("Created fd %d.\n", *sock));
71 /* Bind the local port PORT. This does all the necessary work, which