diff options
author | jsing <> | 2015-02-09 16:03:11 +0000 |
---|---|---|
committer | jsing <> | 2015-02-09 16:03:11 +0000 |
commit | c67b08b466720c73bce5f5a0ee6d8ccf43683ae6 (patch) | |
tree | 450aac9231a21230a1a136407055b6264089d1b8 | |
parent | 16f790d01f7a6fc6c94e2a033a67b80c8ec5291c (diff) | |
download | openbsd-c67b08b466720c73bce5f5a0ee6d8ccf43683ae6.tar.gz openbsd-c67b08b466720c73bce5f5a0ee6d8ccf43683ae6.tar.bz2 openbsd-c67b08b466720c73bce5f5a0ee6d8ccf43683ae6.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@
24 files changed, 1574 insertions, 86 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_addr.c b/src/lib/libcrypto/x509v3/v3_addr.c index 40efb1b9ac..4073aeeaa6 100644 --- a/src/lib/libcrypto/x509v3/v3_addr.c +++ b/src/lib/libcrypto/x509v3/v3_addr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_addr.c,v 1.14 2014/11/18 03:28:05 tedu Exp $ */ | 1 | /* $OpenBSD: v3_addr.c,v 1.15 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -102,10 +102,106 @@ ASN1_ITEM_TEMPLATE(IPAddrBlocks) = | |||
102 | IPAddrBlocks, IPAddressFamily) | 102 | IPAddrBlocks, IPAddressFamily) |
103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) | 103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressRange) | 105 | |
106 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressOrRange) | 106 | IPAddressRange * |
107 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressChoice) | 107 | d2i_IPAddressRange(IPAddressRange **a, const unsigned char **in, long len) |
108 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressFamily) | 108 | { |
109 | return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &IPAddressRange_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_IPAddressRange(IPAddressRange *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it); | ||
117 | } | ||
118 | |||
119 | IPAddressRange * | ||
120 | IPAddressRange_new(void) | ||
121 | { | ||
122 | return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | IPAddressRange_free(IPAddressRange *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it); | ||
129 | } | ||
130 | |||
131 | IPAddressOrRange * | ||
132 | d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len) | ||
133 | { | ||
134 | return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
135 | &IPAddressOrRange_it); | ||
136 | } | ||
137 | |||
138 | int | ||
139 | i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out) | ||
140 | { | ||
141 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it); | ||
142 | } | ||
143 | |||
144 | IPAddressOrRange * | ||
145 | IPAddressOrRange_new(void) | ||
146 | { | ||
147 | return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it); | ||
148 | } | ||
149 | |||
150 | void | ||
151 | IPAddressOrRange_free(IPAddressOrRange *a) | ||
152 | { | ||
153 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it); | ||
154 | } | ||
155 | |||
156 | IPAddressChoice * | ||
157 | d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len) | ||
158 | { | ||
159 | return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
160 | &IPAddressChoice_it); | ||
161 | } | ||
162 | |||
163 | int | ||
164 | i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out) | ||
165 | { | ||
166 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it); | ||
167 | } | ||
168 | |||
169 | IPAddressChoice * | ||
170 | IPAddressChoice_new(void) | ||
171 | { | ||
172 | return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it); | ||
173 | } | ||
174 | |||
175 | void | ||
176 | IPAddressChoice_free(IPAddressChoice *a) | ||
177 | { | ||
178 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it); | ||
179 | } | ||
180 | |||
181 | IPAddressFamily * | ||
182 | d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len) | ||
183 | { | ||
184 | return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
185 | &IPAddressFamily_it); | ||
186 | } | ||
187 | |||
188 | int | ||
189 | i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out) | ||
190 | { | ||
191 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it); | ||
192 | } | ||
193 | |||
194 | IPAddressFamily * | ||
195 | IPAddressFamily_new(void) | ||
196 | { | ||
197 | return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it); | ||
198 | } | ||
199 | |||
200 | void | ||
201 | IPAddressFamily_free(IPAddressFamily *a) | ||
202 | { | ||
203 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it); | ||
204 | } | ||
109 | 205 | ||
110 | /* | 206 | /* |
111 | * How much buffer space do we need for a raw address? | 207 | * How much buffer space do we need for a raw address? |
diff --git a/src/lib/libcrypto/x509v3/v3_akeya.c b/src/lib/libcrypto/x509v3/v3_akeya.c index 247c9f48a9..1848c0911e 100644 --- a/src/lib/libcrypto/x509v3/v3_akeya.c +++ b/src/lib/libcrypto/x509v3/v3_akeya.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_akeya.c,v 1.5 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_akeya.c,v 1.6 2015/02/09 16:03:11 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 | */ |
@@ -69,4 +69,28 @@ ASN1_SEQUENCE(AUTHORITY_KEYID) = { | |||
69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) | 69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) |
70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) | 70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_KEYID) | 72 | |
73 | AUTHORITY_KEYID * | ||
74 | d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (AUTHORITY_KEYID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &AUTHORITY_KEYID_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_KEYID_it); | ||
84 | } | ||
85 | |||
86 | AUTHORITY_KEYID * | ||
87 | AUTHORITY_KEYID_new(void) | ||
88 | { | ||
89 | return (AUTHORITY_KEYID *)ASN1_item_new(&AUTHORITY_KEYID_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_KEYID_it); | ||
96 | } | ||
diff --git a/src/lib/libcrypto/x509v3/v3_asid.c b/src/lib/libcrypto/x509v3/v3_asid.c index 680eed31ec..10f82c573d 100644 --- a/src/lib/libcrypto/x509v3/v3_asid.c +++ b/src/lib/libcrypto/x509v3/v3_asid.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_asid.c,v 1.11 2014/07/13 16:03:10 beck Exp $ */ | 1 | /* $OpenBSD: v3_asid.c,v 1.12 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -98,10 +98,106 @@ ASN1_SEQUENCE(ASIdentifiers) = { | |||
98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) | 98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) |
99 | } ASN1_SEQUENCE_END(ASIdentifiers) | 99 | } ASN1_SEQUENCE_END(ASIdentifiers) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ASRange) | 101 | |
102 | IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange) | 102 | ASRange * |
103 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice) | 103 | d2i_ASRange(ASRange **a, const unsigned char **in, long len) |
104 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers) | 104 | { |
105 | return (ASRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ASRange_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ASRange(ASRange *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASRange_it); | ||
113 | } | ||
114 | |||
115 | ASRange * | ||
116 | ASRange_new(void) | ||
117 | { | ||
118 | return (ASRange *)ASN1_item_new(&ASRange_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ASRange_free(ASRange *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ASRange_it); | ||
125 | } | ||
126 | |||
127 | ASIdOrRange * | ||
128 | d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len) | ||
129 | { | ||
130 | return (ASIdOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
131 | &ASIdOrRange_it); | ||
132 | } | ||
133 | |||
134 | int | ||
135 | i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out) | ||
136 | { | ||
137 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdOrRange_it); | ||
138 | } | ||
139 | |||
140 | ASIdOrRange * | ||
141 | ASIdOrRange_new(void) | ||
142 | { | ||
143 | return (ASIdOrRange *)ASN1_item_new(&ASIdOrRange_it); | ||
144 | } | ||
145 | |||
146 | void | ||
147 | ASIdOrRange_free(ASIdOrRange *a) | ||
148 | { | ||
149 | ASN1_item_free((ASN1_VALUE *)a, &ASIdOrRange_it); | ||
150 | } | ||
151 | |||
152 | ASIdentifierChoice * | ||
153 | d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in, long len) | ||
154 | { | ||
155 | return (ASIdentifierChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
156 | &ASIdentifierChoice_it); | ||
157 | } | ||
158 | |||
159 | int | ||
160 | i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out) | ||
161 | { | ||
162 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifierChoice_it); | ||
163 | } | ||
164 | |||
165 | ASIdentifierChoice * | ||
166 | ASIdentifierChoice_new(void) | ||
167 | { | ||
168 | return (ASIdentifierChoice *)ASN1_item_new(&ASIdentifierChoice_it); | ||
169 | } | ||
170 | |||
171 | void | ||
172 | ASIdentifierChoice_free(ASIdentifierChoice *a) | ||
173 | { | ||
174 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifierChoice_it); | ||
175 | } | ||
176 | |||
177 | ASIdentifiers * | ||
178 | d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len) | ||
179 | { | ||
180 | return (ASIdentifiers *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
181 | &ASIdentifiers_it); | ||
182 | } | ||
183 | |||
184 | int | ||
185 | i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out) | ||
186 | { | ||
187 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifiers_it); | ||
188 | } | ||
189 | |||
190 | ASIdentifiers * | ||
191 | ASIdentifiers_new(void) | ||
192 | { | ||
193 | return (ASIdentifiers *)ASN1_item_new(&ASIdentifiers_it); | ||
194 | } | ||
195 | |||
196 | void | ||
197 | ASIdentifiers_free(ASIdentifiers *a) | ||
198 | { | ||
199 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifiers_it); | ||
200 | } | ||
105 | 201 | ||
106 | /* | 202 | /* |
107 | * i2r method for an ASIdentifierChoice. | 203 | * i2r method for an ASIdentifierChoice. |
diff --git a/src/lib/libcrypto/x509v3/v3_bcons.c b/src/lib/libcrypto/x509v3/v3_bcons.c index 8e2632d379..fb3f6c7619 100644 --- a/src/lib/libcrypto/x509v3/v3_bcons.c +++ b/src/lib/libcrypto/x509v3/v3_bcons.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_bcons.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_bcons.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -86,7 +86,31 @@ ASN1_SEQUENCE(BASIC_CONSTRAINTS) = { | |||
86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) | 86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) |
87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) | 87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) |
88 | 88 | ||
89 | IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) | 89 | |
90 | BASIC_CONSTRAINTS * | ||
91 | d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len) | ||
92 | { | ||
93 | return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
94 | &BASIC_CONSTRAINTS_it); | ||
95 | } | ||
96 | |||
97 | int | ||
98 | i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out) | ||
99 | { | ||
100 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &BASIC_CONSTRAINTS_it); | ||
101 | } | ||
102 | |||
103 | BASIC_CONSTRAINTS * | ||
104 | BASIC_CONSTRAINTS_new(void) | ||
105 | { | ||
106 | return (BASIC_CONSTRAINTS *)ASN1_item_new(&BASIC_CONSTRAINTS_it); | ||
107 | } | ||
108 | |||
109 | void | ||
110 | BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a) | ||
111 | { | ||
112 | ASN1_item_free((ASN1_VALUE *)a, &BASIC_CONSTRAINTS_it); | ||
113 | } | ||
90 | 114 | ||
91 | 115 | ||
92 | static STACK_OF(CONF_VALUE) * | 116 | static STACK_OF(CONF_VALUE) * |
diff --git a/src/lib/libcrypto/x509v3/v3_cpols.c b/src/lib/libcrypto/x509v3/v3_cpols.c index d683db697e..6ceb93d372 100644 --- a/src/lib/libcrypto/x509v3/v3_cpols.c +++ b/src/lib/libcrypto/x509v3/v3_cpols.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_cpols.c,v 1.16 2014/10/05 18:27:33 miod Exp $ */ | 1 | /* $OpenBSD: v3_cpols.c,v 1.17 2015/02/09 16:03:11 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 | */ |
@@ -97,14 +97,62 @@ ASN1_ITEM_TEMPLATE(CERTIFICATEPOLICIES) = | |||
97 | POLICYINFO) | 97 | POLICYINFO) |
98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) | 98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) |
99 | 99 | ||
100 | IMPLEMENT_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) | 100 | |
101 | CERTIFICATEPOLICIES * | ||
102 | d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long len) | ||
103 | { | ||
104 | return (CERTIFICATEPOLICIES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
105 | &CERTIFICATEPOLICIES_it); | ||
106 | } | ||
107 | |||
108 | int | ||
109 | i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out) | ||
110 | { | ||
111 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it); | ||
112 | } | ||
113 | |||
114 | CERTIFICATEPOLICIES * | ||
115 | CERTIFICATEPOLICIES_new(void) | ||
116 | { | ||
117 | return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it); | ||
118 | } | ||
119 | |||
120 | void | ||
121 | CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a) | ||
122 | { | ||
123 | ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it); | ||
124 | } | ||
101 | 125 | ||
102 | ASN1_SEQUENCE(POLICYINFO) = { | 126 | ASN1_SEQUENCE(POLICYINFO) = { |
103 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), | 127 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), |
104 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) | 128 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) |
105 | } ASN1_SEQUENCE_END(POLICYINFO) | 129 | } ASN1_SEQUENCE_END(POLICYINFO) |
106 | 130 | ||
107 | IMPLEMENT_ASN1_FUNCTIONS(POLICYINFO) | 131 | |
132 | POLICYINFO * | ||
133 | d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (POLICYINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &POLICYINFO_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_POLICYINFO(POLICYINFO *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it); | ||
143 | } | ||
144 | |||
145 | POLICYINFO * | ||
146 | POLICYINFO_new(void) | ||
147 | { | ||
148 | return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | POLICYINFO_free(POLICYINFO *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it); | ||
155 | } | ||
108 | 156 | ||
109 | ASN1_ADB_TEMPLATE(policydefault) = | 157 | ASN1_ADB_TEMPLATE(policydefault) = |
110 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); | 158 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); |
@@ -119,21 +167,93 @@ ASN1_SEQUENCE(POLICYQUALINFO) = { | |||
119 | ASN1_ADB_OBJECT(POLICYQUALINFO) | 167 | ASN1_ADB_OBJECT(POLICYQUALINFO) |
120 | } ASN1_SEQUENCE_END(POLICYQUALINFO) | 168 | } ASN1_SEQUENCE_END(POLICYQUALINFO) |
121 | 169 | ||
122 | IMPLEMENT_ASN1_FUNCTIONS(POLICYQUALINFO) | 170 | |
171 | POLICYQUALINFO * | ||
172 | d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len) | ||
173 | { | ||
174 | return (POLICYQUALINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
175 | &POLICYQUALINFO_it); | ||
176 | } | ||
177 | |||
178 | int | ||
179 | i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out) | ||
180 | { | ||
181 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it); | ||
182 | } | ||
183 | |||
184 | POLICYQUALINFO * | ||
185 | POLICYQUALINFO_new(void) | ||
186 | { | ||
187 | return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it); | ||
188 | } | ||
189 | |||
190 | void | ||
191 | POLICYQUALINFO_free(POLICYQUALINFO *a) | ||
192 | { | ||
193 | ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it); | ||
194 | } | ||
123 | 195 | ||
124 | ASN1_SEQUENCE(USERNOTICE) = { | 196 | ASN1_SEQUENCE(USERNOTICE) = { |
125 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), | 197 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), |
126 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) | 198 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) |
127 | } ASN1_SEQUENCE_END(USERNOTICE) | 199 | } ASN1_SEQUENCE_END(USERNOTICE) |
128 | 200 | ||
129 | IMPLEMENT_ASN1_FUNCTIONS(USERNOTICE) | 201 | |
202 | USERNOTICE * | ||
203 | d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len) | ||
204 | { | ||
205 | return (USERNOTICE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
206 | &USERNOTICE_it); | ||
207 | } | ||
208 | |||
209 | int | ||
210 | i2d_USERNOTICE(USERNOTICE *a, unsigned char **out) | ||
211 | { | ||
212 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it); | ||
213 | } | ||
214 | |||
215 | USERNOTICE * | ||
216 | USERNOTICE_new(void) | ||
217 | { | ||
218 | return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it); | ||
219 | } | ||
220 | |||
221 | void | ||
222 | USERNOTICE_free(USERNOTICE *a) | ||
223 | { | ||
224 | ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it); | ||
225 | } | ||
130 | 226 | ||
131 | ASN1_SEQUENCE(NOTICEREF) = { | 227 | ASN1_SEQUENCE(NOTICEREF) = { |
132 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), | 228 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), |
133 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) | 229 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) |
134 | } ASN1_SEQUENCE_END(NOTICEREF) | 230 | } ASN1_SEQUENCE_END(NOTICEREF) |
135 | 231 | ||
136 | IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF) | 232 | |
233 | NOTICEREF * | ||
234 | d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len) | ||
235 | { | ||
236 | return (NOTICEREF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
237 | &NOTICEREF_it); | ||
238 | } | ||
239 | |||
240 | int | ||
241 | i2d_NOTICEREF(NOTICEREF *a, unsigned char **out) | ||
242 | { | ||
243 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it); | ||
244 | } | ||
245 | |||
246 | NOTICEREF * | ||
247 | NOTICEREF_new(void) | ||
248 | { | ||
249 | return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it); | ||
250 | } | ||
251 | |||
252 | void | ||
253 | NOTICEREF_free(NOTICEREF *a) | ||
254 | { | ||
255 | ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it); | ||
256 | } | ||
137 | 257 | ||
138 | static | 258 | static |
139 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | 259 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, |
diff --git a/src/lib/libcrypto/x509v3/v3_crld.c b/src/lib/libcrypto/x509v3/v3_crld.c index 9586401da6..2201b61264 100644 --- a/src/lib/libcrypto/x509v3/v3_crld.c +++ b/src/lib/libcrypto/x509v3/v3_crld.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_crld.c,v 1.13 2014/10/05 18:27:58 miod Exp $ */ | 1 | /* $OpenBSD: v3_crld.c,v 1.14 2015/02/09 16:03:11 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 | */ |
@@ -383,7 +383,31 @@ ASN1_CHOICE_cb(DIST_POINT_NAME, dpn_cb) = { | |||
383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) | 383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) |
384 | 384 | ||
385 | 385 | ||
386 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT_NAME) | 386 | |
387 | DIST_POINT_NAME * | ||
388 | d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len) | ||
389 | { | ||
390 | return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
391 | &DIST_POINT_NAME_it); | ||
392 | } | ||
393 | |||
394 | int | ||
395 | i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out) | ||
396 | { | ||
397 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_NAME_it); | ||
398 | } | ||
399 | |||
400 | DIST_POINT_NAME * | ||
401 | DIST_POINT_NAME_new(void) | ||
402 | { | ||
403 | return (DIST_POINT_NAME *)ASN1_item_new(&DIST_POINT_NAME_it); | ||
404 | } | ||
405 | |||
406 | void | ||
407 | DIST_POINT_NAME_free(DIST_POINT_NAME *a) | ||
408 | { | ||
409 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_NAME_it); | ||
410 | } | ||
387 | 411 | ||
388 | ASN1_SEQUENCE(DIST_POINT) = { | 412 | ASN1_SEQUENCE(DIST_POINT) = { |
389 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 413 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -391,14 +415,62 @@ ASN1_SEQUENCE(DIST_POINT) = { | |||
391 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) | 415 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) |
392 | } ASN1_SEQUENCE_END(DIST_POINT) | 416 | } ASN1_SEQUENCE_END(DIST_POINT) |
393 | 417 | ||
394 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT) | 418 | |
419 | DIST_POINT * | ||
420 | d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len) | ||
421 | { | ||
422 | return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
423 | &DIST_POINT_it); | ||
424 | } | ||
425 | |||
426 | int | ||
427 | i2d_DIST_POINT(DIST_POINT *a, unsigned char **out) | ||
428 | { | ||
429 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_it); | ||
430 | } | ||
431 | |||
432 | DIST_POINT * | ||
433 | DIST_POINT_new(void) | ||
434 | { | ||
435 | return (DIST_POINT *)ASN1_item_new(&DIST_POINT_it); | ||
436 | } | ||
437 | |||
438 | void | ||
439 | DIST_POINT_free(DIST_POINT *a) | ||
440 | { | ||
441 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_it); | ||
442 | } | ||
395 | 443 | ||
396 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = | 444 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = |
397 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, | 445 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, |
398 | DIST_POINT) | 446 | DIST_POINT) |
399 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) | 447 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) |
400 | 448 | ||
401 | IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS) | 449 | |
450 | CRL_DIST_POINTS * | ||
451 | d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len) | ||
452 | { | ||
453 | return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
454 | &CRL_DIST_POINTS_it); | ||
455 | } | ||
456 | |||
457 | int | ||
458 | i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out) | ||
459 | { | ||
460 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CRL_DIST_POINTS_it); | ||
461 | } | ||
462 | |||
463 | CRL_DIST_POINTS * | ||
464 | CRL_DIST_POINTS_new(void) | ||
465 | { | ||
466 | return (CRL_DIST_POINTS *)ASN1_item_new(&CRL_DIST_POINTS_it); | ||
467 | } | ||
468 | |||
469 | void | ||
470 | CRL_DIST_POINTS_free(CRL_DIST_POINTS *a) | ||
471 | { | ||
472 | ASN1_item_free((ASN1_VALUE *)a, &CRL_DIST_POINTS_it); | ||
473 | } | ||
402 | 474 | ||
403 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | 475 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { |
404 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 476 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -409,7 +481,31 @@ ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | |||
409 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) | 481 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) |
410 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) | 482 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) |
411 | 483 | ||
412 | IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT) | 484 | |
485 | ISSUING_DIST_POINT * | ||
486 | d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long len) | ||
487 | { | ||
488 | return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
489 | &ISSUING_DIST_POINT_it); | ||
490 | } | ||
491 | |||
492 | int | ||
493 | i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out) | ||
494 | { | ||
495 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ISSUING_DIST_POINT_it); | ||
496 | } | ||
497 | |||
498 | ISSUING_DIST_POINT * | ||
499 | ISSUING_DIST_POINT_new(void) | ||
500 | { | ||
501 | return (ISSUING_DIST_POINT *)ASN1_item_new(&ISSUING_DIST_POINT_it); | ||
502 | } | ||
503 | |||
504 | void | ||
505 | ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a) | ||
506 | { | ||
507 | ASN1_item_free((ASN1_VALUE *)a, &ISSUING_DIST_POINT_it); | ||
508 | } | ||
413 | 509 | ||
414 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, | 510 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, |
415 | int indent); | 511 | int indent); |
diff --git a/src/lib/libcrypto/x509v3/v3_extku.c b/src/lib/libcrypto/x509v3/v3_extku.c index a9f1d6da6e..c37b65f7a5 100644 --- a/src/lib/libcrypto/x509v3/v3_extku.c +++ b/src/lib/libcrypto/x509v3/v3_extku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_extku.c,v 1.10 2014/10/28 05:46:56 miod Exp $ */ | 1 | /* $OpenBSD: v3_extku.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -96,7 +96,31 @@ ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) = | |||
96 | ASN1_OBJECT) | 96 | ASN1_OBJECT) |
97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) | 97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) |
98 | 98 | ||
99 | IMPLEMENT_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) | 99 | |
100 | EXTENDED_KEY_USAGE * | ||
101 | d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long len) | ||
102 | { | ||
103 | return (EXTENDED_KEY_USAGE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
104 | &EXTENDED_KEY_USAGE_it); | ||
105 | } | ||
106 | |||
107 | int | ||
108 | i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out) | ||
109 | { | ||
110 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EXTENDED_KEY_USAGE_it); | ||
111 | } | ||
112 | |||
113 | EXTENDED_KEY_USAGE * | ||
114 | EXTENDED_KEY_USAGE_new(void) | ||
115 | { | ||
116 | return (EXTENDED_KEY_USAGE *)ASN1_item_new(&EXTENDED_KEY_USAGE_it); | ||
117 | } | ||
118 | |||
119 | void | ||
120 | EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a) | ||
121 | { | ||
122 | ASN1_item_free((ASN1_VALUE *)a, &EXTENDED_KEY_USAGE_it); | ||
123 | } | ||
100 | 124 | ||
101 | static STACK_OF(CONF_VALUE) * | 125 | static STACK_OF(CONF_VALUE) * |
102 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, | 126 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, |
diff --git a/src/lib/libcrypto/x509v3/v3_genn.c b/src/lib/libcrypto/x509v3/v3_genn.c index 716f4a7b99..25d7f447d2 100644 --- a/src/lib/libcrypto/x509v3/v3_genn.c +++ b/src/lib/libcrypto/x509v3/v3_genn.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_genn.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_genn.c,v 1.10 2015/02/09 16:03:11 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 | */ |
@@ -69,14 +69,62 @@ ASN1_SEQUENCE(OTHERNAME) = { | |||
69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) | 69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) |
70 | } ASN1_SEQUENCE_END(OTHERNAME) | 70 | } ASN1_SEQUENCE_END(OTHERNAME) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME) | 72 | |
73 | OTHERNAME * | ||
74 | d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &OTHERNAME_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_OTHERNAME(OTHERNAME *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it); | ||
84 | } | ||
85 | |||
86 | OTHERNAME * | ||
87 | OTHERNAME_new(void) | ||
88 | { | ||
89 | return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | OTHERNAME_free(OTHERNAME *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it); | ||
96 | } | ||
73 | 97 | ||
74 | ASN1_SEQUENCE(EDIPARTYNAME) = { | 98 | ASN1_SEQUENCE(EDIPARTYNAME) = { |
75 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), | 99 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), |
76 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) | 100 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) |
77 | } ASN1_SEQUENCE_END(EDIPARTYNAME) | 101 | } ASN1_SEQUENCE_END(EDIPARTYNAME) |
78 | 102 | ||
79 | IMPLEMENT_ASN1_FUNCTIONS(EDIPARTYNAME) | 103 | |
104 | EDIPARTYNAME * | ||
105 | d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len) | ||
106 | { | ||
107 | return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
108 | &EDIPARTYNAME_it); | ||
109 | } | ||
110 | |||
111 | int | ||
112 | i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out) | ||
113 | { | ||
114 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it); | ||
115 | } | ||
116 | |||
117 | EDIPARTYNAME * | ||
118 | EDIPARTYNAME_new(void) | ||
119 | { | ||
120 | return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it); | ||
121 | } | ||
122 | |||
123 | void | ||
124 | EDIPARTYNAME_free(EDIPARTYNAME *a) | ||
125 | { | ||
126 | ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it); | ||
127 | } | ||
80 | 128 | ||
81 | ASN1_CHOICE(GENERAL_NAME) = { | 129 | ASN1_CHOICE(GENERAL_NAME) = { |
82 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), | 130 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), |
@@ -92,13 +140,61 @@ ASN1_CHOICE(GENERAL_NAME) = { | |||
92 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) | 140 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) |
93 | } ASN1_CHOICE_END(GENERAL_NAME) | 141 | } ASN1_CHOICE_END(GENERAL_NAME) |
94 | 142 | ||
95 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAME) | 143 | |
144 | GENERAL_NAME * | ||
145 | d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len) | ||
146 | { | ||
147 | return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
148 | &GENERAL_NAME_it); | ||
149 | } | ||
150 | |||
151 | int | ||
152 | i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out) | ||
153 | { | ||
154 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it); | ||
155 | } | ||
156 | |||
157 | GENERAL_NAME * | ||
158 | GENERAL_NAME_new(void) | ||
159 | { | ||
160 | return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it); | ||
161 | } | ||
162 | |||
163 | void | ||
164 | GENERAL_NAME_free(GENERAL_NAME *a) | ||
165 | { | ||
166 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it); | ||
167 | } | ||
96 | 168 | ||
97 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = | 169 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = |
98 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) | 170 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) |
99 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) | 171 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) |
100 | 172 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES) | 173 | |
174 | GENERAL_NAMES * | ||
175 | d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len) | ||
176 | { | ||
177 | return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
178 | &GENERAL_NAMES_it); | ||
179 | } | ||
180 | |||
181 | int | ||
182 | i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out) | ||
183 | { | ||
184 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it); | ||
185 | } | ||
186 | |||
187 | GENERAL_NAMES * | ||
188 | GENERAL_NAMES_new(void) | ||
189 | { | ||
190 | return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it); | ||
191 | } | ||
192 | |||
193 | void | ||
194 | GENERAL_NAMES_free(GENERAL_NAMES *a) | ||
195 | { | ||
196 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it); | ||
197 | } | ||
102 | 198 | ||
103 | GENERAL_NAME * | 199 | GENERAL_NAME * |
104 | GENERAL_NAME_dup(GENERAL_NAME *a) | 200 | GENERAL_NAME_dup(GENERAL_NAME *a) |
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c index 0a4df34078..d9fa133308 100644 --- a/src/lib/libcrypto/x509v3/v3_info.c +++ b/src/lib/libcrypto/x509v3/v3_info.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_info.c,v 1.20 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: v3_info.c,v 1.21 2015/02/09 16:03:11 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 | */ |
@@ -98,14 +98,62 @@ ASN1_SEQUENCE(ACCESS_DESCRIPTION) = { | |||
98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) | 98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) |
99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) | 99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) | 101 | |
102 | ACCESS_DESCRIPTION * | ||
103 | d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long len) | ||
104 | { | ||
105 | return (ACCESS_DESCRIPTION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ACCESS_DESCRIPTION_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ACCESS_DESCRIPTION_it); | ||
113 | } | ||
114 | |||
115 | ACCESS_DESCRIPTION * | ||
116 | ACCESS_DESCRIPTION_new(void) | ||
117 | { | ||
118 | return (ACCESS_DESCRIPTION *)ASN1_item_new(&ACCESS_DESCRIPTION_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ACCESS_DESCRIPTION_it); | ||
125 | } | ||
102 | 126 | ||
103 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = | 127 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = |
104 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, | 128 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, |
105 | ACCESS_DESCRIPTION) | 129 | ACCESS_DESCRIPTION) |
106 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) | 130 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) |
107 | 131 | ||
108 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) | 132 | |
133 | AUTHORITY_INFO_ACCESS * | ||
134 | d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, long len) | ||
135 | { | ||
136 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
137 | &AUTHORITY_INFO_ACCESS_it); | ||
138 | } | ||
139 | |||
140 | int | ||
141 | i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out) | ||
142 | { | ||
143 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_INFO_ACCESS_it); | ||
144 | } | ||
145 | |||
146 | AUTHORITY_INFO_ACCESS * | ||
147 | AUTHORITY_INFO_ACCESS_new(void) | ||
148 | { | ||
149 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_new(&AUTHORITY_INFO_ACCESS_it); | ||
150 | } | ||
151 | |||
152 | void | ||
153 | AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a) | ||
154 | { | ||
155 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_INFO_ACCESS_it); | ||
156 | } | ||
109 | 157 | ||
110 | static STACK_OF(CONF_VALUE) * | 158 | static STACK_OF(CONF_VALUE) * |
111 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, | 159 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, |
diff --git a/src/lib/libcrypto/x509v3/v3_pcia.c b/src/lib/libcrypto/x509v3/v3_pcia.c index c7df225290..07e294e633 100644 --- a/src/lib/libcrypto/x509v3/v3_pcia.c +++ b/src/lib/libcrypto/x509v3/v3_pcia.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pcia.c,v 1.4 2014/06/12 15:49:31 deraadt Exp $ */ | 1 | /* $OpenBSD: v3_pcia.c,v 1.5 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* Contributed to the OpenSSL Project 2004 | 2 | /* Contributed to the OpenSSL Project 2004 |
3 | * by Richard Levitte (richard@levitte.org) | 3 | * by Richard Levitte (richard@levitte.org) |
4 | */ | 4 | */ |
@@ -43,7 +43,31 @@ ASN1_SEQUENCE(PROXY_POLICY) = { | |||
43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) | 43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) |
44 | } ASN1_SEQUENCE_END(PROXY_POLICY) | 44 | } ASN1_SEQUENCE_END(PROXY_POLICY) |
45 | 45 | ||
46 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_POLICY) | 46 | |
47 | PROXY_POLICY * | ||
48 | d2i_PROXY_POLICY(PROXY_POLICY **a, const unsigned char **in, long len) | ||
49 | { | ||
50 | return (PROXY_POLICY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
51 | &PROXY_POLICY_it); | ||
52 | } | ||
53 | |||
54 | int | ||
55 | i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out) | ||
56 | { | ||
57 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_POLICY_it); | ||
58 | } | ||
59 | |||
60 | PROXY_POLICY * | ||
61 | PROXY_POLICY_new(void) | ||
62 | { | ||
63 | return (PROXY_POLICY *)ASN1_item_new(&PROXY_POLICY_it); | ||
64 | } | ||
65 | |||
66 | void | ||
67 | PROXY_POLICY_free(PROXY_POLICY *a) | ||
68 | { | ||
69 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it); | ||
70 | } | ||
47 | 71 | ||
48 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | 72 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { |
49 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, | 73 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, |
@@ -51,4 +75,28 @@ ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | |||
51 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) | 75 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) |
52 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) | 76 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) |
53 | 77 | ||
54 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) | 78 | |
79 | PROXY_CERT_INFO_EXTENSION * | ||
80 | d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a, const unsigned char **in, long len) | ||
81 | { | ||
82 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
83 | &PROXY_CERT_INFO_EXTENSION_it); | ||
84 | } | ||
85 | |||
86 | int | ||
87 | i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out) | ||
88 | { | ||
89 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_CERT_INFO_EXTENSION_it); | ||
90 | } | ||
91 | |||
92 | PROXY_CERT_INFO_EXTENSION * | ||
93 | PROXY_CERT_INFO_EXTENSION_new(void) | ||
94 | { | ||
95 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_new(&PROXY_CERT_INFO_EXTENSION_it); | ||
96 | } | ||
97 | |||
98 | void | ||
99 | PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a) | ||
100 | { | ||
101 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_CERT_INFO_EXTENSION_it); | ||
102 | } | ||
diff --git a/src/lib/libcrypto/x509v3/v3_pku.c b/src/lib/libcrypto/x509v3/v3_pku.c index 6cfbc3bd3e..4bce07f09c 100644 --- a/src/lib/libcrypto/x509v3/v3_pku.c +++ b/src/lib/libcrypto/x509v3/v3_pku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pku.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_pku.c,v 1.10 2015/02/09 16:03:11 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,7 +80,31 @@ ASN1_SEQUENCE(PKEY_USAGE_PERIOD) = { | |||
80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) | 80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) |
81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) | 81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) |
82 | 82 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) | 83 | |
84 | PKEY_USAGE_PERIOD * | ||
85 | d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len) | ||
86 | { | ||
87 | return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
88 | &PKEY_USAGE_PERIOD_it); | ||
89 | } | ||
90 | |||
91 | int | ||
92 | i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out) | ||
93 | { | ||
94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it); | ||
95 | } | ||
96 | |||
97 | PKEY_USAGE_PERIOD * | ||
98 | PKEY_USAGE_PERIOD_new(void) | ||
99 | { | ||
100 | return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it); | ||
101 | } | ||
102 | |||
103 | void | ||
104 | PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a) | ||
105 | { | ||
106 | ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it); | ||
107 | } | ||
84 | 108 | ||
85 | static int | 109 | static int |
86 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, | 110 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, |
diff --git a/src/lib/libcrypto/x509v3/v3_sxnet.c b/src/lib/libcrypto/x509v3/v3_sxnet.c index 81e8ab67dd..dc8ee379c7 100644 --- a/src/lib/libcrypto/x509v3/v3_sxnet.c +++ b/src/lib/libcrypto/x509v3/v3_sxnet.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_sxnet.c,v 1.11 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_sxnet.c,v 1.12 2015/02/09 16:03:11 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 | */ |
@@ -95,14 +95,62 @@ ASN1_SEQUENCE(SXNETID) = { | |||
95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) | 95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) |
96 | } ASN1_SEQUENCE_END(SXNETID) | 96 | } ASN1_SEQUENCE_END(SXNETID) |
97 | 97 | ||
98 | IMPLEMENT_ASN1_FUNCTIONS(SXNETID) | 98 | |
99 | SXNETID * | ||
100 | d2i_SXNETID(SXNETID **a, const unsigned char **in, long len) | ||
101 | { | ||
102 | return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
103 | &SXNETID_it); | ||
104 | } | ||
105 | |||
106 | int | ||
107 | i2d_SXNETID(SXNETID *a, unsigned char **out) | ||
108 | { | ||
109 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it); | ||
110 | } | ||
111 | |||
112 | SXNETID * | ||
113 | SXNETID_new(void) | ||
114 | { | ||
115 | return (SXNETID *)ASN1_item_new(&SXNETID_it); | ||
116 | } | ||
117 | |||
118 | void | ||
119 | SXNETID_free(SXNETID *a) | ||
120 | { | ||
121 | ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it); | ||
122 | } | ||
99 | 123 | ||
100 | ASN1_SEQUENCE(SXNET) = { | 124 | ASN1_SEQUENCE(SXNET) = { |
101 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), | 125 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), |
102 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) | 126 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) |
103 | } ASN1_SEQUENCE_END(SXNET) | 127 | } ASN1_SEQUENCE_END(SXNET) |
104 | 128 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(SXNET) | 129 | |
130 | SXNET * | ||
131 | d2i_SXNET(SXNET **a, const unsigned char **in, long len) | ||
132 | { | ||
133 | return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
134 | &SXNET_it); | ||
135 | } | ||
136 | |||
137 | int | ||
138 | i2d_SXNET(SXNET *a, unsigned char **out) | ||
139 | { | ||
140 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it); | ||
141 | } | ||
142 | |||
143 | SXNET * | ||
144 | SXNET_new(void) | ||
145 | { | ||
146 | return (SXNET *)ASN1_item_new(&SXNET_it); | ||
147 | } | ||
148 | |||
149 | void | ||
150 | SXNET_free(SXNET *a) | ||
151 | { | ||
152 | ASN1_item_free((ASN1_VALUE *)a, &SXNET_it); | ||
153 | } | ||
106 | 154 | ||
107 | static int | 155 | static int |
108 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) | 156 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_addr.c b/src/lib/libssl/src/crypto/x509v3/v3_addr.c index 40efb1b9ac..4073aeeaa6 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_addr.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_addr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_addr.c,v 1.14 2014/11/18 03:28:05 tedu Exp $ */ | 1 | /* $OpenBSD: v3_addr.c,v 1.15 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -102,10 +102,106 @@ ASN1_ITEM_TEMPLATE(IPAddrBlocks) = | |||
102 | IPAddrBlocks, IPAddressFamily) | 102 | IPAddrBlocks, IPAddressFamily) |
103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) | 103 | ASN1_ITEM_TEMPLATE_END(IPAddrBlocks) |
104 | 104 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressRange) | 105 | |
106 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressOrRange) | 106 | IPAddressRange * |
107 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressChoice) | 107 | d2i_IPAddressRange(IPAddressRange **a, const unsigned char **in, long len) |
108 | IMPLEMENT_ASN1_FUNCTIONS(IPAddressFamily) | 108 | { |
109 | return (IPAddressRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
110 | &IPAddressRange_it); | ||
111 | } | ||
112 | |||
113 | int | ||
114 | i2d_IPAddressRange(IPAddressRange *a, unsigned char **out) | ||
115 | { | ||
116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressRange_it); | ||
117 | } | ||
118 | |||
119 | IPAddressRange * | ||
120 | IPAddressRange_new(void) | ||
121 | { | ||
122 | return (IPAddressRange *)ASN1_item_new(&IPAddressRange_it); | ||
123 | } | ||
124 | |||
125 | void | ||
126 | IPAddressRange_free(IPAddressRange *a) | ||
127 | { | ||
128 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressRange_it); | ||
129 | } | ||
130 | |||
131 | IPAddressOrRange * | ||
132 | d2i_IPAddressOrRange(IPAddressOrRange **a, const unsigned char **in, long len) | ||
133 | { | ||
134 | return (IPAddressOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
135 | &IPAddressOrRange_it); | ||
136 | } | ||
137 | |||
138 | int | ||
139 | i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out) | ||
140 | { | ||
141 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressOrRange_it); | ||
142 | } | ||
143 | |||
144 | IPAddressOrRange * | ||
145 | IPAddressOrRange_new(void) | ||
146 | { | ||
147 | return (IPAddressOrRange *)ASN1_item_new(&IPAddressOrRange_it); | ||
148 | } | ||
149 | |||
150 | void | ||
151 | IPAddressOrRange_free(IPAddressOrRange *a) | ||
152 | { | ||
153 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressOrRange_it); | ||
154 | } | ||
155 | |||
156 | IPAddressChoice * | ||
157 | d2i_IPAddressChoice(IPAddressChoice **a, const unsigned char **in, long len) | ||
158 | { | ||
159 | return (IPAddressChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
160 | &IPAddressChoice_it); | ||
161 | } | ||
162 | |||
163 | int | ||
164 | i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out) | ||
165 | { | ||
166 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressChoice_it); | ||
167 | } | ||
168 | |||
169 | IPAddressChoice * | ||
170 | IPAddressChoice_new(void) | ||
171 | { | ||
172 | return (IPAddressChoice *)ASN1_item_new(&IPAddressChoice_it); | ||
173 | } | ||
174 | |||
175 | void | ||
176 | IPAddressChoice_free(IPAddressChoice *a) | ||
177 | { | ||
178 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressChoice_it); | ||
179 | } | ||
180 | |||
181 | IPAddressFamily * | ||
182 | d2i_IPAddressFamily(IPAddressFamily **a, const unsigned char **in, long len) | ||
183 | { | ||
184 | return (IPAddressFamily *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
185 | &IPAddressFamily_it); | ||
186 | } | ||
187 | |||
188 | int | ||
189 | i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out) | ||
190 | { | ||
191 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &IPAddressFamily_it); | ||
192 | } | ||
193 | |||
194 | IPAddressFamily * | ||
195 | IPAddressFamily_new(void) | ||
196 | { | ||
197 | return (IPAddressFamily *)ASN1_item_new(&IPAddressFamily_it); | ||
198 | } | ||
199 | |||
200 | void | ||
201 | IPAddressFamily_free(IPAddressFamily *a) | ||
202 | { | ||
203 | ASN1_item_free((ASN1_VALUE *)a, &IPAddressFamily_it); | ||
204 | } | ||
109 | 205 | ||
110 | /* | 206 | /* |
111 | * How much buffer space do we need for a raw address? | 207 | * How much buffer space do we need for a raw address? |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_akeya.c b/src/lib/libssl/src/crypto/x509v3/v3_akeya.c index 247c9f48a9..1848c0911e 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_akeya.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_akeya.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_akeya.c,v 1.5 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_akeya.c,v 1.6 2015/02/09 16:03:11 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 | */ |
@@ -69,4 +69,28 @@ ASN1_SEQUENCE(AUTHORITY_KEYID) = { | |||
69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) | 69 | ASN1_IMP_OPT(AUTHORITY_KEYID, serial, ASN1_INTEGER, 2) |
70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) | 70 | } ASN1_SEQUENCE_END(AUTHORITY_KEYID) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_KEYID) | 72 | |
73 | AUTHORITY_KEYID * | ||
74 | d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (AUTHORITY_KEYID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &AUTHORITY_KEYID_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_KEYID_it); | ||
84 | } | ||
85 | |||
86 | AUTHORITY_KEYID * | ||
87 | AUTHORITY_KEYID_new(void) | ||
88 | { | ||
89 | return (AUTHORITY_KEYID *)ASN1_item_new(&AUTHORITY_KEYID_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_KEYID_it); | ||
96 | } | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_asid.c b/src/lib/libssl/src/crypto/x509v3/v3_asid.c index 680eed31ec..10f82c573d 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_asid.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_asid.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_asid.c,v 1.11 2014/07/13 16:03:10 beck Exp $ */ | 1 | /* $OpenBSD: v3_asid.c,v 1.12 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -98,10 +98,106 @@ ASN1_SEQUENCE(ASIdentifiers) = { | |||
98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) | 98 | ASN1_EXP_OPT(ASIdentifiers, rdi, ASIdentifierChoice, 1) |
99 | } ASN1_SEQUENCE_END(ASIdentifiers) | 99 | } ASN1_SEQUENCE_END(ASIdentifiers) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ASRange) | 101 | |
102 | IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange) | 102 | ASRange * |
103 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice) | 103 | d2i_ASRange(ASRange **a, const unsigned char **in, long len) |
104 | IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers) | 104 | { |
105 | return (ASRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ASRange_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ASRange(ASRange *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASRange_it); | ||
113 | } | ||
114 | |||
115 | ASRange * | ||
116 | ASRange_new(void) | ||
117 | { | ||
118 | return (ASRange *)ASN1_item_new(&ASRange_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ASRange_free(ASRange *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ASRange_it); | ||
125 | } | ||
126 | |||
127 | ASIdOrRange * | ||
128 | d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, long len) | ||
129 | { | ||
130 | return (ASIdOrRange *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
131 | &ASIdOrRange_it); | ||
132 | } | ||
133 | |||
134 | int | ||
135 | i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out) | ||
136 | { | ||
137 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdOrRange_it); | ||
138 | } | ||
139 | |||
140 | ASIdOrRange * | ||
141 | ASIdOrRange_new(void) | ||
142 | { | ||
143 | return (ASIdOrRange *)ASN1_item_new(&ASIdOrRange_it); | ||
144 | } | ||
145 | |||
146 | void | ||
147 | ASIdOrRange_free(ASIdOrRange *a) | ||
148 | { | ||
149 | ASN1_item_free((ASN1_VALUE *)a, &ASIdOrRange_it); | ||
150 | } | ||
151 | |||
152 | ASIdentifierChoice * | ||
153 | d2i_ASIdentifierChoice(ASIdentifierChoice **a, const unsigned char **in, long len) | ||
154 | { | ||
155 | return (ASIdentifierChoice *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
156 | &ASIdentifierChoice_it); | ||
157 | } | ||
158 | |||
159 | int | ||
160 | i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out) | ||
161 | { | ||
162 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifierChoice_it); | ||
163 | } | ||
164 | |||
165 | ASIdentifierChoice * | ||
166 | ASIdentifierChoice_new(void) | ||
167 | { | ||
168 | return (ASIdentifierChoice *)ASN1_item_new(&ASIdentifierChoice_it); | ||
169 | } | ||
170 | |||
171 | void | ||
172 | ASIdentifierChoice_free(ASIdentifierChoice *a) | ||
173 | { | ||
174 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifierChoice_it); | ||
175 | } | ||
176 | |||
177 | ASIdentifiers * | ||
178 | d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, long len) | ||
179 | { | ||
180 | return (ASIdentifiers *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
181 | &ASIdentifiers_it); | ||
182 | } | ||
183 | |||
184 | int | ||
185 | i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out) | ||
186 | { | ||
187 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASIdentifiers_it); | ||
188 | } | ||
189 | |||
190 | ASIdentifiers * | ||
191 | ASIdentifiers_new(void) | ||
192 | { | ||
193 | return (ASIdentifiers *)ASN1_item_new(&ASIdentifiers_it); | ||
194 | } | ||
195 | |||
196 | void | ||
197 | ASIdentifiers_free(ASIdentifiers *a) | ||
198 | { | ||
199 | ASN1_item_free((ASN1_VALUE *)a, &ASIdentifiers_it); | ||
200 | } | ||
105 | 201 | ||
106 | /* | 202 | /* |
107 | * i2r method for an ASIdentifierChoice. | 203 | * i2r method for an ASIdentifierChoice. |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_bcons.c b/src/lib/libssl/src/crypto/x509v3/v3_bcons.c index 8e2632d379..fb3f6c7619 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_bcons.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_bcons.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_bcons.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_bcons.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -86,7 +86,31 @@ ASN1_SEQUENCE(BASIC_CONSTRAINTS) = { | |||
86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) | 86 | ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER) |
87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) | 87 | } ASN1_SEQUENCE_END(BASIC_CONSTRAINTS) |
88 | 88 | ||
89 | IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) | 89 | |
90 | BASIC_CONSTRAINTS * | ||
91 | d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len) | ||
92 | { | ||
93 | return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
94 | &BASIC_CONSTRAINTS_it); | ||
95 | } | ||
96 | |||
97 | int | ||
98 | i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out) | ||
99 | { | ||
100 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &BASIC_CONSTRAINTS_it); | ||
101 | } | ||
102 | |||
103 | BASIC_CONSTRAINTS * | ||
104 | BASIC_CONSTRAINTS_new(void) | ||
105 | { | ||
106 | return (BASIC_CONSTRAINTS *)ASN1_item_new(&BASIC_CONSTRAINTS_it); | ||
107 | } | ||
108 | |||
109 | void | ||
110 | BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a) | ||
111 | { | ||
112 | ASN1_item_free((ASN1_VALUE *)a, &BASIC_CONSTRAINTS_it); | ||
113 | } | ||
90 | 114 | ||
91 | 115 | ||
92 | static STACK_OF(CONF_VALUE) * | 116 | static STACK_OF(CONF_VALUE) * |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c index d683db697e..6ceb93d372 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_cpols.c,v 1.16 2014/10/05 18:27:33 miod Exp $ */ | 1 | /* $OpenBSD: v3_cpols.c,v 1.17 2015/02/09 16:03:11 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 | */ |
@@ -97,14 +97,62 @@ ASN1_ITEM_TEMPLATE(CERTIFICATEPOLICIES) = | |||
97 | POLICYINFO) | 97 | POLICYINFO) |
98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) | 98 | ASN1_ITEM_TEMPLATE_END(CERTIFICATEPOLICIES) |
99 | 99 | ||
100 | IMPLEMENT_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) | 100 | |
101 | CERTIFICATEPOLICIES * | ||
102 | d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long len) | ||
103 | { | ||
104 | return (CERTIFICATEPOLICIES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
105 | &CERTIFICATEPOLICIES_it); | ||
106 | } | ||
107 | |||
108 | int | ||
109 | i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out) | ||
110 | { | ||
111 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CERTIFICATEPOLICIES_it); | ||
112 | } | ||
113 | |||
114 | CERTIFICATEPOLICIES * | ||
115 | CERTIFICATEPOLICIES_new(void) | ||
116 | { | ||
117 | return (CERTIFICATEPOLICIES *)ASN1_item_new(&CERTIFICATEPOLICIES_it); | ||
118 | } | ||
119 | |||
120 | void | ||
121 | CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a) | ||
122 | { | ||
123 | ASN1_item_free((ASN1_VALUE *)a, &CERTIFICATEPOLICIES_it); | ||
124 | } | ||
101 | 125 | ||
102 | ASN1_SEQUENCE(POLICYINFO) = { | 126 | ASN1_SEQUENCE(POLICYINFO) = { |
103 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), | 127 | ASN1_SIMPLE(POLICYINFO, policyid, ASN1_OBJECT), |
104 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) | 128 | ASN1_SEQUENCE_OF_OPT(POLICYINFO, qualifiers, POLICYQUALINFO) |
105 | } ASN1_SEQUENCE_END(POLICYINFO) | 129 | } ASN1_SEQUENCE_END(POLICYINFO) |
106 | 130 | ||
107 | IMPLEMENT_ASN1_FUNCTIONS(POLICYINFO) | 131 | |
132 | POLICYINFO * | ||
133 | d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (POLICYINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &POLICYINFO_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_POLICYINFO(POLICYINFO *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYINFO_it); | ||
143 | } | ||
144 | |||
145 | POLICYINFO * | ||
146 | POLICYINFO_new(void) | ||
147 | { | ||
148 | return (POLICYINFO *)ASN1_item_new(&POLICYINFO_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | POLICYINFO_free(POLICYINFO *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &POLICYINFO_it); | ||
155 | } | ||
108 | 156 | ||
109 | ASN1_ADB_TEMPLATE(policydefault) = | 157 | ASN1_ADB_TEMPLATE(policydefault) = |
110 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); | 158 | ASN1_SIMPLE(POLICYQUALINFO, d.other, ASN1_ANY); |
@@ -119,21 +167,93 @@ ASN1_SEQUENCE(POLICYQUALINFO) = { | |||
119 | ASN1_ADB_OBJECT(POLICYQUALINFO) | 167 | ASN1_ADB_OBJECT(POLICYQUALINFO) |
120 | } ASN1_SEQUENCE_END(POLICYQUALINFO) | 168 | } ASN1_SEQUENCE_END(POLICYQUALINFO) |
121 | 169 | ||
122 | IMPLEMENT_ASN1_FUNCTIONS(POLICYQUALINFO) | 170 | |
171 | POLICYQUALINFO * | ||
172 | d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len) | ||
173 | { | ||
174 | return (POLICYQUALINFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
175 | &POLICYQUALINFO_it); | ||
176 | } | ||
177 | |||
178 | int | ||
179 | i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out) | ||
180 | { | ||
181 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &POLICYQUALINFO_it); | ||
182 | } | ||
183 | |||
184 | POLICYQUALINFO * | ||
185 | POLICYQUALINFO_new(void) | ||
186 | { | ||
187 | return (POLICYQUALINFO *)ASN1_item_new(&POLICYQUALINFO_it); | ||
188 | } | ||
189 | |||
190 | void | ||
191 | POLICYQUALINFO_free(POLICYQUALINFO *a) | ||
192 | { | ||
193 | ASN1_item_free((ASN1_VALUE *)a, &POLICYQUALINFO_it); | ||
194 | } | ||
123 | 195 | ||
124 | ASN1_SEQUENCE(USERNOTICE) = { | 196 | ASN1_SEQUENCE(USERNOTICE) = { |
125 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), | 197 | ASN1_OPT(USERNOTICE, noticeref, NOTICEREF), |
126 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) | 198 | ASN1_OPT(USERNOTICE, exptext, DISPLAYTEXT) |
127 | } ASN1_SEQUENCE_END(USERNOTICE) | 199 | } ASN1_SEQUENCE_END(USERNOTICE) |
128 | 200 | ||
129 | IMPLEMENT_ASN1_FUNCTIONS(USERNOTICE) | 201 | |
202 | USERNOTICE * | ||
203 | d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len) | ||
204 | { | ||
205 | return (USERNOTICE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
206 | &USERNOTICE_it); | ||
207 | } | ||
208 | |||
209 | int | ||
210 | i2d_USERNOTICE(USERNOTICE *a, unsigned char **out) | ||
211 | { | ||
212 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &USERNOTICE_it); | ||
213 | } | ||
214 | |||
215 | USERNOTICE * | ||
216 | USERNOTICE_new(void) | ||
217 | { | ||
218 | return (USERNOTICE *)ASN1_item_new(&USERNOTICE_it); | ||
219 | } | ||
220 | |||
221 | void | ||
222 | USERNOTICE_free(USERNOTICE *a) | ||
223 | { | ||
224 | ASN1_item_free((ASN1_VALUE *)a, &USERNOTICE_it); | ||
225 | } | ||
130 | 226 | ||
131 | ASN1_SEQUENCE(NOTICEREF) = { | 227 | ASN1_SEQUENCE(NOTICEREF) = { |
132 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), | 228 | ASN1_SIMPLE(NOTICEREF, organization, DISPLAYTEXT), |
133 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) | 229 | ASN1_SEQUENCE_OF(NOTICEREF, noticenos, ASN1_INTEGER) |
134 | } ASN1_SEQUENCE_END(NOTICEREF) | 230 | } ASN1_SEQUENCE_END(NOTICEREF) |
135 | 231 | ||
136 | IMPLEMENT_ASN1_FUNCTIONS(NOTICEREF) | 232 | |
233 | NOTICEREF * | ||
234 | d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len) | ||
235 | { | ||
236 | return (NOTICEREF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
237 | &NOTICEREF_it); | ||
238 | } | ||
239 | |||
240 | int | ||
241 | i2d_NOTICEREF(NOTICEREF *a, unsigned char **out) | ||
242 | { | ||
243 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NOTICEREF_it); | ||
244 | } | ||
245 | |||
246 | NOTICEREF * | ||
247 | NOTICEREF_new(void) | ||
248 | { | ||
249 | return (NOTICEREF *)ASN1_item_new(&NOTICEREF_it); | ||
250 | } | ||
251 | |||
252 | void | ||
253 | NOTICEREF_free(NOTICEREF *a) | ||
254 | { | ||
255 | ASN1_item_free((ASN1_VALUE *)a, &NOTICEREF_it); | ||
256 | } | ||
137 | 257 | ||
138 | static | 258 | static |
139 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | 259 | STACK_OF(POLICYINFO) *r2i_certpol(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_crld.c b/src/lib/libssl/src/crypto/x509v3/v3_crld.c index 9586401da6..2201b61264 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_crld.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_crld.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_crld.c,v 1.13 2014/10/05 18:27:58 miod Exp $ */ | 1 | /* $OpenBSD: v3_crld.c,v 1.14 2015/02/09 16:03:11 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 | */ |
@@ -383,7 +383,31 @@ ASN1_CHOICE_cb(DIST_POINT_NAME, dpn_cb) = { | |||
383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) | 383 | } ASN1_CHOICE_END_cb(DIST_POINT_NAME, DIST_POINT_NAME, type) |
384 | 384 | ||
385 | 385 | ||
386 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT_NAME) | 386 | |
387 | DIST_POINT_NAME * | ||
388 | d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len) | ||
389 | { | ||
390 | return (DIST_POINT_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
391 | &DIST_POINT_NAME_it); | ||
392 | } | ||
393 | |||
394 | int | ||
395 | i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out) | ||
396 | { | ||
397 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_NAME_it); | ||
398 | } | ||
399 | |||
400 | DIST_POINT_NAME * | ||
401 | DIST_POINT_NAME_new(void) | ||
402 | { | ||
403 | return (DIST_POINT_NAME *)ASN1_item_new(&DIST_POINT_NAME_it); | ||
404 | } | ||
405 | |||
406 | void | ||
407 | DIST_POINT_NAME_free(DIST_POINT_NAME *a) | ||
408 | { | ||
409 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_NAME_it); | ||
410 | } | ||
387 | 411 | ||
388 | ASN1_SEQUENCE(DIST_POINT) = { | 412 | ASN1_SEQUENCE(DIST_POINT) = { |
389 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 413 | ASN1_EXP_OPT(DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -391,14 +415,62 @@ ASN1_SEQUENCE(DIST_POINT) = { | |||
391 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) | 415 | ASN1_IMP_SEQUENCE_OF_OPT(DIST_POINT, CRLissuer, GENERAL_NAME, 2) |
392 | } ASN1_SEQUENCE_END(DIST_POINT) | 416 | } ASN1_SEQUENCE_END(DIST_POINT) |
393 | 417 | ||
394 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT) | 418 | |
419 | DIST_POINT * | ||
420 | d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len) | ||
421 | { | ||
422 | return (DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
423 | &DIST_POINT_it); | ||
424 | } | ||
425 | |||
426 | int | ||
427 | i2d_DIST_POINT(DIST_POINT *a, unsigned char **out) | ||
428 | { | ||
429 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIST_POINT_it); | ||
430 | } | ||
431 | |||
432 | DIST_POINT * | ||
433 | DIST_POINT_new(void) | ||
434 | { | ||
435 | return (DIST_POINT *)ASN1_item_new(&DIST_POINT_it); | ||
436 | } | ||
437 | |||
438 | void | ||
439 | DIST_POINT_free(DIST_POINT *a) | ||
440 | { | ||
441 | ASN1_item_free((ASN1_VALUE *)a, &DIST_POINT_it); | ||
442 | } | ||
395 | 443 | ||
396 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = | 444 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = |
397 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, | 445 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, |
398 | DIST_POINT) | 446 | DIST_POINT) |
399 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) | 447 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) |
400 | 448 | ||
401 | IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS) | 449 | |
450 | CRL_DIST_POINTS * | ||
451 | d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len) | ||
452 | { | ||
453 | return (CRL_DIST_POINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
454 | &CRL_DIST_POINTS_it); | ||
455 | } | ||
456 | |||
457 | int | ||
458 | i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out) | ||
459 | { | ||
460 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &CRL_DIST_POINTS_it); | ||
461 | } | ||
462 | |||
463 | CRL_DIST_POINTS * | ||
464 | CRL_DIST_POINTS_new(void) | ||
465 | { | ||
466 | return (CRL_DIST_POINTS *)ASN1_item_new(&CRL_DIST_POINTS_it); | ||
467 | } | ||
468 | |||
469 | void | ||
470 | CRL_DIST_POINTS_free(CRL_DIST_POINTS *a) | ||
471 | { | ||
472 | ASN1_item_free((ASN1_VALUE *)a, &CRL_DIST_POINTS_it); | ||
473 | } | ||
402 | 474 | ||
403 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | 475 | ASN1_SEQUENCE(ISSUING_DIST_POINT) = { |
404 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), | 476 | ASN1_EXP_OPT(ISSUING_DIST_POINT, distpoint, DIST_POINT_NAME, 0), |
@@ -409,7 +481,31 @@ ASN1_SEQUENCE(ISSUING_DIST_POINT) = { | |||
409 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) | 481 | ASN1_IMP_OPT(ISSUING_DIST_POINT, onlyattr, ASN1_FBOOLEAN, 5) |
410 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) | 482 | } ASN1_SEQUENCE_END(ISSUING_DIST_POINT) |
411 | 483 | ||
412 | IMPLEMENT_ASN1_FUNCTIONS(ISSUING_DIST_POINT) | 484 | |
485 | ISSUING_DIST_POINT * | ||
486 | d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long len) | ||
487 | { | ||
488 | return (ISSUING_DIST_POINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
489 | &ISSUING_DIST_POINT_it); | ||
490 | } | ||
491 | |||
492 | int | ||
493 | i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out) | ||
494 | { | ||
495 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ISSUING_DIST_POINT_it); | ||
496 | } | ||
497 | |||
498 | ISSUING_DIST_POINT * | ||
499 | ISSUING_DIST_POINT_new(void) | ||
500 | { | ||
501 | return (ISSUING_DIST_POINT *)ASN1_item_new(&ISSUING_DIST_POINT_it); | ||
502 | } | ||
503 | |||
504 | void | ||
505 | ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a) | ||
506 | { | ||
507 | ASN1_item_free((ASN1_VALUE *)a, &ISSUING_DIST_POINT_it); | ||
508 | } | ||
413 | 509 | ||
414 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, | 510 | static int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out, |
415 | int indent); | 511 | int indent); |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_extku.c b/src/lib/libssl/src/crypto/x509v3/v3_extku.c index a9f1d6da6e..c37b65f7a5 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_extku.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_extku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_extku.c,v 1.10 2014/10/28 05:46:56 miod Exp $ */ | 1 | /* $OpenBSD: v3_extku.c,v 1.11 2015/02/09 16:03:11 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 | */ |
@@ -96,7 +96,31 @@ ASN1_ITEM_TEMPLATE(EXTENDED_KEY_USAGE) = | |||
96 | ASN1_OBJECT) | 96 | ASN1_OBJECT) |
97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) | 97 | ASN1_ITEM_TEMPLATE_END(EXTENDED_KEY_USAGE) |
98 | 98 | ||
99 | IMPLEMENT_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) | 99 | |
100 | EXTENDED_KEY_USAGE * | ||
101 | d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long len) | ||
102 | { | ||
103 | return (EXTENDED_KEY_USAGE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
104 | &EXTENDED_KEY_USAGE_it); | ||
105 | } | ||
106 | |||
107 | int | ||
108 | i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out) | ||
109 | { | ||
110 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EXTENDED_KEY_USAGE_it); | ||
111 | } | ||
112 | |||
113 | EXTENDED_KEY_USAGE * | ||
114 | EXTENDED_KEY_USAGE_new(void) | ||
115 | { | ||
116 | return (EXTENDED_KEY_USAGE *)ASN1_item_new(&EXTENDED_KEY_USAGE_it); | ||
117 | } | ||
118 | |||
119 | void | ||
120 | EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a) | ||
121 | { | ||
122 | ASN1_item_free((ASN1_VALUE *)a, &EXTENDED_KEY_USAGE_it); | ||
123 | } | ||
100 | 124 | ||
101 | static STACK_OF(CONF_VALUE) * | 125 | static STACK_OF(CONF_VALUE) * |
102 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, | 126 | i2v_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, void *a, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_genn.c b/src/lib/libssl/src/crypto/x509v3/v3_genn.c index 716f4a7b99..25d7f447d2 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_genn.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_genn.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_genn.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_genn.c,v 1.10 2015/02/09 16:03:11 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 | */ |
@@ -69,14 +69,62 @@ ASN1_SEQUENCE(OTHERNAME) = { | |||
69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) | 69 | ASN1_EXP(OTHERNAME, value, ASN1_ANY, 0) |
70 | } ASN1_SEQUENCE_END(OTHERNAME) | 70 | } ASN1_SEQUENCE_END(OTHERNAME) |
71 | 71 | ||
72 | IMPLEMENT_ASN1_FUNCTIONS(OTHERNAME) | 72 | |
73 | OTHERNAME * | ||
74 | d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len) | ||
75 | { | ||
76 | return (OTHERNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
77 | &OTHERNAME_it); | ||
78 | } | ||
79 | |||
80 | int | ||
81 | i2d_OTHERNAME(OTHERNAME *a, unsigned char **out) | ||
82 | { | ||
83 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &OTHERNAME_it); | ||
84 | } | ||
85 | |||
86 | OTHERNAME * | ||
87 | OTHERNAME_new(void) | ||
88 | { | ||
89 | return (OTHERNAME *)ASN1_item_new(&OTHERNAME_it); | ||
90 | } | ||
91 | |||
92 | void | ||
93 | OTHERNAME_free(OTHERNAME *a) | ||
94 | { | ||
95 | ASN1_item_free((ASN1_VALUE *)a, &OTHERNAME_it); | ||
96 | } | ||
73 | 97 | ||
74 | ASN1_SEQUENCE(EDIPARTYNAME) = { | 98 | ASN1_SEQUENCE(EDIPARTYNAME) = { |
75 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), | 99 | ASN1_IMP_OPT(EDIPARTYNAME, nameAssigner, DIRECTORYSTRING, 0), |
76 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) | 100 | ASN1_IMP_OPT(EDIPARTYNAME, partyName, DIRECTORYSTRING, 1) |
77 | } ASN1_SEQUENCE_END(EDIPARTYNAME) | 101 | } ASN1_SEQUENCE_END(EDIPARTYNAME) |
78 | 102 | ||
79 | IMPLEMENT_ASN1_FUNCTIONS(EDIPARTYNAME) | 103 | |
104 | EDIPARTYNAME * | ||
105 | d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len) | ||
106 | { | ||
107 | return (EDIPARTYNAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
108 | &EDIPARTYNAME_it); | ||
109 | } | ||
110 | |||
111 | int | ||
112 | i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out) | ||
113 | { | ||
114 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EDIPARTYNAME_it); | ||
115 | } | ||
116 | |||
117 | EDIPARTYNAME * | ||
118 | EDIPARTYNAME_new(void) | ||
119 | { | ||
120 | return (EDIPARTYNAME *)ASN1_item_new(&EDIPARTYNAME_it); | ||
121 | } | ||
122 | |||
123 | void | ||
124 | EDIPARTYNAME_free(EDIPARTYNAME *a) | ||
125 | { | ||
126 | ASN1_item_free((ASN1_VALUE *)a, &EDIPARTYNAME_it); | ||
127 | } | ||
80 | 128 | ||
81 | ASN1_CHOICE(GENERAL_NAME) = { | 129 | ASN1_CHOICE(GENERAL_NAME) = { |
82 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), | 130 | ASN1_IMP(GENERAL_NAME, d.otherName, OTHERNAME, GEN_OTHERNAME), |
@@ -92,13 +140,61 @@ ASN1_CHOICE(GENERAL_NAME) = { | |||
92 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) | 140 | ASN1_IMP(GENERAL_NAME, d.registeredID, ASN1_OBJECT, GEN_RID) |
93 | } ASN1_CHOICE_END(GENERAL_NAME) | 141 | } ASN1_CHOICE_END(GENERAL_NAME) |
94 | 142 | ||
95 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAME) | 143 | |
144 | GENERAL_NAME * | ||
145 | d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len) | ||
146 | { | ||
147 | return (GENERAL_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
148 | &GENERAL_NAME_it); | ||
149 | } | ||
150 | |||
151 | int | ||
152 | i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out) | ||
153 | { | ||
154 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAME_it); | ||
155 | } | ||
156 | |||
157 | GENERAL_NAME * | ||
158 | GENERAL_NAME_new(void) | ||
159 | { | ||
160 | return (GENERAL_NAME *)ASN1_item_new(&GENERAL_NAME_it); | ||
161 | } | ||
162 | |||
163 | void | ||
164 | GENERAL_NAME_free(GENERAL_NAME *a) | ||
165 | { | ||
166 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAME_it); | ||
167 | } | ||
96 | 168 | ||
97 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = | 169 | ASN1_ITEM_TEMPLATE(GENERAL_NAMES) = |
98 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) | 170 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, GENERAL_NAME) |
99 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) | 171 | ASN1_ITEM_TEMPLATE_END(GENERAL_NAMES) |
100 | 172 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(GENERAL_NAMES) | 173 | |
174 | GENERAL_NAMES * | ||
175 | d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len) | ||
176 | { | ||
177 | return (GENERAL_NAMES *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
178 | &GENERAL_NAMES_it); | ||
179 | } | ||
180 | |||
181 | int | ||
182 | i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out) | ||
183 | { | ||
184 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &GENERAL_NAMES_it); | ||
185 | } | ||
186 | |||
187 | GENERAL_NAMES * | ||
188 | GENERAL_NAMES_new(void) | ||
189 | { | ||
190 | return (GENERAL_NAMES *)ASN1_item_new(&GENERAL_NAMES_it); | ||
191 | } | ||
192 | |||
193 | void | ||
194 | GENERAL_NAMES_free(GENERAL_NAMES *a) | ||
195 | { | ||
196 | ASN1_item_free((ASN1_VALUE *)a, &GENERAL_NAMES_it); | ||
197 | } | ||
102 | 198 | ||
103 | GENERAL_NAME * | 199 | GENERAL_NAME * |
104 | GENERAL_NAME_dup(GENERAL_NAME *a) | 200 | GENERAL_NAME_dup(GENERAL_NAME *a) |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_info.c b/src/lib/libssl/src/crypto/x509v3/v3_info.c index 0a4df34078..d9fa133308 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_info.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_info.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_info.c,v 1.20 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: v3_info.c,v 1.21 2015/02/09 16:03:11 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 | */ |
@@ -98,14 +98,62 @@ ASN1_SEQUENCE(ACCESS_DESCRIPTION) = { | |||
98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) | 98 | ASN1_SIMPLE(ACCESS_DESCRIPTION, location, GENERAL_NAME) |
99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) | 99 | } ASN1_SEQUENCE_END(ACCESS_DESCRIPTION) |
100 | 100 | ||
101 | IMPLEMENT_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) | 101 | |
102 | ACCESS_DESCRIPTION * | ||
103 | d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long len) | ||
104 | { | ||
105 | return (ACCESS_DESCRIPTION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
106 | &ACCESS_DESCRIPTION_it); | ||
107 | } | ||
108 | |||
109 | int | ||
110 | i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out) | ||
111 | { | ||
112 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ACCESS_DESCRIPTION_it); | ||
113 | } | ||
114 | |||
115 | ACCESS_DESCRIPTION * | ||
116 | ACCESS_DESCRIPTION_new(void) | ||
117 | { | ||
118 | return (ACCESS_DESCRIPTION *)ASN1_item_new(&ACCESS_DESCRIPTION_it); | ||
119 | } | ||
120 | |||
121 | void | ||
122 | ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a) | ||
123 | { | ||
124 | ASN1_item_free((ASN1_VALUE *)a, &ACCESS_DESCRIPTION_it); | ||
125 | } | ||
102 | 126 | ||
103 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = | 127 | ASN1_ITEM_TEMPLATE(AUTHORITY_INFO_ACCESS) = |
104 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, | 128 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, GeneralNames, |
105 | ACCESS_DESCRIPTION) | 129 | ACCESS_DESCRIPTION) |
106 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) | 130 | ASN1_ITEM_TEMPLATE_END(AUTHORITY_INFO_ACCESS) |
107 | 131 | ||
108 | IMPLEMENT_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) | 132 | |
133 | AUTHORITY_INFO_ACCESS * | ||
134 | d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, long len) | ||
135 | { | ||
136 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
137 | &AUTHORITY_INFO_ACCESS_it); | ||
138 | } | ||
139 | |||
140 | int | ||
141 | i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out) | ||
142 | { | ||
143 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &AUTHORITY_INFO_ACCESS_it); | ||
144 | } | ||
145 | |||
146 | AUTHORITY_INFO_ACCESS * | ||
147 | AUTHORITY_INFO_ACCESS_new(void) | ||
148 | { | ||
149 | return (AUTHORITY_INFO_ACCESS *)ASN1_item_new(&AUTHORITY_INFO_ACCESS_it); | ||
150 | } | ||
151 | |||
152 | void | ||
153 | AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a) | ||
154 | { | ||
155 | ASN1_item_free((ASN1_VALUE *)a, &AUTHORITY_INFO_ACCESS_it); | ||
156 | } | ||
109 | 157 | ||
110 | static STACK_OF(CONF_VALUE) * | 158 | static STACK_OF(CONF_VALUE) * |
111 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, | 159 | i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pcia.c b/src/lib/libssl/src/crypto/x509v3/v3_pcia.c index c7df225290..07e294e633 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_pcia.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_pcia.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pcia.c,v 1.4 2014/06/12 15:49:31 deraadt Exp $ */ | 1 | /* $OpenBSD: v3_pcia.c,v 1.5 2015/02/09 16:03:11 jsing Exp $ */ |
2 | /* Contributed to the OpenSSL Project 2004 | 2 | /* Contributed to the OpenSSL Project 2004 |
3 | * by Richard Levitte (richard@levitte.org) | 3 | * by Richard Levitte (richard@levitte.org) |
4 | */ | 4 | */ |
@@ -43,7 +43,31 @@ ASN1_SEQUENCE(PROXY_POLICY) = { | |||
43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) | 43 | ASN1_OPT(PROXY_POLICY, policy, ASN1_OCTET_STRING) |
44 | } ASN1_SEQUENCE_END(PROXY_POLICY) | 44 | } ASN1_SEQUENCE_END(PROXY_POLICY) |
45 | 45 | ||
46 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_POLICY) | 46 | |
47 | PROXY_POLICY * | ||
48 | d2i_PROXY_POLICY(PROXY_POLICY **a, const unsigned char **in, long len) | ||
49 | { | ||
50 | return (PROXY_POLICY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
51 | &PROXY_POLICY_it); | ||
52 | } | ||
53 | |||
54 | int | ||
55 | i2d_PROXY_POLICY(PROXY_POLICY *a, unsigned char **out) | ||
56 | { | ||
57 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_POLICY_it); | ||
58 | } | ||
59 | |||
60 | PROXY_POLICY * | ||
61 | PROXY_POLICY_new(void) | ||
62 | { | ||
63 | return (PROXY_POLICY *)ASN1_item_new(&PROXY_POLICY_it); | ||
64 | } | ||
65 | |||
66 | void | ||
67 | PROXY_POLICY_free(PROXY_POLICY *a) | ||
68 | { | ||
69 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_POLICY_it); | ||
70 | } | ||
47 | 71 | ||
48 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | 72 | ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { |
49 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, | 73 | ASN1_OPT(PROXY_CERT_INFO_EXTENSION, pcPathLengthConstraint, |
@@ -51,4 +75,28 @@ ASN1_SEQUENCE(PROXY_CERT_INFO_EXTENSION) = { | |||
51 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) | 75 | ASN1_SIMPLE(PROXY_CERT_INFO_EXTENSION, proxyPolicy, PROXY_POLICY) |
52 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) | 76 | } ASN1_SEQUENCE_END(PROXY_CERT_INFO_EXTENSION) |
53 | 77 | ||
54 | IMPLEMENT_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) | 78 | |
79 | PROXY_CERT_INFO_EXTENSION * | ||
80 | d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a, const unsigned char **in, long len) | ||
81 | { | ||
82 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
83 | &PROXY_CERT_INFO_EXTENSION_it); | ||
84 | } | ||
85 | |||
86 | int | ||
87 | i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a, unsigned char **out) | ||
88 | { | ||
89 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PROXY_CERT_INFO_EXTENSION_it); | ||
90 | } | ||
91 | |||
92 | PROXY_CERT_INFO_EXTENSION * | ||
93 | PROXY_CERT_INFO_EXTENSION_new(void) | ||
94 | { | ||
95 | return (PROXY_CERT_INFO_EXTENSION *)ASN1_item_new(&PROXY_CERT_INFO_EXTENSION_it); | ||
96 | } | ||
97 | |||
98 | void | ||
99 | PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a) | ||
100 | { | ||
101 | ASN1_item_free((ASN1_VALUE *)a, &PROXY_CERT_INFO_EXTENSION_it); | ||
102 | } | ||
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pku.c b/src/lib/libssl/src/crypto/x509v3/v3_pku.c index 6cfbc3bd3e..4bce07f09c 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_pku.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_pku.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_pku.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_pku.c,v 1.10 2015/02/09 16:03:11 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,7 +80,31 @@ ASN1_SEQUENCE(PKEY_USAGE_PERIOD) = { | |||
80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) | 80 | ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1) |
81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) | 81 | } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD) |
82 | 82 | ||
83 | IMPLEMENT_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) | 83 | |
84 | PKEY_USAGE_PERIOD * | ||
85 | d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len) | ||
86 | { | ||
87 | return (PKEY_USAGE_PERIOD *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
88 | &PKEY_USAGE_PERIOD_it); | ||
89 | } | ||
90 | |||
91 | int | ||
92 | i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out) | ||
93 | { | ||
94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKEY_USAGE_PERIOD_it); | ||
95 | } | ||
96 | |||
97 | PKEY_USAGE_PERIOD * | ||
98 | PKEY_USAGE_PERIOD_new(void) | ||
99 | { | ||
100 | return (PKEY_USAGE_PERIOD *)ASN1_item_new(&PKEY_USAGE_PERIOD_it); | ||
101 | } | ||
102 | |||
103 | void | ||
104 | PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a) | ||
105 | { | ||
106 | ASN1_item_free((ASN1_VALUE *)a, &PKEY_USAGE_PERIOD_it); | ||
107 | } | ||
84 | 108 | ||
85 | static int | 109 | static int |
86 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, | 110 | i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, PKEY_USAGE_PERIOD *usage, |
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c b/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c index 81e8ab67dd..dc8ee379c7 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_sxnet.c,v 1.11 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_sxnet.c,v 1.12 2015/02/09 16:03:11 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 | */ |
@@ -95,14 +95,62 @@ ASN1_SEQUENCE(SXNETID) = { | |||
95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) | 95 | ASN1_SIMPLE(SXNETID, user, ASN1_OCTET_STRING) |
96 | } ASN1_SEQUENCE_END(SXNETID) | 96 | } ASN1_SEQUENCE_END(SXNETID) |
97 | 97 | ||
98 | IMPLEMENT_ASN1_FUNCTIONS(SXNETID) | 98 | |
99 | SXNETID * | ||
100 | d2i_SXNETID(SXNETID **a, const unsigned char **in, long len) | ||
101 | { | ||
102 | return (SXNETID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
103 | &SXNETID_it); | ||
104 | } | ||
105 | |||
106 | int | ||
107 | i2d_SXNETID(SXNETID *a, unsigned char **out) | ||
108 | { | ||
109 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNETID_it); | ||
110 | } | ||
111 | |||
112 | SXNETID * | ||
113 | SXNETID_new(void) | ||
114 | { | ||
115 | return (SXNETID *)ASN1_item_new(&SXNETID_it); | ||
116 | } | ||
117 | |||
118 | void | ||
119 | SXNETID_free(SXNETID *a) | ||
120 | { | ||
121 | ASN1_item_free((ASN1_VALUE *)a, &SXNETID_it); | ||
122 | } | ||
99 | 123 | ||
100 | ASN1_SEQUENCE(SXNET) = { | 124 | ASN1_SEQUENCE(SXNET) = { |
101 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), | 125 | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), |
102 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) | 126 | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) |
103 | } ASN1_SEQUENCE_END(SXNET) | 127 | } ASN1_SEQUENCE_END(SXNET) |
104 | 128 | ||
105 | IMPLEMENT_ASN1_FUNCTIONS(SXNET) | 129 | |
130 | SXNET * | ||
131 | d2i_SXNET(SXNET **a, const unsigned char **in, long len) | ||
132 | { | ||
133 | return (SXNET *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
134 | &SXNET_it); | ||
135 | } | ||
136 | |||
137 | int | ||
138 | i2d_SXNET(SXNET *a, unsigned char **out) | ||
139 | { | ||
140 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &SXNET_it); | ||
141 | } | ||
142 | |||
143 | SXNET * | ||
144 | SXNET_new(void) | ||
145 | { | ||
146 | return (SXNET *)ASN1_item_new(&SXNET_it); | ||
147 | } | ||
148 | |||
149 | void | ||
150 | SXNET_free(SXNET *a) | ||
151 | { | ||
152 | ASN1_item_free((ASN1_VALUE *)a, &SXNET_it); | ||
153 | } | ||
106 | 154 | ||
107 | static int | 155 | static int |
108 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) | 156 | sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, int indent) |