ACCF_DNS(9) |
FreeBSD Kernel Developer's Manual |
ACCF_DNS(9) |
名称
accf_dns —
すべての最初の要求が存在しなくなるまで、着信 DNS 要求をバッファリングする
書式
options ACCEPT_FILTER_DNS |
|
解説
これは、着信接続を受信するために
accept() を使用するソケットに置かれるフィルタです。
それは、すべての DNS 要求がソケットで利用可能となるまで、アプリケーションが accept() を通して接続された記述子を受け取ることを防ぎます。サイズを決定するための要求の最初の 2 バイトを読み込むことによって、これを行い、読み込まれる必要なデータの量が利用可能となるまで、ウェートし (待ち) ます。
また、 ACCEPT_FILTER_DNS カーネルオプションは、INET オプションがカーネルにコンパイルされているなら、 kldload(8) を通して実行時に有効にすることができるモジュールです。
使用例
accf_dns モジュールがカーネルで利用可能であるなら、次のコードは、ソケット
sok で DNS accept フィルタを有効にします。
struct accept_filter_arg afa;
bzero(&afa, sizeof(afa));
strcpy(afa.af_name, "dnsready");
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
歴史
accept フィルタメカニズムは、
FreeBSD 4.0 で導入されました。
作者
このマニュアルページとフィルタは、
David Malone によって書かれました。