DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

Net::Daemon::SSL



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}->print ( "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.
 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.


SEE ALSO

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