.\"WORD: structure ストラクチャ .TH HOSTS_ACCESS 3 .SH 名前 hosts_access, hosts_ctl, request_init, request_set \- アクセスコントロールライブラリ .SH 書式 .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 説明 このドキュメントで説明されるルーチンは \fIlibwrap.a\fR ライブラ リの一部である。このライブラリは、特定のルールに従うアクセスコン トロール書式を提供する。このアクセスコントロールには、ルールに合 致した場合、シェルコマンドが実行できるというオプション機能も含ま れている。 .PP request_init() は、クライアントのリクエストについての情報のスト ラクチャを初期化する。request_set() は、すでに初期化されているリ クエストのストラクチャを更新するためにつかう。どちらの関数も key-value という 変数-値(variable-length) のペアによるリストを得 て、最初の引き数(first argument)を返す。引き数のリストはゼロの値 を持つ key で終る。すべての文字列の値を持つ引き数(argument)はコピーされる。 有効な key (そして対応する値のタイプ) は以下のとおり: .IP "RQ_FILE (int)" リクエストと関連付けされるファイルディスクリプタ .IP "RQ_CLIENT_NAME (char *)" クライアントホスト名 .IP "RQ_CLIENT_ADDR (char *)" クライアントのネットワークアドレスの名称(a printable representation) .IP "RQ_CLIENT_SIN (struct sockaddr_in *)" クライアントのネットワークアドレス内部での名称(an internal printable representation)とポート番号。ストラクチャの中身はコピー されない。 .IP "RQ_SERVER_NAME (char *)" エンドポイントにあるサーバのホスト名 .IP "RQ_SERVER_ADDR (char *)" エンドポイントにあるサーバアドレスの名称(a printable representation) .IP "RQ_SERVER_SIN (struct sockaddr_in *)" エンドポイントにあるサーバのネットワークアドレス内部での名称(an internal printable representation)とポート番号。ストラクチャの中 身はコピーされない。 .IP "RQ_DAEMON (char *)" サーバホストで動作するデーモンの名前 .IP "RQ_USER (char *)" リクエストを発行したユーザのクライアントホストにおける名称 .PP hosts_access() は \fIhosts_access(5)\fR のマニュアルページで 解説されている、アクセスコントロールテーブルを参照する。 内部のエンドポイント情報が有効であった場合、 要求に応じてホスト名とクライアントユーザ名の探査が行われ、 リクエスト・ストラクチャをキャッシュする。 もしアクセスが拒否された場合、hosts_access() はゼロを返す。 .PP hosts_ctl() は request_init() と hosts_access() をさらに使いやす いインターフェースによって包むラッパーである (自動的にクライアン トのユーザ名を探査するには、充分な機能とはいえないけれども)。 クライアントホストアドレス、クライアントホスト名、そしてユーザ名 に対する引き数は、有効なデータまたは STRING_UNKNOWN を利用するこ と。もしアクセスが拒否された場合、hosts_ctl() はゼロを返す。 .PP 変数 \fIallow_severity\fR と \fIdeny_severity\fR は受諾または拒 否するリクエストをどのように記録するかを指示するものである。 これらは呼び出す側によって規定されるべきものであり、アクセスコン トロールテーブルに示されるルールによっては変更される可能性がある。 .SH 返り値 問題があれば syslog デーモンを通じて報告される。 .SH 関連項目 hosts_access(5), ホストアクセスコントロールファイルの書式 hosts_options(5), ホストアクセスコントロールの拡張書式 .SH ファイル /etc/hosts.allow, /etc/hosts.deny, アクセスコントロールテーブル .SH バグ hosts_access() は strtok() ライブラリ関数を使っている。 これにより、strtok() をあてにしている他のコードと干渉が おきるかもしれない。 .SH 著者 .na .nf 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 \" @(#) hosts_access.3 1.8 96/02/11 17:01:26 .\" ----------------------------------------------------------------------- .\" Translation of hosts_access.8 .\" Japanese Version Copyright (c) 1997 FUKUSHIMA Osamu .\" all rights reserved. .\" Translated: Sat Feb 7 10:00:00 1997 GMT .\" by FUKUSHIMA Osamu .\" -----------------------------------------------------------------------