summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authormpech <mpech@openbsd.org>2002-04-25 10:58:39 +0000
committermpech <mpech@openbsd.org>2002-04-25 10:58:39 +0000
commit3de56e359f3fc9c4cc228d34c9b0de8d33d6ea09 (patch)
treec8a3b3891d3a6de00cb67efa40a2636f5ecbbe2b /lib
parentavoid buffer overrun on PASV from malicious server. (diff)
downloadwireguard-openbsd-3de56e359f3fc9c4cc228d34c9b0de8d33d6ea09.tar.xz
wireguard-openbsd-3de56e359f3fc9c4cc228d34c9b0de8d33d6ea09.zip
Protect IPv6 code with #ifdef INET6
millert@ ok
Diffstat (limited to 'lib')
-rw-r--r--lib/libwrap/rfc931.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/libwrap/rfc931.c b/lib/libwrap/rfc931.c
index c82988022d8..951907adf47 100644
--- a/lib/libwrap/rfc931.c
+++ b/lib/libwrap/rfc931.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rfc931.c,v 1.6 2001/11/17 20:03:54 deraadt Exp $ */
+/* $OpenBSD: rfc931.c,v 1.7 2002/04/25 10:58:39 mpech Exp $ */
/* rfc1413 does an attempt at an ident query to a client. Originally written
* by Wietse Venema, rewritten by Bob Beck <beck@openbsd.org> to avoid
@@ -6,7 +6,7 @@
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: rfc931.c,v 1.6 2001/11/17 20:03:54 deraadt Exp $";
+static char rcsid[] = "$OpenBSD: rfc931.c,v 1.7 2002/04/25 10:58:39 mpech Exp $";
#endif
#include <stdio.h>
@@ -97,10 +97,12 @@ rfc1413(rmt_sin, our_sin, dest, dsize, ident_timeout_time)
salen = sizeof(struct sockaddr_in);
rmt_portp = &(((struct sockaddr_in *)rmt_sin)->sin_port);
break;
+#ifdef INET6
case AF_INET6:
salen = sizeof(struct sockaddr_in6);
rmt_portp = &(((struct sockaddr_in6 *)rmt_sin)->sin6_port);
break;
+#endif
default:
goto out1;
}
@@ -108,9 +110,11 @@ rfc1413(rmt_sin, our_sin, dest, dsize, ident_timeout_time)
case AF_INET:
our_portp = &(((struct sockaddr_in *)our_sin)->sin_port);
break;
+#ifdef INET6
case AF_INET6:
our_portp = &(((struct sockaddr_in6 *)our_sin)->sin6_port);
break;
+#endif
default:
goto out1;
}
@@ -148,9 +152,11 @@ rfc1413(rmt_sin, our_sin, dest, dsize, ident_timeout_time)
case AF_INET:
((struct sockaddr_in *)&our_query_sin)->sin_port = htons(0);
break;
+#ifdef INET6
case AF_INET6:
((struct sockaddr_in6 *)&our_query_sin)->sin6_port = htons(0);
break;
+#endif
}
memcpy(&rmt_query_sin, rmt_sin, salen);
switch (rmt_query_sin.ss_family) {
@@ -158,10 +164,12 @@ rfc1413(rmt_sin, our_sin, dest, dsize, ident_timeout_time)
((struct sockaddr_in *)&rmt_query_sin)->sin_port =
htons(IDENT_PORT);
break;
+#ifdef INET6
case AF_INET6:
((struct sockaddr_in6 *)&rmt_query_sin)->sin6_port =
htons(IDENT_PORT);
break;
+#endif
}
if (bind(s, (struct sockaddr *) & our_query_sin, salen) == -1)