|
Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /proc/17567/root/usr/share/doc/perl-Net-SSLeay-1.55/examples/ |
Upload File : |
#!/usr/bin/perl -w
# bio.pl mikem@open.com.au
#
# Test and demonstrate BIO interface
use Net::SSLeay qw(die_now);
$data = '0123456789' x 100;
$len = length($data);
$b = &Net::SSLeay::BIO_new(&Net::SSLeay::BIO_s_mem())
or die_now("Could not create memory BIO $!");
&Net::SSLeay::BIO_write($b, $data)
or die_now("Could not write memory BIO $!");
# Should now have 1000 bytes in BIO
$pending = &Net::SSLeay::BIO_pending($b);
die("Incorrect result from BIO_pending: $pending. Should be $len")
unless $pending == $len;
# Partial read of 9 bytes
$len = 9;
$part = &Net::SSLeay::BIO_read($b, $len);
$nlen = length($part);
die("Incorrect result from BIO_read: $len. Should be 9")
unless $nlen == $len;
die("Incorrect data from BIO_read: $len. Should be 012345678")
unless $part eq '012345678';
# Should be 991 bytes left
$len = 991;
$pending = &Net::SSLeay::BIO_pending($b);
die("Incorrect result from BIO_pending: $pending. Should be $len")
unless $pending == $len;
# Read the rest
$part = &Net::SSLeay::BIO_read($b);
$nlen = length($part);
die("Incorrect result from BIO_read: $len. Should be 991")
unless $len == $nlen;
&Net::SSLeay::BIO_free($b);
print "OK\n";
exit;