PHP 8.2.31
Preview: ssl_read_until.al Size: 3.07 KB
/usr/lib64/perl5/vendor_perl/auto/Net/SSLeay/ssl_read_until.al

# 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 799 "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::ssl_read_all($ssl, $found+$len_delim);
		#read up to the end of the delimiter
		$got = Net::SSLeay::ssl_read_all($ssl,
					 $found + $len_delim
					 - ((blength($match)) - (blength($got))));
		$done = 1;
	    } else {
		$got = Net::SSLeay::ssl_read_all($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::ssl_read_all($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;

Directory Contents

Dirs: 0 × Files: 77

Name Size Perms Modified Actions
1.54 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
677 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
508 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
446 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
466 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
357 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
559 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.52 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
544 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
958 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
316 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
316 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
346 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
325 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
333 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
399 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
2.96 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
558 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.17 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
815 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
604 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
575 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.81 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.25 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.45 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
318 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
321 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
321 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
321 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
324 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
324 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
318 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
321 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
321 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
316 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
322 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
316 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
319 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.00 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
828 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
540 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
413 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
3.05 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
601.71 KB lrwxr-xr-x 2022-04-22 17:22:43
Edit Download
1.02 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
384 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
3.07 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
5.60 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
812 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.33 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
485 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
756 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
400 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
970 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
1.20 KB lrw-r--r-- 2022-04-22 17:22:32
Edit Download
793 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
357 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
309 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
312 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download
441 B lrw-r--r-- 2022-04-22 17:22:32
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).