NAME

    Alien::LibreSSL - Alien wrapper for LibreSSL (alternative to OpenSSL)

VERSION

    version 0.06

SYNOPSIS

    EUMM:

     use ExtUtils::MakeMaker;
     use Alien::Base::Wrapper qw( Alien::LibreSSL !export );
     
     WriteMakefile(
       ...
       CONFIGURE => {
         'Alien::Build::Wrapper' => 0,
         'Alien::LibreSSL'       => 0,
       },
       Alien::Base::Wrapper->mm_args,
     );

    MB:

     use Module::Build;
     use Alien::Base::Wrapper qw( Alien::LibreSSL !export );
     
     my $build = Module::Build->new(
       ...
       configure_requires => {
         'Alien::Build::Wrapper' => 0,
         'Alien::LibreSSL'       => 0,
       },
       Alien::Base::Wrapper->mb_args,
       ...
     );
     
     $build->create_build_script;

    Perl script:

     use Alien::LibreSSL;
     use Env qw( @PATH );
     
     unshift @PATH, 'Alien::LibreSSL->bin_dir;
     system 'openssl ...';

DESCRIPTION

    This module provides an implementation of SSL. It will use the system
    SSL, if it can be found. If the system does not provide SSL, this alien
    will download and build LibreSSL, a drop in replacement for OpenSSL

 Motivation

    SSL has lots of pitfalls. SSL on Perl has all of those pitfalls plus
    some more. Once you get Net::SSLeay you are mostly out of the woods.
    Getting Net::SSLeay to install can be problematic on some platforms. My
    hope is that some combination of this module and Alien::OpenSSL will
    one day make it easier to install Net::SSLeay.

CAVEATS

    None of this applies to a system install where OpenSSL or LibreSSL is
    already installed.

    Retrieving LibreSSL or OpenSSL via the internet when you do not already
    have an SSL implementation introduces a bootstrapping problem. Newer
    versions of Alien::Build + alienfile prefer the use of curl over
    Net::SSLeay because on some platforms it is more reliable. Further,
    this Alien will try to use wget. curl and wget will only be used if
    they support the https protocol. If neither curl, wget are available
    and Net::SSLeay isn't already installed, then this Alien will refuse to
    install because it has no safe way of retrieving LibreSSL from the
    internet. You can force an insecure install via ftp or http using the
    ALIEN_OPENSSL_FTP environment variable below, but that is NOT
    recommended.

ENVIRONMENT

    ALIEN_OPENSSL_FTP

      Set to 1 to allow downloads via ftp or http (the default). Set to 0
      to disallow insecure downloads over ftp or http.

SEE ALSO

    Alien

    Alien::OpenSSL

AUTHOR

    Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

    This software is copyright (c) 2017-2022 by Graham Ollis.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.