NAME
Net::Daemon::SSL - perl extensions for portable ssl daemons
SYNOPSIS
use
Net::Daemon::SSL;
package
MyDaemon;
@MyDaemon::ISA
=
qw (Net::Daemon::SSL);
sub
Run
{
my
$this
=
shift
;
my
$buffer
;
$this
->{
socket
}->
(
"vasja was here\n"
);
$this
->{
socket
}->
sysread
(
$buffer
, 100 );
# Attention! getline() method
# do not work with IO::Socket::SSL
# version 0.73
# see perldoc IO::Socket::SSL
# for more details
}
package
main;
my
$daemon
= new MyDaemon ( {}, \
@ARGV
);
# you can use --help command line key
$daemon
||
die
"error create daemon instance: $!\n"
;
$daemon
->Bind();
DESCRIPTION
This class implements an IO::Socket::SSL functionality for Net::Daemon class. See perldoc Net::Daemon for more information about Net::Daemon usage.
Options
This method add IO::Socket::SSL specific options ( SSL_use_cert, SSL_verify_mode, SSL_key_file, SSL_cert_file, SSL_ca_path, SSL_ca_file ) to generic Net::Daemon options. See perldoc IO::Socket::SSL for description of this options
Bind
This method creates an IO::Socket::SSL::SafeAccept socket, stores this socket into $this->{socket} and passes control to parent Net::Daemon::Bind. The IO::Socket::SSL::SafeAccept is a class inherited from IO::Socket::SSL with the only difference from parent class - the accept() method of this class returns EINTR on *any* error. This trick is needed to "hack" Net::Daemon::Bind functionality: if this method gets an error from accept() ( Net::Daemon::SSL auth error, for example ) it will call Fatal() method and die unless this is a EINTR error.
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.
General Public License or the Artistic License, as specified in the
Perl README file.