diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2014-11-01 00:10:56 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2014-11-13 13:35:25 +0000 |
commit | ba7aaa5622b16ef35a445fc03338bb8af7b80d6e (patch) | |
tree | 28225f7d04846bd9982282e483472c3a1578bcb7 /crypto/objects | |
parent | 2ad842b86a0b544f1dec6c75d3600d28bb627147 (diff) |
Fix cross reference table generator.
If the hash or public key algorithm is "undef" the signature type
will receive special handling and shouldn't be included in the
cross reference table.
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 55f7fb8848b6e4bec291724a479e1580d6f407d6)
Diffstat (limited to 'crypto/objects')
-rw-r--r-- | crypto/objects/obj_xref.h | 3 | ||||
-rw-r--r-- | crypto/objects/objxref.pl | 5 |
2 files changed, 4 insertions, 4 deletions
diff --git a/crypto/objects/obj_xref.h b/crypto/objects/obj_xref.h index cfd628a788..433c96bb43 100644 --- a/crypto/objects/obj_xref.h +++ b/crypto/objects/obj_xref.h @@ -53,9 +53,6 @@ static const nid_triple sigoid_srt[] = static const nid_triple * const sigoid_srt_xref[] = { - &sigoid_srt[29], - &sigoid_srt[17], - &sigoid_srt[18], &sigoid_srt[0], &sigoid_srt[1], &sigoid_srt[7], diff --git a/crypto/objects/objxref.pl b/crypto/objects/objxref.pl index 94b9bc133f..833f4ab882 100644 --- a/crypto/objects/objxref.pl +++ b/crypto/objects/objxref.pl @@ -91,7 +91,10 @@ EOF 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"; } |