diff options
author | Jason Downs <downsj@cvs.openbsd.org> | 1997-06-23 11:12:42 +0000 |
---|---|---|
committer | Jason Downs <downsj@cvs.openbsd.org> | 1997-06-23 11:12:42 +0000 |
commit | 0e82d9b185ff955adf2ec49fd5519fe2c34d04c6 (patch) | |
tree | e09cea45809745e5b6896378167950470576caab /lib/libwrap/hosts_access.3 | |
parent | 2c59cebd05256d180e591c451c1d086ff0a183de (diff) |
Mandoc manpages.
Diffstat (limited to 'lib/libwrap/hosts_access.3')
-rw-r--r-- | lib/libwrap/hosts_access.3 | 188 |
1 files changed, 120 insertions, 68 deletions
diff --git a/lib/libwrap/hosts_access.3 b/lib/libwrap/hosts_access.3 index cd14d066abf..b94e61d1e6f 100644 --- a/lib/libwrap/hosts_access.3 +++ b/lib/libwrap/hosts_access.3 @@ -1,94 +1,146 @@ -.\" $OpenBSD: hosts_access.3,v 1.2 1997/02/26 03:12:48 downsj Exp $ -.TH HOSTS_ACCESS 3 -.SH NAME -hosts_access, hosts_ctl, request_init, request_set \- access control library -.SH SYNOPSIS -.nf -#include <tcpd.h> - -extern int allow_severity; -extern int deny_severity; - -struct request_info *request_init(request, key, value, ..., 0) -struct request_info *request; - -struct request_info *request_set(request, key, value, ..., 0) -struct request_info *request; - -int hosts_access(request) -struct request_info *request; - -int hosts_ctl(daemon, client_name, client_addr, client_user) -char *daemon; -char *client_name; -char *client_addr; -char *client_user; -.fi -.SH DESCRIPTION -The routines described in this document are part of the \fIlibwrap.a\fR -library. They implement a rule-based access control language with +.\" $OpenBSD: hosts_access.3,v 1.3 1997/06/23 11:12:40 downsj Exp $ +.\" +.\" Copyright (c) 1997, Jason Downs. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Jason Downs for the +.\" OpenBSD system. +.\" 4. Neither the name(s) of the author(s) nor the name OpenBSD +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS +.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, +.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd June 23, 1997 +.Dt HOSTS_ACCESS 3 +.Os +.Sh NAME +.Nm hosts_access , +.Nm hosts_ctl , +.Nm request_init , +.Nm request_set +.Nd access control library +.Sh SYNOPSIS +.Fd #include <tcpd.h> +.Vt extern int allow_severity; +.Vt extern int deny_severity; +.Ft struct request_info * +.Fn request_init "struct request_info *request" "int key" value ... 0 +.Ft struct request_info * +.Fn request_set "struct request_info *request" "int key" value ... 0 +.Ft int +.Fn hosts_access "struct request_info *request" +.Ft int +.Fn hosts_ctl "char *daemon" "char *client_name" "char *client_addr" "char *client_user" +.Sh DESCRIPTION +The routines described in this document are part of the +.Nm libwrap.a +library. They implement a rule-based access control language with optional shell commands that are executed when a rule fires. -.PP -request_init() initializes a structure with information about a client -request. request_set() updates an already initialized request -structure. Both functions take a variable-length list of key-value -pairs and return their first argument. The argument lists are -terminated with a zero key value. All string-valued arguments are -copied. The expected keys (and corresponding value types) are: -.IP "RQ_FILE (int)" +.Pp +.Fn request_init +initializes a structure with information about a client +request. +.Fn request_set +updates an already initialized request structure. Both functions take a +variable-length list of key-value pairs and return their first argument. +The argument lists are terminated with a zero key value. All string-valued +arguments are copied. The expected keys (and corresponding value types) are: +.Bl -tag -width XXXXXXXXXXXXXXXXXXXXXXXX +.It "RQ_FILE (int)" The file descriptor associated with the request. -.IP "RQ_CLIENT_NAME (char *)" +.It "RQ_CLIENT_NAME (char *)" The client host name. -.IP "RQ_CLIENT_ADDR (char *)" +.It "RQ_CLIENT_ADDR (char *)" A printable representation of the client network address. -.IP "RQ_CLIENT_SIN (struct sockaddr_in *)" +.It "RQ_CLIENT_SIN (struct sockaddr_in *)" An internal representation of the client network address and port. The contents of the structure are not copied. -.IP "RQ_SERVER_NAME (char *)" +.It "RQ_SERVER_NAME (char *)" The hostname associated with the server endpoint address. -.IP "RQ_SERVER_ADDR (char *)" +.It "RQ_SERVER_ADDR (char *)" A printable representation of the server endpoint address. -.IP "RQ_SERVER_SIN (struct sockaddr_in *)" +.It "RQ_SERVER_SIN (struct sockaddr_in *)" An internal representation of the server endpoint address and port. The contents of the structure are not copied. -.IP "RQ_DAEMON (char *)" +.It "RQ_DAEMON (char *)" The name of the daemon process running on the server host. -.IP "RQ_USER (char *)" +.It "RQ_USER (char *)" The name of the user on whose behalf the client host makes the request. -.PP -hosts_access() consults the access control tables described in the -\fIhosts_access(5)\fR manual page. When internal endpoint information -is available, host names and client user names are looked up on demand, -using the request structure as a cache. hosts_access() returns zero if -access should be denied. -.PP -hosts_ctl() is a wrapper around the request_init() and hosts_access() +.El +.Pp +.Fn hosts_access +consults the access control tables described in the +.Xr hosts_access 5 +manual page. When internal endpoint information is available, host names +and client user names are looked up on demand, using the request structure +as a cache. +.Fn hosts_access +returns zero if access should be denied. +.Pp +.Fn hosts_ctl +is a wrapper around the +.Fn request_init +and +.Fn hosts_access routines with a perhaps more convenient interface (though it does not pass on enough information to support automated client username lookups). The client host address, client host name and username -arguments should contain valid data or STRING_UNKNOWN. hosts_ctl() +arguments should contain valid data or STRING_UNKNOWN. +.Fn hosts_ctl returns zero if access should be denied. -.PP -The \fIallow_severity\fR and \fIdeny_severity\fR variables determine +.Pp +The +.Fa allow_severity +and +.Fa deny_severity +variables determine how accepted and rejected requests may be logged. They must be provided by the caller and may be modified by rules in the access control tables. -.SH DIAGNOSTICS +.Sh DIAGNOSTICS Problems are reported via the syslog daemon. -.SH SEE ALSO -hosts_access(5), format of the access control tables. -hosts_options(5), optional extensions to the base language. -.SH FILES -/etc/hosts.allow, /etc/hosts.deny, access control tables. -.SH BUGS -hosts_access() uses the strtok() library function. This may interfere -with other code that relies on strtok(). -.SH AUTHOR -.na -.nf +.Sh SEE ALSO +.Xr hosts_access 5 , +.Xr hosts_options 5 . +.Sh FILES +.Bl -tag -width /etc/hosts.allow -compact +.It Pa /etc/hosts.allow +Access control table (allow list) +.It Pa /etc/hosts.deny +Access control table (deny list) +.El +.Sh BUGS +.Fn hosts_access +uses the +.Fn strtok +library function. This may interfere with other code that relies on +.Fn strtok . +.Sh AUTHOR +.Bd -unfilled -offset indent Wietse Venema (wietse@wzv.win.tue.nl) Department of Mathematics and Computing Science Eindhoven University of Technology Den Dolech 2, P.O. Box 513, 5600 MB Eindhoven, The Netherlands +.Ed \" @(#) hosts_access.3 1.8 96/02/11 17:01:26 |