Munin::Common::TLS(3)

NAME
Munin::Node::TLS - 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.