summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa
diff options
context:
space:
mode:
authorjsing <>2015-02-10 05:12:23 +0000
committerjsing <>2015-02-10 05:12:23 +0000
commit420e4433e0663a16ac8ce2d0d644bc67b2ced591 (patch)
tree589ebdd9bb450a4df09d2ed962b5d2178ebf5237 /src/lib/libcrypto/dsa
parent9bd525742fa9bbaf8f56cda1167eb91c447404a5 (diff)
downloadopenbsd-420e4433e0663a16ac8ce2d0d644bc67b2ced591.tar.gz
openbsd-420e4433e0663a16ac8ce2d0d644bc67b2ced591.tar.bz2
openbsd-420e4433e0663a16ac8ce2d0d644bc67b2ced591.zip
Expand the -IMPLEMENT_ASN1_ENCODE_FUNCTIONS_(const_)?fname macros so that
the code is visible and functions can be readily located. Change has been scripted and there is no change to the generated assembly. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/dsa')
-rw-r--r--src/lib/libcrypto/dsa/dsa_asn1.c58
1 files changed, 53 insertions, 5 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_asn1.c b/src/lib/libcrypto/dsa/dsa_asn1.c
index 16cb1fa379..c6b00923fc 100644
--- a/src/lib/libcrypto/dsa/dsa_asn1.c
+++ b/src/lib/libcrypto/dsa/dsa_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_asn1.c,v 1.14 2015/01/28 04:14:31 beck Exp $ */ 1/* $OpenBSD: dsa_asn1.c,v 1.15 2015/02/10 05:12:23 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -89,7 +89,19 @@ ASN1_SEQUENCE_cb(DSA_SIG, sig_cb) = {
89 ASN1_SIMPLE(DSA_SIG, s, CBIGNUM) 89 ASN1_SIMPLE(DSA_SIG, s, CBIGNUM)
90} ASN1_SEQUENCE_END_cb(DSA_SIG, DSA_SIG) 90} ASN1_SEQUENCE_END_cb(DSA_SIG, DSA_SIG)
91 91
92IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA_SIG, DSA_SIG, DSA_SIG) 92
93DSA_SIG *
94d2i_DSA_SIG(DSA_SIG **a, const unsigned char **in, long len)
95{
96 return (DSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
97 &DSA_SIG_it);
98}
99
100int
101i2d_DSA_SIG(const DSA_SIG *a, unsigned char **out)
102{
103 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSA_SIG_it);
104}
93 105
94/* Override the default free and new methods */ 106/* Override the default free and new methods */
95static int 107static int
@@ -117,7 +129,19 @@ ASN1_SEQUENCE_cb(DSAPrivateKey, dsa_cb) = {
117 ASN1_SIMPLE(DSA, priv_key, BIGNUM) 129 ASN1_SIMPLE(DSA, priv_key, BIGNUM)
118} ASN1_SEQUENCE_END_cb(DSA, DSAPrivateKey) 130} ASN1_SEQUENCE_END_cb(DSA, DSAPrivateKey)
119 131
120IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAPrivateKey, DSAPrivateKey) 132
133DSA *
134d2i_DSAPrivateKey(DSA **a, const unsigned char **in, long len)
135{
136 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
137 &DSAPrivateKey_it);
138}
139
140int
141i2d_DSAPrivateKey(const DSA *a, unsigned char **out)
142{
143 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAPrivateKey_it);
144}
121 145
122ASN1_SEQUENCE_cb(DSAparams, dsa_cb) = { 146ASN1_SEQUENCE_cb(DSAparams, dsa_cb) = {
123 ASN1_SIMPLE(DSA, p, BIGNUM), 147 ASN1_SIMPLE(DSA, p, BIGNUM),
@@ -125,7 +149,19 @@ ASN1_SEQUENCE_cb(DSAparams, dsa_cb) = {
125 ASN1_SIMPLE(DSA, g, BIGNUM), 149 ASN1_SIMPLE(DSA, g, BIGNUM),
126} ASN1_SEQUENCE_END_cb(DSA, DSAparams) 150} ASN1_SEQUENCE_END_cb(DSA, DSAparams)
127 151
128IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAparams, DSAparams) 152
153DSA *
154d2i_DSAparams(DSA **a, const unsigned char **in, long len)
155{
156 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
157 &DSAparams_it);
158}
159
160int
161i2d_DSAparams(const DSA *a, unsigned char **out)
162{
163 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAparams_it);
164}
129 165
130/* 166/*
131 * DSA public key is a bit trickier... its effectively a CHOICE type 167 * DSA public key is a bit trickier... its effectively a CHOICE type
@@ -146,7 +182,19 @@ ASN1_CHOICE_cb(DSAPublicKey, dsa_cb) = {
146 ASN1_EX_COMBINE(0, 0, dsa_pub_internal) 182 ASN1_EX_COMBINE(0, 0, dsa_pub_internal)
147} ASN1_CHOICE_END_cb(DSA, DSAPublicKey, write_params) 183} ASN1_CHOICE_END_cb(DSA, DSAPublicKey, write_params)
148 184
149IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(DSA, DSAPublicKey, DSAPublicKey) 185
186DSA *
187d2i_DSAPublicKey(DSA **a, const unsigned char **in, long len)
188{
189 return (DSA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
190 &DSAPublicKey_it);
191}
192
193int
194i2d_DSAPublicKey(const DSA *a, unsigned char **out)
195{
196 return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAPublicKey_it);
197}
150 198
151DSA * 199DSA *
152DSAparams_dup(DSA *dsa) 200DSAparams_dup(DSA *dsa)