forked from Lainports/freebsd-ports
49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
--- sshconnect.c.orig Mon Jan 21 16:13:51 2002
|
|
+++ sshconnect.c Fri Mar 8 18:14:50 2002
|
|
@@ -43,15 +43,21 @@
|
|
sockaddr_ntop(struct sockaddr *sa)
|
|
{
|
|
void *addr;
|
|
+#ifdef INET6
|
|
static char addrbuf[INET6_ADDRSTRLEN];
|
|
+#else
|
|
+ static char addrbuf[INET_ADDRSTRLEN];
|
|
+#endif
|
|
|
|
switch (sa->sa_family) {
|
|
case AF_INET:
|
|
addr = &((struct sockaddr_in *)sa)->sin_addr;
|
|
break;
|
|
+#ifdef INET6
|
|
case AF_INET6:
|
|
addr = &((struct sockaddr_in6 *)sa)->sin6_addr;
|
|
break;
|
|
+#endif
|
|
default:
|
|
/* This case should be protected against elsewhere */
|
|
abort(); /* XXX abort is bad -- do something else */
|
|
@@ -291,7 +297,11 @@
|
|
/* Loop through addresses for this host, and try each one in
|
|
sequence until the connection succeeds. */
|
|
for (ai = aitop; ai; ai = ai->ai_next) {
|
|
+#ifdef INET6
|
|
if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
|
|
+#else
|
|
+ if (ai->ai_family != AF_INET)
|
|
+#endif
|
|
continue;
|
|
if (getnameinfo(ai->ai_addr, ai->ai_addrlen,
|
|
ntop, sizeof(ntop), strport, sizeof(strport),
|
|
@@ -537,10 +547,12 @@
|
|
local = (ntohl(((struct sockaddr_in *)hostaddr)->
|
|
sin_addr.s_addr) >> 24) == IN_LOOPBACKNET;
|
|
break;
|
|
+#ifdef INET6
|
|
case AF_INET6:
|
|
local = IN6_IS_ADDR_LOOPBACK(
|
|
&(((struct sockaddr_in6 *)hostaddr)->sin6_addr));
|
|
break;
|
|
+#endif
|
|
default:
|
|
local = 0;
|
|
break;
|