summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec
diff options
context:
space:
mode:
authorjsing <>2015-02-10 04:01:26 +0000
committerjsing <>2015-02-10 04:01:26 +0000
commit0e4218e3e293b3085109f78bed8948a0bf9f1511 (patch)
tree86b03f16387ab89c274a564f80963cad767070f8 /src/lib/libcrypto/ec
parentef9e1f7eec0659c49a61db86c7a58ea19e13d6b1 (diff)
downloadopenbsd-0e4218e3e293b3085109f78bed8948a0bf9f1511.tar.gz
openbsd-0e4218e3e293b3085109f78bed8948a0bf9f1511.tar.bz2
openbsd-0e4218e3e293b3085109f78bed8948a0bf9f1511.zip
Expand the IMPLEMENT_ASN1_FUNCTIONS_{const,fname,name} macros so that the
code is visible and functions can be readily located. Change has been scripted and the generated assembly only differs by changes to line numbers. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/ec')
-rw-r--r--src/lib/libcrypto/ec/ec_asn1.c54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c
index c54f6593d5..11d924d30f 100644
--- a/src/lib/libcrypto/ec/ec_asn1.c
+++ b/src/lib/libcrypto/ec/ec_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_asn1.c,v 1.10 2014/07/12 16:03:37 miod Exp $ */ 1/* $OpenBSD: ec_asn1.c,v 1.11 2015/02/10 04:01:26 jsing Exp $ */
2/* 2/*
3 * Written by Nils Larsch for the OpenSSL project. 3 * Written by Nils Larsch for the OpenSSL project.
4 */ 4 */
@@ -258,7 +258,31 @@ ASN1_CHOICE(ECPKPARAMETERS) = {
258} ASN1_CHOICE_END(ECPKPARAMETERS) 258} ASN1_CHOICE_END(ECPKPARAMETERS)
259DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) 259DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS)
260DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) 260DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS)
261IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS) 261
262ECPKPARAMETERS *
263d2i_ECPKPARAMETERS(ECPKPARAMETERS **a, const unsigned char **in, long len)
264{
265 return (ECPKPARAMETERS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
266 &ECPKPARAMETERS_it);
267}
268
269int
270i2d_ECPKPARAMETERS(const ECPKPARAMETERS *a, unsigned char **out)
271{
272 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECPKPARAMETERS_it);
273}
274
275ECPKPARAMETERS *
276ECPKPARAMETERS_new(void)
277{
278 return (ECPKPARAMETERS *)ASN1_item_new(&ECPKPARAMETERS_it);
279}
280
281void
282ECPKPARAMETERS_free(ECPKPARAMETERS *a)
283{
284 ASN1_item_free((ASN1_VALUE *)a, &ECPKPARAMETERS_it);
285}
262 286
263ASN1_SEQUENCE(EC_PRIVATEKEY) = { 287ASN1_SEQUENCE(EC_PRIVATEKEY) = {
264 ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), 288 ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG),
@@ -268,7 +292,31 @@ ASN1_SEQUENCE(EC_PRIVATEKEY) = {
268} ASN1_SEQUENCE_END(EC_PRIVATEKEY) 292} ASN1_SEQUENCE_END(EC_PRIVATEKEY)
269DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) 293DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY)
270DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) 294DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY)
271IMPLEMENT_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) 295
296EC_PRIVATEKEY *
297d2i_EC_PRIVATEKEY(EC_PRIVATEKEY **a, const unsigned char **in, long len)
298{
299 return (EC_PRIVATEKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
300 &EC_PRIVATEKEY_it);
301}
302
303int
304i2d_EC_PRIVATEKEY(const EC_PRIVATEKEY *a, unsigned char **out)
305{
306 return ASN1_item_i2d((ASN1_VALUE *)a, out, &EC_PRIVATEKEY_it);
307}
308
309EC_PRIVATEKEY *
310EC_PRIVATEKEY_new(void)
311{
312 return (EC_PRIVATEKEY *)ASN1_item_new(&EC_PRIVATEKEY_it);
313}
314
315void
316EC_PRIVATEKEY_free(EC_PRIVATEKEY *a)
317{
318 ASN1_item_free((ASN1_VALUE *)a, &EC_PRIVATEKEY_it);
319}
272/* some declarations of internal function */ 320/* some declarations of internal function */
273 321
274/* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ 322/* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */