HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //usr/share/doc/perl-Net-SSLeay/examples/bio.pl
#!/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;