From 744fe37af62f1b349980c085635f49c6dade3c41 Mon Sep 17 00:00:00 2001 From: Kazuo Horikawa Date: Mon, 9 Jun 2003 01:38:22 +0000 Subject: [PATCH] New Japanese translations Use the uniform expression for the phrase "accept filter" Submitted by: Akira Ikeuchi Reviewed by: Yoshihito Ryuzaki --- ja_JP.eucJP/man/man2/getsockopt.2 | 6 +- ja_JP.eucJP/man/man9/Makefile | 3 + ja_JP.eucJP/man/man9/accept_filter.9 | 134 +++++++++++++++++++++++++++ ja_JP.eucJP/man/man9/accf_data.9 | 77 +++++++++++++++ ja_JP.eucJP/man/man9/accf_http.9 | 94 +++++++++++++++++++ 5 files changed, 311 insertions(+), 3 deletions(-) create mode 100644 ja_JP.eucJP/man/man9/accept_filter.9 create mode 100644 ja_JP.eucJP/man/man9/accf_data.9 create mode 100644 ja_JP.eucJP/man/man9/accf_http.9 diff --git a/ja_JP.eucJP/man/man2/getsockopt.2 b/ja_JP.eucJP/man/man2/getsockopt.2 index be0a3d8244..ca38c8c71c 100644 --- a/ja_JP.eucJP/man/man2/getsockopt.2 +++ b/ja_JP.eucJP/man/man2/getsockopt.2 @@ -154,7 +154,7 @@ .It Dv SO_RCVLOWAT Ta "入力用の最小カウントを設定します" .It Dv SO_SNDTIMEO Ta "出力についてのタイムアウト値を設定します" .It Dv SO_RCVTIMEO Ta "入力についてのタイムアウト値を設定します" -.It Dv SO_ACCEPTFILTER Ta "待ち受けソケットでの受け取り用フィルタを設定します" +.It Dv SO_ACCEPTFILTER Ta "待ち受けソケットでの accept フィルタを設定します" .It Dv SO_TYPE Ta "ソケットのタイプを取得します (取得のみ)" .It Dv SO_ERROR Ta "ソケットのエラーを取得してクリアします (取得のみ)" .El @@ -327,12 +327,12 @@ struct accept_filter_arg { を選択、設定します。 .Fa af_name 引数は、アプリケーションが待ち受けソケット上に置きたいと思っている -受け取り用フィルタの名前で埋めなくてはなりません。 +accept フィルタの名前で埋めなくてはなりません。 オプションの引数 .Fa af_arg は、 .Fa af_name -で指定された受け取り用フィルタに渡すことができるものです。 +で指定された accept フィルタに渡すことができるものです。 これにより、ソケットに置かれる時にさらなる設定オプションを 提供します。 NULL を diff --git a/ja_JP.eucJP/man/man9/Makefile b/ja_JP.eucJP/man/man9/Makefile index 66f34d5416..ea485ef38a 100644 --- a/ja_JP.eucJP/man/man9/Makefile +++ b/ja_JP.eucJP/man/man9/Makefile @@ -58,6 +58,9 @@ MAN9 = BUS_PRINT_CHILD.9\ VOP_SETEXTATTR.9\ VOP_STRATEGY.9\ acl.9\ + accept_filter.9\ + accf_data.9\ + accf_http.9\ bios.9\ boot.9\ buf.9\ diff --git a/ja_JP.eucJP/man/man9/accept_filter.9 b/ja_JP.eucJP/man/man9/accept_filter.9 new file mode 100644 index 0000000000..1a9e25ef98 --- /dev/null +++ b/ja_JP.eucJP/man/man9/accept_filter.9 @@ -0,0 +1,134 @@ +.\" +.\" Copyright (c) 2000 Alfred Perlstein +.\" +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" %FreeBSD: src/share/man/man9/accept_filter.9,v 1.10 2002/12/27 12:15:34 schweikh Exp % +.\" $FreeBSD$ +.\" " +.Dd June 25, 2000 +.Os +.Dt ACCEPT_FILTER 9 +.Sh 名称 +.Nm accept_filter , +.Nm accept_filt_add , +.Nm accept_filt_del , +.Nm accept_filt_generic_mod_event , +.Nm accept_filt_get +.Nd 入力接続フィルタ +.Sh 書式 +.In sys/types.h +.In sys/module.h +.In sys/socket.h +.Fd #define ACCEPT_FILTER_MOD +.In sys/socketvar.h +.Ft int +.Fn accept_filt_add "struct accept_filter *filt" +.Ft int +.Fn accept_filt_del "char *name" +.Ft int +.Fn accept_filt_generic_mod_event "module_t mod" "int event" "void *data" +.Ft struct accept_filter * +.Fn accept_filt_get "char *name" +.Sh 解説 +accept フィルタは、カーネルが入力接続を前処理することを、アプリケーションが +要求することを可能にします。 +accept フィルタは、 +.Dv SO_ACCEPTFILTER +の +.Fa optname +で渡すことで、 +.Xr setsockopt 2 +システムコールを介して要求されます。 +.Sh 実装に関する注 +accept フィルタになりたいモジュールは、システムに accept_filter 構造体を +提供しなければなりません。 +.Bd -literal +struct accept_filter { + char accf_name[16]; + void (*accf_callback)(struct socket *so, void *arg, int waitflag); + void * (*accf_create)(struct socket *so, char *arg); + void (*accf_destroy)(struct socket *so); + SLIST_ENTRY(accept_filter) accf_next; /* リストの次のエントリ */ +}; +.Ed +.Pp +そのモジュールは、 +.Xr MALLOC 9 +で割当てられた accept_filter 構造体へのポインタを渡す関数 +.Fn accept_filt_add +を使用して、それを登録するべきです。 +.Pp +.Fa struct accept_filter +のフィールドは以下の通りです。 +.Bl -tag -width accf_callbackXXX +.It accf_name +フィルタの名前です。 +これはユーザ領域からアクセスされる方法です。 +.It accf_callback +接続が確立されたときにカーネルが実行するコールバックです。 +これは socket upcall と同等で、そのコールバックがソケットのフラグを +変更しない限りは、接続が確立したとき、 +またソケットに新しいデータが届くたびに、呼出されます。 +.It accf_create +監視しているソケット上に +.Xr setsockopt 2 +がフィルタをインストールするたびに呼出されます。 +.It accf_destroy +ユーザがそのソケット上の accept フィルタを取り除くたびに呼出されます。 +.El +.Pp +.Fn accept_filt_add +を使用して登録されたときに accept_filter.accf_name に使用された同じ文字列が +.Fn accept_filt_del +に渡されると、その後カーネルはそれ以上のユーザ領域の +そのフィルタの使用を禁じます。 +.Pp +.Fn accept_filt_get +は +.Fn setsockopt +システムコールを介して使用されるための accept フィルタを +見つけるために内部で使用されます。 +.Pp +.Fn accept_filt_generic_mod_event +は自分自身をロードおよびアンロードするための引数フィールドを使用しない +accept フィルタのために、コードの重複を避ける単純な方法を提供します。 +これは +.Fn DECLARE_MODULE +マクロのためにロード/アンロード構造体に配置されることが可能な関数です。 +.Sh 関連項目 +.Xr setsockopt 2 , +.Xr accf_data 9 , +.Xr accf_http 9 , +.Xr malloc 9 +.Sh 歴史 +accept フィルタ機構は +.Fx 4.0 +で導入されました。 +.Sh 作者 +このマニュアルページは +.An Alfred Perlstein , +Sheldon Hearn および Jeroen Ruigrok van der Werven +が書きました。 +accept フィルタの構想は Yahoo! の David Filo によって開拓され、 +Alfred Perlstein によってローダブルモジュールシステムに改良されました。 diff --git a/ja_JP.eucJP/man/man9/accf_data.9 b/ja_JP.eucJP/man/man9/accf_data.9 new file mode 100644 index 0000000000..2867675409 --- /dev/null +++ b/ja_JP.eucJP/man/man9/accf_data.9 @@ -0,0 +1,77 @@ +.\" +.\" Copyright (c) 2000 Alfred Perlstein +.\" +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" %FreeBSD: src/share/man/man9/accf_data.9,v 1.7 2002/12/24 13:41:46 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd November 15, 2000 +.Os +.Dt ACCF_DATA 9 +.Sh 名称 +.Nm accf_data +.Nd データ到着までの間の入力接続バッファ +.Sh 書式 +.Nm options INET +.Nm options ACCEPT_FILTER_DATA +.Nm kldload accf_data +.Sh 解説 +これは入力接続を受け取るために +.Fn accept +が使用されるソケット上に配置されるためのフィルタです。 +.Pp +これは接続上のデータ到着までの間にアプリケーションが +.Fn accept +を介して接続された記述子を受け取ることを防止します。 +.Pp +カーネルの中に INET オプションが既にコンパイルされている場合には、 +.Fa ACCEPT_FILTER_DATA +カーネルオプションは +.Xr kldload 8 +を介して実行時に有効化することができるモジュールもあります。 +.Sh 使用例 +ACCEPT_FILTER_DATA がカーネルコンフィグファイルに含まれているか、 +.Nm +モジュールがロードされていると仮定して、これはソケット +.Fa sok +上のデータ accept フィルタを有効化します。 +.Bd -literal -offset 0i + struct accept_filter_arg afa; + + bzero(&afa, sizeof(afa)); + strcpy(afa.af_name, "dataready"); + setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa)); +.Ed +.Sh 関連項目 +.Xr setsockopt 2 , +.Xr accept_filter 9 , +.Xr accf_http 9 +.Sh 歴史 +accept フィルタ機構および accf_data フィルタは +.Fx 4.0 +で導入されました。 +.Sh 作者 +このマニュアルページおよびこのフィルタは +.An Alfred Perlstein +が書きました。 diff --git a/ja_JP.eucJP/man/man9/accf_http.9 b/ja_JP.eucJP/man/man9/accf_http.9 new file mode 100644 index 0000000000..0256d5fbb2 --- /dev/null +++ b/ja_JP.eucJP/man/man9/accf_http.9 @@ -0,0 +1,94 @@ +.\" +.\" Copyright (c) 2000 Alfred Perlstein +.\" +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" %FreeBSD: src/share/man/man9/accf_http.9,v 1.10 2002/12/24 13:41:46 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd November 15, 2000 +.Os +.Dt ACCF_HTTP 9 +.Sh 名称 +.Nm accf_http +.Nd ある完全な HTTP リクエストの到着までの間の入力接続バッファ +.Sh 書式 +.Nm options INET +.Nm options ACCEPT_FILTER_HTTP +.Nm kldload accf_http +.Sh 解説 +これは HTTP 入力接続を受け取るために +.Fn accept +が使用されるソケット上に配置されるためのフィルタです。 +.Pp +これは完全な HTTP/1.0 または HTTP/1.1 の HEAD または GET リクエストが +カーネルによってバッファされるまでの間に、アプリケーションが +.Fn accept +を介して接続された記述子を受け取ることを防止します。 +.Pp +HTTP/1.0 または HTTP/1.1 の HEAD または GET リクエスト以外の何かが +受け取られた場合には、カーネルはアプリケーションが +.Fn accept +を介して接続記述子を受け取ることを可能にします。 +.Pp +.Nm +の効用は、サーバがそのリクエストの初期の文法解析を実行する前に +コンテキストの切り替えを何回か行なう必要が無いようにすることです。 +Apache のようなサーバのフォーク前のアクティブプロセス数を低く抑え、 +.Fn select , +.Fn poll +または +.Fn kevent +のようなインタフェースによって管理されることが必要なファイル記述子の組の +大きさを減少させることによって、 +入力リクエストのために必要な CPU 利用を効果的に減少させます。 +.Pp +カーネルの中に INET オプションが既にコンパイルされている場合には、 +.Nm +カーネルオプションは +.Xr kldload 8 +を介して実行時に有効化することができるモジュールもあります。 +.Sh 使用例 +ACCEPT_FILTER_HTTP がカーネルコンフィグファイルに含まれているか、 +.Nm +モジュールがロードされていると仮定して、これはソケット +.Fa sok +上の http accept フィルタを有効化します。 +.Bd -literal -offset 0i + struct accept_filter_arg afa; + + bzero(&afa, sizeof(afa)); + strcpy(afa.af_name, "httpready"); + setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa)); +.Ed +.Sh 関連項目 +.Xr setsockopt 2 , +.Xr accept_filter 9 +.Sh 歴史 +accept フィルタ機構および accf_http フィルタは +.Fx 4.0 +で導入されました。 +.Sh 作者 +このマニュアルページおよびこのフィルタは +.An Alfred Perlstein +が書きました。