diff options
Diffstat (limited to 'ftp/wget-devel/files/patch-ai')
-rw-r--r-- | ftp/wget-devel/files/patch-ai | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/ftp/wget-devel/files/patch-ai b/ftp/wget-devel/files/patch-ai new file mode 100644 index 000000000000..3b9a58c6be5c --- /dev/null +++ b/ftp/wget-devel/files/patch-ai @@ -0,0 +1,70 @@ +--- src/connect.c.orig Sun Mar 29 23:28:15 1998 ++++ src/connect.c Fri Sep 24 15:49:42 1999 +@@ -62,6 +62,59 @@ + uerr_t + make_connection (int *sock, char *hostname, unsigned short port) + { ++#ifdef INET6 ++ struct sockaddr_storage sock_name; ++ struct sockaddr_in *sin; ++ struct sockaddr_in6 *sin6; ++ size_t socksize; ++ ++ /* ++ * Get internet address of the host. We can do it either by calling ++ * ngethostbyname, or by calling store_hostaddress, from host.c. ++ * storehostaddress is better since it caches calls to ++ * gethostbyname. ++ */ ++ if (!store_hostaddress (&sock_name, hostname)) ++ return HOSTERR; ++ ++ /* Set port and protocol */ ++ switch (sock_name.ss_family) { ++ case AF_INET: ++ sin = (struct sockaddr_in *) &sock_name; ++ sin->sin_family = AF_INET; ++#ifdef HAVE_SOCKADDR_SA_LEN ++ sin->sin_len = sizeof (struct sockaddr_in); ++#endif ++ sin->sin_port = htons (port); ++ socksize = sizeof (struct sockaddr_in); ++ break; ++ case AF_INET6: ++ sin6 = (struct sockaddr_in6 *) &sock_name; ++ sin6->sin6_family = AF_INET6; ++#ifdef HAVE_SOCKADDR_SA_LEN ++ sin6->sin6_len = sizeof (struct sockaddr_in6); ++#endif ++ sin6->sin6_port = htons (port); ++ socksize = sizeof (struct sockaddr_in6); ++ break; ++ default: ++ return HOSTERR; ++ } ++ /* Make an internet socket, stream type. */ ++ if ((*sock = socket (sock_name.ss_family, SOCK_STREAM, 0)) == -1) ++ return CONSOCKERR; ++ ++ /* Connect the socket to the remote host. */ ++ if (connect (*sock, (struct sockaddr *) &sock_name, socksize)) ++ { ++ if (errno == ECONNREFUSED) ++ return CONREFUSED; ++ else ++ return CONERROR; ++ } ++ DEBUGP (("Created fd %d.\n", *sock)); ++ return NOCONERROR; ++#else /* !INET6 */ + struct sockaddr_in sock_name; + /* struct hostent *hptr; */ + +@@ -97,6 +150,7 @@ + } + DEBUGP (("Created fd %d.\n", *sock)); + return NOCONERROR; ++#endif /* INET6 */ + } + + /* Bind the local port PORT. This does all the necessary work, which |