summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/tasn_typ.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/tasn_typ.c')
-rw-r--r--src/lib/libcrypto/asn1/tasn_typ.c164
1 files changed, 2 insertions, 162 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c
index 7a2b90f390..d35913b46e 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.15 2021/12/23 18:04:41 tb Exp $ */ 1/* $OpenBSD: tasn_typ.c,v 1.16 2021/12/25 08:52:44 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 */
@@ -61,134 +61,6 @@
61 61
62/* Declarations for string types */ 62/* Declarations for string types */
63 63
64const ASN1_ITEM ASN1_INTEGER_it = {
65 .itype = ASN1_ITYPE_PRIMITIVE,
66 .utype = V_ASN1_INTEGER,
67 .sname = "ASN1_INTEGER",
68};
69
70ASN1_INTEGER *
71d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len)
72{
73 return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
74 &ASN1_INTEGER_it);
75}
76
77int
78i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out)
79{
80 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it);
81}
82
83ASN1_INTEGER *
84ASN1_INTEGER_new(void)
85{
86 return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it);
87}
88
89void
90ASN1_INTEGER_free(ASN1_INTEGER *a)
91{
92 ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it);
93}
94
95
96const ASN1_ITEM ASN1_ENUMERATED_it = {
97 .itype = ASN1_ITYPE_PRIMITIVE,
98 .utype = V_ASN1_ENUMERATED,
99 .sname = "ASN1_ENUMERATED",
100};
101
102ASN1_ENUMERATED *
103d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len)
104{
105 return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
106 &ASN1_ENUMERATED_it);
107}
108
109int
110i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out)
111{
112 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it);
113}
114
115ASN1_ENUMERATED *
116ASN1_ENUMERATED_new(void)
117{
118 return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it);
119}
120
121void
122ASN1_ENUMERATED_free(ASN1_ENUMERATED *a)
123{
124 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it);
125}
126
127
128const ASN1_ITEM ASN1_BIT_STRING_it = {
129 .itype = ASN1_ITYPE_PRIMITIVE,
130 .utype = V_ASN1_BIT_STRING,
131 .sname = "ASN1_BIT_STRING",
132};
133
134ASN1_BIT_STRING *
135d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len)
136{
137 return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
138 &ASN1_BIT_STRING_it);
139}
140
141int
142i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out)
143{
144 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it);
145}
146
147ASN1_BIT_STRING *
148ASN1_BIT_STRING_new(void)
149{
150 return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it);
151}
152
153void
154ASN1_BIT_STRING_free(ASN1_BIT_STRING *a)
155{
156 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it);
157}
158
159
160const ASN1_ITEM ASN1_OCTET_STRING_it = {
161 .itype = ASN1_ITYPE_PRIMITIVE,
162 .utype = V_ASN1_OCTET_STRING,
163 .sname = "ASN1_OCTET_STRING",
164};
165
166ASN1_OCTET_STRING *
167d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len)
168{
169 return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
170 &ASN1_OCTET_STRING_it);
171}
172
173int
174i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out)
175{
176 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it);
177}
178
179ASN1_OCTET_STRING *
180ASN1_OCTET_STRING_new(void)
181{
182 return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it);
183}
184
185void
186ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a)
187{
188 ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it);
189}
190
191
192const ASN1_ITEM ASN1_NULL_it = { 64const ASN1_ITEM ASN1_NULL_it = {
193 .itype = ASN1_ITYPE_PRIMITIVE, 65 .itype = ASN1_ITYPE_PRIMITIVE,
194 .utype = V_ASN1_NULL, 66 .utype = V_ASN1_NULL,
@@ -221,13 +93,6 @@ ASN1_NULL_free(ASN1_NULL *a)
221} 93}
222 94
223 95
224const ASN1_ITEM ASN1_OBJECT_it = {
225 .itype = ASN1_ITYPE_PRIMITIVE,
226 .utype = V_ASN1_OBJECT,
227 .sname = "ASN1_OBJECT",
228};
229
230
231const ASN1_ITEM ASN1_UTF8STRING_it = { 96const ASN1_ITEM ASN1_UTF8STRING_it = {
232 .itype = ASN1_ITYPE_PRIMITIVE, 97 .itype = ASN1_ITYPE_PRIMITIVE,
233 .utype = V_ASN1_UTF8STRING, 98 .utype = V_ASN1_UTF8STRING,
@@ -552,13 +417,13 @@ ASN1_BMPSTRING_free(ASN1_BMPSTRING *a)
552 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); 417 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it);
553} 418}
554 419
555
556const ASN1_ITEM ASN1_ANY_it = { 420const ASN1_ITEM ASN1_ANY_it = {
557 .itype = ASN1_ITYPE_PRIMITIVE, 421 .itype = ASN1_ITYPE_PRIMITIVE,
558 .utype = V_ASN1_ANY, 422 .utype = V_ASN1_ANY,
559 .sname = "ASN1_ANY", 423 .sname = "ASN1_ANY",
560}; 424};
561 425
426
562/* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ 427/* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */
563 428
564const ASN1_ITEM ASN1_SEQUENCE_it = { 429const ASN1_ITEM ASN1_SEQUENCE_it = {
@@ -568,31 +433,6 @@ const ASN1_ITEM ASN1_SEQUENCE_it = {
568}; 433};
569 434
570 435
571ASN1_TYPE *
572d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len)
573{
574 return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
575 &ASN1_ANY_it);
576}
577
578int
579i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out)
580{
581 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it);
582}
583
584ASN1_TYPE *
585ASN1_TYPE_new(void)
586{
587 return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it);
588}
589
590void
591ASN1_TYPE_free(ASN1_TYPE *a)
592{
593 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it);
594}
595
596/* Multistring types */ 436/* Multistring types */
597 437
598 438