Import of old SSLeay release: SSLeay 0.9.1b (unreleased)
This commit is contained in:
@@ -10,6 +10,7 @@ char *obj;
|
||||
ret=sv_newmortal();
|
||||
else
|
||||
ret=newSViv(0);
|
||||
printf(">new_ref %d\n",type);
|
||||
sv_setref_pv(ret,type,(void *)obj);
|
||||
return(ret);
|
||||
}
|
||||
@@ -27,6 +28,7 @@ char *argp;
|
||||
fprintf(stderr,"ex_new %08X %s\n",obj,argp);
|
||||
sv=sv_newmortal();
|
||||
sv_setref_pv(sv,argp,(void *)obj);
|
||||
printf("%d>new_ref '%s'\n",sv,argp);
|
||||
CRYPTO_set_ex_data(ad,idx,(char *)sv);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ char *obj;
|
||||
ret=sv_newmortal();
|
||||
else
|
||||
ret=newSViv(0);
|
||||
printf(">new_ref %d\n",type);
|
||||
sv_setref_pv(ret,type,(void *)obj);
|
||||
return(ret);
|
||||
}
|
||||
@@ -27,6 +28,7 @@ char *argp;
|
||||
fprintf(stderr,"ex_new %08X %s\n",obj,argp);
|
||||
sv=sv_newmortal();
|
||||
sv_setref_pv(sv,argp,(void *)obj);
|
||||
printf("%d>new_ref '%s'\n",sv,argp);
|
||||
CRYPTO_set_ex_data(ad,idx,(char *)sv);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -5,13 +5,15 @@ use ExtUtils::testlib;
|
||||
use SSLeay;
|
||||
|
||||
$cmd=<<"EOF";
|
||||
GET / HTTP/1.0
|
||||
|
||||
EOF
|
||||
|
||||
$conn="localhost:4433";
|
||||
$conn=$ARGV[0] if $#ARGV >= 0;
|
||||
$bio=SSLeay::BIO::new("connect");
|
||||
$bio->set_callback(sub {print STDERR $_[0]->number_read."\n"; $_[$#_] });
|
||||
#$bio->set_callback(sub {print STDERR SSLeay::BIO::number_read($_[0])."\n"; $_[$#_] });
|
||||
#$bio->set_callback(sub {print STDERR "$#_:".$_[0].":$_[1]:$_[2]:$_[3]:$_[4]:\n"; $_[$#_] });
|
||||
$bio->hostname($conn) || die $ssl->error();
|
||||
|
||||
|
||||
|
||||
26
perl/bio.xs
26
perl/bio.xs
@@ -25,7 +25,7 @@ int ret;
|
||||
SAVETMPS;
|
||||
|
||||
PUSHMARK(sp);
|
||||
XPUSHs(me);
|
||||
XPUSHs(sv_2mortal(newSViv(me)));
|
||||
XPUSHs(sv_2mortal(newSViv(state)));
|
||||
XPUSHs(sv_2mortal(newSViv(cmd)));
|
||||
if ((state == BIO_CB_READ) || (state == BIO_CB_WRITE))
|
||||
@@ -60,7 +60,8 @@ int ret;
|
||||
int boot_bio()
|
||||
{
|
||||
p5_bio_ex_bio_ptr=
|
||||
BIO_get_ex_new_index(0,"SSLeay::BIO",ex_new,NULL,ex_cleanup);
|
||||
BIO_get_ex_new_index(0,"SSLeay::BIO",ex_new,NULL,
|
||||
ex_cleanup);
|
||||
p5_bio_ex_bio_callback=
|
||||
BIO_get_ex_new_index(0,"bio_callback",NULL,NULL,
|
||||
ex_cleanup);
|
||||
@@ -97,9 +98,8 @@ p5_BIO_new_buffer_ssl_connect(...)
|
||||
}
|
||||
EXTEND(sp,1);
|
||||
bio=BIO_new_buffer_ssl_connect(ctx);
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
arg=(SV *)BIO_get_ex_data(bio,p5_bio_ex_bio_ptr);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
|
||||
void
|
||||
p5_BIO_new_ssl_connect(...)
|
||||
@@ -124,9 +124,8 @@ p5_BIO_new_ssl_connect(...)
|
||||
}
|
||||
EXTEND(sp,1);
|
||||
bio=BIO_new_ssl_connect(ctx);
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
arg=(SV *)BIO_get_ex_data(bio,p5_bio_ex_bio_ptr);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
|
||||
void
|
||||
p5_BIO_new(...)
|
||||
@@ -154,16 +153,15 @@ p5_BIO_new(...)
|
||||
bio=BIO_new(BIO_f_buffer());
|
||||
else
|
||||
croak("unknown BIO type");
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
arg=(SV *)BIO_get_ex_data(bio,p5_bio_ex_bio_ptr);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
|
||||
int
|
||||
p5_BIO_hostname(bio,name)
|
||||
BIO *bio;
|
||||
char *name;
|
||||
CODE:
|
||||
RETVAL=BIO_set_hostname(bio,name);
|
||||
RETVAL=BIO_set_conn_hostname(bio,name);
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
@@ -218,18 +216,20 @@ p5_BIO_pop(b)
|
||||
if (arg == NULL)
|
||||
{
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
PUSHs(arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* it was pushed in */
|
||||
SvREFCNT_inc(arg);
|
||||
PUSHs(arg);
|
||||
#if 0 /* This does not need to be done. */
|
||||
if (bio->references < 1)
|
||||
abort();
|
||||
/* decrement the reference count */
|
||||
BIO_free(bio);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ p5_BIO_sysread(bio,in,num, ...)
|
||||
if (offset < 0)
|
||||
{
|
||||
if (-offset > olen)
|
||||
croad("Offset outside string");
|
||||
croak("Offset outside string");
|
||||
offset+=olen;
|
||||
}
|
||||
}
|
||||
@@ -356,8 +356,9 @@ p5_BIO_next_bio(b)
|
||||
if (arg == NULL)
|
||||
{
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
bio->references++;
|
||||
PUSHs(arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -398,6 +399,7 @@ p5_BIO_set_callback(bio,cb,...)
|
||||
arg=sv_mortalcopy(ST(1));
|
||||
SvREFCNT_inc(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_callback,(char *)arg);
|
||||
printf("%08lx < bio_ptr\n",BIO_get_ex_data(bio,p5_bio_ex_bio_ptr));
|
||||
BIO_set_callback(bio,p5_bio_callback);
|
||||
|
||||
void
|
||||
|
||||
@@ -80,7 +80,7 @@ char *argp;
|
||||
{
|
||||
SV *sv;
|
||||
|
||||
fprintf(stderr,"ex_new %08X %s\n",obj,argp);
|
||||
fprintf(stderr,"ex_new idx=%d %08X %s\n",idx,obj,argp);
|
||||
sv=sv_newmortal();
|
||||
sv_setref_pv(sv,argp,(void *)obj);
|
||||
CRYPTO_set_ex_data(ad,idx,(char *)sv);
|
||||
|
||||
24
perl/f.pl
24
perl/f.pl
@@ -4,22 +4,8 @@ use ExtUtils::testlib;
|
||||
|
||||
use SSLeay;
|
||||
|
||||
$data=<>;
|
||||
|
||||
#$b=SSLeay::BN::hex2bn($a);
|
||||
#$data=$b->bn2bin;
|
||||
|
||||
#substr($data,0,8)="";
|
||||
#print $data;
|
||||
|
||||
$md=SSLeay::MD::new("md5");
|
||||
$md->init();
|
||||
$md->update("test");
|
||||
$key=$md->final();
|
||||
|
||||
$rc4=SSLeay::Cipher::new("rc4");
|
||||
$rc4->init($key,"",1);
|
||||
$out=$rc4->cipher($data);
|
||||
|
||||
print $out;
|
||||
|
||||
for (7 .. 7926)
|
||||
{
|
||||
my $num = SSLeay::BN::dec2bn($_);
|
||||
print "$_ is ".($num->is_prime ? 'prime' : 'composite'), "\n";
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ int ret;
|
||||
SAVETMPS;
|
||||
|
||||
PUSHMARK(sp);
|
||||
XPUSHs(me);
|
||||
XPUSHs(sv_2mortal(newSViv(me)));
|
||||
XPUSHs(sv_2mortal(newSViv(state)));
|
||||
XPUSHs(sv_2mortal(newSViv(cmd)));
|
||||
if ((state == BIO_CB_READ) || (state == BIO_CB_WRITE))
|
||||
@@ -60,7 +60,8 @@ int ret;
|
||||
int boot_bio()
|
||||
{
|
||||
p5_bio_ex_bio_ptr=
|
||||
BIO_get_ex_new_index(0,"SSLeay::BIO",ex_new,NULL,ex_cleanup);
|
||||
BIO_get_ex_new_index(0,"SSLeay::BIO",ex_new,NULL,
|
||||
ex_cleanup);
|
||||
p5_bio_ex_bio_callback=
|
||||
BIO_get_ex_new_index(0,"bio_callback",NULL,NULL,
|
||||
ex_cleanup);
|
||||
@@ -97,9 +98,8 @@ p5_BIO_new_buffer_ssl_connect(...)
|
||||
}
|
||||
EXTEND(sp,1);
|
||||
bio=BIO_new_buffer_ssl_connect(ctx);
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
arg=(SV *)BIO_get_ex_data(bio,p5_bio_ex_bio_ptr);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
|
||||
void
|
||||
p5_BIO_new_ssl_connect(...)
|
||||
@@ -124,9 +124,8 @@ p5_BIO_new_ssl_connect(...)
|
||||
}
|
||||
EXTEND(sp,1);
|
||||
bio=BIO_new_ssl_connect(ctx);
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
arg=(SV *)BIO_get_ex_data(bio,p5_bio_ex_bio_ptr);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
|
||||
void
|
||||
p5_BIO_new(...)
|
||||
@@ -154,16 +153,15 @@ p5_BIO_new(...)
|
||||
bio=BIO_new(BIO_f_buffer());
|
||||
else
|
||||
croak("unknown BIO type");
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
arg=(SV *)BIO_get_ex_data(bio,p5_bio_ex_bio_ptr);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
|
||||
int
|
||||
p5_BIO_hostname(bio,name)
|
||||
BIO *bio;
|
||||
char *name;
|
||||
CODE:
|
||||
RETVAL=BIO_set_hostname(bio,name);
|
||||
RETVAL=BIO_set_conn_hostname(bio,name);
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
@@ -218,18 +216,20 @@ p5_BIO_pop(b)
|
||||
if (arg == NULL)
|
||||
{
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
PUSHs(arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* it was pushed in */
|
||||
SvREFCNT_inc(arg);
|
||||
PUSHs(arg);
|
||||
#if 0 /* This does not need to be done. */
|
||||
if (bio->references < 1)
|
||||
abort();
|
||||
/* decrement the reference count */
|
||||
BIO_free(bio);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ p5_BIO_sysread(bio,in,num, ...)
|
||||
if (offset < 0)
|
||||
{
|
||||
if (-offset > olen)
|
||||
croad("Offset outside string");
|
||||
croak("Offset outside string");
|
||||
offset+=olen;
|
||||
}
|
||||
}
|
||||
@@ -356,8 +356,9 @@ p5_BIO_next_bio(b)
|
||||
if (arg == NULL)
|
||||
{
|
||||
arg=new_ref("SSLeay::BIO",(char *)bio,0);
|
||||
PUSHs(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_ptr,(char *)arg);
|
||||
bio->references++;
|
||||
PUSHs(arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -398,6 +399,7 @@ p5_BIO_set_callback(bio,cb,...)
|
||||
arg=sv_mortalcopy(ST(1));
|
||||
SvREFCNT_inc(arg);
|
||||
BIO_set_ex_data(bio,p5_bio_ex_bio_callback,(char *)arg);
|
||||
printf("%08lx < bio_ptr\n",BIO_get_ex_data(bio,p5_bio_ex_bio_ptr));
|
||||
BIO_set_callback(bio,p5_bio_callback);
|
||||
|
||||
void
|
||||
|
||||
@@ -80,7 +80,7 @@ char *argp;
|
||||
{
|
||||
SV *sv;
|
||||
|
||||
fprintf(stderr,"ex_new %08X %s\n",obj,argp);
|
||||
fprintf(stderr,"ex_new idx=%d %08X %s\n",idx,obj,argp);
|
||||
sv=sv_newmortal();
|
||||
sv_setref_pv(sv,argp,(void *)obj);
|
||||
CRYPTO_set_ex_data(ad,idx,(char *)sv);
|
||||
|
||||
@@ -241,7 +241,7 @@ p5_SSL_sysread(ssl,in,num, ...)
|
||||
if (offset < 0)
|
||||
{
|
||||
if (-offset > olen)
|
||||
croad("Offset outside string");
|
||||
croak("Offset outside string");
|
||||
offset+=olen;
|
||||
}
|
||||
}
|
||||
|
||||
10
perl/ssl.pl
10
perl/ssl.pl
@@ -6,11 +6,11 @@ use SSLeay;
|
||||
|
||||
$ssl_ctx=SSL::CTX->new("SSLv3");
|
||||
|
||||
$ssl_ctx->set_options("-info_callback" =>
|
||||
sub {
|
||||
print STDERR $_[0]->state()."\n";
|
||||
}
|
||||
);
|
||||
#$ssl_ctx->set_options("-info_callback" =>
|
||||
# sub {
|
||||
# print STDERR $_[0]->state()."\n";
|
||||
# }
|
||||
# );
|
||||
|
||||
$conn="localhost:4433";
|
||||
$conn=$ARGV[0] if $#ARGV >= 0;
|
||||
|
||||
@@ -241,7 +241,7 @@ p5_SSL_sysread(ssl,in,num, ...)
|
||||
if (offset < 0)
|
||||
{
|
||||
if (-offset > olen)
|
||||
croad("Offset outside string");
|
||||
croak("Offset outside string");
|
||||
offset+=olen;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user