diff options
author | jsing <> | 2015-02-10 04:01:26 +0000 |
---|---|---|
committer | jsing <> | 2015-02-10 04:01:26 +0000 |
commit | 0e4218e3e293b3085109f78bed8948a0bf9f1511 (patch) | |
tree | 86b03f16387ab89c274a564f80963cad767070f8 /src/lib/libcrypto/asn1 | |
parent | ef9e1f7eec0659c49a61db86c7a58ea19e13d6b1 (diff) | |
download | openbsd-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/asn1')
-rw-r--r-- | src/lib/libcrypto/asn1/n_pkey.c | 54 | ||||
-rw-r--r-- | src/lib/libcrypto/asn1/tasn_typ.c | 106 |
2 files changed, 152 insertions, 8 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c index 42431b6e24..198ca97c09 100644 --- a/src/lib/libcrypto/asn1/n_pkey.c +++ b/src/lib/libcrypto/asn1/n_pkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: n_pkey.c,v 1.22 2014/07/12 22:26:01 miod Exp $ */ | 1 | /* $OpenBSD: n_pkey.c,v 1.23 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -94,7 +94,31 @@ ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { | |||
94 | 94 | ||
95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) |
96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) | 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) |
97 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 97 | |
98 | NETSCAPE_ENCRYPTED_PKEY * | ||
99 | d2i_NETSCAPE_ENCRYPTED_PKEY(NETSCAPE_ENCRYPTED_PKEY **a, const unsigned char **in, long len) | ||
100 | { | ||
101 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
102 | &NETSCAPE_ENCRYPTED_PKEY_it); | ||
103 | } | ||
104 | |||
105 | int | ||
106 | i2d_NETSCAPE_ENCRYPTED_PKEY(const NETSCAPE_ENCRYPTED_PKEY *a, unsigned char **out) | ||
107 | { | ||
108 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
109 | } | ||
110 | |||
111 | NETSCAPE_ENCRYPTED_PKEY * | ||
112 | NETSCAPE_ENCRYPTED_PKEY_new(void) | ||
113 | { | ||
114 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_new(&NETSCAPE_ENCRYPTED_PKEY_it); | ||
115 | } | ||
116 | |||
117 | void | ||
118 | NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a) | ||
119 | { | ||
120 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
121 | } | ||
98 | 122 | ||
99 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { | 123 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { |
100 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), | 124 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), |
@@ -104,7 +128,31 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { | |||
104 | 128 | ||
105 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 129 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) |
106 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) | 130 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) |
107 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 131 | |
132 | NETSCAPE_PKEY * | ||
133 | d2i_NETSCAPE_PKEY(NETSCAPE_PKEY **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (NETSCAPE_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &NETSCAPE_PKEY_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_NETSCAPE_PKEY(const NETSCAPE_PKEY *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_PKEY_it); | ||
143 | } | ||
144 | |||
145 | NETSCAPE_PKEY * | ||
146 | NETSCAPE_PKEY_new(void) | ||
147 | { | ||
148 | return (NETSCAPE_PKEY *)ASN1_item_new(&NETSCAPE_PKEY_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_PKEY_it); | ||
155 | } | ||
108 | 156 | ||
109 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | 157 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, |
110 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); | 158 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); |
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 2f44b4229b..6e4650c089 100644 --- a/src/lib/libcrypto/asn1/tasn_typ.c +++ b/src/lib/libcrypto/asn1/tasn_typ.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.8 2015/02/10 04:01:26 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 | */ |
@@ -474,18 +474,114 @@ IMPLEMENT_ASN1_TYPE(ASN1_ANY) | |||
474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ | 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ |
475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) | 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) |
476 | 476 | ||
477 | IMPLEMENT_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) | 477 | |
478 | ASN1_TYPE * | ||
479 | d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len) | ||
480 | { | ||
481 | return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
482 | &ASN1_ANY_it); | ||
483 | } | ||
484 | |||
485 | int | ||
486 | i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out) | ||
487 | { | ||
488 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it); | ||
489 | } | ||
490 | |||
491 | ASN1_TYPE * | ||
492 | ASN1_TYPE_new(void) | ||
493 | { | ||
494 | return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it); | ||
495 | } | ||
496 | |||
497 | void | ||
498 | ASN1_TYPE_free(ASN1_TYPE *a) | ||
499 | { | ||
500 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it); | ||
501 | } | ||
478 | 502 | ||
479 | /* Multistring types */ | 503 | /* Multistring types */ |
480 | 504 | ||
481 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) | 505 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) |
482 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) | 506 | |
507 | ASN1_STRING * | ||
508 | d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len) | ||
509 | { | ||
510 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
511 | &ASN1_PRINTABLE_it); | ||
512 | } | ||
513 | |||
514 | int | ||
515 | i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out) | ||
516 | { | ||
517 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it); | ||
518 | } | ||
519 | |||
520 | ASN1_STRING * | ||
521 | ASN1_PRINTABLE_new(void) | ||
522 | { | ||
523 | return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it); | ||
524 | } | ||
525 | |||
526 | void | ||
527 | ASN1_PRINTABLE_free(ASN1_STRING *a) | ||
528 | { | ||
529 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it); | ||
530 | } | ||
483 | 531 | ||
484 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) | 532 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) |
485 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) | 533 | |
534 | ASN1_STRING * | ||
535 | d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len) | ||
536 | { | ||
537 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
538 | &DISPLAYTEXT_it); | ||
539 | } | ||
540 | |||
541 | int | ||
542 | i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out) | ||
543 | { | ||
544 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it); | ||
545 | } | ||
546 | |||
547 | ASN1_STRING * | ||
548 | DISPLAYTEXT_new(void) | ||
549 | { | ||
550 | return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it); | ||
551 | } | ||
552 | |||
553 | void | ||
554 | DISPLAYTEXT_free(ASN1_STRING *a) | ||
555 | { | ||
556 | ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it); | ||
557 | } | ||
486 | 558 | ||
487 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) | 559 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) |
488 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) | 560 | |
561 | ASN1_STRING * | ||
562 | d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len) | ||
563 | { | ||
564 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
565 | &DIRECTORYSTRING_it); | ||
566 | } | ||
567 | |||
568 | int | ||
569 | i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out) | ||
570 | { | ||
571 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it); | ||
572 | } | ||
573 | |||
574 | ASN1_STRING * | ||
575 | DIRECTORYSTRING_new(void) | ||
576 | { | ||
577 | return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it); | ||
578 | } | ||
579 | |||
580 | void | ||
581 | DIRECTORYSTRING_free(ASN1_STRING *a) | ||
582 | { | ||
583 | ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it); | ||
584 | } | ||
489 | 585 | ||
490 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ | 586 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ |
491 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) | 587 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) |