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 714 "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) = @_; # 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;
[-] 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]