Munin::Node::TLS(3) Abstract base class implementing the STARTTLS protocol

SYNOPSIS

Should not be called directly. See synopsis for Munin::Common::TLSServer and Munin::Common::TLSClient.

METHODS

new
 my $tls = Munin::Common::TLSFoo->new({ # Substitute Foo with Client or Server
     # Mandatory attributes:  
     logger      => \&a_logger_func,
     read_fd     => fileno($socket),
     read_func   => \&a_socket_read_func,
     write_fd    => fileno($socket),
     write_func  => \&a_socket_read_func,
     # Optional attributes                          DEFAULTS
     DEBUG              => 0,                       # 0
     tls_ca_cert        => "path/to/ca/cert.pem",   # ''
     tls_cert           => "path/to/cert.pem",      # ''
     tls_paranoia       => 1,                       # 0
     tls_priv           => "path/to/priv_key.pem",  # ''
     tls_vdepth         => 5,                       # 0
     tls_verify         => 1,                       # 0
 });

Constructor. Should not be called directly. This documents the attributes that are in common for Munin::Common::TLSServer and Munin::Common::TLSClient.

read
 my $msg = $tls->read();

Encrypted read.

write
 $tls->write($msg);

Encrypted write.

session_started
 my $bool = $tls->session_started();

Returns true if the TLS object is ready to read/write encrypted data.