0
  0   Çˆl–Ðz¾”ÊeJi@à]¸)‹Fÿô„p€?_‹uÐb&=LV[(Á÷ ?÷     Ç# Net::SSLeay.pm - Perl module for using Eric Young's implementation of SSL
#
# Copyright (c) 1996-2003 Sampo KellomÃ¤ki <sampo@iki.fi>
# Copyright (c) 2005-2010 Florian Ragwitz <rafl@debian.org>
# Copyright (c) 2005-2018 Mike McCauley <mikem@airspayce.com>
# Copyright (c) 2018 Tuure Vartiainen <vartiait@radiatorsoftware.com>
# Copyright (c) 2018- Chris Novakovic <chris@chrisn.me.uk>
# Copyright (c) 2018- Heikki Vatiainen <hvn@radiatorsoftware.com>
#
# All rights reserved.
#
# This module is released under the terms of the Artistic License 2.0. For
# details, see the LICENSE file distributed with Net-SSLeay's source code.

package Net::SSLeay;

use 5.8.1;

use strict;
use Carp;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD $CRLF);
use Socket;
use Errno;

require Exporter;
use AutoLoader;

# 0=no warns, 1=only errors, 2=ciphers, 3=progress, 4=dump data
$Net::SSLeay::trace = 0;  # Do not change here, use
                          # $Net::SSLeay::trace = [1-4]  in caller

# 2 = insist on v2 SSL protocol
# 3 = insist on v3 SSL
# 10 = insist on TLSv1
# 11 = insist on TLSv1.1
# 12 = insist on TLSv1.2
# 13 = insist on TLSv1.3
# 0 or undef = guess (v23)
#
$Net::SSLeay::ssl_version = 0;  # don't change here, use
                                # Net::SSLeay::version=[2,3,0] in caller

#define to enable the "cat /proc/$$/stat" stuff
$Net::SSLeay::linux_debug = 0;

# Number of seconds to sleep after sending message and before half
# closing connection. Useful with antiquated broken servers.
$Net::SSLeay::slowly = 0;

# RANDOM NUMBER INITIALIZATION
#
# Edit to your taste. Using /dev/random would be more secure, but may
# block if randomness is not available, thus the default is
# /dev/urandom. $how_random determines how many bits of randomness to take
# from the device. You should take enough (read SSLeay/doc/rand), but
# beware that randomness is limited resource so you should not waste
# it either or you may end up with randomness depletion (situation where
# /dev/random would block and /dev/urandom starts to return predictable
# numbers).
#
# N.B. /dev/urandom does not exist on all systems, such as Solaris 2.6. In that
#      case you should get a third party package that emulates /dev/urandom
#      (e.g. via named pipe) or supply a random number file. Some such
#      packages are documented in Caveat section of the POD documentation.

$Net::SSLeay::random_device = '/dev/urandom';
$Net::SSLeay::how_random = 512;

# When updating this, also update $VERSION in the following files:
#   inc/Test/Net/SSLeay.pm
#   inc/Test/Net/SSLeay/Socket.pm
#   lib/Net/SSLeay/Handle.pm
$VERSION = '1.94';

@ISA = qw(Exporter);

# This array is automatically generated - do not manually modify it.
# To add or remove a constant, edit helper_script/constants.txt, then run
# helper_script/update-exported-constants.
my @constants = qw(
    AD_ACCESS_DENIED
    AD_BAD_CERTIFICATE
    AD_BAD_CERTIFICATE_HASH_VALUE
    AD_BAD_CERTIFICATE_STATUS_RESPONSE
    AD_BAD_RECORD_MAC
    AD_CERTIFICATE_EXPIRED
    AD_CERTIFICATE_REQUIRED
    AD_CERTIFICATE_REVOKED
    AD_CERTIFICATE_UNKNOWN
    AD_CERTIFICATE_UNOBTAINABLE
    AD_CLOSE_NOTIFY
    AD_DECODE_ERROR
    AD_DECOMPRESSION_FAILURE
    AD_DECRYPTION_FAILED
    AD_DECRYPT_ERROR
    AD_EXPORT_RESTRICTION
    AD_HANDSHAKE_FAILURE
    AD_ILLEGAL_PARAMETER
    AD_INAPPROPRIATE_FALLBACK
    AD_INSUFFICIENT_SECURITY
    AD_INTERNAL_ERROR
    AD_MISSING_EXTENSION
    AD_NO_APPLICATION_PROTOCOL
    AD_NO_CERTIFICATE
    AD_NO_RENEGOTIATION
    AD_PROTOCOL_VERSION
    AD_RECORD_OVERFLOW
    AD_UNEXPECTED_MESSAGE
    AD_UNKNOWN_CA
    AD_UNKNOWN_PSK_IDENTITY
    AD_UNRECOGNIZED_NAME
    AD_UNSUPPORTED_CERTIFICATE
    AD_UNSUPPORTED_EXTENSION
    AD_USER_CANCELLED
    ASN1_STRFLGS_ESC_CTRL
    ASN1_STRFLGS_ESC_MSB
    ASN1_STRFLGS_ESC_QUOTE
    ASN1_STRFLGS_RFC2253
    ASYNC_NO_JOBS
    ASYNC_PAUSED
    CB_ACCEPT_EXIT
    CB_ACCEPT_LOOP
    CB_ALERT
    CB_CONNECT_EXIT
    CB_CONNECT_LOOP
    CB_EXIT
    CB_HANDSHAKE_DONE
    CB_HANDSHAKE_STAR