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.

参考資料

Net::Daemon(3), IO::Socket::SSL(3)