diff options
author | jsing <> | 2015-02-09 15:05:59 +0000 |
---|---|---|
committer | jsing <> | 2015-02-09 15:05:59 +0000 |
commit | 42f7780549de5b7b5e3e7943cfef87e0e41970fc (patch) | |
tree | 80e095d0af9796de5fe6127773c94c044f1f68bd /src | |
parent | b1708fb06623ef1ece520a3f98163861f92085de (diff) | |
download | openbsd-42f7780549de5b7b5e3e7943cfef87e0e41970fc.tar.gz openbsd-42f7780549de5b7b5e3e7943cfef87e0e41970fc.tar.bz2 openbsd-42f7780549de5b7b5e3e7943cfef87e0e41970fc.zip |
Expand the IMPLEMENT_ASN1_FUNCTIONS macro so that the code is visible and
functions can be readily located.
Change has been scripted and the generated assembly only differs by changes
to line numbers.
Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src')
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 | } | ||