HEX
Server: Apache
System: Linux 162-240-236-42.bluehost.com 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
User: bt667 (1004)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //lib64/perl5/vendor_perl/Crypt/SSLeay/MainContext.pm
package Crypt::SSLeay::MainContext;

# maintains a single instance of the Crypt::SSLeay::CTX class

use strict;
use Carp ();

require Crypt::SSLeay::CTX;

my $ctx = &main_ctx();

sub main_ctx { 
    my $ssl_version = shift || 23;

    my $ctx = Crypt::SSLeay::CTX->new($ssl_version);
    $ctx->set_cipher_list($ENV{CRYPT_SSLEAY_CIPHER})
      if $ENV{CRYPT_SSLEAY_CIPHER};    

    $ctx;
}

my %sub_cache = ('main_ctx' => \&main_ctx );

sub import {
    my $pkg = shift;
    my $callpkg = caller();
    my @func = @_;
    for (@func) {
        s/^&//;
        Carp::croak("Can't export $_ from $pkg") if /\W/;;
        my $sub = $sub_cache{$_};
        unless ($sub) {
            my $method = $_;
            $method =~ s/^main_ctx_//;  # optional prefix
            $sub = $sub_cache{$_} = sub { $ctx->$method(@_) };
        }
        no strict 'refs';
        *{"${callpkg}::$_"} = $sub;
    }
}

1;