summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_name.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/x_name.c')
-rw-r--r--src/lib/libcrypto/asn1/x_name.c54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c
index 7c77ceea3b..a7f0e14d13 100644
--- a/src/lib/libcrypto/asn1/x_name.c
+++ b/src/lib/libcrypto/asn1/x_name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_name.c,v 1.20 2014/07/12 11:25:25 miod Exp $ */ 1/* $OpenBSD: x_name.c,v 1.21 2015/02/09 15:05:59 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 *
@@ -92,7 +92,31 @@ ASN1_SEQUENCE(X509_NAME_ENTRY) = {
92 ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE) 92 ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE)
93} ASN1_SEQUENCE_END(X509_NAME_ENTRY) 93} ASN1_SEQUENCE_END(X509_NAME_ENTRY)
94 94
95IMPLEMENT_ASN1_FUNCTIONS(X509_NAME_ENTRY) 95
96X509_NAME_ENTRY *
97d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len)
98{
99 return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
100 &X509_NAME_ENTRY_it);
101}
102
103int
104i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out)
105{
106 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it);
107}
108
109X509_NAME_ENTRY *
110X509_NAME_ENTRY_new(void)
111{
112 return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it);
113}
114
115void
116X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
117{
118 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
119}
96IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) 120IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY)
97 121
98/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } 122/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
@@ -125,7 +149,31 @@ const ASN1_EXTERN_FUNCS x509_name_ff = {
125 149
126IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) 150IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff)
127 151
128IMPLEMENT_ASN1_FUNCTIONS(X509_NAME) 152
153X509_NAME *
154d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len)
155{
156 return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
157 &X509_NAME_it);
158}
159
160int
161i2d_X509_NAME(X509_NAME *a, unsigned char **out)
162{
163 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it);
164}
165
166X509_NAME *
167X509_NAME_new(void)
168{
169 return (X509_NAME *)ASN1_item_new(&X509_NAME_it);
170}
171
172void
173X509_NAME_free(X509_NAME *a)
174{
175 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
176}
129IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) 177IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME)
130 178
131static int 179static int