diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/auto/Net/SSLeay')
78 files changed, 1576 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/.packlist b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/.packlist new file mode 100755 index 00000000000..9e3886a79cf --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/.packlist @@ -0,0 +1,79 @@ +C:\strawberry\perl\vendor\lib\Net\SSLeay.pm
+C:\strawberry\perl\vendor\lib\Net\SSLeay\Handle.pm
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\SSLeay.bs
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\SSLeay.dll
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\autosplit.ix
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\debug_read.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_https.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_https2.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_https3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_https4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_httpx2.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_httpx3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\do_httpx4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\dump_peer_certificate.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_http.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_http3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_http4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_https.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_https3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_https4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_httpx.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_httpx3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\get_httpx4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_http.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_http3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_http4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_https.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_https3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_https4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_httpx.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_httpx3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\head_httpx4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\http_cat.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\https_cat.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\httpx_cat.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\make_form.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\make_headers.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\new_x_ctx.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\open_proxy_tcp_connection.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\open_tcp_connection.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_http.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_http3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_http4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_https.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_https3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_https4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_httpx.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_httpx3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\post_httpx4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_http.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_http3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_http4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_https.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_https3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_https4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_httpx.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_httpx3.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\put_httpx4.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\randomize.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\set_cert_and_key.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\set_proxy.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\set_server_cert_and_key.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\ssl_read_CRLF.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\ssl_read_all.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\ssl_read_until.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\ssl_write_CRLF.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\ssl_write_all.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\sslcat.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcp_read_CRLF.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcp_read_all.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcp_read_until.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcp_write_CRLF.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcp_write_all.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcpcat.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\tcpxcat.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\want_X509_lookup.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\want_nothing.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\want_read.al
+C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\want_write.al
diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/SSLeay.bs b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/SSLeay.bs new file mode 100755 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/SSLeay.bs diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/SSLeay.dll b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/SSLeay.dll Binary files differnew file mode 100755 index 00000000000..61c88241073 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/SSLeay.dll diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/autosplit.ix new file mode 100755 index 00000000000..48af6553b06 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/autosplit.ix @@ -0,0 +1,78 @@ +# Index created by AutoSplit for blib\lib\Net\SSLeay.pm +# (file acts as timestamp) +package Net::SSLeay; +sub want_nothing ; +sub want_read ; +sub want_write ; +sub want_X509_lookup ; +sub open_tcp_connection ; +sub open_proxy_tcp_connection ; +sub debug_read ; +sub ssl_read_all ; +sub tcp_read_all ; +sub ssl_write_all ; +sub tcp_write_all ; +sub ssl_read_until ($;$$); +sub tcp_read_until ; +sub ssl_read_CRLF ($;$); +sub tcp_read_CRLF ; +sub ssl_write_CRLF ($$); +sub tcp_write_CRLF ; +sub dump_peer_certificate ($); +sub randomize (;$$); +sub new_x_ctx ; +sub sslcat ; +sub tcpcat ; +sub tcpxcat ; +sub https_cat ; +sub http_cat ; +sub httpx_cat ; +sub set_cert_and_key ($$$); +sub set_server_cert_and_key ($$$); +sub set_proxy ($$;**); +sub make_form ; +sub make_headers ; +sub do_httpx3 ; +sub do_https3 ; +sub do_httpx2 ; +sub do_https2 ; +sub do_httpx4 ; +sub do_https4 ; +sub get_https ; +sub post_https ; +sub put_https ; +sub head_https ; +sub get_https3 ; +sub post_https3 ; +sub put_https3 ; +sub head_https3 ; +sub get_https4 ; +sub post_https4 ; +sub put_https4 ; +sub head_https4 ; +sub get_http ; +sub post_http ; +sub put_http ; +sub head_http ; +sub get_http3 ; +sub post_http3 ; +sub put_http3 ; +sub head_http3 ; +sub get_http4 ; +sub post_http4 ; +sub put_http4 ; +sub head_http4 ; +sub get_httpx ; +sub post_httpx ; +sub put_httpx ; +sub head_httpx ; +sub get_httpx3 ; +sub post_httpx3 ; +sub put_httpx3 ; +sub head_httpx3 ; +sub get_httpx4 ; +sub post_httpx4 ; +sub put_httpx4 ; +sub head_httpx4 ; +sub do_https ; +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/debug_read.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/debug_read.al new file mode 100755 index 00000000000..b9a2a73fa9f --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/debug_read.al @@ -0,0 +1,22 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1856 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\debug_read.al)" +### +### read and write helpers that block +### + +sub debug_read { + my ($replyr, $gotr) = @_; + my $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; + warn " got " . blength($$gotr) . ':' + . blength($$replyr) . " bytes (VM=$vm).\n" if $trace == 3; + warn " got `$$gotr' (" . blength($$gotr) . ':' + . blength($$replyr) . " bytes, VM=$vm)\n" if $trace>3; +} + +# end of Net::SSLeay::debug_read +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https.al new file mode 100755 index 00000000000..91a207be120 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https.al @@ -0,0 +1,18 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2601 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_https.al)" +sub do_https { + my ($site, $port, $path, $method, $headers, + $content, $mime_type, $crt_path, $key_path) = @_; + + do_https2($method, $site, $port, $path, $headers, + $content, $mime_type, $crt_path, $key_path); +} + +1; +__END__ +1; +# end of Net::SSLeay::do_https diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https2.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https2.al new file mode 100755 index 00000000000..192e31a2948 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https2.al @@ -0,0 +1,13 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2529 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_https2.al)" +sub do_https2 { splice(@_,1,0) = 1; do_httpx2; } # Legacy undocumented + +### Returns headers as a hash where multiple instances of same header +### are handled correctly. + +# end of Net::SSLeay::do_https2 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https3.al new file mode 100755 index 00000000000..c7dc9690d5a --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https3.al @@ -0,0 +1,13 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2514 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_https3.al)" +sub do_https3 { splice(@_,1,0) = 1; do_httpx3; } # Legacy undocumented + +### do_https2() is a legacy version in the sense that it is unable +### to return all instances of duplicate headers. + +# end of Net::SSLeay::do_https3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https4.al new file mode 100755 index 00000000000..55207adad59 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_https4.al @@ -0,0 +1,12 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2545 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_https4.al)" +sub do_https4 { splice(@_,1,0) = 1; do_httpx4; } # Legacy undocumented + +# https + +# end of Net::SSLeay::do_https4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx2.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx2.al new file mode 100755 index 00000000000..e94566d1db2 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx2.al @@ -0,0 +1,18 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2519 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_httpx2.al)" +sub do_httpx2 { + my ($page, $response, $headers, $server_cert) = &do_httpx3; + X509_free($server_cert) if defined $server_cert; + return ($page, $response, + map( { ($h,$v)=/^(\S+)\:\s*(.*)$/; (uc($h),$v); } + split(/\s?\n/, $headers) + ) + ); +} + +# end of Net::SSLeay::do_httpx2 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx3.al new file mode 100755 index 00000000000..af352036cdc --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx3.al @@ -0,0 +1,43 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2479 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_httpx3.al)" +sub do_httpx3 { + my ($method, $usessl, $site, $port, $path, $headers, + $content, $mime_type, $crt_path, $key_path) = @_; + my ($response, $page, $h,$v); + + if ($content) { + $mime_type = "application/x-www-form-urlencoded" unless $mime_type; + my $len = blength($content); + $content = "Content-Type: $mime_type$CRLF" + . "Content-Length: $len$CRLF$CRLF$content"; + } else { + $content = "$CRLF$CRLF"; + } + my $req = "$method $path HTTP/1.0$CRLF"; + unless (defined $headers && $headers =~ /^Host:/m) { + $req .= "Host: $site"; + unless (($port == 80 && !$usessl) || ($port == 443 && $usessl)) { + $req .= ":$port"; + } + $req .= $CRLF; + } + $req .= (defined $headers ? $headers : '') . "Accept: */*$CRLF$content"; + + warn "do_httpx3($method,$usessl,$site:$port)" if $trace; + my ($http, $errs, $server_cert) + = httpx_cat($usessl, $site, $port, $req, $crt_path, $key_path); + return (undef, "HTTP/1.0 900 NET OR SSL ERROR$CRLF$CRLF$errs") if $errs; + + $http = '' if !defined $http; + ($headers, $page) = split /\s?\n\s?\n/, $http, 2; + warn "headers >$headers< page >>$page<< http >>>$http<<<" if $trace>1; + ($response, $headers) = split /\s?\n/, $headers, 2; + return ($page, $response, $headers, $server_cert); +} + +# end of Net::SSLeay::do_httpx3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx4.al new file mode 100755 index 00000000000..c7666531579 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/do_httpx4.al @@ -0,0 +1,19 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2534 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\do_httpx4.al)" +sub do_httpx4 { + my ($page, $response, $headers, $server_cert) = &do_httpx3; + X509_free($server_cert) if defined $server_cert; + my %hr = (); + for my $hh (split /\s?\n/, $headers) { + my ($h,$v)=/^(\S+)\:\s*(.*)$/; + push @{$hr{uc($h)}}, $v; + } + return ($page, $response, \%hr); +} + +# end of Net::SSLeay::do_httpx4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/dump_peer_certificate.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/dump_peer_certificate.al new file mode 100755 index 00000000000..b37a1eff84b --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/dump_peer_certificate.al @@ -0,0 +1,29 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2114 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\dump_peer_certificate.al)" +### Quickly print out with whom we're talking + +sub dump_peer_certificate ($) { + my ($ssl) = @_; + my $cert = get_peer_certificate($ssl); + return if print_errs('get_peer_certificate'); + print "no cert defined\n" if !defined($cert); + # Cipher=NONE with empty cert fix + if (!defined($cert) || ($cert == 0)) { + warn "cert = `$cert'\n" if $trace; + return "Subject Name: undefined\nIssuer Name: undefined\n"; + } else { + my $x = 'Subject Name: ' + . X509_NAME_oneline(X509_get_subject_name($cert)) . "\n" + . 'Issuer Name: ' + . X509_NAME_oneline(X509_get_issuer_name($cert)) . "\n"; + Net::SSLeay::X509_free($cert); + return $x; + } +} + +# end of Net::SSLeay::dump_peer_certificate +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http.al new file mode 100755 index 00000000000..91b6882b25a --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2566 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_http.al)" +sub get_http { do_httpx2(GET => 0, @_) } +# end of Net::SSLeay::get_http +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http3.al new file mode 100755 index 00000000000..2877134a5c1 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2571 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_http3.al)" +sub get_http3 { do_httpx3(GET => 0, @_) } +# end of Net::SSLeay::get_http3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http4.al new file mode 100755 index 00000000000..3b7aeb8bfb3 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_http4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2576 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_http4.al)" +sub get_http4 { do_httpx4(GET => 0, @_) } +# end of Net::SSLeay::get_http4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https.al new file mode 100755 index 00000000000..d66a0c1f181 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2549 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_https.al)" +sub get_https { do_httpx2(GET => 1, @_) } +# end of Net::SSLeay::get_https +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https3.al new file mode 100755 index 00000000000..013d6591618 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2554 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_https3.al)" +sub get_https3 { do_httpx3(GET => 1, @_) } +# end of Net::SSLeay::get_https3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https4.al new file mode 100755 index 00000000000..36448f196ee --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_https4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2559 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_https4.al)" +sub get_https4 { do_httpx4(GET => 1, @_) } +# end of Net::SSLeay::get_https4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx.al new file mode 100755 index 00000000000..07a74658149 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2583 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_httpx.al)" +sub get_httpx { do_httpx2(GET => @_) } +# end of Net::SSLeay::get_httpx +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx3.al new file mode 100755 index 00000000000..10307f280fd --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2588 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_httpx3.al)" +sub get_httpx3 { do_httpx3(GET => @_) } +# end of Net::SSLeay::get_httpx3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx4.al new file mode 100755 index 00000000000..0f400add2a8 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/get_httpx4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2593 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\get_httpx4.al)" +sub get_httpx4 { do_httpx4(GET => @_) } +# end of Net::SSLeay::get_httpx4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http.al new file mode 100755 index 00000000000..8f8fc2ea672 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2569 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_http.al)" +sub head_http { do_httpx2(HEAD => 0, @_) } + +# end of Net::SSLeay::head_http +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http3.al new file mode 100755 index 00000000000..d1cd62e1831 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http3.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2574 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_http3.al)" +sub head_http3 { do_httpx3(HEAD => 0, @_) } + +# end of Net::SSLeay::head_http3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http4.al new file mode 100755 index 00000000000..9078198a378 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_http4.al @@ -0,0 +1,12 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2579 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_http4.al)" +sub head_http4 { do_httpx4(HEAD => 0, @_) } + +# Either https or http + +# end of Net::SSLeay::head_http4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https.al new file mode 100755 index 00000000000..98d2739ad6a --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2552 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_https.al)" +sub head_https { do_httpx2(HEAD => 1, @_) } + +# end of Net::SSLeay::head_https +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https3.al new file mode 100755 index 00000000000..f97eb8f9ff5 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https3.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2557 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_https3.al)" +sub head_https3 { do_httpx3(HEAD => 1, @_) } + +# end of Net::SSLeay::head_https3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https4.al new file mode 100755 index 00000000000..f5262f16c21 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_https4.al @@ -0,0 +1,12 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2562 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_https4.al)" +sub head_https4 { do_httpx4(HEAD => 1, @_) } + +# http + +# end of Net::SSLeay::head_https4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx.al new file mode 100755 index 00000000000..7877cae2e60 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2586 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_httpx.al)" +sub head_httpx { do_httpx2(HEAD => @_) } + +# end of Net::SSLeay::head_httpx +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx3.al new file mode 100755 index 00000000000..c3759fb0f51 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx3.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2591 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_httpx3.al)" +sub head_httpx3 { do_httpx3(HEAD => @_) } + +# end of Net::SSLeay::head_httpx3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx4.al new file mode 100755 index 00000000000..9170fabaab4 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/head_httpx4.al @@ -0,0 +1,13 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2596 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\head_httpx4.al)" +sub head_httpx4 { do_httpx4(HEAD => @_) } + +### Legacy, don't use +# ($page, $respone_or_err, %headers) = do_https(...); + +# end of Net::SSLeay::head_httpx4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/http_cat.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/http_cat.al new file mode 100755 index 00000000000..fc6672e7280 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/http_cat.al @@ -0,0 +1,34 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2384 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\http_cat.al)" +sub http_cat { # address, port, message --> returns reply / (reply,errs,cert) + my ($dest_serv, $port, $out_message) = @_; + my ($got, $errs, $written); + + ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); + return (wantarray ? (undef, $errs) : undef) unless $got; + + ### Connected. Exchange some data (doing repeated tries if necessary). + + warn "http_cat $$: sending " . blength($out_message) . " bytes...\n" + if $trace==3; + warn "http_cat $$: sending `$out_message' (" . blength($out_message) + . " bytes)...\n" if $trace>3; + ($written, $errs) = tcp_write_all($out_message); + goto cleanup unless $written; + + warn "waiting for reply...\n" if $trace>2; + ($got, $errs) = tcp_read_all(200000); + warn "Got " . blength($got) . " bytes.\n" if $trace==3; + warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; + +cleanup: + close SSLCAT_S; + return wantarray ? ($got, $errs) : $got; +} + +# end of Net::SSLeay::http_cat +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/https_cat.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/https_cat.al new file mode 100755 index 00000000000..33bf8053702 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/https_cat.al @@ -0,0 +1,97 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2295 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\https_cat.al)" +### +### Basic request - response primitive, this is different from sslcat +### because this does not shutdown the connection. +### + +sub https_cat { # address, port, message --> returns reply / (reply,errs,cert) + my ($dest_serv, $port, $out_message, $crt_path, $key_path) = @_; + my ($ctx, $ssl, $got, $errs, $written); + + ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); + return (wantarray ? (undef, $errs) : undef) unless $got; + + ### Do SSL negotiation stuff + + warn "Creating SSL $ssl_version context...\n" if $trace>2; + load_error_strings(); # Some bloat, but I'm after ease of use + SSLeay_add_ssl_algorithms(); # and debuggability. + randomize(); + + $ctx = new_x_ctx(); + goto cleanup2 if $errs = print_errs('CTX_new') or !$ctx; + + CTX_set_options($ctx, &OP_ALL); + goto cleanup2 if $errs = print_errs('CTX_set_options'); + + warn "Cert `$crt_path' given without key" if $crt_path && !$key_path; + set_cert_and_key($ctx, $crt_path, $key_path) if $crt_path; + + warn "Creating SSL connection (context was '$ctx')...\n" if $trace>2; + $ssl = new($ctx); + goto cleanup if $errs = print_errs('SSL_new') or !$ssl; + + warn "Setting fd (ctx $ctx, con $ssl)...\n" if $trace>2; + set_fd($ssl, fileno(SSLCAT_S)); + goto cleanup if $errs = print_errs('set_fd'); + + warn "Entering SSL negotiation phase...\n" if $trace>2; + + if ($trace>2) { + my $i = 0; + my $p = ''; + my $cipher_list = 'Cipher list: '; + $p=Net::SSLeay::get_cipher_list($ssl,$i); + $cipher_list .= $p if $p; + do { + $i++; + $cipher_list .= ', ' . $p if $p; + $p=Net::SSLeay::get_cipher_list($ssl,$i); + } while $p; + $cipher_list .= '\n'; + warn $cipher_list; + } + + $got = Net::SSLeay::connect($ssl); + warn "SSLeay connect failed" if $trace>2 && $got==0; + goto cleanup if $errs = print_errs('SSL_connect'); + + my $server_cert = get_peer_certificate($ssl); + print_errs('get_peer_certificate'); + if ($trace>1) { + warn "Cipher `" . get_cipher($ssl) . "'\n"; + print_errs('get_ciper'); + warn dump_peer_certificate($ssl); + } + + ### Connected. Exchange some data (doing repeated tries if necessary). + + warn "https_cat $$: sending " . blength($out_message) . " bytes...\n" + if $trace==3; + warn "https_cat $$: sending `$out_message' (" . blength($out_message) + . " bytes)...\n" if $trace>3; + ($written, $errs) = ssl_write_all($ssl, $out_message); + goto cleanup unless $written; + + warn "waiting for reply...\n" if $trace>2; + ($got, $errs) = ssl_read_all($ssl); + warn "Got " . blength($got) . " bytes.\n" if $trace==3; + warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; + +cleanup: + free ($ssl); + $errs .= print_errs('SSL_free'); +cleanup2: + CTX_free ($ctx); + $errs .= print_errs('CTX_free'); + close SSLCAT_S; + return wantarray ? ($got, $errs, $server_cert) : $got; +} + +# end of Net::SSLeay::https_cat +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/httpx_cat.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/httpx_cat.al new file mode 100755 index 00000000000..aaa98aeb732 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/httpx_cat.al @@ -0,0 +1,18 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2410 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\httpx_cat.al)" +sub httpx_cat { + my ($usessl, $site, $port, $req, $crt_path, $key_path) = @_; + warn "httpx_cat: usessl=$usessl ($site:$port)" if $trace; + if ($usessl) { + return https_cat($site, $port, $req, $crt_path, $key_path); + } else { + return http_cat($site, $port, $req); + } +} + +# end of Net::SSLeay::httpx_cat +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/make_form.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/make_form.al new file mode 100755 index 00000000000..cdc20a2d49d --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/make_form.al @@ -0,0 +1,25 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2449 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\make_form.al)" +### +### Easy https manipulation routines +### + +sub make_form { + my (@fields) = @_; + my $form; + while (@fields) { + my ($name, $data) = (shift(@fields), shift(@fields)); + $data =~ s/([^\w\-.\@\$ ])/sprintf("%%%2.2x",ord($1))/gse; + $data =~ tr[ ][+]; + $form .= "$name=$data&"; + } + chop $form; + return $form; +} + +# end of Net::SSLeay::make_form +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/make_headers.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/make_headers.al new file mode 100755 index 00000000000..171483bc4ae --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/make_headers.al @@ -0,0 +1,21 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2466 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\make_headers.al)" +sub make_headers { + my (@headers) = @_; + my $headers; + while (@headers) { + my $header = shift(@headers); + my $value = shift(@headers); + $header =~ s/:$//; + $value =~ s/\x0d?\x0a$//; # because we add it soon, see below + $headers .= "$header: $value$CRLF"; + } + return $headers; +} + +# end of Net::SSLeay::make_headers +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/new_x_ctx.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/new_x_ctx.al new file mode 100755 index 00000000000..97fa45556ca --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/new_x_ctx.al @@ -0,0 +1,16 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2158 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\new_x_ctx.al)" +sub new_x_ctx { + if ($ssl_version == 2) { $ctx = CTX_v2_new(); } + elsif ($ssl_version == 3) { $ctx = CTX_v3_new(); } + elsif ($ssl_version == 10) { $ctx = CTX_tlsv1_new(); } + else { $ctx = CTX_new(); } + return $ctx; +} + +# end of Net::SSLeay::new_x_ctx +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/open_proxy_tcp_connection.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/open_proxy_tcp_connection.al new file mode 100755 index 00000000000..19ce508c465 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/open_proxy_tcp_connection.al @@ -0,0 +1,31 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1833 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\open_proxy_tcp_connection.al)" +### Open connection via standard web proxy, if one was defined +### using set_proxy(). + +sub open_proxy_tcp_connection { + my ($dest_serv, $port) = @_; + return open_tcp_connection($dest_serv, $port) if !$proxyhost; + + warn "Connect via proxy: $proxyhost:$proxyport" if $trace>2; + my ($ret, $errs) = open_tcp_connection($proxyhost, $proxyport); + return wantarray ? (0, $errs) : 0 if !$ret; # Connection fail + + warn "Asking proxy to connect to $dest_serv:$port" if $trace>2; + #print SSLCAT_S "CONNECT $dest_serv:$port HTTP/1.0$proxyauth$CRLF$CRLF"; + #my $line = <SSLCAT_S>; # *** bug? Mixing stdio with syscall read? + ($ret, $errs) = + tcp_write_all("CONNECT $dest_serv:$port HTTP/1.0$proxyauth$CRLF$CRLF"); + return wantarray ? (0,$errs) : 0 if $errs; + ($line, $errs) = tcp_read_until($CRLF . $CRLF, 1024); + warn "Proxy response: $line" if $trace>2; + return wantarray ? (0,$errs) : 0 if $errs; + return wantarray ? (1,'') : 1; # Success +} + +# end of Net::SSLeay::open_proxy_tcp_connection +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/open_tcp_connection.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/open_tcp_connection.al new file mode 100755 index 00000000000..ddad138f36c --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/open_tcp_connection.al @@ -0,0 +1,40 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1801 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\open_tcp_connection.al)" +sub open_tcp_connection { + my ($dest_serv, $port) = @_; + my ($errs); + + $port = getservbyname($port, 'tcp') unless $port =~ /^\d+$/; + my $dest_serv_ip = gethostbyname($dest_serv); + unless (defined($dest_serv_ip)) { + $errs = "$0 $$: open_tcp_connection: destination host not found:" + . " `$dest_serv' (port $port) ($!)\n"; + warn $errs if $trace; + return wantarray ? (0, $errs) : 0; + } + my $sin = sockaddr_in($port, $dest_serv_ip); + + warn "Opening connection to $dest_serv:$port (" . + inet_ntoa($dest_serv_ip) . ")" if $trace>2; + + my $proto = getprotobyname('tcp'); + if (socket (SSLCAT_S, &PF_INET(), &SOCK_STREAM(), $proto)) { + warn "next connect" if $trace>3; + if (CORE::connect (SSLCAT_S, $sin)) { + my $old_out = select (SSLCAT_S); $| = 1; select ($old_out); + warn "connected to $dest_serv, $port" if $trace>3; + return wantarray ? (1, undef) : 1; # Success + } + } + $errs = "$0 $$: open_tcp_connection: failed `$dest_serv', $port ($!)\n"; + warn $errs if $trace; + close SSLCAT_S; + return wantarray ? (0, $errs) : 0; # Fail +} + +# end of Net::SSLeay::open_tcp_connection +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http.al new file mode 100755 index 00000000000..23dd45dcb95 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2567 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_http.al)" +sub post_http { do_httpx2(POST => 0, @_) } +# end of Net::SSLeay::post_http +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http3.al new file mode 100755 index 00000000000..2b1d62628bb --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2572 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_http3.al)" +sub post_http3 { do_httpx3(POST => 0, @_) } +# end of Net::SSLeay::post_http3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http4.al new file mode 100755 index 00000000000..3139b18e5ea --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_http4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2577 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_http4.al)" +sub post_http4 { do_httpx4(POST => 0, @_) } +# end of Net::SSLeay::post_http4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https.al new file mode 100755 index 00000000000..e1506be2ced --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2550 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_https.al)" +sub post_https { do_httpx2(POST => 1, @_) } +# end of Net::SSLeay::post_https +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https3.al new file mode 100755 index 00000000000..a81201b57d5 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2555 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_https3.al)" +sub post_https3 { do_httpx3(POST => 1, @_) } +# end of Net::SSLeay::post_https3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https4.al new file mode 100755 index 00000000000..f3ad2d7dc72 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_https4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2560 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_https4.al)" +sub post_https4 { do_httpx4(POST => 1, @_) } +# end of Net::SSLeay::post_https4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx.al new file mode 100755 index 00000000000..28a8e56ae9d --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2584 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_httpx.al)" +sub post_httpx { do_httpx2(POST => @_) } +# end of Net::SSLeay::post_httpx +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx3.al new file mode 100755 index 00000000000..263f4feb0f9 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2589 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_httpx3.al)" +sub post_httpx3 { do_httpx3(POST => @_) } +# end of Net::SSLeay::post_httpx3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx4.al new file mode 100755 index 00000000000..dd022e2d23d --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/post_httpx4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2594 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\post_httpx4.al)" +sub post_httpx4 { do_httpx4(POST => @_) } +# end of Net::SSLeay::post_httpx4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http.al new file mode 100755 index 00000000000..ac7bbd648cf --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2568 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_http.al)" +sub put_http { do_httpx2(PUT => 0, @_) } +# end of Net::SSLeay::put_http +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http3.al new file mode 100755 index 00000000000..42e1a6d35b6 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2573 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_http3.al)" +sub put_http3 { do_httpx3(PUT => 0, @_) } +# end of Net::SSLeay::put_http3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http4.al new file mode 100755 index 00000000000..c27a2135152 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_http4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2578 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_http4.al)" +sub put_http4 { do_httpx4(PUT => 0, @_) } +# end of Net::SSLeay::put_http4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https.al new file mode 100755 index 00000000000..c2bda1f4e8d --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2551 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_https.al)" +sub put_https { do_httpx2(PUT => 1, @_) } +# end of Net::SSLeay::put_https +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https3.al new file mode 100755 index 00000000000..5471ed36331 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2556 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_https3.al)" +sub put_https3 { do_httpx3(PUT => 1, @_) } +# end of Net::SSLeay::put_https3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https4.al new file mode 100755 index 00000000000..0e3ee8addfe --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_https4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2561 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_https4.al)" +sub put_https4 { do_httpx4(PUT => 1, @_) } +# end of Net::SSLeay::put_https4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx.al new file mode 100755 index 00000000000..f203c211743 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2585 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_httpx.al)" +sub put_httpx { do_httpx2(PUT => @_) } +# end of Net::SSLeay::put_httpx +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx3.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx3.al new file mode 100755 index 00000000000..1bb34e1cb9f --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx3.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2590 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_httpx3.al)" +sub put_httpx3 { do_httpx3(PUT => @_) } +# end of Net::SSLeay::put_httpx3 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx4.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx4.al new file mode 100755 index 00000000000..d85cf654363 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/put_httpx4.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2595 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\put_httpx4.al)" +sub put_httpx4 { do_httpx4(PUT => @_) } +# end of Net::SSLeay::put_httpx4 +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/randomize.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/randomize.al new file mode 100755 index 00000000000..7aee1949055 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/randomize.al @@ -0,0 +1,31 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2135 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\randomize.al)" +### Arrange some randomness for eay PRNG + +sub randomize (;$$) { + my ($rn_seed_file, $seed, $egd_path) = @_; + my $rnsf = defined($rn_seed_file) && -r $rn_seed_file; + + $egd_path = ''; + $egd_path = $ENV{'EGD_PATH'} if $ENV{'EGD_PATH'}; + + RAND_seed(rand() + $$); # Stir it with time and pid + + unless ($rnsf || -r $Net::SSLeay::random_device || $seed || -S $egd_path) { + warn "Random number generator not seeded!!!" if $trace; + } + + RAND_load_file($rn_seed_file, -s _) if $rnsf; + RAND_seed($seed) if $seed; + RAND_seed($ENV{RND_SEED}) if $ENV{RND_SEED}; + RAND_egd($egd_path) if -e $egd_path && -S _; + RAND_load_file($Net::SSLeay::random_device, $Net::SSLeay::how_random/8) + if -r $Net::SSLeay::random_device; +} + +# end of Net::SSLeay::randomize +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_cert_and_key.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_cert_and_key.al new file mode 100755 index 00000000000..c01d81b05ca --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_cert_and_key.al @@ -0,0 +1,23 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2420 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\set_cert_and_key.al)" +### +### Easy set up of private key and certificate +### + +sub set_cert_and_key ($$$) { + my ($ctx, $cert_path, $key_path) = @_; + my $errs = ''; + # Following will ask password unless private key is not encrypted + CTX_use_RSAPrivateKey_file ($ctx, $key_path, &FILETYPE_PEM); + $errs .= print_errs("private key `$key_path' ($!)"); + CTX_use_certificate_file ($ctx, $cert_path, &FILETYPE_PEM); + $errs .= print_errs("certificate `$cert_path' ($!)"); + return wantarray ? (undef, $errs) : ($errs eq ''); +} + +# end of Net::SSLeay::set_cert_and_key +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_proxy.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_proxy.al new file mode 100755 index 00000000000..3488e566e8f --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_proxy.al @@ -0,0 +1,16 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2441 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\set_proxy.al)" +sub set_proxy ($$;**) { + ($proxyhost, $proxyport, $proxyuser, $proxypass) = @_; + require MIME::Base64 if $proxyuser; + $proxyauth = $CRLF . 'Proxy-authorization: Basic ' + . MIME::Base64::encode("$proxyuser:$proxypass", '') + if $proxyuser; +} + +# end of Net::SSLeay::set_proxy +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_server_cert_and_key.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_server_cert_and_key.al new file mode 100755 index 00000000000..d0677fee0e4 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/set_server_cert_and_key.al @@ -0,0 +1,14 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2435 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\set_server_cert_and_key.al)" +### Old deprecated API + +sub set_server_cert_and_key ($$$) { &set_cert_and_key } + +### Set up to use web proxy + +# end of Net::SSLeay::set_server_cert_and_key +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_CRLF.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_CRLF.al new file mode 100755 index 00000000000..a2e3dcffc47 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_CRLF.al @@ -0,0 +1,10 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2079 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\ssl_read_CRLF.al)" +# ssl_read_CRLF($ssl [, $max_length]) +sub ssl_read_CRLF ($;$) { ssl_read_until($_[0], $CRLF, $_[1]) } +# end of Net::SSLeay::ssl_read_CRLF +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_all.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_all.al new file mode 100755 index 00000000000..73154b37a6d --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_all.al @@ -0,0 +1,28 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1870 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\ssl_read_all.al)" +sub ssl_read_all { + my ($ssl,$how_much) = @_; + $how_much = 2000000000 unless $how_much; + my ($got, $errs); + my $reply = ''; + + while ($how_much > 0) { + $got = Net::SSLeay::read($ssl, + ($how_much > 32768) ? 32768 : $how_much + ); + last if $errs = print_errs('SSL_read'); + $how_much -= blength($got); + debug_read(\$reply, \$got) if $trace>1; + last if $got eq ''; # EOF + $reply .= $got; + } + + return wantarray ? ($reply, $errs) : $reply; +} + +# end of Net::SSLeay::ssl_read_all +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_until.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_until.al new file mode 100755 index 00000000000..252b4400516 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_read_until.al @@ -0,0 +1,95 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1966 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\ssl_read_until.al)" +### from patch by Clinton Wong <clintdw@netcom.com> + +# ssl_read_until($ssl [, $delimit [, $max_length]]) +# if $delimit missing, use $/ if it exists, otherwise use \n +# read until delimiter reached, up to $max_length chars if defined + +sub ssl_read_until ($;$$) { + my ($ssl,$delim, $max_length) = @_; + local $[; + + # guess the delim string if missing + if ( ! defined $delim ) { + if ( defined $/ && length $/ ) { $delim = $/ } + else { $delim = "\n" } # Note: \n,$/ value depends on the platform + } + my $len_delim = length $delim; + + my ($got); + my $reply = ''; + + # If we have OpenSSL 0.9.6a or later, we can use SSL_peek to + # speed things up. + # N.B. 0.9.6a has security problems, so the support for + # anything earlier than 0.9.6e will be dropped soon. + if (&Net::SSLeay::OPENSSL_VERSION_NUMBER >= 0x0090601f) { + $max_length = 2000000000 unless (defined $max_length); + my ($pending, $peek_length, $found, $done); + while (blength($reply) < $max_length and !$done) { + #Block if necessary until we get some data + $got = Net::SSLeay::peek($ssl,1); + last if print_errs('SSL_peek'); + + $pending = Net::SSLeay::pending($ssl) + blength($reply); + $peek_length = ($pending > $max_length) ? $max_length : $pending; + $peek_length -= blength($reply); + $got = Net::SSLeay::peek($ssl, $peek_length); + last if print_errs('SSL_peek'); + $peek_length = blength($got); + + #$found = index($got, $delim); # Old and broken + + # the delimiter may be split across two gets, so we prepend + # a little from the last get onto this one before we check + # for a match + my $match; + if(blength($reply) >= blength($delim) - 1) { + #if what we've read so far is greater or equal + #in length of what we need to prepatch + $match = substr $reply, blength($reply) - blength($delim) + 1; + } else { + $match = $reply; + } + + $match .= $got; + $found = index($match, $delim); + + if ($found > -1) { + #$got = Net::SSLeay::read($ssl, $found+$len_delim); + #read up to the end of the delimiter + $got = Net::SSLeay::read($ssl, + $found + $len_delim + - ((blength $match) - (blength $got))); + $done = 1; + } else { + $got = Net::SSLeay::read($ssl, $peek_length); + $done = 1 if ($peek_length == $max_length - blength($reply)); + } + + last if print_errs('SSL_read'); + debug_read(\$reply, \$got) if $trace>1; + last if $got eq ''; + $reply .= $got; + } + } else { + while (!defined $max_length || length $reply < $max_length) { + $got = Net::SSLeay::read($ssl,1); # one by one + last if print_errs('SSL_read'); + debug_read(\$reply, \$got) if $trace>1; + last if $got eq ''; + $reply .= $got; + last if $len_delim + && substr($reply, blength($reply)-$len_delim) eq $delim; + } + } + return $reply; +} + +# end of Net::SSLeay::ssl_read_until +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_write_CRLF.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_write_CRLF.al new file mode 100755 index 00000000000..586198b4132 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_write_CRLF.al @@ -0,0 +1,23 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2084 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\ssl_write_CRLF.al)" +sub ssl_write_CRLF ($$) { + # the next line uses less memory but might use more network packets + return ssl_write_all($_[0], $_[1]) + ssl_write_all($_[0], $CRLF); + + # the next few lines do the same thing at the expense of memory, with + # the chance that it will use less packets, since CRLF is in the original + # message and won't be sent separately. + + #my $data_ref; + #if (ref $_[1]) { $data_ref = $_[1] } + # else { $data_ref = \$_[1] } + #my $message = $$data_ref . $CRLF; + #return ssl_write_all($_[0], \$message); +} + +# end of Net::SSLeay::ssl_write_CRLF +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_write_all.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_write_all.al new file mode 100755 index 00000000000..cf18ffd4eb1 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/ssl_write_all.al @@ -0,0 +1,38 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1908 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\ssl_write_all.al)" +sub ssl_write_all { + my $ssl = $_[0]; + my ($data_ref, $errs); + if (ref $_[1]) { + $data_ref = $_[1]; + } else { + $data_ref = \$_[1]; + } + my ($wrote, $written, $to_write) = (0,0, blength($$data_ref)); + my $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; + warn " write_all VM at entry=$vm\n" if $trace>2; + while ($to_write) { + #sleep 1; # *** DEBUG + warn "partial `$$data_ref'\n" if $trace>3; + $wrote = write_partial($ssl, $written, $to_write, $$data_ref); + if (defined $wrote && ($wrote > 0)) { # write_partial can return -1 + $written += $wrote; + $to_write -= $wrote; + } + $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; + warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; + + $errs .= print_errs('SSL_write'); + return (wantarray ? (undef, $errs) : undef) if $errs; + } + return wantarray ? ($written, $errs) : $written; +} + +# end of Net::SSLeay::ssl_write_all +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/sslcat.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/sslcat.al new file mode 100755 index 00000000000..9cb18a3a842 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/sslcat.al @@ -0,0 +1,99 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2166 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\sslcat.al)" +### +### Basic request - response primitive (don't use for https) +### + +sub sslcat { # address, port, message, $crt, $key --> reply / (reply,errs,cert) + my ($dest_serv, $port, $out_message, $crt_path, $key_path) = @_; + my ($ctx, $ssl, $got, $errs, $written); + + ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); + return (wantarray ? (undef, $errs) : undef) unless $got; + + ### Do SSL negotiation stuff + + warn "Creating SSL $ssl_version context...\n" if $trace>2; + load_error_strings(); # Some bloat, but I'm after ease of use + SSLeay_add_ssl_algorithms(); # and debuggability. + randomize(); + + $ctx = new_x_ctx(); + goto cleanup2 if $errs = print_errs('CTX_new') or !$ctx; + + CTX_set_options($ctx, &OP_ALL); + goto cleanup2 if $errs = print_errs('CTX_set_options'); + + warn "Cert `$crt_path' given without key" if $crt_path && !$key_path; + set_cert_and_key($ctx, $crt_path, $key_path) if $crt_path; + + warn "Creating SSL connection (context was '$ctx')...\n" if $trace>2; + $ssl = new($ctx); + goto cleanup if $errs = print_errs('SSL_new') or !$ssl; + + warn "Setting fd (ctx $ctx, con $ssl)...\n" if $trace>2; + set_fd($ssl, fileno(SSLCAT_S)); + goto cleanup if $errs = print_errs('set_fd'); + + warn "Entering SSL negotiation phase...\n" if $trace>2; + + if ($trace>2) { + my $i = 0; + my $p = ''; + my $cipher_list = 'Cipher list: '; + $p=Net::SSLeay::get_cipher_list($ssl,$i); + $cipher_list .= $p if $p; + do { + $i++; + $cipher_list .= ', ' . $p if $p; + $p=Net::SSLeay::get_cipher_list($ssl,$i); + } while $p; + $cipher_list .= '\n'; + warn $cipher_list; + } + + $got = Net::SSLeay::connect($ssl); + warn "SSLeay connect returned $got\n" if $trace>2; + goto cleanup if $errs = print_errs('SSL_connect'); + + my $server_cert = get_peer_certificate($ssl); + print_errs('get_peer_certificate'); + if ($trace>1) { + warn "Cipher `" . get_cipher($ssl) . "'\n"; + print_errs('get_ciper'); + warn dump_peer_certificate($ssl); + } + + ### Connected. Exchange some data (doing repeated tries if necessary). + + warn "sslcat $$: sending " . blength($out_message) . " bytes...\n" + if $trace==3; + warn "sslcat $$: sending `$out_message' (" . blength($out_message) + . " bytes)...\n" if $trace>3; + ($written, $errs) = ssl_write_all($ssl, $out_message); + goto cleanup unless $written; + + sleep $slowly if $slowly; # Closing too soon can abort broken servers + CORE::shutdown SSLCAT_S, 1; # Half close --> No more output, send EOF to server + + warn "waiting for reply...\n" if $trace>2; + ($got, $errs) = ssl_read_all($ssl); + warn "Got " . blength($got) . " bytes.\n" if $trace==3; + warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; + +cleanup: + free ($ssl); + $errs .= print_errs('SSL_free'); +cleanup2: + CTX_free ($ctx); + $errs .= print_errs('CTX_free'); + close SSLCAT_S; + return wantarray ? ($got, $errs, $server_cert) : $got; +} + +# end of Net::SSLeay::sslcat +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_CRLF.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_CRLF.al new file mode 100755 index 00000000000..1cbec66b70f --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_CRLF.al @@ -0,0 +1,11 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2081 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcp_read_CRLF.al)" +sub tcp_read_CRLF { tcp_read_until($CRLF, $_[0]) } + +# ssl_write_CRLF($ssl, $message) writes $message and appends CRLF +# end of Net::SSLeay::tcp_read_CRLF +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_all.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_all.al new file mode 100755 index 00000000000..4b583610227 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_all.al @@ -0,0 +1,26 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1890 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcp_read_all.al)" +sub tcp_read_all { + my ($how_much) = @_; + $how_much = 2000000000 unless $how_much; + my ($n, $got, $errs); + my $reply = ''; + + my $bsize = 0x10000; + while ($how_much > 0) { + $n = sysread(SSLCAT_S,$got, (($bsize < $how_much) ? $bsize : $how_much)); + warn "Read error: $! ($n,$how_much)" unless defined $n; + last if !$n; # EOF + $how_much -= $n; + debug_read(\$reply, \$got) if $trace>1; + $reply .= $got; + } + return wantarray ? ($reply, $errs) : $reply; +} + +# end of Net::SSLeay::tcp_read_all +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_until.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_until.al new file mode 100755 index 00000000000..c6be56ed626 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_read_until.al @@ -0,0 +1,34 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2053 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcp_read_until.al)" +sub tcp_read_until { + my ($delim, $max_length) = @_; + local $[; + + # guess the delim string if missing + if ( ! defined $delim ) { + if ( defined $/ && length $/ ) { $delim = $/ } + else { $delim = "\n" } # Note: \n,$/ value depends on the platform + } + my $len_delim = length $delim; + + my ($n,$got); + my $reply = ''; + + while (!defined $max_length || length $reply < $max_length) { + $n = sysread(SSLCAT_S, $got, 1); # one by one + warn "tcp_read_until: $!" if !defined $n; + debug_read(\$reply, \$got) if $trace>1; + last if !$n; # EOF + $reply .= $got; + last if $len_delim + && substr($reply, blength($reply)-$len_delim) eq $delim; + } + return $reply; +} + +# end of Net::SSLeay::tcp_read_until +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_write_CRLF.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_write_CRLF.al new file mode 100755 index 00000000000..fc3f04af922 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_write_CRLF.al @@ -0,0 +1,23 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2099 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcp_write_CRLF.al)" +sub tcp_write_CRLF { + # the next line uses less memory but might use more network packets + return tcp_write_all($_[0]) + tcp_write_all($CRLF); + + # the next few lines do the same thing at the expense of memory, with + # the chance that it will use less packets, since CRLF is in the original + # message and won't be sent separately. + + #my $data_ref; + #if (ref $_[1]) { $data_ref = $_[1] } + # else { $data_ref = \$_[1] } + #my $message = $$data_ref . $CRLF; + #return tcp_write_all($_[0], \$message); +} + +# end of Net::SSLeay::tcp_write_CRLF +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_write_all.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_write_all.al new file mode 100755 index 00000000000..0c701728a86 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcp_write_all.al @@ -0,0 +1,36 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1938 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcp_write_all.al)" +sub tcp_write_all { + my ($data_ref, $errs); + if (ref $_[0]) { + $data_ref = $_[0]; + } else { + $data_ref = \$_[0]; + } + my ($wrote, $written, $to_write) = (0,0, blength($$data_ref)); + my $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; + warn " write_all VM at entry=$vm to_write=$to_write\n" if $trace>2; + while ($to_write) { + warn "partial `$$data_ref'\n" if $trace>3; + $wrote = syswrite(SSLCAT_S, $$data_ref, $to_write, $written); + if (defined $wrote && ($wrote > 0)) { # write_partial can return -1 + $written += $wrote; + $to_write -= $wrote; + } elsif (!defined($wrote)) { + warn "tcp_write_all: $!"; + return (wantarray ? (undef, "$!") : undef); + } + $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; + warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; + } + return wantarray ? ($written, '') : $written; +} + +# end of Net::SSLeay::tcp_write_all +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcpcat.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcpcat.al new file mode 100755 index 00000000000..b36faeae7a2 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcpcat.al @@ -0,0 +1,37 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2257 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcpcat.al)" +sub tcpcat { # address, port, message, $crt, $key --> reply / (reply,errs,cert) + my ($dest_serv, $port, $out_message) = @_; + my ($got, $errs, $written); + + ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); + return (wantarray ? (undef, $errs) : undef) unless $got; + + ### Connected. Exchange some data (doing repeated tries if necessary). + + warn "tcpcat $$: sending " . blength($out_message) . " bytes...\n" + if $trace==3; + warn "tcpcat $$: sending `$out_message' (" . blength($out_message) + . " bytes)...\n" if $trace>3; + ($written, $errs) = tcp_write_all($out_message); + goto cleanup unless $written; + + sleep $slowly if $slowly; # Closing too soon can abort broken servers + CORE::shutdown SSLCAT_S, 1; # Half close --> No more output, send EOF to server + + warn "waiting for reply...\n" if $trace>2; + ($got, $errs) = tcp_read_all($ssl); + warn "Got " . blength($got) . " bytes.\n" if $trace==3; + warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; + +cleanup: + close SSLCAT_S; + return wantarray ? ($got, $errs) : $got; +} + +# end of Net::SSLeay::tcpcat +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcpxcat.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcpxcat.al new file mode 100755 index 00000000000..4e79ce00087 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/tcpxcat.al @@ -0,0 +1,17 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 2286 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\tcpxcat.al)" +sub tcpxcat { + my ($usessl, $site, $port, $req, $crt_path, $key_path) = @_; + if ($usessl) { + return sslcat($site, $port, $req, $crt_path, $key_path); + } else { + return tcpcat($site, $port, $req); + } +} + +# end of Net::SSLeay::tcpxcat +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_X509_lookup.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_X509_lookup.al new file mode 100755 index 00000000000..e17c706f565 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_X509_lookup.al @@ -0,0 +1,15 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1794 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\want_X509_lookup.al)" +sub want_X509_lookup { want(shift) == 4 } + +### +### Open TCP stream to given host and port, looking up the details +### from system databases or DNS. +### + +# end of Net::SSLeay::want_X509_lookup +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_nothing.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_nothing.al new file mode 100755 index 00000000000..df3d1005d24 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_nothing.al @@ -0,0 +1,16 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1784 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\want_nothing.al)" +# Documentation. Use `perl-root/pod/pod2html SSLeay.pm` to output html + + +# '; + +### Some methods that are macros in C + +sub want_nothing { want(shift) == 1 } +# end of Net::SSLeay::want_nothing +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_read.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_read.al new file mode 100755 index 00000000000..e3a41612772 --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_read.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1792 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\want_read.al)" +sub want_read { want(shift) == 2 } +# end of Net::SSLeay::want_read +1; diff --git a/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_write.al b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_write.al new file mode 100755 index 00000000000..941e1853bbe --- /dev/null +++ b/Master/tlpkg/tlperl/lib/auto/Net/SSLeay/want_write.al @@ -0,0 +1,9 @@ +# NOTE: Derived from blib\lib\Net\SSLeay.pm. +# Changes made here will be lost when autosplit is run again. +# See AutoSplit.pm. +package Net::SSLeay; + +#line 1793 "blib\lib\Net\SSLeay.pm (autosplit into blib\lib\auto\Net\SSLeay\want_write.al)" +sub want_write { want(shift) == 3 } +# end of Net::SSLeay::want_write +1; |