projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ec/ecp_nistz256.c: further harmonization with latest rules.
[oweals/openssl.git]
/
crypto
/
objects
/
objxref.pl
diff --git
a/crypto/objects/objxref.pl
b/crypto/objects/objxref.pl
index 0dd360b5b0cda7e9bb1da8153284c228ff9efc61..833f4ab8829037ab2305935a4f9bd00cffbcfea1 100644
(file)
--- a/
crypto/objects/objxref.pl
+++ b/
crypto/objects/objxref.pl
@@
-1,6
+1,13
@@
#!/usr/local/bin/perl
#!/usr/local/bin/perl
-open IN, "obj_mac.num";
+use strict;
+
+my %xref_tbl;
+my %oid_tbl;
+
+my ($mac_file, $xref_file) = @ARGV;
+
+open(IN, $mac_file) || die "Can't open $mac_file";
# Read in OID nid values for a lookup table.
# Read in OID nid values for a lookup table.
@@
-12,7
+19,7
@@
while (<IN>)
}
close IN;
}
close IN;
-open
IN, "obj_xref.txt
";
+open
(IN, $xref_file) || die "Can't open $xref_file
";
my $ln = 1;
my $ln = 1;
@@
-32,7
+39,8
@@
my @xrkeys = keys %xref_tbl;
my @srt1 = sort { $oid_tbl{$a} <=> $oid_tbl{$b}} @xrkeys;
my @srt1 = sort { $oid_tbl{$a} <=> $oid_tbl{$b}} @xrkeys;
-for(my $i = 0; $i <= $#srt1; $i++)
+my $i;
+for($i = 0; $i <= $#srt1; $i++)
{
$xref_tbl{$srt1[$i]}[2] = $i;
}
{
$xref_tbl{$srt1[$i]}[2] = $i;
}
@@
-47,11
+55,20
@@
my @srt2 = sort
return $ap2 - $bp2;
} @xrkeys;
return $ap2 - $bp2;
} @xrkeys;
-
+
+my $pname = $0;
+
+$pname =~ s|^.[^/]/||;
print <<EOF;
print <<EOF;
+/* AUTOGENERATED BY $pname, DO NOT EDIT */
-typedef int nid_triple[3];
+typedef struct
+ {
+ int sign_id;
+ int hash_id;
+ int pkey_id;
+ } nid_triple;
static const nid_triple sigoid_srt[] =
{
static const nid_triple sigoid_srt[] =
{
@@
-74,7
+91,10
@@
EOF
foreach (@srt2)
{
foreach (@srt2)
{
- my $x = $xref_tbl{$_}[2];
+ my ($p1, $p2, $x) = @{$xref_tbl{$_}};
+ # If digest or signature algorithm is "undef" then the algorithm
+ # needs special handling and is excluded from the cross reference table.
+ next if $p1 eq "undef" || $p2 eq "undef";
print "\t\&sigoid_srt\[$x\],\n";
}
print "\t\&sigoid_srt\[$x\],\n";
}