diff options
author | 2002-04-25 10:58:39 +0000 | |
---|---|---|
committer | 2002-04-25 10:58:39 +0000 | |
commit | 3de56e359f3fc9c4cc228d34c9b0de8d33d6ea09 (patch) | |
tree | c8a3b3891d3a6de00cb67efa40a2636f5ecbbe2b /lib | |
parent | avoid buffer overrun on PASV from malicious server. (diff) | |
download | wireguard-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.c | 12 |
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) |