Net-Daemon-SSL-1.0 > Net::Daemon::SSL
名前¶
Net::Daemon::SSL - 移植可能なSSLデーモンのためのPerl拡張
概要¶
use Net::Daemon::SSL;
package MyDaemon;
@MyDaemon::ISA = qw (Net::Daemon::SSL);
sub Run
{
my $this = shift;
my $buffer;
$this->{socket}->print ( "vasja was here\n" );
$this->{socket}->sysread ( $buffer, 100 ); # 注意!
# IO::Socket::SSLバージョン0.73では
# getline()メソッドが動きません
# 更なる情報については
# perldoc IO::Socket::SSLをご覧ください
}
package main;
my $daemon = new MyDaemon ( {}, \ @ARGV ); # --helpコマンド line keyを使うことが出来ます
$daemon || die "error create daemon instance: $!\n";
$daemon->Bind();
説明¶
このクラスはNet::Daemonクラス用のIO::Socket::SSLの機能を実装しています。 Net::Daemonの使い方についてのさらなる情報についてはperldoc Net::Daemonを ご覧ください。
Options¶
このメソッドは一般的なNet::DaemonオプションにIO::Socket::SSL特有のオプションを 追加します(SSL_use_cert,SSL_verify_mode, SSL_key_file, SSL_cert_file, SSL_ca_path, SSL_ca_file )追加します。このオプションについては perldoc IO::Socket::SSLをご覧ください。
Bind¶
このメソッドはIO::Socket::SSL::SafeAcceptソケットを作成し、このソケットを this->{socket}に格納し、制御を親のNet::Daemon::Bindに渡します。 IO::Socket::SSL::SafeAcceptはIO::Socket::SSL から継承されたクラスで、 親クラスとの唯一の違いは - このクラスのaccept()メソッドが、どんなエラーでも EINTRを返すことです。この仕掛けはNet::Daemon::Bindの機能を"ハック"するために 必要です: もしこのメソッドがaccept()からエラーを取ったとき (例えばNet::Daemon::SSL 認証(auth)エラー)、それは、これがEINTRエラーでなければ、 Fatal()メソッドを呼び出し、dieしてしまいます。
作者と著作権(AUTHOR AND COPYRIGHT)¶
Net::Daemon::SSL (C) Michael Kulakov, Zenon N.S.P. 2000
125124, 19, 1-st Jamskogo polja st,
Moscow, Russian Federation
[email protected]
All rights reserved.
You may distribute this package under the terms of either the GNU
General Public License or the Artistic License, as specified in the
Perl README file.