Nagios-NRPE

 view release on metacpan or  search on metacpan

lib/Nagios/NRPE/Client.pm  view on Meta::CPAN

    {
        $socket_opts{Domain} = AF_INET;
    }
    if ($self->{ipv6})
    {
        $socket_opts{Domain} = AF_INET6;
    }
    if ($self->{ssl})
    {
        eval {
            # required for new IO::Socket::SSL versions
            use IO::Socket::SSL;
        };

        $socket_opts{SSL_cipher_list} = $self->{SSL_cipher_list}
          || 'ALL:!MD5:@STRENGTH:@SECLEVEL=0';
        $socket_opts{SSL_verify_mode} = SSL_VERIFY_NONE;
        $socket_opts{SSL_version}     = 'TLSv1';

        $socket = IO::Socket::SSL->new(%socket_opts);
        if ($SSL_ERROR)
        {
            $reason = "$!,$SSL_ERROR";
            return return_error($reason);
        }

    }
    else
    {
        $socket_opts{Proto} = 'tcp';

lib/Nagios/NRPE/Daemon.pm  view on Meta::CPAN

=cut

sub create_socket
{
    my $self = shift;
    my $socket;

    if ($self->{ssl})
    {
        eval {
            # required for new IO::Socket::SSL versions
            require IO::Socket::SSL;
            IO::Socket::SSL->import();
            IO::Socket::SSL::set_ctx_defaults(SSL_verify_mode => 0);
        };
        my $options = {
                       Listen          => 5,
                       LocalAddr       => $self->{listen},
                       LocalPort       => $self->{port},
                       Proto           => 'tcp',
                       Reuse           => 1,
                       SSL_verify_mode => 0x01,
                       Type            => SOCK_STREAM
                      };
        if ($self->{SSL_cipher_list})
        {
            $options->{SSL_cipher_list} = $self->{SSL_cipher_list};
        }
        if ($self->{SSL_cert_file} && $self->{SSL_key_file})
        {
            $options->{SSL_cert_file} = $self->{SSL_cert_file};
            $options->{SSL_key_file}  = $self->{SSL_key_file};
        }
        $socket = IO::Socket::SSL->new(%{$options})
          or die(IO::Socket::SSL::errstr());
    }
    else
    {
        $socket = IO::Socket::INET6->new(
                                         Listen    => 5,
                                         LocalAddr => $self->{listen},
                                         LocalPort => $self->{port},
                                         Reuse     => 1,
                                         Proto     => 'tcp',
                                         Type      => SOCK_STREAM



( run in 1.628 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )