PATH:
usr
/
lib64
/
perl5
/
vendor_perl
/
auto
/
Net
/
SSLeay
# 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 952 "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; initialize(); # Will init at most once $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;
[-] get_http3.al
[edit]
[-] put_httpx.al
[edit]
[-] want_read.al
[edit]
[-] post_http4.al
[edit]
[-] head_https4.al
[edit]
[-] put_httpx3.al
[edit]
[-] get_https.al
[edit]
[-] head_https.al
[edit]
[-] httpx_cat.al
[edit]
[-] do_https4.al
[edit]
[-] set_proxy.al
[edit]
[-] get_httpx3.al
[edit]
[-] put_http4.al
[edit]
[-] dump_peer_certificate.al
[edit]
[-] post_https.al
[edit]
[-] put_http.al
[edit]
[-] put_https.al
[edit]
[+]
..
[-] put_https3.al
[edit]
[-] post_httpx3.al
[edit]
[-] tcp_read_until.al
[edit]
[-] tcp_write_all.al
[edit]
[-] set_cert_and_key.al
[edit]
[-] tcp_write_CRLF.al
[edit]
[-] head_httpx4.al
[edit]
[-] head_httpx.al
[edit]
[-] post_http.al
[edit]
[-] want_write.al
[edit]
[-] open_proxy_tcp_connection.al
[edit]
[-] head_httpx3.al
[edit]
[-] sslcat.al
[edit]
[-] put_httpx4.al
[edit]
[-] post_https3.al
[edit]
[-] ssl_write_all.al
[edit]
[-] tcpxcat.al
[edit]
[-] open_tcp_connection.al
[edit]
[-] make_form.al
[edit]
[-] post_http3.al
[edit]
[-] ssl_read_all.al
[edit]
[-] want_nothing.al
[edit]
[-] make_headers.al
[edit]
[-] get_httpx4.al
[edit]
[-] do_https.al
[edit]
[-] get_https4.al
[edit]
[-] do_httpx4.al
[edit]
[-] get_http4.al
[edit]
[-] want_X509_lookup.al
[edit]
[-] autosplit.ix
[edit]
[-] do_httpx3.al
[edit]
[-] tcp_read_all.al
[edit]
[-] head_https3.al
[edit]
[-] randomize.al
[edit]
[-] get_https3.al
[edit]
[-] get_http.al
[edit]
[-] debug_read.al
[edit]
[-] ssl_read_until.al
[edit]
[-] put_http3.al
[edit]
[-] put_https4.al
[edit]
[-] do_httpx2.al
[edit]
[-] ssl_read_CRLF.al
[edit]
[-] post_httpx.al
[edit]
[-] head_http4.al
[edit]
[-] get_httpx.al
[edit]
[-] ssl_write_CRLF.al
[edit]
[-] do_https2.al
[edit]
[-] tcp_read_CRLF.al
[edit]
[-] set_server_cert_and_key.al
[edit]
[-] tcpcat.al
[edit]
[-] https_cat.al
[edit]
[-] post_https4.al
[edit]
[-] do_https3.al
[edit]
[-] head_http3.al
[edit]
[-] SSLeay.so
[edit]
[-] post_httpx4.al
[edit]
[-] head_http.al
[edit]
[-] new_x_ctx.al
[edit]
[-] initialize.al
[edit]
[-] http_cat.al
[edit]