aboutsummaryrefslogtreecommitdiff
path: root/contrib/tcp_wrappers/tcpd.h
diff options
context:
space:
mode:
authorYoshinobu Inoue <shin@FreeBSD.org>2000-02-03 10:27:03 +0000
committerYoshinobu Inoue <shin@FreeBSD.org>2000-02-03 10:27:03 +0000
commit8053080cbc1ee98871dd7549fef2a6d80f99a00a (patch)
tree1d13c0ef63117b6a1c0d3dd248bab5d834087aea /contrib/tcp_wrappers/tcpd.h
parentab08b2ee086a17c207ad7113836a332890a46834 (diff)
downloadsrc-8053080cbc1ee98871dd7549fef2a6d80f99a00a.tar.gz
src-8053080cbc1ee98871dd7549fef2a6d80f99a00a.zip
Missing tcp_wrapper IPv6 support seemed to be a bug, so commit it.
Now when tcp_wrapper is enabled by inetd -wW, several accesses which should be permitted are refused only for IPv6, if hostname is used to decide the host to be allowed. IPv6 users will be just upset. About security related concern. -All extensions are wrapped by #ifdef INET6, so people can completely disable the extension by recompile libwrap without INET6 option. -Access via IPv6 is not enabled by default. People need to enable IPv6 access by changing /etc/inetd.conf at first, by adding tcp6 and/or tcp46 entries. -The base of patches are from KAME package and are actually daily used for more than a year in several Japanese IPv6 environments. -Patches are reviewed by markm. Approved by: jkh Submitted by: Hajimu UMEMOTO <ume@mahoroba.org> Reviewed by: markm Obtained from: KAME project
Notes
Notes: svn path=/head/; revision=56977
Diffstat (limited to 'contrib/tcp_wrappers/tcpd.h')
-rw-r--r--contrib/tcp_wrappers/tcpd.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/tcp_wrappers/tcpd.h b/contrib/tcp_wrappers/tcpd.h
index 3eecc9115997..fec20a262baf 100644
--- a/contrib/tcp_wrappers/tcpd.h
+++ b/contrib/tcp_wrappers/tcpd.h
@@ -2,6 +2,8 @@
* @(#) tcpd.h 1.5 96/03/19 16:22:24
*
* Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
+ *
+ * $FreeBSD$
*/
/* Structure to describe one communications endpoint. */
@@ -11,7 +13,11 @@
struct host_info {
char name[STRING_LENGTH]; /* access via eval_hostname(host) */
char addr[STRING_LENGTH]; /* access via eval_hostaddr(host) */
+#ifdef INET6
+ struct sockaddr *sin; /* socket address or 0 */
+#else
struct sockaddr_in *sin; /* socket address or 0 */
+#endif
struct t_unitdata *unit; /* TLI transport address or 0 */
struct request_info *request; /* for shared information */
};