mirror of
https://github.com/openssl/openssl.git
synced 2024-11-25 11:03:37 +08:00
Make the 'crypto' and 'ssl' options in the perl script mkdef.pl really work,
also add an 'update' option to automatically append any new functions to the ssleay.num and libeay.num files.
This commit is contained in:
parent
3773d138ce
commit
55a9cc6e47
8
CHANGES
8
CHANGES
@ -5,6 +5,14 @@
|
||||
|
||||
Changes between 0.9.1c and 0.9.2
|
||||
|
||||
*) Modifications to the mkdef.pl for Win32 DEF file creation. The usage
|
||||
message is now correct (it understands "crypto" and "ssl" on its
|
||||
command line). There is also now an "update" option. This will update
|
||||
the util/ssleay.num and util/libeay.num files with any new functions.
|
||||
If you do a:
|
||||
perl util/mkdef.pl crypto ssl update
|
||||
it will update them.
|
||||
|
||||
*) Overhauled the Perl interface (perl/*):
|
||||
- ported BN stuff to OpenSSL's different BN library
|
||||
- made the perl/ source tree CVS-aware
|
||||
|
@ -1174,3 +1174,25 @@ i2d_BASIC_CONSTRAINTS 1199
|
||||
i2d_NETSCAPE_CERT_SEQUENCE 1200
|
||||
i2d_ext_ku 1201
|
||||
EVP_MD_CTX_copy 1202
|
||||
i2d_ASN1_ENUMERATED 1203
|
||||
d2i_ASN1_ENUMERATED 1204
|
||||
ASN1_ENUMERATED_set 1205
|
||||
ASN1_ENUMERATED_get 1206
|
||||
BN_to_ASN1_ENUMERATED 1207
|
||||
ASN1_ENUMERATED_to_BN 1208
|
||||
i2a_ASN1_ENUMERATED 1209
|
||||
a2i_ASN1_ENUMERATED 1210
|
||||
i2d_GENERAL_NAME 1211
|
||||
d2i_GENERAL_NAME 1212
|
||||
GENERAL_NAME_new 1213
|
||||
GENERAL_NAME_free 1214
|
||||
GENERAL_NAMES_new 1215
|
||||
GENERAL_NAMES_free 1216
|
||||
d2i_GENERAL_NAMES 1217
|
||||
i2d_GENERAL_NAMES 1218
|
||||
i2v_GENERAL_NAMES 1219
|
||||
i2s_ASN1_OCTET_STRING 1220
|
||||
s2i_ASN1_OCTET_STRING 1221
|
||||
X509V3_EXT_check_conf 1222
|
||||
hex_to_string 1223
|
||||
string_to_hex 1224
|
||||
|
@ -15,7 +15,10 @@ foreach (@ARGV)
|
||||
$NT=1 if $_ eq "32";
|
||||
$NT=0 if $_ eq "16";
|
||||
$do_ssl=1 if $_ eq "ssleay";
|
||||
$do_ssl=1 if $_ eq "ssl";
|
||||
$do_crypto=1 if $_ eq "libeay";
|
||||
$do_crypto=1 if $_ eq "crypto";
|
||||
$do_update=1 if $_ eq "update";
|
||||
}
|
||||
|
||||
if (!$do_ssl && !$do_crypto)
|
||||
@ -25,7 +28,9 @@ if (!$do_ssl && !$do_crypto)
|
||||
}
|
||||
|
||||
%ssl_list=&load_numbers($ssl_num);
|
||||
$max_ssl = $max_num;
|
||||
%crypto_list=&load_numbers($crypto_num);
|
||||
$max_crypto = $max_num;
|
||||
|
||||
$ssl="ssl/ssl.h";
|
||||
|
||||
@ -74,11 +79,33 @@ $crypto.=" crypto/tmdiff.h";
|
||||
$match{'NOPROTO'}=1;
|
||||
$match2{'PERL5'}=1;
|
||||
|
||||
&print_def_file(*STDOUT,"SSLEAY",*ssl_list,&do_defs("SSLEAY",$ssl))
|
||||
if $do_ssl == 1;
|
||||
@ssl_func = &do_defs("SSLEAY", $ssl);
|
||||
@crypto_func = &do_defs("LIBEAY", $crypto);
|
||||
|
||||
if ($do_update) {
|
||||
|
||||
if ($do_ssl == 1) {
|
||||
open(OUT, ">>$ssl_num");
|
||||
&update_numbers(*OUT,"SSLEAY",*ssl_list,$max_ssl, @ssl_func);
|
||||
close OUT;
|
||||
}
|
||||
|
||||
if($do_crypto == 1) {
|
||||
open(OUT, ">>$crypto_num");
|
||||
&update_numbers(*OUT,"LIBEAY",*crypto_list,$max_crypto, @crypto_func);
|
||||
close OUT;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
&print_def_file(*STDOUT,"SSLEAY",*ssl_list,@ssl_func)
|
||||
if $do_ssl == 1;
|
||||
|
||||
&print_def_file(*STDOUT,"LIBEAY",*crypto_list,@crypto_func)
|
||||
if $do_crypto == 1;
|
||||
|
||||
}
|
||||
|
||||
&print_def_file(*STDOUT,"LIBEAY",*crypto_list,&do_defs("LIBEAY",$crypto))
|
||||
if $do_crypto == 1;
|
||||
|
||||
sub do_defs
|
||||
{
|
||||
@ -98,7 +125,7 @@ sub do_defs
|
||||
while (($i=index($a,"/*")) >= 0)
|
||||
{
|
||||
$j=index($a,"*/");
|
||||
break unless ($j >= 0);
|
||||
last unless ($j >= 0);
|
||||
$a=substr($a,0,$i).substr($a,$j+2);
|
||||
# print "$i $j\n";
|
||||
}
|
||||
@ -265,7 +292,8 @@ EOF
|
||||
{
|
||||
if (!defined($nums{$func}))
|
||||
{
|
||||
printf STDERR "$func does not have a number assigned\n";
|
||||
printf STDERR "$func does not have a number assigned\n"
|
||||
if(!$do_update);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -281,6 +309,8 @@ sub load_numbers
|
||||
local($name)=@_;
|
||||
local($j,@a,%ret);
|
||||
|
||||
$max_num = 0;
|
||||
|
||||
open(IN,"<$name") || die "unable to open $name:$!\n";
|
||||
while (<IN>)
|
||||
{
|
||||
@ -289,7 +319,28 @@ sub load_numbers
|
||||
next if /^\s*$/;
|
||||
@a=split;
|
||||
$ret{$a[0]}=$a[1];
|
||||
$max_num = $a[1] if $a[1] > $max_num;
|
||||
}
|
||||
close(IN);
|
||||
return(%ret);
|
||||
}
|
||||
|
||||
sub update_numbers
|
||||
{
|
||||
local(*OUT,$name,*nums,$start_num, @functions)=@_;
|
||||
my $new_funcs = 0;
|
||||
print STDERR "Updating $name\n";
|
||||
foreach $func (@functions)
|
||||
{
|
||||
if (!defined($nums{$func}))
|
||||
{
|
||||
$new_funcs++;
|
||||
printf OUT "%s%-40s%d\n","",$func, ++$start_num;
|
||||
}
|
||||
}
|
||||
if($new_funcs) {
|
||||
print STDERR "$new_funcs New Functions added\n";
|
||||
} else {
|
||||
print STDERR "No New Functions Added\n";
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user