Use callback for DSAPublicKey
authorDr. Stephen Henson <steve@openssl.org>
Thu, 28 Jan 2016 19:34:51 +0000 (19:34 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 28 Jan 2016 23:41:35 +0000 (23:41 +0000)
PR#4277

Reviewed-by: Tim Hudson <tjh@openssl.org>
crypto/dsa/dsa_asn1.c

index b83f141..44696c3 100644 (file)
@@ -125,18 +125,12 @@ ASN1_SEQUENCE_cb(DSAparams, dsa_cb) = {
 
 IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAparams, DSAparams)
 
-/*
- * DSA public key is a bit trickier... its effectively a CHOICE type decided
- * by a field called write_params which can either write out just the public
- * key as an INTEGER or the parameters and public key in a SEQUENCE
- */
-
-ASN1_SEQUENCE(DSAPublicKey) = {
+ASN1_SEQUENCE_cb(DSAPublicKey, dsa_cb) = {
         ASN1_SIMPLE(DSA, pub_key, BIGNUM),
         ASN1_SIMPLE(DSA, p, BIGNUM),
         ASN1_SIMPLE(DSA, q, BIGNUM),
         ASN1_SIMPLE(DSA, g, BIGNUM)
-} static_ASN1_SEQUENCE_END_name(DSA, DSAPublicKey)
+} static_ASN1_SEQUENCE_END_cb(DSA, DSAPublicKey)
 
 IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAPublicKey, DSAPublicKey)