diff options
38 files changed, 2088 insertions, 120 deletions
diff --git a/src/lib/libcrypto/asn1/a_time.c b/src/lib/libcrypto/asn1/a_time.c index c5e882a4f6..95481fc4c6 100644 --- a/src/lib/libcrypto/asn1/a_time.c +++ b/src/lib/libcrypto/asn1/a_time.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_time.c,v 1.22 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: a_time.c,v 1.23 2015/02/09 15:05:59 jsing Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -71,7 +71,31 @@ | |||
71 | 71 | ||
72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) | 72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME) | 74 | |
75 | ASN1_TIME * | ||
76 | d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (ASN1_TIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &ASN1_TIME_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_TIME_it); | ||
86 | } | ||
87 | |||
88 | ASN1_TIME * | ||
89 | ASN1_TIME_new(void) | ||
90 | { | ||
91 | return (ASN1_TIME *)ASN1_item_new(&ASN1_TIME_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | ASN1_TIME_free(ASN1_TIME *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_TIME_it); | ||
98 | } | ||
75 | 99 | ||
76 | ASN1_TIME * | 100 | ASN1_TIME * |
77 | ASN1_TIME_set(ASN1_TIME *s, time_t t) | 101 | ASN1_TIME_set(ASN1_TIME *s, time_t t) |
diff --git a/src/lib/libcrypto/asn1/nsseq.c b/src/lib/libcrypto/asn1/nsseq.c index 97af462dc0..ceab3992fd 100644 --- a/src/lib/libcrypto/asn1/nsseq.c +++ b/src/lib/libcrypto/asn1/nsseq.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: nsseq.c,v 1.7 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: nsseq.c,v 1.8 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -80,4 +80,28 @@ ASN1_SEQUENCE_cb(NETSCAPE_CERT_SEQUENCE, nsseq_cb) = { | |||
80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) | 80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) |
81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) | 81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) |
82 | 82 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) | 83 | |
84 | NETSCAPE_CERT_SEQUENCE * | ||
85 | d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a, const unsigned char **in, long len) | ||
86 | { | ||
87 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
88 | &NETSCAPE_CERT_SEQUENCE_it); | ||
89 | } | ||
90 | |||
91 | int | ||
92 | i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a, unsigned char **out) | ||
93 | { | ||
94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_CERT_SEQUENCE_it); | ||
95 | } | ||
96 | |||
97 | NETSCAPE_CERT_SEQUENCE * | ||
98 | NETSCAPE_CERT_SEQUENCE_new(void) | ||
99 | { | ||
100 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_new(&NETSCAPE_CERT_SEQUENCE_it); | ||
101 | } | ||
102 | |||
103 | void | ||
104 | NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a) | ||
105 | { | ||
106 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_CERT_SEQUENCE_it); | ||
107 | } | ||
diff --git a/src/lib/libcrypto/asn1/p5_pbe.c b/src/lib/libcrypto/asn1/p5_pbe.c index 44fbb648be..7491a5bdc7 100644 --- a/src/lib/libcrypto/asn1/p5_pbe.c +++ b/src/lib/libcrypto/asn1/p5_pbe.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p5_pbe.c,v 1.17 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbe.c,v 1.18 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBEPARAM) = { | |||
71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) | 71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) |
72 | } ASN1_SEQUENCE_END(PBEPARAM) | 72 | } ASN1_SEQUENCE_END(PBEPARAM) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(PBEPARAM) | 74 | |
75 | PBEPARAM * | ||
76 | d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &PBEPARAM_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it); | ||
86 | } | ||
87 | |||
88 | PBEPARAM * | ||
89 | PBEPARAM_new(void) | ||
90 | { | ||
91 | return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | PBEPARAM_free(PBEPARAM *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it); | ||
98 | } | ||
75 | 99 | ||
76 | 100 | ||
77 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ | 101 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ |
diff --git a/src/lib/libcrypto/asn1/p5_pbev2.c b/src/lib/libcrypto/asn1/p5_pbev2.c index 0947965219..1189e7e26b 100644 --- a/src/lib/libcrypto/asn1/p5_pbev2.c +++ b/src/lib/libcrypto/asn1/p5_pbev2.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p5_pbev2.c,v 1.18 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbev2.c,v 1.19 2015/02/09 15:05:59 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 1999-2004. | 3 | * project 1999-2004. |
4 | */ | 4 | */ |
@@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBE2PARAM) = { | |||
71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) | 71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) |
72 | } ASN1_SEQUENCE_END(PBE2PARAM) | 72 | } ASN1_SEQUENCE_END(PBE2PARAM) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(PBE2PARAM) | 74 | |
75 | PBE2PARAM * | ||
76 | d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &PBE2PARAM_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it); | ||
86 | } | ||
87 | |||
88 | PBE2PARAM * | ||
89 | PBE2PARAM_new(void) | ||
90 | { | ||
91 | return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | PBE2PARAM_free(PBE2PARAM *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it); | ||
98 | } | ||
75 | 99 | ||
76 | ASN1_SEQUENCE(PBKDF2PARAM) = { | 100 | ASN1_SEQUENCE(PBKDF2PARAM) = { |
77 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), | 101 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), |
@@ -80,7 +104,31 @@ ASN1_SEQUENCE(PBKDF2PARAM) = { | |||
80 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) | 104 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) |
81 | } ASN1_SEQUENCE_END(PBKDF2PARAM) | 105 | } ASN1_SEQUENCE_END(PBKDF2PARAM) |
82 | 106 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM) | 107 | |
108 | PBKDF2PARAM * | ||
109 | d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len) | ||
110 | { | ||
111 | return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
112 | &PBKDF2PARAM_it); | ||
113 | } | ||
114 | |||
115 | int | ||
116 | i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) | ||
117 | { | ||
118 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it); | ||
119 | } | ||
120 | |||
121 | PBKDF2PARAM * | ||
122 | PBKDF2PARAM_new(void) | ||
123 | { | ||
124 | return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it); | ||
125 | } | ||
126 | |||
127 | void | ||
128 | PBKDF2PARAM_free(PBKDF2PARAM *a) | ||
129 | { | ||
130 | ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it); | ||
131 | } | ||
84 | 132 | ||
85 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: | 133 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: |
86 | * yes I know this is horrible! | 134 | * yes I know this is horrible! |
diff --git a/src/lib/libcrypto/asn1/p8_pkey.c b/src/lib/libcrypto/asn1/p8_pkey.c index 3aacecb8fb..f8688ebc17 100644 --- a/src/lib/libcrypto/asn1/p8_pkey.c +++ b/src/lib/libcrypto/asn1/p8_pkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p8_pkey.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: p8_pkey.c,v 1.13 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -82,7 +82,31 @@ ASN1_SEQUENCE_cb(PKCS8_PRIV_KEY_INFO, pkey_cb) = { | |||
82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) | 82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) |
83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) | 83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) |
84 | 84 | ||
85 | IMPLEMENT_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) | 85 | |
86 | PKCS8_PRIV_KEY_INFO * | ||
87 | d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len) | ||
88 | { | ||
89 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
90 | &PKCS8_PRIV_KEY_INFO_it); | ||
91 | } | ||
92 | |||
93 | int | ||
94 | i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out) | ||
95 | { | ||
96 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it); | ||
97 | } | ||
98 | |||
99 | PKCS8_PRIV_KEY_INFO * | ||
100 | PKCS8_PRIV_KEY_INFO_new(void) | ||
101 | { | ||
102 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it); | ||
103 | } | ||
104 | |||
105 | void | ||
106 | PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a) | ||
107 | { | ||
108 | ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it); | ||
109 | } | ||
86 | 110 | ||
87 | int | 111 | int |
88 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, | 112 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, |
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 04d9c84180..2f44b4229b 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.6 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 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 | */ |
@@ -63,51 +63,411 @@ | |||
63 | 63 | ||
64 | 64 | ||
65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) | 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) |
66 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER) | 66 | |
67 | ASN1_INTEGER * | ||
68 | d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) | ||
69 | { | ||
70 | return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
71 | &ASN1_INTEGER_it); | ||
72 | } | ||
73 | |||
74 | int | ||
75 | i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out) | ||
76 | { | ||
77 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it); | ||
78 | } | ||
79 | |||
80 | ASN1_INTEGER * | ||
81 | ASN1_INTEGER_new(void) | ||
82 | { | ||
83 | return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it); | ||
84 | } | ||
85 | |||
86 | void | ||
87 | ASN1_INTEGER_free(ASN1_INTEGER *a) | ||
88 | { | ||
89 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); | ||
90 | } | ||
67 | 91 | ||
68 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) | 92 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) |
69 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED) | 93 | |
94 | ASN1_ENUMERATED * | ||
95 | d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) | ||
96 | { | ||
97 | return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
98 | &ASN1_ENUMERATED_it); | ||
99 | } | ||
100 | |||
101 | int | ||
102 | i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out) | ||
103 | { | ||
104 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it); | ||
105 | } | ||
106 | |||
107 | ASN1_ENUMERATED * | ||
108 | ASN1_ENUMERATED_new(void) | ||
109 | { | ||
110 | return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it); | ||
111 | } | ||
112 | |||
113 | void | ||
114 | ASN1_ENUMERATED_free(ASN1_ENUMERATED *a) | ||
115 | { | ||
116 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); | ||
117 | } | ||
70 | 118 | ||
71 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) | 119 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) |
72 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING) | 120 | |
121 | ASN1_BIT_STRING * | ||
122 | d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) | ||
123 | { | ||
124 | return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
125 | &ASN1_BIT_STRING_it); | ||
126 | } | ||
127 | |||
128 | int | ||
129 | i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out) | ||
130 | { | ||
131 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it); | ||
132 | } | ||
133 | |||
134 | ASN1_BIT_STRING * | ||
135 | ASN1_BIT_STRING_new(void) | ||
136 | { | ||
137 | return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it); | ||
138 | } | ||
139 | |||
140 | void | ||
141 | ASN1_BIT_STRING_free(ASN1_BIT_STRING *a) | ||
142 | { | ||
143 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); | ||
144 | } | ||
73 | 145 | ||
74 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) | 146 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) |
75 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING) | 147 | |
148 | ASN1_OCTET_STRING * | ||
149 | d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) | ||
150 | { | ||
151 | return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
152 | &ASN1_OCTET_STRING_it); | ||
153 | } | ||
154 | |||
155 | int | ||
156 | i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out) | ||
157 | { | ||
158 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it); | ||
159 | } | ||
160 | |||
161 | ASN1_OCTET_STRING * | ||
162 | ASN1_OCTET_STRING_new(void) | ||
163 | { | ||
164 | return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it); | ||
165 | } | ||
166 | |||
167 | void | ||
168 | ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a) | ||
169 | { | ||
170 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); | ||
171 | } | ||
76 | 172 | ||
77 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) | 173 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) |
78 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL) | 174 | |
175 | ASN1_NULL * | ||
176 | d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len) | ||
177 | { | ||
178 | return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
179 | &ASN1_NULL_it); | ||
180 | } | ||
181 | |||
182 | int | ||
183 | i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out) | ||
184 | { | ||
185 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it); | ||
186 | } | ||
187 | |||
188 | ASN1_NULL * | ||
189 | ASN1_NULL_new(void) | ||
190 | { | ||
191 | return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it); | ||
192 | } | ||
193 | |||
194 | void | ||
195 | ASN1_NULL_free(ASN1_NULL *a) | ||
196 | { | ||
197 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); | ||
198 | } | ||
79 | 199 | ||
80 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) | 200 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) |
81 | 201 | ||
82 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) | 202 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) |
83 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING) | 203 | |
204 | ASN1_UTF8STRING * | ||
205 | d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len) | ||
206 | { | ||
207 | return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
208 | &ASN1_UTF8STRING_it); | ||
209 | } | ||
210 | |||
211 | int | ||
212 | i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out) | ||
213 | { | ||
214 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it); | ||
215 | } | ||
216 | |||
217 | ASN1_UTF8STRING * | ||
218 | ASN1_UTF8STRING_new(void) | ||
219 | { | ||
220 | return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it); | ||
221 | } | ||
222 | |||
223 | void | ||
224 | ASN1_UTF8STRING_free(ASN1_UTF8STRING *a) | ||
225 | { | ||
226 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); | ||
227 | } | ||
84 | 228 | ||
85 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) | 229 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) |
86 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) | 230 | |
231 | ASN1_PRINTABLESTRING * | ||
232 | d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len) | ||
233 | { | ||
234 | return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
235 | &ASN1_PRINTABLESTRING_it); | ||
236 | } | ||
237 | |||
238 | int | ||
239 | i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out) | ||
240 | { | ||
241 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it); | ||
242 | } | ||
243 | |||
244 | ASN1_PRINTABLESTRING * | ||
245 | ASN1_PRINTABLESTRING_new(void) | ||
246 | { | ||
247 | return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it); | ||
248 | } | ||
249 | |||
250 | void | ||
251 | ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a) | ||
252 | { | ||
253 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); | ||
254 | } | ||
87 | 255 | ||
88 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) | 256 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) |
89 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING) | 257 | |
258 | ASN1_T61STRING * | ||
259 | d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len) | ||
260 | { | ||
261 | return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
262 | &ASN1_T61STRING_it); | ||
263 | } | ||
264 | |||
265 | int | ||
266 | i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out) | ||
267 | { | ||
268 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it); | ||
269 | } | ||
270 | |||
271 | ASN1_T61STRING * | ||
272 | ASN1_T61STRING_new(void) | ||
273 | { | ||
274 | return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it); | ||
275 | } | ||
276 | |||
277 | void | ||
278 | ASN1_T61STRING_free(ASN1_T61STRING *a) | ||
279 | { | ||
280 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); | ||
281 | } | ||
90 | 282 | ||
91 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) | 283 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) |
92 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING) | 284 | |
285 | ASN1_IA5STRING * | ||
286 | d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len) | ||
287 | { | ||
288 | return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
289 | &ASN1_IA5STRING_it); | ||
290 | } | ||
291 | |||
292 | int | ||
293 | i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out) | ||
294 | { | ||
295 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it); | ||
296 | } | ||
297 | |||
298 | ASN1_IA5STRING * | ||
299 | ASN1_IA5STRING_new(void) | ||
300 | { | ||
301 | return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it); | ||
302 | } | ||
303 | |||
304 | void | ||
305 | ASN1_IA5STRING_free(ASN1_IA5STRING *a) | ||
306 | { | ||
307 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); | ||
308 | } | ||
93 | 309 | ||
94 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) | 310 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) |
95 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING) | 311 | |
312 | ASN1_GENERALSTRING * | ||
313 | d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len) | ||
314 | { | ||
315 | return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
316 | &ASN1_GENERALSTRING_it); | ||
317 | } | ||
318 | |||
319 | int | ||
320 | i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out) | ||
321 | { | ||
322 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it); | ||
323 | } | ||
324 | |||
325 | ASN1_GENERALSTRING * | ||
326 | ASN1_GENERALSTRING_new(void) | ||
327 | { | ||
328 | return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it); | ||
329 | } | ||
330 | |||
331 | void | ||
332 | ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a) | ||
333 | { | ||
334 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); | ||
335 | } | ||
96 | 336 | ||
97 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) | 337 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) |
98 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME) | 338 | |
339 | ASN1_UTCTIME * | ||
340 | d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len) | ||
341 | { | ||
342 | return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
343 | &ASN1_UTCTIME_it); | ||
344 | } | ||
345 | |||
346 | int | ||
347 | i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out) | ||
348 | { | ||
349 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it); | ||
350 | } | ||
351 | |||
352 | ASN1_UTCTIME * | ||
353 | ASN1_UTCTIME_new(void) | ||
354 | { | ||
355 | return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it); | ||
356 | } | ||
357 | |||
358 | void | ||
359 | ASN1_UTCTIME_free(ASN1_UTCTIME *a) | ||
360 | { | ||
361 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); | ||
362 | } | ||
99 | 363 | ||
100 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) | 364 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) |
101 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) | 365 | |
366 | ASN1_GENERALIZEDTIME * | ||
367 | d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len) | ||
368 | { | ||
369 | return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
370 | &ASN1_GENERALIZEDTIME_it); | ||
371 | } | ||
372 | |||
373 | int | ||
374 | i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out) | ||
375 | { | ||
376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it); | ||
377 | } | ||
378 | |||
379 | ASN1_GENERALIZEDTIME * | ||
380 | ASN1_GENERALIZEDTIME_new(void) | ||
381 | { | ||
382 | return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it); | ||
383 | } | ||
384 | |||
385 | void | ||
386 | ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a) | ||
387 | { | ||
388 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); | ||
389 | } | ||
102 | 390 | ||
103 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) | 391 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) |
104 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) | 392 | |
393 | ASN1_VISIBLESTRING * | ||
394 | d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len) | ||
395 | { | ||
396 | return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
397 | &ASN1_VISIBLESTRING_it); | ||
398 | } | ||
399 | |||
400 | int | ||
401 | i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out) | ||
402 | { | ||
403 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it); | ||
404 | } | ||
405 | |||
406 | ASN1_VISIBLESTRING * | ||
407 | ASN1_VISIBLESTRING_new(void) | ||
408 | { | ||
409 | return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it); | ||
410 | } | ||
411 | |||
412 | void | ||
413 | ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a) | ||
414 | { | ||
415 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); | ||
416 | } | ||
105 | 417 | ||
106 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) | 418 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) |
107 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) | 419 | |
420 | ASN1_UNIVERSALSTRING * | ||
421 | d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len) | ||
422 | { | ||
423 | return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
424 | &ASN1_UNIVERSALSTRING_it); | ||
425 | } | ||
426 | |||
427 | int | ||
428 | i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out) | ||
429 | { | ||
430 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it); | ||
431 | } | ||
432 | |||
433 | ASN1_UNIVERSALSTRING * | ||
434 | ASN1_UNIVERSALSTRING_new(void) | ||
435 | { | ||
436 | return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it); | ||
437 | } | ||
438 | |||
439 | void | ||
440 | ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a) | ||
441 | { | ||
442 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); | ||
443 | } | ||
108 | 444 | ||
109 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) | 445 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) |
110 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING) | 446 | |
447 | ASN1_BMPSTRING * | ||
448 | d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len) | ||
449 | { | ||
450 | return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
451 | &ASN1_BMPSTRING_it); | ||
452 | } | ||
453 | |||
454 | int | ||
455 | i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out) | ||
456 | { | ||
457 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it); | ||
458 | } | ||
459 | |||
460 | ASN1_BMPSTRING * | ||
461 | ASN1_BMPSTRING_new(void) | ||
462 | { | ||
463 | return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it); | ||
464 | } | ||
465 | |||
466 | void | ||
467 | ASN1_BMPSTRING_free(ASN1_BMPSTRING *a) | ||
468 | { | ||
469 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); | ||
470 | } | ||
111 | 471 | ||
112 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) | 472 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) |
113 | 473 | ||
diff --git a/src/lib/libcrypto/asn1/x_algor.c b/src/lib/libcrypto/asn1/x_algor.c index 71aeaaade0..7d264f9fd3 100644 --- a/src/lib/libcrypto/asn1/x_algor.c +++ b/src/lib/libcrypto/asn1/x_algor.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_algor.c,v 1.13 2015/01/28 04:14:31 beck Exp $ */ | 1 | /* $OpenBSD: x_algor.c,v 1.14 2015/02/09 15:05:59 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 | */ |
@@ -70,7 +70,31 @@ ASN1_ITEM_TEMPLATE(X509_ALGORS) = | |||
70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) | 70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) |
71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) | 71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) |
72 | 72 | ||
73 | IMPLEMENT_ASN1_FUNCTIONS(X509_ALGOR) | 73 | |
74 | X509_ALGOR * | ||
75 | d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len) | ||
76 | { | ||
77 | return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
78 | &X509_ALGOR_it); | ||
79 | } | ||
80 | |||
81 | int | ||
82 | i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out) | ||
83 | { | ||
84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it); | ||
85 | } | ||
86 | |||
87 | X509_ALGOR * | ||
88 | X509_ALGOR_new(void) | ||
89 | { | ||
90 | return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it); | ||
91 | } | ||
92 | |||
93 | void | ||
94 | X509_ALGOR_free(X509_ALGOR *a) | ||
95 | { | ||
96 | ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); | ||
97 | } | ||
74 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) | 98 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) |
75 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) | 99 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) |
76 | 100 | ||
diff --git a/src/lib/libcrypto/asn1/x_attrib.c b/src/lib/libcrypto/asn1/x_attrib.c index 1efbb98bbd..aafd5dd485 100644 --- a/src/lib/libcrypto/asn1/x_attrib.c +++ b/src/lib/libcrypto/asn1/x_attrib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_attrib.c,v 1.9 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_attrib.c,v 1.10 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 | * |
@@ -93,7 +93,31 @@ ASN1_SEQUENCE(X509_ATTRIBUTE) = { | |||
93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) | 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) |
94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) | 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) |
95 | 95 | ||
96 | IMPLEMENT_ASN1_FUNCTIONS(X509_ATTRIBUTE) | 96 | |
97 | X509_ATTRIBUTE * | ||
98 | d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len) | ||
99 | { | ||
100 | return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
101 | &X509_ATTRIBUTE_it); | ||
102 | } | ||
103 | |||
104 | int | ||
105 | i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out) | ||
106 | { | ||
107 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it); | ||
108 | } | ||
109 | |||
110 | X509_ATTRIBUTE * | ||
111 | X509_ATTRIBUTE_new(void) | ||
112 | { | ||
113 | return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it); | ||
114 | } | ||
115 | |||
116 | void | ||
117 | X509_ATTRIBUTE_free(X509_ATTRIBUTE *a) | ||
118 | { | ||
119 | ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); | ||
120 | } | ||
97 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) | 121 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) |
98 | 122 | ||
99 | X509_ATTRIBUTE * | 123 | X509_ATTRIBUTE * |
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c index bdec50dc80..2539fd92c4 100644 --- a/src/lib/libcrypto/asn1/x_crl.c +++ b/src/lib/libcrypto/asn1/x_crl.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_crl.c,v 1.18 2014/07/11 13:54:41 miod Exp $ */ | 1 | /* $OpenBSD: x_crl.c,v 1.19 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 | * |
@@ -337,9 +337,81 @@ ASN1_SEQUENCE_ref(X509_CRL, crl_cb, CRYPTO_LOCK_X509_CRL) = { | |||
337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) | 337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) |
338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) | 338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) |
339 | 339 | ||
340 | IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED) | 340 | |
341 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL_INFO) | 341 | X509_REVOKED * |
342 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL) | 342 | d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len) |
343 | { | ||
344 | return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
345 | &X509_REVOKED_it); | ||
346 | } | ||
347 | |||
348 | int | ||
349 | i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out) | ||
350 | { | ||
351 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it); | ||
352 | } | ||
353 | |||
354 | X509_REVOKED * | ||
355 | X509_REVOKED_new(void) | ||
356 | { | ||
357 | return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it); | ||
358 | } | ||
359 | |||
360 | void | ||
361 | X509_REVOKED_free(X509_REVOKED *a) | ||
362 | { | ||
363 | ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it); | ||
364 | } | ||
365 | |||
366 | X509_CRL_INFO * | ||
367 | d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len) | ||
368 | { | ||
369 | return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
370 | &X509_CRL_INFO_it); | ||
371 | } | ||
372 | |||
373 | int | ||
374 | i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out) | ||
375 | { | ||
376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it); | ||
377 | } | ||
378 | |||
379 | X509_CRL_INFO * | ||
380 | X509_CRL_INFO_new(void) | ||
381 | { | ||
382 | return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it); | ||
383 | } | ||
384 | |||
385 | void | ||
386 | X509_CRL_INFO_free(X509_CRL_INFO *a) | ||
387 | { | ||
388 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it); | ||
389 | } | ||
390 | |||
391 | X509_CRL * | ||
392 | d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len) | ||
393 | { | ||
394 | return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
395 | &X509_CRL_it); | ||
396 | } | ||
397 | |||
398 | int | ||
399 | i2d_X509_CRL(X509_CRL *a, unsigned char **out) | ||
400 | { | ||
401 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it); | ||
402 | } | ||
403 | |||
404 | X509_CRL * | ||
405 | X509_CRL_new(void) | ||
406 | { | ||
407 | return (X509_CRL *)ASN1_item_new(&X509_CRL_it); | ||
408 | } | ||
409 | |||
410 | void | ||
411 | X509_CRL_free(X509_CRL *a) | ||
412 | { | ||
413 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); | ||
414 | } | ||
343 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) | 415 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) |
344 | 416 | ||
345 | static int | 417 | static int |
diff --git a/src/lib/libcrypto/asn1/x_exten.c b/src/lib/libcrypto/asn1/x_exten.c index a3fa88498b..40c521ec80 100644 --- a/src/lib/libcrypto/asn1/x_exten.c +++ b/src/lib/libcrypto/asn1/x_exten.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_exten.c,v 1.9 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_exten.c,v 1.10 2015/02/09 15:05:59 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 | */ |
@@ -71,6 +71,30 @@ ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) = | |||
71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) | 71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) |
72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) | 72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(X509_EXTENSION) | 74 | |
75 | X509_EXTENSION * | ||
76 | d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &X509_EXTENSION_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it); | ||
86 | } | ||
87 | |||
88 | X509_EXTENSION * | ||
89 | X509_EXTENSION_new(void) | ||
90 | { | ||
91 | return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | X509_EXTENSION_free(X509_EXTENSION *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); | ||
98 | } | ||
75 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) | 99 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) |
76 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) | 100 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) |
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 | ||
95 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME_ENTRY) | 95 | |
96 | X509_NAME_ENTRY * | ||
97 | d2i_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 | |||
103 | int | ||
104 | i2d_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 | |||
109 | X509_NAME_ENTRY * | ||
110 | X509_NAME_ENTRY_new(void) | ||
111 | { | ||
112 | return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it); | ||
113 | } | ||
114 | |||
115 | void | ||
116 | X509_NAME_ENTRY_free(X509_NAME_ENTRY *a) | ||
117 | { | ||
118 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); | ||
119 | } | ||
96 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) | 120 | IMPLEMENT_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 | ||
126 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) | 150 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) |
127 | 151 | ||
128 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME) | 152 | |
153 | X509_NAME * | ||
154 | d2i_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 | |||
160 | int | ||
161 | i2d_X509_NAME(X509_NAME *a, unsigned char **out) | ||
162 | { | ||
163 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it); | ||
164 | } | ||
165 | |||
166 | X509_NAME * | ||
167 | X509_NAME_new(void) | ||
168 | { | ||
169 | return (X509_NAME *)ASN1_item_new(&X509_NAME_it); | ||
170 | } | ||
171 | |||
172 | void | ||
173 | X509_NAME_free(X509_NAME *a) | ||
174 | { | ||
175 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); | ||
176 | } | ||
129 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) | 177 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) |
130 | 178 | ||
131 | static int | 179 | static int |
diff --git a/src/lib/libcrypto/asn1/x_nx509.c b/src/lib/libcrypto/asn1/x_nx509.c index eebeb9206f..9738560c19 100644 --- a/src/lib/libcrypto/asn1/x_nx509.c +++ b/src/lib/libcrypto/asn1/x_nx509.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_nx509.c,v 1.3 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_nx509.c,v 1.4 2015/02/09 15:05:59 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 2005. | 3 | * project 2005. |
4 | */ | 4 | */ |
@@ -68,4 +68,28 @@ ASN1_SEQUENCE(NETSCAPE_X509) = { | |||
68 | ASN1_OPT(NETSCAPE_X509, cert, X509) | 68 | ASN1_OPT(NETSCAPE_X509, cert, X509) |
69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) | 69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) |
70 | 70 | ||
71 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_X509) | 71 | |
72 | NETSCAPE_X509 * | ||
73 | d2i_NETSCAPE_X509(NETSCAPE_X509 **a, const unsigned char **in, long len) | ||
74 | { | ||
75 | return (NETSCAPE_X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
76 | &NETSCAPE_X509_it); | ||
77 | } | ||
78 | |||
79 | int | ||
80 | i2d_NETSCAPE_X509(NETSCAPE_X509 *a, unsigned char **out) | ||
81 | { | ||
82 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_X509_it); | ||
83 | } | ||
84 | |||
85 | NETSCAPE_X509 * | ||
86 | NETSCAPE_X509_new(void) | ||
87 | { | ||
88 | return (NETSCAPE_X509 *)ASN1_item_new(&NETSCAPE_X509_it); | ||
89 | } | ||
90 | |||
91 | void | ||
92 | NETSCAPE_X509_free(NETSCAPE_X509 *a) | ||
93 | { | ||
94 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_X509_it); | ||
95 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c index 56cc63059a..0c7d01e60d 100644 --- a/src/lib/libcrypto/asn1/x_pubkey.c +++ b/src/lib/libcrypto/asn1/x_pubkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_pubkey.c,v 1.22 2014/07/12 16:03:36 miod Exp $ */ | 1 | /* $OpenBSD: x_pubkey.c,v 1.23 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 | * |
@@ -89,7 +89,31 @@ ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { | |||
89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) | 89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) |
90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) | 90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) |
91 | 91 | ||
92 | IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) | 92 | |
93 | X509_PUBKEY * | ||
94 | d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len) | ||
95 | { | ||
96 | return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
97 | &X509_PUBKEY_it); | ||
98 | } | ||
99 | |||
100 | int | ||
101 | i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) | ||
102 | { | ||
103 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); | ||
104 | } | ||
105 | |||
106 | X509_PUBKEY * | ||
107 | X509_PUBKEY_new(void) | ||
108 | { | ||
109 | return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); | ||
110 | } | ||
111 | |||
112 | void | ||
113 | X509_PUBKEY_free(X509_PUBKEY *a) | ||
114 | { | ||
115 | ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); | ||
116 | } | ||
93 | 117 | ||
94 | int | 118 | int |
95 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | 119 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) |
diff --git a/src/lib/libcrypto/asn1/x_req.c b/src/lib/libcrypto/asn1/x_req.c index c876edd7f0..89b2d88d15 100644 --- a/src/lib/libcrypto/asn1/x_req.c +++ b/src/lib/libcrypto/asn1/x_req.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_req.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_req.c,v 1.11 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 | * |
@@ -102,7 +102,31 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { | |||
102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) | 102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) |
103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) | 103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO) | 105 | |
106 | X509_REQ_INFO * | ||
107 | d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len) | ||
108 | { | ||
109 | return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &X509_REQ_INFO_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it); | ||
117 | } | ||
118 | |||
119 | X509_REQ_INFO * | ||
120 | X509_REQ_INFO_new(void) | ||
121 | { | ||
122 | return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | X509_REQ_INFO_free(X509_REQ_INFO *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it); | ||
129 | } | ||
106 | 130 | ||
107 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | 131 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { |
108 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), | 132 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), |
@@ -110,5 +134,29 @@ ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | |||
110 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) | 134 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) |
111 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) | 135 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) |
112 | 136 | ||
113 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ) | 137 | |
138 | X509_REQ * | ||
139 | d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len) | ||
140 | { | ||
141 | return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
142 | &X509_REQ_it); | ||
143 | } | ||
144 | |||
145 | int | ||
146 | i2d_X509_REQ(X509_REQ *a, unsigned char **out) | ||
147 | { | ||
148 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it); | ||
149 | } | ||
150 | |||
151 | X509_REQ * | ||
152 | X509_REQ_new(void) | ||
153 | { | ||
154 | return (X509_REQ *)ASN1_item_new(&X509_REQ_it); | ||
155 | } | ||
156 | |||
157 | void | ||
158 | X509_REQ_free(X509_REQ *a) | ||
159 | { | ||
160 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); | ||
161 | } | ||
114 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) | 162 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) |
diff --git a/src/lib/libcrypto/asn1/x_sig.c b/src/lib/libcrypto/asn1/x_sig.c index ab4546e3ca..7c4c8c9c55 100644 --- a/src/lib/libcrypto/asn1/x_sig.c +++ b/src/lib/libcrypto/asn1/x_sig.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_sig.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_sig.c,v 1.9 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 | * |
@@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_SIG) = { | |||
66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) | 66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) |
67 | } ASN1_SEQUENCE_END(X509_SIG) | 67 | } ASN1_SEQUENCE_END(X509_SIG) |
68 | 68 | ||
69 | IMPLEMENT_ASN1_FUNCTIONS(X509_SIG) | 69 | |
70 | X509_SIG * | ||
71 | d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len) | ||
72 | { | ||
73 | return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
74 | &X509_SIG_it); | ||
75 | } | ||
76 | |||
77 | int | ||
78 | i2d_X509_SIG(X509_SIG *a, unsigned char **out) | ||
79 | { | ||
80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it); | ||
81 | } | ||
82 | |||
83 | X509_SIG * | ||
84 | X509_SIG_new(void) | ||
85 | { | ||
86 | return (X509_SIG *)ASN1_item_new(&X509_SIG_it); | ||
87 | } | ||
88 | |||
89 | void | ||
90 | X509_SIG_free(X509_SIG *a) | ||
91 | { | ||
92 | ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it); | ||
93 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_spki.c b/src/lib/libcrypto/asn1/x_spki.c index 836abb13d8..fc056ff53b 100644 --- a/src/lib/libcrypto/asn1/x_spki.c +++ b/src/lib/libcrypto/asn1/x_spki.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_spki.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_spki.c,v 1.9 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 | * |
@@ -70,7 +70,31 @@ ASN1_SEQUENCE(NETSCAPE_SPKAC) = { | |||
70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) | 70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) |
71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) | 71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) |
72 | 72 | ||
73 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC) | 73 | |
74 | NETSCAPE_SPKAC * | ||
75 | d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len) | ||
76 | { | ||
77 | return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
78 | &NETSCAPE_SPKAC_it); | ||
79 | } | ||
80 | |||
81 | int | ||
82 | i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out) | ||
83 | { | ||
84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it); | ||
85 | } | ||
86 | |||
87 | NETSCAPE_SPKAC * | ||
88 | NETSCAPE_SPKAC_new(void) | ||
89 | { | ||
90 | return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it); | ||
91 | } | ||
92 | |||
93 | void | ||
94 | NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a) | ||
95 | { | ||
96 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); | ||
97 | } | ||
74 | 98 | ||
75 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { | 99 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { |
76 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), | 100 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), |
@@ -78,4 +102,28 @@ ASN1_SEQUENCE(NETSCAPE_SPKI) = { | |||
78 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) | 102 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) |
79 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) | 103 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) |
80 | 104 | ||
81 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKI) | 105 | |
106 | NETSCAPE_SPKI * | ||
107 | d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len) | ||
108 | { | ||
109 | return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &NETSCAPE_SPKI_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it); | ||
117 | } | ||
118 | |||
119 | NETSCAPE_SPKI * | ||
120 | NETSCAPE_SPKI_new(void) | ||
121 | { | ||
122 | return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | NETSCAPE_SPKI_free(NETSCAPE_SPKI *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it); | ||
129 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_val.c b/src/lib/libcrypto/asn1/x_val.c index da9d16346b..27835e94da 100644 --- a/src/lib/libcrypto/asn1/x_val.c +++ b/src/lib/libcrypto/asn1/x_val.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_val.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_val.c,v 1.9 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 | * |
@@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_VAL) = { | |||
66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) | 66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) |
67 | } ASN1_SEQUENCE_END(X509_VAL) | 67 | } ASN1_SEQUENCE_END(X509_VAL) |
68 | 68 | ||
69 | IMPLEMENT_ASN1_FUNCTIONS(X509_VAL) | 69 | |
70 | X509_VAL * | ||
71 | d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len) | ||
72 | { | ||
73 | return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
74 | &X509_VAL_it); | ||
75 | } | ||
76 | |||
77 | int | ||
78 | i2d_X509_VAL(X509_VAL *a, unsigned char **out) | ||
79 | { | ||
80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it); | ||
81 | } | ||
82 | |||
83 | X509_VAL * | ||
84 | X509_VAL_new(void) | ||
85 | { | ||
86 | return (X509_VAL *)ASN1_item_new(&X509_VAL_it); | ||
87 | } | ||
88 | |||
89 | void | ||
90 | X509_VAL_free(X509_VAL *a) | ||
91 | { | ||
92 | ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it); | ||
93 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c index 0236a0faa2..8fd2d7684b 100644 --- a/src/lib/libcrypto/asn1/x_x509.c +++ b/src/lib/libcrypto/asn1/x_x509.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_x509.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509.c,v 1.18 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 | * |
@@ -78,7 +78,31 @@ ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = { | |||
78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) | 78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) |
79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) | 79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) |
80 | 80 | ||
81 | IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) | 81 | |
82 | X509_CINF * | ||
83 | d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len) | ||
84 | { | ||
85 | return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
86 | &X509_CINF_it); | ||
87 | } | ||
88 | |||
89 | int | ||
90 | i2d_X509_CINF(X509_CINF *a, unsigned char **out) | ||
91 | { | ||
92 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it); | ||
93 | } | ||
94 | |||
95 | X509_CINF * | ||
96 | X509_CINF_new(void) | ||
97 | { | ||
98 | return (X509_CINF *)ASN1_item_new(&X509_CINF_it); | ||
99 | } | ||
100 | |||
101 | void | ||
102 | X509_CINF_free(X509_CINF *a) | ||
103 | { | ||
104 | ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it); | ||
105 | } | ||
82 | /* X509 top level structure needs a bit of customisation */ | 106 | /* X509 top level structure needs a bit of customisation */ |
83 | 107 | ||
84 | extern void policy_cache_free(X509_POLICY_CACHE *cache); | 108 | extern void policy_cache_free(X509_POLICY_CACHE *cache); |
@@ -138,7 +162,31 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = { | |||
138 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) | 162 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) |
139 | } ASN1_SEQUENCE_END_ref(X509, X509) | 163 | } ASN1_SEQUENCE_END_ref(X509, X509) |
140 | 164 | ||
141 | IMPLEMENT_ASN1_FUNCTIONS(X509) | 165 | |
166 | X509 * | ||
167 | d2i_X509(X509 **a, const unsigned char **in, long len) | ||
168 | { | ||
169 | return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
170 | &X509_it); | ||
171 | } | ||
172 | |||
173 | int | ||
174 | i2d_X509(X509 *a, unsigned char **out) | ||
175 | { | ||
176 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it); | ||
177 | } | ||
178 | |||
179 | X509 * | ||
180 | X509_new(void) | ||
181 | { | ||
182 | return (X509 *)ASN1_item_new(&X509_it); | ||
183 | } | ||
184 | |||
185 | void | ||
186 | X509_free(X509 *a) | ||
187 | { | ||
188 | ASN1_item_free((ASN1_VALUE *)a, &X509_it); | ||
189 | } | ||
142 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) | 190 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) |
143 | 191 | ||
144 | int | 192 | int |
diff --git a/src/lib/libcrypto/asn1/x_x509a.c b/src/lib/libcrypto/asn1/x_x509a.c index c6837069d9..8a3561e882 100644 --- a/src/lib/libcrypto/asn1/x_x509a.c +++ b/src/lib/libcrypto/asn1/x_x509a.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_x509a.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509a.c,v 1.11 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -79,7 +79,31 @@ ASN1_SEQUENCE(X509_CERT_AUX) = { | |||
79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) | 79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) |
80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) | 80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) |
81 | 81 | ||
82 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_AUX) | 82 | |
83 | X509_CERT_AUX * | ||
84 | d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len) | ||
85 | { | ||
86 | return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
87 | &X509_CERT_AUX_it); | ||
88 | } | ||
89 | |||
90 | int | ||
91 | i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out) | ||
92 | { | ||
93 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it); | ||
94 | } | ||
95 | |||
96 | X509_CERT_AUX * | ||
97 | X509_CERT_AUX_new(void) | ||
98 | { | ||
99 | return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it); | ||
100 | } | ||
101 | |||
102 | void | ||
103 | X509_CERT_AUX_free(X509_CERT_AUX *a) | ||
104 | { | ||
105 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it); | ||
106 | } | ||
83 | 107 | ||
84 | static X509_CERT_AUX * | 108 | static X509_CERT_AUX * |
85 | aux_get(X509 *x) | 109 | aux_get(X509 *x) |
@@ -198,4 +222,28 @@ ASN1_SEQUENCE(X509_CERT_PAIR) = { | |||
198 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) | 222 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) |
199 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) | 223 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) |
200 | 224 | ||
201 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_PAIR) | 225 | |
226 | X509_CERT_PAIR * | ||
227 | d2i_X509_CERT_PAIR(X509_CERT_PAIR **a, const unsigned char **in, long len) | ||
228 | { | ||
229 | return (X509_CERT_PAIR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
230 | &X509_CERT_PAIR_it); | ||
231 | } | ||
232 | |||
233 | int | ||
234 | i2d_X509_CERT_PAIR(X509_CERT_PAIR *a, unsigned char **out) | ||
235 | { | ||
236 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_PAIR_it); | ||
237 | } | ||
238 | |||
239 | X509_CERT_PAIR * | ||
240 | X509_CERT_PAIR_new(void) | ||
241 | { | ||
242 | return (X509_CERT_PAIR *)ASN1_item_new(&X509_CERT_PAIR_it); | ||
243 | } | ||
244 | |||
245 | void | ||
246 | X509_CERT_PAIR_free(X509_CERT_PAIR *a) | ||
247 | { | ||
248 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_PAIR_it); | ||
249 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/a_time.c b/src/lib/libssl/src/crypto/asn1/a_time.c index c5e882a4f6..95481fc4c6 100644 --- a/src/lib/libssl/src/crypto/asn1/a_time.c +++ b/src/lib/libssl/src/crypto/asn1/a_time.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_time.c,v 1.22 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: a_time.c,v 1.23 2015/02/09 15:05:59 jsing Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -71,7 +71,31 @@ | |||
71 | 71 | ||
72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) | 72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME) | 74 | |
75 | ASN1_TIME * | ||
76 | d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (ASN1_TIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &ASN1_TIME_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_TIME_it); | ||
86 | } | ||
87 | |||
88 | ASN1_TIME * | ||
89 | ASN1_TIME_new(void) | ||
90 | { | ||
91 | return (ASN1_TIME *)ASN1_item_new(&ASN1_TIME_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | ASN1_TIME_free(ASN1_TIME *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_TIME_it); | ||
98 | } | ||
75 | 99 | ||
76 | ASN1_TIME * | 100 | ASN1_TIME * |
77 | ASN1_TIME_set(ASN1_TIME *s, time_t t) | 101 | ASN1_TIME_set(ASN1_TIME *s, time_t t) |
diff --git a/src/lib/libssl/src/crypto/asn1/nsseq.c b/src/lib/libssl/src/crypto/asn1/nsseq.c index 97af462dc0..ceab3992fd 100644 --- a/src/lib/libssl/src/crypto/asn1/nsseq.c +++ b/src/lib/libssl/src/crypto/asn1/nsseq.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: nsseq.c,v 1.7 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: nsseq.c,v 1.8 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -80,4 +80,28 @@ ASN1_SEQUENCE_cb(NETSCAPE_CERT_SEQUENCE, nsseq_cb) = { | |||
80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) | 80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) |
81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) | 81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) |
82 | 82 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) | 83 | |
84 | NETSCAPE_CERT_SEQUENCE * | ||
85 | d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a, const unsigned char **in, long len) | ||
86 | { | ||
87 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
88 | &NETSCAPE_CERT_SEQUENCE_it); | ||
89 | } | ||
90 | |||
91 | int | ||
92 | i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a, unsigned char **out) | ||
93 | { | ||
94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_CERT_SEQUENCE_it); | ||
95 | } | ||
96 | |||
97 | NETSCAPE_CERT_SEQUENCE * | ||
98 | NETSCAPE_CERT_SEQUENCE_new(void) | ||
99 | { | ||
100 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_new(&NETSCAPE_CERT_SEQUENCE_it); | ||
101 | } | ||
102 | |||
103 | void | ||
104 | NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a) | ||
105 | { | ||
106 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_CERT_SEQUENCE_it); | ||
107 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/p5_pbe.c b/src/lib/libssl/src/crypto/asn1/p5_pbe.c index 44fbb648be..7491a5bdc7 100644 --- a/src/lib/libssl/src/crypto/asn1/p5_pbe.c +++ b/src/lib/libssl/src/crypto/asn1/p5_pbe.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p5_pbe.c,v 1.17 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbe.c,v 1.18 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBEPARAM) = { | |||
71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) | 71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) |
72 | } ASN1_SEQUENCE_END(PBEPARAM) | 72 | } ASN1_SEQUENCE_END(PBEPARAM) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(PBEPARAM) | 74 | |
75 | PBEPARAM * | ||
76 | d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &PBEPARAM_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it); | ||
86 | } | ||
87 | |||
88 | PBEPARAM * | ||
89 | PBEPARAM_new(void) | ||
90 | { | ||
91 | return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | PBEPARAM_free(PBEPARAM *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it); | ||
98 | } | ||
75 | 99 | ||
76 | 100 | ||
77 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ | 101 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ |
diff --git a/src/lib/libssl/src/crypto/asn1/p5_pbev2.c b/src/lib/libssl/src/crypto/asn1/p5_pbev2.c index 0947965219..1189e7e26b 100644 --- a/src/lib/libssl/src/crypto/asn1/p5_pbev2.c +++ b/src/lib/libssl/src/crypto/asn1/p5_pbev2.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p5_pbev2.c,v 1.18 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbev2.c,v 1.19 2015/02/09 15:05:59 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 1999-2004. | 3 | * project 1999-2004. |
4 | */ | 4 | */ |
@@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBE2PARAM) = { | |||
71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) | 71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) |
72 | } ASN1_SEQUENCE_END(PBE2PARAM) | 72 | } ASN1_SEQUENCE_END(PBE2PARAM) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(PBE2PARAM) | 74 | |
75 | PBE2PARAM * | ||
76 | d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &PBE2PARAM_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it); | ||
86 | } | ||
87 | |||
88 | PBE2PARAM * | ||
89 | PBE2PARAM_new(void) | ||
90 | { | ||
91 | return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | PBE2PARAM_free(PBE2PARAM *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it); | ||
98 | } | ||
75 | 99 | ||
76 | ASN1_SEQUENCE(PBKDF2PARAM) = { | 100 | ASN1_SEQUENCE(PBKDF2PARAM) = { |
77 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), | 101 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), |
@@ -80,7 +104,31 @@ ASN1_SEQUENCE(PBKDF2PARAM) = { | |||
80 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) | 104 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) |
81 | } ASN1_SEQUENCE_END(PBKDF2PARAM) | 105 | } ASN1_SEQUENCE_END(PBKDF2PARAM) |
82 | 106 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM) | 107 | |
108 | PBKDF2PARAM * | ||
109 | d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len) | ||
110 | { | ||
111 | return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
112 | &PBKDF2PARAM_it); | ||
113 | } | ||
114 | |||
115 | int | ||
116 | i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) | ||
117 | { | ||
118 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it); | ||
119 | } | ||
120 | |||
121 | PBKDF2PARAM * | ||
122 | PBKDF2PARAM_new(void) | ||
123 | { | ||
124 | return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it); | ||
125 | } | ||
126 | |||
127 | void | ||
128 | PBKDF2PARAM_free(PBKDF2PARAM *a) | ||
129 | { | ||
130 | ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it); | ||
131 | } | ||
84 | 132 | ||
85 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: | 133 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: |
86 | * yes I know this is horrible! | 134 | * yes I know this is horrible! |
diff --git a/src/lib/libssl/src/crypto/asn1/p8_pkey.c b/src/lib/libssl/src/crypto/asn1/p8_pkey.c index 3aacecb8fb..f8688ebc17 100644 --- a/src/lib/libssl/src/crypto/asn1/p8_pkey.c +++ b/src/lib/libssl/src/crypto/asn1/p8_pkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p8_pkey.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: p8_pkey.c,v 1.13 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -82,7 +82,31 @@ ASN1_SEQUENCE_cb(PKCS8_PRIV_KEY_INFO, pkey_cb) = { | |||
82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) | 82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) |
83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) | 83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) |
84 | 84 | ||
85 | IMPLEMENT_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) | 85 | |
86 | PKCS8_PRIV_KEY_INFO * | ||
87 | d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len) | ||
88 | { | ||
89 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
90 | &PKCS8_PRIV_KEY_INFO_it); | ||
91 | } | ||
92 | |||
93 | int | ||
94 | i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out) | ||
95 | { | ||
96 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it); | ||
97 | } | ||
98 | |||
99 | PKCS8_PRIV_KEY_INFO * | ||
100 | PKCS8_PRIV_KEY_INFO_new(void) | ||
101 | { | ||
102 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it); | ||
103 | } | ||
104 | |||
105 | void | ||
106 | PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a) | ||
107 | { | ||
108 | ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it); | ||
109 | } | ||
86 | 110 | ||
87 | int | 111 | int |
88 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, | 112 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_typ.c b/src/lib/libssl/src/crypto/asn1/tasn_typ.c index 04d9c84180..2f44b4229b 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_typ.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_typ.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tasn_typ.c,v 1.6 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 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 | */ |
@@ -63,51 +63,411 @@ | |||
63 | 63 | ||
64 | 64 | ||
65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) | 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) |
66 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER) | 66 | |
67 | ASN1_INTEGER * | ||
68 | d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) | ||
69 | { | ||
70 | return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
71 | &ASN1_INTEGER_it); | ||
72 | } | ||
73 | |||
74 | int | ||
75 | i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out) | ||
76 | { | ||
77 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it); | ||
78 | } | ||
79 | |||
80 | ASN1_INTEGER * | ||
81 | ASN1_INTEGER_new(void) | ||
82 | { | ||
83 | return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it); | ||
84 | } | ||
85 | |||
86 | void | ||
87 | ASN1_INTEGER_free(ASN1_INTEGER *a) | ||
88 | { | ||
89 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); | ||
90 | } | ||
67 | 91 | ||
68 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) | 92 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) |
69 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED) | 93 | |
94 | ASN1_ENUMERATED * | ||
95 | d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) | ||
96 | { | ||
97 | return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
98 | &ASN1_ENUMERATED_it); | ||
99 | } | ||
100 | |||
101 | int | ||
102 | i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out) | ||
103 | { | ||
104 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it); | ||
105 | } | ||
106 | |||
107 | ASN1_ENUMERATED * | ||
108 | ASN1_ENUMERATED_new(void) | ||
109 | { | ||
110 | return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it); | ||
111 | } | ||
112 | |||
113 | void | ||
114 | ASN1_ENUMERATED_free(ASN1_ENUMERATED *a) | ||
115 | { | ||
116 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); | ||
117 | } | ||
70 | 118 | ||
71 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) | 119 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) |
72 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING) | 120 | |
121 | ASN1_BIT_STRING * | ||
122 | d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) | ||
123 | { | ||
124 | return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
125 | &ASN1_BIT_STRING_it); | ||
126 | } | ||
127 | |||
128 | int | ||
129 | i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out) | ||
130 | { | ||
131 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it); | ||
132 | } | ||
133 | |||
134 | ASN1_BIT_STRING * | ||
135 | ASN1_BIT_STRING_new(void) | ||
136 | { | ||
137 | return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it); | ||
138 | } | ||
139 | |||
140 | void | ||
141 | ASN1_BIT_STRING_free(ASN1_BIT_STRING *a) | ||
142 | { | ||
143 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); | ||
144 | } | ||
73 | 145 | ||
74 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) | 146 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) |
75 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING) | 147 | |
148 | ASN1_OCTET_STRING * | ||
149 | d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) | ||
150 | { | ||
151 | return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
152 | &ASN1_OCTET_STRING_it); | ||
153 | } | ||
154 | |||
155 | int | ||
156 | i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out) | ||
157 | { | ||
158 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it); | ||
159 | } | ||
160 | |||
161 | ASN1_OCTET_STRING * | ||
162 | ASN1_OCTET_STRING_new(void) | ||
163 | { | ||
164 | return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it); | ||
165 | } | ||
166 | |||
167 | void | ||
168 | ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a) | ||
169 | { | ||
170 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); | ||
171 | } | ||
76 | 172 | ||
77 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) | 173 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) |
78 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL) | 174 | |
175 | ASN1_NULL * | ||
176 | d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len) | ||
177 | { | ||
178 | return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
179 | &ASN1_NULL_it); | ||
180 | } | ||
181 | |||
182 | int | ||
183 | i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out) | ||
184 | { | ||
185 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it); | ||
186 | } | ||
187 | |||
188 | ASN1_NULL * | ||
189 | ASN1_NULL_new(void) | ||
190 | { | ||
191 | return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it); | ||
192 | } | ||
193 | |||
194 | void | ||
195 | ASN1_NULL_free(ASN1_NULL *a) | ||
196 | { | ||
197 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); | ||
198 | } | ||
79 | 199 | ||
80 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) | 200 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) |
81 | 201 | ||
82 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) | 202 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) |
83 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING) | 203 | |
204 | ASN1_UTF8STRING * | ||
205 | d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len) | ||
206 | { | ||
207 | return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
208 | &ASN1_UTF8STRING_it); | ||
209 | } | ||
210 | |||
211 | int | ||
212 | i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out) | ||
213 | { | ||
214 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it); | ||
215 | } | ||
216 | |||
217 | ASN1_UTF8STRING * | ||
218 | ASN1_UTF8STRING_new(void) | ||
219 | { | ||
220 | return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it); | ||
221 | } | ||
222 | |||
223 | void | ||
224 | ASN1_UTF8STRING_free(ASN1_UTF8STRING *a) | ||
225 | { | ||
226 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); | ||
227 | } | ||
84 | 228 | ||
85 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) | 229 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) |
86 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) | 230 | |
231 | ASN1_PRINTABLESTRING * | ||
232 | d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len) | ||
233 | { | ||
234 | return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
235 | &ASN1_PRINTABLESTRING_it); | ||
236 | } | ||
237 | |||
238 | int | ||
239 | i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out) | ||
240 | { | ||
241 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it); | ||
242 | } | ||
243 | |||
244 | ASN1_PRINTABLESTRING * | ||
245 | ASN1_PRINTABLESTRING_new(void) | ||
246 | { | ||
247 | return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it); | ||
248 | } | ||
249 | |||
250 | void | ||
251 | ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a) | ||
252 | { | ||
253 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); | ||
254 | } | ||
87 | 255 | ||
88 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) | 256 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) |
89 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING) | 257 | |
258 | ASN1_T61STRING * | ||
259 | d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len) | ||
260 | { | ||
261 | return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
262 | &ASN1_T61STRING_it); | ||
263 | } | ||
264 | |||
265 | int | ||
266 | i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out) | ||
267 | { | ||
268 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it); | ||
269 | } | ||
270 | |||
271 | ASN1_T61STRING * | ||
272 | ASN1_T61STRING_new(void) | ||
273 | { | ||
274 | return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it); | ||
275 | } | ||
276 | |||
277 | void | ||
278 | ASN1_T61STRING_free(ASN1_T61STRING *a) | ||
279 | { | ||
280 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); | ||
281 | } | ||
90 | 282 | ||
91 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) | 283 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) |
92 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING) | 284 | |
285 | ASN1_IA5STRING * | ||
286 | d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len) | ||
287 | { | ||
288 | return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
289 | &ASN1_IA5STRING_it); | ||
290 | } | ||
291 | |||
292 | int | ||
293 | i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out) | ||
294 | { | ||
295 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it); | ||
296 | } | ||
297 | |||
298 | ASN1_IA5STRING * | ||
299 | ASN1_IA5STRING_new(void) | ||
300 | { | ||
301 | return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it); | ||
302 | } | ||
303 | |||
304 | void | ||
305 | ASN1_IA5STRING_free(ASN1_IA5STRING *a) | ||
306 | { | ||
307 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); | ||
308 | } | ||
93 | 309 | ||
94 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) | 310 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) |
95 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING) | 311 | |
312 | ASN1_GENERALSTRING * | ||
313 | d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len) | ||
314 | { | ||
315 | return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
316 | &ASN1_GENERALSTRING_it); | ||
317 | } | ||
318 | |||
319 | int | ||
320 | i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out) | ||
321 | { | ||
322 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it); | ||
323 | } | ||
324 | |||
325 | ASN1_GENERALSTRING * | ||
326 | ASN1_GENERALSTRING_new(void) | ||
327 | { | ||
328 | return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it); | ||
329 | } | ||
330 | |||
331 | void | ||
332 | ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a) | ||
333 | { | ||
334 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); | ||
335 | } | ||
96 | 336 | ||
97 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) | 337 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) |
98 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME) | 338 | |
339 | ASN1_UTCTIME * | ||
340 | d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len) | ||
341 | { | ||
342 | return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
343 | &ASN1_UTCTIME_it); | ||
344 | } | ||
345 | |||
346 | int | ||
347 | i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out) | ||
348 | { | ||
349 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it); | ||
350 | } | ||
351 | |||
352 | ASN1_UTCTIME * | ||
353 | ASN1_UTCTIME_new(void) | ||
354 | { | ||
355 | return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it); | ||
356 | } | ||
357 | |||
358 | void | ||
359 | ASN1_UTCTIME_free(ASN1_UTCTIME *a) | ||
360 | { | ||
361 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); | ||
362 | } | ||
99 | 363 | ||
100 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) | 364 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) |
101 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) | 365 | |
366 | ASN1_GENERALIZEDTIME * | ||
367 | d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len) | ||
368 | { | ||
369 | return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
370 | &ASN1_GENERALIZEDTIME_it); | ||
371 | } | ||
372 | |||
373 | int | ||
374 | i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out) | ||
375 | { | ||
376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it); | ||
377 | } | ||
378 | |||
379 | ASN1_GENERALIZEDTIME * | ||
380 | ASN1_GENERALIZEDTIME_new(void) | ||
381 | { | ||
382 | return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it); | ||
383 | } | ||
384 | |||
385 | void | ||
386 | ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a) | ||
387 | { | ||
388 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); | ||
389 | } | ||
102 | 390 | ||
103 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) | 391 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) |
104 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) | 392 | |
393 | ASN1_VISIBLESTRING * | ||
394 | d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len) | ||
395 | { | ||
396 | return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
397 | &ASN1_VISIBLESTRING_it); | ||
398 | } | ||
399 | |||
400 | int | ||
401 | i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out) | ||
402 | { | ||
403 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it); | ||
404 | } | ||
405 | |||
406 | ASN1_VISIBLESTRING * | ||
407 | ASN1_VISIBLESTRING_new(void) | ||
408 | { | ||
409 | return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it); | ||
410 | } | ||
411 | |||
412 | void | ||
413 | ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a) | ||
414 | { | ||
415 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); | ||
416 | } | ||
105 | 417 | ||
106 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) | 418 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) |
107 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) | 419 | |
420 | ASN1_UNIVERSALSTRING * | ||
421 | d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len) | ||
422 | { | ||
423 | return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
424 | &ASN1_UNIVERSALSTRING_it); | ||
425 | } | ||
426 | |||
427 | int | ||
428 | i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out) | ||
429 | { | ||
430 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it); | ||
431 | } | ||
432 | |||
433 | ASN1_UNIVERSALSTRING * | ||
434 | ASN1_UNIVERSALSTRING_new(void) | ||
435 | { | ||
436 | return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it); | ||
437 | } | ||
438 | |||
439 | void | ||
440 | ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a) | ||
441 | { | ||
442 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); | ||
443 | } | ||
108 | 444 | ||
109 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) | 445 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) |
110 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING) | 446 | |
447 | ASN1_BMPSTRING * | ||
448 | d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len) | ||
449 | { | ||
450 | return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
451 | &ASN1_BMPSTRING_it); | ||
452 | } | ||
453 | |||
454 | int | ||
455 | i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out) | ||
456 | { | ||
457 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it); | ||
458 | } | ||
459 | |||
460 | ASN1_BMPSTRING * | ||
461 | ASN1_BMPSTRING_new(void) | ||
462 | { | ||
463 | return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it); | ||
464 | } | ||
465 | |||
466 | void | ||
467 | ASN1_BMPSTRING_free(ASN1_BMPSTRING *a) | ||
468 | { | ||
469 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); | ||
470 | } | ||
111 | 471 | ||
112 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) | 472 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) |
113 | 473 | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_algor.c b/src/lib/libssl/src/crypto/asn1/x_algor.c index 71aeaaade0..7d264f9fd3 100644 --- a/src/lib/libssl/src/crypto/asn1/x_algor.c +++ b/src/lib/libssl/src/crypto/asn1/x_algor.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_algor.c,v 1.13 2015/01/28 04:14:31 beck Exp $ */ | 1 | /* $OpenBSD: x_algor.c,v 1.14 2015/02/09 15:05:59 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 | */ |
@@ -70,7 +70,31 @@ ASN1_ITEM_TEMPLATE(X509_ALGORS) = | |||
70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) | 70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) |
71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) | 71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) |
72 | 72 | ||
73 | IMPLEMENT_ASN1_FUNCTIONS(X509_ALGOR) | 73 | |
74 | X509_ALGOR * | ||
75 | d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len) | ||
76 | { | ||
77 | return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
78 | &X509_ALGOR_it); | ||
79 | } | ||
80 | |||
81 | int | ||
82 | i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out) | ||
83 | { | ||
84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it); | ||
85 | } | ||
86 | |||
87 | X509_ALGOR * | ||
88 | X509_ALGOR_new(void) | ||
89 | { | ||
90 | return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it); | ||
91 | } | ||
92 | |||
93 | void | ||
94 | X509_ALGOR_free(X509_ALGOR *a) | ||
95 | { | ||
96 | ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); | ||
97 | } | ||
74 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) | 98 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) |
75 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) | 99 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) |
76 | 100 | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_attrib.c b/src/lib/libssl/src/crypto/asn1/x_attrib.c index 1efbb98bbd..aafd5dd485 100644 --- a/src/lib/libssl/src/crypto/asn1/x_attrib.c +++ b/src/lib/libssl/src/crypto/asn1/x_attrib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_attrib.c,v 1.9 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_attrib.c,v 1.10 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 | * |
@@ -93,7 +93,31 @@ ASN1_SEQUENCE(X509_ATTRIBUTE) = { | |||
93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) | 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) |
94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) | 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) |
95 | 95 | ||
96 | IMPLEMENT_ASN1_FUNCTIONS(X509_ATTRIBUTE) | 96 | |
97 | X509_ATTRIBUTE * | ||
98 | d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len) | ||
99 | { | ||
100 | return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
101 | &X509_ATTRIBUTE_it); | ||
102 | } | ||
103 | |||
104 | int | ||
105 | i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out) | ||
106 | { | ||
107 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it); | ||
108 | } | ||
109 | |||
110 | X509_ATTRIBUTE * | ||
111 | X509_ATTRIBUTE_new(void) | ||
112 | { | ||
113 | return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it); | ||
114 | } | ||
115 | |||
116 | void | ||
117 | X509_ATTRIBUTE_free(X509_ATTRIBUTE *a) | ||
118 | { | ||
119 | ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); | ||
120 | } | ||
97 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) | 121 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) |
98 | 122 | ||
99 | X509_ATTRIBUTE * | 123 | X509_ATTRIBUTE * |
diff --git a/src/lib/libssl/src/crypto/asn1/x_crl.c b/src/lib/libssl/src/crypto/asn1/x_crl.c index bdec50dc80..2539fd92c4 100644 --- a/src/lib/libssl/src/crypto/asn1/x_crl.c +++ b/src/lib/libssl/src/crypto/asn1/x_crl.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_crl.c,v 1.18 2014/07/11 13:54:41 miod Exp $ */ | 1 | /* $OpenBSD: x_crl.c,v 1.19 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 | * |
@@ -337,9 +337,81 @@ ASN1_SEQUENCE_ref(X509_CRL, crl_cb, CRYPTO_LOCK_X509_CRL) = { | |||
337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) | 337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) |
338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) | 338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) |
339 | 339 | ||
340 | IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED) | 340 | |
341 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL_INFO) | 341 | X509_REVOKED * |
342 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL) | 342 | d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len) |
343 | { | ||
344 | return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
345 | &X509_REVOKED_it); | ||
346 | } | ||
347 | |||
348 | int | ||
349 | i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out) | ||
350 | { | ||
351 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it); | ||
352 | } | ||
353 | |||
354 | X509_REVOKED * | ||
355 | X509_REVOKED_new(void) | ||
356 | { | ||
357 | return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it); | ||
358 | } | ||
359 | |||
360 | void | ||
361 | X509_REVOKED_free(X509_REVOKED *a) | ||
362 | { | ||
363 | ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it); | ||
364 | } | ||
365 | |||
366 | X509_CRL_INFO * | ||
367 | d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len) | ||
368 | { | ||
369 | return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
370 | &X509_CRL_INFO_it); | ||
371 | } | ||
372 | |||
373 | int | ||
374 | i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out) | ||
375 | { | ||
376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it); | ||
377 | } | ||
378 | |||
379 | X509_CRL_INFO * | ||
380 | X509_CRL_INFO_new(void) | ||
381 | { | ||
382 | return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it); | ||
383 | } | ||
384 | |||
385 | void | ||
386 | X509_CRL_INFO_free(X509_CRL_INFO *a) | ||
387 | { | ||
388 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it); | ||
389 | } | ||
390 | |||
391 | X509_CRL * | ||
392 | d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len) | ||
393 | { | ||
394 | return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
395 | &X509_CRL_it); | ||
396 | } | ||
397 | |||
398 | int | ||
399 | i2d_X509_CRL(X509_CRL *a, unsigned char **out) | ||
400 | { | ||
401 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it); | ||
402 | } | ||
403 | |||
404 | X509_CRL * | ||
405 | X509_CRL_new(void) | ||
406 | { | ||
407 | return (X509_CRL *)ASN1_item_new(&X509_CRL_it); | ||
408 | } | ||
409 | |||
410 | void | ||
411 | X509_CRL_free(X509_CRL *a) | ||
412 | { | ||
413 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); | ||
414 | } | ||
343 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) | 415 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) |
344 | 416 | ||
345 | static int | 417 | static int |
diff --git a/src/lib/libssl/src/crypto/asn1/x_exten.c b/src/lib/libssl/src/crypto/asn1/x_exten.c index a3fa88498b..40c521ec80 100644 --- a/src/lib/libssl/src/crypto/asn1/x_exten.c +++ b/src/lib/libssl/src/crypto/asn1/x_exten.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_exten.c,v 1.9 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_exten.c,v 1.10 2015/02/09 15:05:59 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 | */ |
@@ -71,6 +71,30 @@ ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) = | |||
71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) | 71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) |
72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) | 72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) |
73 | 73 | ||
74 | IMPLEMENT_ASN1_FUNCTIONS(X509_EXTENSION) | 74 | |
75 | X509_EXTENSION * | ||
76 | d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len) | ||
77 | { | ||
78 | return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
79 | &X509_EXTENSION_it); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out) | ||
84 | { | ||
85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it); | ||
86 | } | ||
87 | |||
88 | X509_EXTENSION * | ||
89 | X509_EXTENSION_new(void) | ||
90 | { | ||
91 | return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it); | ||
92 | } | ||
93 | |||
94 | void | ||
95 | X509_EXTENSION_free(X509_EXTENSION *a) | ||
96 | { | ||
97 | ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); | ||
98 | } | ||
75 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) | 99 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) |
76 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) | 100 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) |
diff --git a/src/lib/libssl/src/crypto/asn1/x_name.c b/src/lib/libssl/src/crypto/asn1/x_name.c index 7c77ceea3b..a7f0e14d13 100644 --- a/src/lib/libssl/src/crypto/asn1/x_name.c +++ b/src/lib/libssl/src/crypto/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 | ||
95 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME_ENTRY) | 95 | |
96 | X509_NAME_ENTRY * | ||
97 | d2i_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 | |||
103 | int | ||
104 | i2d_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 | |||
109 | X509_NAME_ENTRY * | ||
110 | X509_NAME_ENTRY_new(void) | ||
111 | { | ||
112 | return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it); | ||
113 | } | ||
114 | |||
115 | void | ||
116 | X509_NAME_ENTRY_free(X509_NAME_ENTRY *a) | ||
117 | { | ||
118 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); | ||
119 | } | ||
96 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) | 120 | IMPLEMENT_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 | ||
126 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) | 150 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) |
127 | 151 | ||
128 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME) | 152 | |
153 | X509_NAME * | ||
154 | d2i_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 | |||
160 | int | ||
161 | i2d_X509_NAME(X509_NAME *a, unsigned char **out) | ||
162 | { | ||
163 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it); | ||
164 | } | ||
165 | |||
166 | X509_NAME * | ||
167 | X509_NAME_new(void) | ||
168 | { | ||
169 | return (X509_NAME *)ASN1_item_new(&X509_NAME_it); | ||
170 | } | ||
171 | |||
172 | void | ||
173 | X509_NAME_free(X509_NAME *a) | ||
174 | { | ||
175 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); | ||
176 | } | ||
129 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) | 177 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) |
130 | 178 | ||
131 | static int | 179 | static int |
diff --git a/src/lib/libssl/src/crypto/asn1/x_nx509.c b/src/lib/libssl/src/crypto/asn1/x_nx509.c index eebeb9206f..9738560c19 100644 --- a/src/lib/libssl/src/crypto/asn1/x_nx509.c +++ b/src/lib/libssl/src/crypto/asn1/x_nx509.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_nx509.c,v 1.3 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_nx509.c,v 1.4 2015/02/09 15:05:59 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 2005. | 3 | * project 2005. |
4 | */ | 4 | */ |
@@ -68,4 +68,28 @@ ASN1_SEQUENCE(NETSCAPE_X509) = { | |||
68 | ASN1_OPT(NETSCAPE_X509, cert, X509) | 68 | ASN1_OPT(NETSCAPE_X509, cert, X509) |
69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) | 69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) |
70 | 70 | ||
71 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_X509) | 71 | |
72 | NETSCAPE_X509 * | ||
73 | d2i_NETSCAPE_X509(NETSCAPE_X509 **a, const unsigned char **in, long len) | ||
74 | { | ||
75 | return (NETSCAPE_X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
76 | &NETSCAPE_X509_it); | ||
77 | } | ||
78 | |||
79 | int | ||
80 | i2d_NETSCAPE_X509(NETSCAPE_X509 *a, unsigned char **out) | ||
81 | { | ||
82 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_X509_it); | ||
83 | } | ||
84 | |||
85 | NETSCAPE_X509 * | ||
86 | NETSCAPE_X509_new(void) | ||
87 | { | ||
88 | return (NETSCAPE_X509 *)ASN1_item_new(&NETSCAPE_X509_it); | ||
89 | } | ||
90 | |||
91 | void | ||
92 | NETSCAPE_X509_free(NETSCAPE_X509 *a) | ||
93 | { | ||
94 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_X509_it); | ||
95 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_pubkey.c b/src/lib/libssl/src/crypto/asn1/x_pubkey.c index 56cc63059a..0c7d01e60d 100644 --- a/src/lib/libssl/src/crypto/asn1/x_pubkey.c +++ b/src/lib/libssl/src/crypto/asn1/x_pubkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_pubkey.c,v 1.22 2014/07/12 16:03:36 miod Exp $ */ | 1 | /* $OpenBSD: x_pubkey.c,v 1.23 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 | * |
@@ -89,7 +89,31 @@ ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { | |||
89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) | 89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) |
90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) | 90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) |
91 | 91 | ||
92 | IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) | 92 | |
93 | X509_PUBKEY * | ||
94 | d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len) | ||
95 | { | ||
96 | return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
97 | &X509_PUBKEY_it); | ||
98 | } | ||
99 | |||
100 | int | ||
101 | i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) | ||
102 | { | ||
103 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); | ||
104 | } | ||
105 | |||
106 | X509_PUBKEY * | ||
107 | X509_PUBKEY_new(void) | ||
108 | { | ||
109 | return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); | ||
110 | } | ||
111 | |||
112 | void | ||
113 | X509_PUBKEY_free(X509_PUBKEY *a) | ||
114 | { | ||
115 | ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); | ||
116 | } | ||
93 | 117 | ||
94 | int | 118 | int |
95 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | 119 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) |
diff --git a/src/lib/libssl/src/crypto/asn1/x_req.c b/src/lib/libssl/src/crypto/asn1/x_req.c index c876edd7f0..89b2d88d15 100644 --- a/src/lib/libssl/src/crypto/asn1/x_req.c +++ b/src/lib/libssl/src/crypto/asn1/x_req.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_req.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_req.c,v 1.11 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 | * |
@@ -102,7 +102,31 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { | |||
102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) | 102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) |
103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) | 103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO) | 105 | |
106 | X509_REQ_INFO * | ||
107 | d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len) | ||
108 | { | ||
109 | return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &X509_REQ_INFO_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it); | ||
117 | } | ||
118 | |||
119 | X509_REQ_INFO * | ||
120 | X509_REQ_INFO_new(void) | ||
121 | { | ||
122 | return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | X509_REQ_INFO_free(X509_REQ_INFO *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it); | ||
129 | } | ||
106 | 130 | ||
107 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | 131 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { |
108 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), | 132 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), |
@@ -110,5 +134,29 @@ ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | |||
110 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) | 134 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) |
111 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) | 135 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) |
112 | 136 | ||
113 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ) | 137 | |
138 | X509_REQ * | ||
139 | d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len) | ||
140 | { | ||
141 | return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
142 | &X509_REQ_it); | ||
143 | } | ||
144 | |||
145 | int | ||
146 | i2d_X509_REQ(X509_REQ *a, unsigned char **out) | ||
147 | { | ||
148 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it); | ||
149 | } | ||
150 | |||
151 | X509_REQ * | ||
152 | X509_REQ_new(void) | ||
153 | { | ||
154 | return (X509_REQ *)ASN1_item_new(&X509_REQ_it); | ||
155 | } | ||
156 | |||
157 | void | ||
158 | X509_REQ_free(X509_REQ *a) | ||
159 | { | ||
160 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); | ||
161 | } | ||
114 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) | 162 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) |
diff --git a/src/lib/libssl/src/crypto/asn1/x_sig.c b/src/lib/libssl/src/crypto/asn1/x_sig.c index ab4546e3ca..7c4c8c9c55 100644 --- a/src/lib/libssl/src/crypto/asn1/x_sig.c +++ b/src/lib/libssl/src/crypto/asn1/x_sig.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_sig.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_sig.c,v 1.9 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 | * |
@@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_SIG) = { | |||
66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) | 66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) |
67 | } ASN1_SEQUENCE_END(X509_SIG) | 67 | } ASN1_SEQUENCE_END(X509_SIG) |
68 | 68 | ||
69 | IMPLEMENT_ASN1_FUNCTIONS(X509_SIG) | 69 | |
70 | X509_SIG * | ||
71 | d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len) | ||
72 | { | ||
73 | return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
74 | &X509_SIG_it); | ||
75 | } | ||
76 | |||
77 | int | ||
78 | i2d_X509_SIG(X509_SIG *a, unsigned char **out) | ||
79 | { | ||
80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it); | ||
81 | } | ||
82 | |||
83 | X509_SIG * | ||
84 | X509_SIG_new(void) | ||
85 | { | ||
86 | return (X509_SIG *)ASN1_item_new(&X509_SIG_it); | ||
87 | } | ||
88 | |||
89 | void | ||
90 | X509_SIG_free(X509_SIG *a) | ||
91 | { | ||
92 | ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it); | ||
93 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_spki.c b/src/lib/libssl/src/crypto/asn1/x_spki.c index 836abb13d8..fc056ff53b 100644 --- a/src/lib/libssl/src/crypto/asn1/x_spki.c +++ b/src/lib/libssl/src/crypto/asn1/x_spki.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_spki.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_spki.c,v 1.9 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 | * |
@@ -70,7 +70,31 @@ ASN1_SEQUENCE(NETSCAPE_SPKAC) = { | |||
70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) | 70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) |
71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) | 71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) |
72 | 72 | ||
73 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC) | 73 | |
74 | NETSCAPE_SPKAC * | ||
75 | d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len) | ||
76 | { | ||
77 | return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
78 | &NETSCAPE_SPKAC_it); | ||
79 | } | ||
80 | |||
81 | int | ||
82 | i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out) | ||
83 | { | ||
84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it); | ||
85 | } | ||
86 | |||
87 | NETSCAPE_SPKAC * | ||
88 | NETSCAPE_SPKAC_new(void) | ||
89 | { | ||
90 | return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it); | ||
91 | } | ||
92 | |||
93 | void | ||
94 | NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a) | ||
95 | { | ||
96 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); | ||
97 | } | ||
74 | 98 | ||
75 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { | 99 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { |
76 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), | 100 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), |
@@ -78,4 +102,28 @@ ASN1_SEQUENCE(NETSCAPE_SPKI) = { | |||
78 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) | 102 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) |
79 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) | 103 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) |
80 | 104 | ||
81 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKI) | 105 | |
106 | NETSCAPE_SPKI * | ||
107 | d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len) | ||
108 | { | ||
109 | return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &NETSCAPE_SPKI_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it); | ||
117 | } | ||
118 | |||
119 | NETSCAPE_SPKI * | ||
120 | NETSCAPE_SPKI_new(void) | ||
121 | { | ||
122 | return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | NETSCAPE_SPKI_free(NETSCAPE_SPKI *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it); | ||
129 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_val.c b/src/lib/libssl/src/crypto/asn1/x_val.c index da9d16346b..27835e94da 100644 --- a/src/lib/libssl/src/crypto/asn1/x_val.c +++ b/src/lib/libssl/src/crypto/asn1/x_val.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_val.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_val.c,v 1.9 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 | * |
@@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_VAL) = { | |||
66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) | 66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) |
67 | } ASN1_SEQUENCE_END(X509_VAL) | 67 | } ASN1_SEQUENCE_END(X509_VAL) |
68 | 68 | ||
69 | IMPLEMENT_ASN1_FUNCTIONS(X509_VAL) | 69 | |
70 | X509_VAL * | ||
71 | d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len) | ||
72 | { | ||
73 | return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
74 | &X509_VAL_it); | ||
75 | } | ||
76 | |||
77 | int | ||
78 | i2d_X509_VAL(X509_VAL *a, unsigned char **out) | ||
79 | { | ||
80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it); | ||
81 | } | ||
82 | |||
83 | X509_VAL * | ||
84 | X509_VAL_new(void) | ||
85 | { | ||
86 | return (X509_VAL *)ASN1_item_new(&X509_VAL_it); | ||
87 | } | ||
88 | |||
89 | void | ||
90 | X509_VAL_free(X509_VAL *a) | ||
91 | { | ||
92 | ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it); | ||
93 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_x509.c b/src/lib/libssl/src/crypto/asn1/x_x509.c index 0236a0faa2..8fd2d7684b 100644 --- a/src/lib/libssl/src/crypto/asn1/x_x509.c +++ b/src/lib/libssl/src/crypto/asn1/x_x509.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_x509.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509.c,v 1.18 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 | * |
@@ -78,7 +78,31 @@ ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = { | |||
78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) | 78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) |
79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) | 79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) |
80 | 80 | ||
81 | IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) | 81 | |
82 | X509_CINF * | ||
83 | d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len) | ||
84 | { | ||
85 | return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
86 | &X509_CINF_it); | ||
87 | } | ||
88 | |||
89 | int | ||
90 | i2d_X509_CINF(X509_CINF *a, unsigned char **out) | ||
91 | { | ||
92 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it); | ||
93 | } | ||
94 | |||
95 | X509_CINF * | ||
96 | X509_CINF_new(void) | ||
97 | { | ||
98 | return (X509_CINF *)ASN1_item_new(&X509_CINF_it); | ||
99 | } | ||
100 | |||
101 | void | ||
102 | X509_CINF_free(X509_CINF *a) | ||
103 | { | ||
104 | ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it); | ||
105 | } | ||
82 | /* X509 top level structure needs a bit of customisation */ | 106 | /* X509 top level structure needs a bit of customisation */ |
83 | 107 | ||
84 | extern void policy_cache_free(X509_POLICY_CACHE *cache); | 108 | extern void policy_cache_free(X509_POLICY_CACHE *cache); |
@@ -138,7 +162,31 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = { | |||
138 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) | 162 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) |
139 | } ASN1_SEQUENCE_END_ref(X509, X509) | 163 | } ASN1_SEQUENCE_END_ref(X509, X509) |
140 | 164 | ||
141 | IMPLEMENT_ASN1_FUNCTIONS(X509) | 165 | |
166 | X509 * | ||
167 | d2i_X509(X509 **a, const unsigned char **in, long len) | ||
168 | { | ||
169 | return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
170 | &X509_it); | ||
171 | } | ||
172 | |||
173 | int | ||
174 | i2d_X509(X509 *a, unsigned char **out) | ||
175 | { | ||
176 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it); | ||
177 | } | ||
178 | |||
179 | X509 * | ||
180 | X509_new(void) | ||
181 | { | ||
182 | return (X509 *)ASN1_item_new(&X509_it); | ||
183 | } | ||
184 | |||
185 | void | ||
186 | X509_free(X509 *a) | ||
187 | { | ||
188 | ASN1_item_free((ASN1_VALUE *)a, &X509_it); | ||
189 | } | ||
142 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) | 190 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) |
143 | 191 | ||
144 | int | 192 | int |
diff --git a/src/lib/libssl/src/crypto/asn1/x_x509a.c b/src/lib/libssl/src/crypto/asn1/x_x509a.c index c6837069d9..8a3561e882 100644 --- a/src/lib/libssl/src/crypto/asn1/x_x509a.c +++ b/src/lib/libssl/src/crypto/asn1/x_x509a.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x_x509a.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509a.c,v 1.11 2015/02/09 15:05:59 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 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -79,7 +79,31 @@ ASN1_SEQUENCE(X509_CERT_AUX) = { | |||
79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) | 79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) |
80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) | 80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) |
81 | 81 | ||
82 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_AUX) | 82 | |
83 | X509_CERT_AUX * | ||
84 | d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len) | ||
85 | { | ||
86 | return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
87 | &X509_CERT_AUX_it); | ||
88 | } | ||
89 | |||
90 | int | ||
91 | i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out) | ||
92 | { | ||
93 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it); | ||
94 | } | ||
95 | |||
96 | X509_CERT_AUX * | ||
97 | X509_CERT_AUX_new(void) | ||
98 | { | ||
99 | return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it); | ||
100 | } | ||
101 | |||
102 | void | ||
103 | X509_CERT_AUX_free(X509_CERT_AUX *a) | ||
104 | { | ||
105 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it); | ||
106 | } | ||
83 | 107 | ||
84 | static X509_CERT_AUX * | 108 | static X509_CERT_AUX * |
85 | aux_get(X509 *x) | 109 | aux_get(X509 *x) |
@@ -198,4 +222,28 @@ ASN1_SEQUENCE(X509_CERT_PAIR) = { | |||
198 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) | 222 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) |
199 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) | 223 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) |
200 | 224 | ||
201 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_PAIR) | 225 | |
226 | X509_CERT_PAIR * | ||
227 | d2i_X509_CERT_PAIR(X509_CERT_PAIR **a, const unsigned char **in, long len) | ||
228 | { | ||
229 | return (X509_CERT_PAIR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
230 | &X509_CERT_PAIR_it); | ||
231 | } | ||
232 | |||
233 | int | ||
234 | i2d_X509_CERT_PAIR(X509_CERT_PAIR *a, unsigned char **out) | ||
235 | { | ||
236 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_PAIR_it); | ||
237 | } | ||
238 | |||
239 | X509_CERT_PAIR * | ||
240 | X509_CERT_PAIR_new(void) | ||
241 | { | ||
242 | return (X509_CERT_PAIR *)ASN1_item_new(&X509_CERT_PAIR_it); | ||
243 | } | ||
244 | |||
245 | void | ||
246 | X509_CERT_PAIR_free(X509_CERT_PAIR *a) | ||
247 | { | ||
248 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_PAIR_it); | ||
249 | } | ||