=encoding euc-jp =head1 名前 Net::Daemon::SSL - 移植可能なSSLデーモンのためのPerl拡張 =head1 概要 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(); =head1 説明 このクラスはNet::Daemonクラス用のIO::Socket::SSLの機能を実装しています。 Net::Daemonの使い方についてのさらなる情報についてはperldoc Net::Daemonを ご覧ください。 =head2 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をご覧ください。 =head2 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してしまいます。 =head1 作者と著作権(AUTHOR AND COPYRIGHT) Net::Daemon::SSL (C) Michael Kulakov, Zenon N.S.P. 2000 125124, 19, 1-st Jamskogo polja st, Moscow, Russian Federation mkul@cpan.org 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. =head1 参考資料 L, L