diff options
author | miod <> | 2014-04-15 20:19:57 +0000 |
---|---|---|
committer | miod <> | 2014-04-15 20:19:57 +0000 |
commit | f6394a1bd8f61db79694977e8d0afdfd4e4ff1a1 (patch) | |
tree | 3b957c0020405f9f6e90af181b1ebb5124c6e68a /src/lib/libcrypto/asn1/asn1_mac.h | |
parent | 2125ec026993d82b51335463dc7fc5b899a4057a (diff) | |
download | openbsd-f6394a1bd8f61db79694977e8d0afdfd4e4ff1a1.tar.gz openbsd-f6394a1bd8f61db79694977e8d0afdfd4e4ff1a1.tar.bz2 openbsd-f6394a1bd8f61db79694977e8d0afdfd4e4ff1a1.zip |
The NO_ASN1_OLD define was introduced in 0.9.7, 8 years ago, to allow for
obsolete (and mostly internal) routines to be compiled out.
We don't expect any reasonable software to stick to these interfaces, so better
clean up the view and unifdef -DNO_ASN1_OLD.
The astute reader will notice the existence of NO_OLD_ASN1 which serves a
similar purpose, but is more entangled. Its time will come, soon.
Diffstat (limited to 'src/lib/libcrypto/asn1/asn1_mac.h')
-rw-r--r-- | src/lib/libcrypto/asn1/asn1_mac.h | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/src/lib/libcrypto/asn1/asn1_mac.h b/src/lib/libcrypto/asn1/asn1_mac.h index 87bd0e9e1d..c60b197552 100644 --- a/src/lib/libcrypto/asn1/asn1_mac.h +++ b/src/lib/libcrypto/asn1/asn1_mac.h | |||
@@ -176,19 +176,10 @@ err:\ | |||
176 | M_ASN1_D2I_get_imp(b,func, type);\ | 176 | M_ASN1_D2I_get_imp(b,func, type);\ |
177 | } | 177 | } |
178 | 178 | ||
179 | #define M_ASN1_D2I_get_set(r,func,free_func) \ | ||
180 | M_ASN1_D2I_get_imp_set(r,func,free_func, \ | ||
181 | V_ASN1_SET,V_ASN1_UNIVERSAL); | ||
182 | |||
183 | #define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ | 179 | #define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ |
184 | M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ | 180 | M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ |
185 | V_ASN1_SET,V_ASN1_UNIVERSAL); | 181 | V_ASN1_SET,V_ASN1_UNIVERSAL); |
186 | 182 | ||
187 | #define M_ASN1_D2I_get_set_opt(r,func,free_func) \ | ||
188 | if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ | ||
189 | V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ | ||
190 | { M_ASN1_D2I_get_set(r,func,free_func); } | ||
191 | |||
192 | #define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ | 183 | #define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ |
193 | if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ | 184 | if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ |
194 | V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ | 185 | V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ |
@@ -210,15 +201,6 @@ err:\ | |||
210 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 201 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
211 | M_ASN1_I2D_put_SEQUENCE_type(type,a,f); | 202 | M_ASN1_I2D_put_SEQUENCE_type(type,a,f); |
212 | 203 | ||
213 | #define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ | ||
214 | if ((c.slen != 0) && \ | ||
215 | (M_ASN1_next == \ | ||
216 | (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ | ||
217 | { \ | ||
218 | M_ASN1_D2I_get_imp_set(b,func,free_func,\ | ||
219 | tag,V_ASN1_CONTEXT_SPECIFIC); \ | ||
220 | } | ||
221 | |||
222 | #define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ | 204 | #define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ |
223 | if ((c.slen != 0) && \ | 205 | if ((c.slen != 0) && \ |
224 | (M_ASN1_next == \ | 206 | (M_ASN1_next == \ |
@@ -228,39 +210,19 @@ err:\ | |||
228 | tag,V_ASN1_CONTEXT_SPECIFIC); \ | 210 | tag,V_ASN1_CONTEXT_SPECIFIC); \ |
229 | } | 211 | } |
230 | 212 | ||
231 | #define M_ASN1_D2I_get_seq(r,func,free_func) \ | ||
232 | M_ASN1_D2I_get_imp_set(r,func,free_func,\ | ||
233 | V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); | ||
234 | |||
235 | #define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ | 213 | #define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ |
236 | M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ | 214 | M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ |
237 | V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) | 215 | V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) |
238 | 216 | ||
239 | #define M_ASN1_D2I_get_seq_opt(r,func,free_func) \ | ||
240 | if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ | ||
241 | V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ | ||
242 | { M_ASN1_D2I_get_seq(r,func,free_func); } | ||
243 | |||
244 | #define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ | 217 | #define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ |
245 | if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ | 218 | if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ |
246 | V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ | 219 | V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ |
247 | { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } | 220 | { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } |
248 | 221 | ||
249 | #define M_ASN1_D2I_get_IMP_set(r,func,free_func,x) \ | ||
250 | M_ASN1_D2I_get_imp_set(r,func,free_func,\ | ||
251 | x,V_ASN1_CONTEXT_SPECIFIC); | ||
252 | |||
253 | #define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ | 222 | #define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ |
254 | M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ | 223 | M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ |
255 | x,V_ASN1_CONTEXT_SPECIFIC); | 224 | x,V_ASN1_CONTEXT_SPECIFIC); |
256 | 225 | ||
257 | #define M_ASN1_D2I_get_imp_set(r,func,free_func,a,b) \ | ||
258 | c.q=c.p; \ | ||
259 | if (d2i_ASN1_SET(&(r),&c.p,c.slen,(char *(*)())func,\ | ||
260 | (void (*)())free_func,a,b) == NULL) \ | ||
261 | { c.line=__LINE__; goto err; } \ | ||
262 | c.slen-=(c.p-c.q); | ||
263 | |||
264 | #define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ | 226 | #define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ |
265 | c.q=c.p; \ | 227 | c.q=c.p; \ |
266 | if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ | 228 | if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ |
@@ -299,33 +261,6 @@ err:\ | |||
299 | c.slen-=(c.p-c.q); \ | 261 | c.slen-=(c.p-c.q); \ |
300 | } | 262 | } |
301 | 263 | ||
302 | #define M_ASN1_D2I_get_EXP_set_opt(r,func,free_func,tag,b) \ | ||
303 | if ((c.slen != 0) && (M_ASN1_next == \ | ||
304 | (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ | ||
305 | { \ | ||
306 | int Tinf,Ttag,Tclass; \ | ||
307 | long Tlen; \ | ||
308 | \ | ||
309 | c.q=c.p; \ | ||
310 | Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ | ||
311 | if (Tinf & 0x80) \ | ||
312 | { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ | ||
313 | c.line=__LINE__; goto err; } \ | ||
314 | if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ | ||
315 | Tlen = c.slen - (c.p - c.q) - 2; \ | ||
316 | if (d2i_ASN1_SET(&(r),&c.p,Tlen,(char *(*)())func, \ | ||
317 | (void (*)())free_func, \ | ||
318 | b,V_ASN1_UNIVERSAL) == NULL) \ | ||
319 | { c.line=__LINE__; goto err; } \ | ||
320 | if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ | ||
321 | Tlen = c.slen - (c.p - c.q); \ | ||
322 | if(!ASN1_check_infinite_end(&c.p, Tlen)) \ | ||
323 | { c.error=ERR_R_MISSING_ASN1_EOS; \ | ||
324 | c.line=__LINE__; goto err; } \ | ||
325 | }\ | ||
326 | c.slen-=(c.p-c.q); \ | ||
327 | } | ||
328 | |||
329 | #define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ | 264 | #define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ |
330 | if ((c.slen != 0) && (M_ASN1_next == \ | 265 | if ((c.slen != 0) && (M_ASN1_next == \ |
331 | (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ | 266 | (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ |
@@ -384,17 +319,10 @@ err:\ | |||
384 | #define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) | 319 | #define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) |
385 | #define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) | 320 | #define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) |
386 | 321 | ||
387 | #define M_ASN1_I2D_len_SET(a,f) \ | ||
388 | ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET); | ||
389 | |||
390 | #define M_ASN1_I2D_len_SET_type(type,a,f) \ | 322 | #define M_ASN1_I2D_len_SET_type(type,a,f) \ |
391 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ | 323 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ |
392 | V_ASN1_UNIVERSAL,IS_SET); | 324 | V_ASN1_UNIVERSAL,IS_SET); |
393 | 325 | ||
394 | #define M_ASN1_I2D_len_SEQUENCE(a,f) \ | ||
395 | ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ | ||
396 | IS_SEQUENCE); | ||
397 | |||
398 | #define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ | 326 | #define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ |
399 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ | 327 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ |
400 | V_ASN1_UNIVERSAL,IS_SEQUENCE) | 328 | V_ASN1_UNIVERSAL,IS_SEQUENCE) |
@@ -407,32 +335,15 @@ err:\ | |||
407 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 335 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
408 | M_ASN1_I2D_len_SEQUENCE_type(type,a,f); | 336 | M_ASN1_I2D_len_SEQUENCE_type(type,a,f); |
409 | 337 | ||
410 | #define M_ASN1_I2D_len_IMP_SET(a,f,x) \ | ||
411 | ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); | ||
412 | |||
413 | #define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ | 338 | #define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ |
414 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ | 339 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ |
415 | V_ASN1_CONTEXT_SPECIFIC,IS_SET); | 340 | V_ASN1_CONTEXT_SPECIFIC,IS_SET); |
416 | 341 | ||
417 | #define M_ASN1_I2D_len_IMP_SET_opt(a,f,x) \ | ||
418 | if ((a != NULL) && (sk_num(a) != 0)) \ | ||
419 | ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ | ||
420 | IS_SET); | ||
421 | |||
422 | #define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ | 342 | #define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ |
423 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 343 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
424 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ | 344 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ |
425 | V_ASN1_CONTEXT_SPECIFIC,IS_SET); | 345 | V_ASN1_CONTEXT_SPECIFIC,IS_SET); |
426 | 346 | ||
427 | #define M_ASN1_I2D_len_IMP_SEQUENCE(a,f,x) \ | ||
428 | ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ | ||
429 | IS_SEQUENCE); | ||
430 | |||
431 | #define M_ASN1_I2D_len_IMP_SEQUENCE_opt(a,f,x) \ | ||
432 | if ((a != NULL) && (sk_num(a) != 0)) \ | ||
433 | ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ | ||
434 | IS_SEQUENCE); | ||
435 | |||
436 | #define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ | 347 | #define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ |
437 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 348 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
438 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ | 349 | ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ |
@@ -446,21 +357,6 @@ err:\ | |||
446 | ret+=ASN1_object_size(1,v,mtag); \ | 357 | ret+=ASN1_object_size(1,v,mtag); \ |
447 | } | 358 | } |
448 | 359 | ||
449 | #define M_ASN1_I2D_len_EXP_SET_opt(a,f,mtag,tag,v) \ | ||
450 | if ((a != NULL) && (sk_num(a) != 0))\ | ||
451 | { \ | ||
452 | v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ | ||
453 | ret+=ASN1_object_size(1,v,mtag); \ | ||
454 | } | ||
455 | |||
456 | #define M_ASN1_I2D_len_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ | ||
457 | if ((a != NULL) && (sk_num(a) != 0))\ | ||
458 | { \ | ||
459 | v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL, \ | ||
460 | IS_SEQUENCE); \ | ||
461 | ret+=ASN1_object_size(1,v,mtag); \ | ||
462 | } | ||
463 | |||
464 | #define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ | 360 | #define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ |
465 | if ((a != NULL) && (sk_##type##_num(a) != 0))\ | 361 | if ((a != NULL) && (sk_##type##_num(a) != 0))\ |
466 | { \ | 362 | { \ |
@@ -481,19 +377,10 @@ err:\ | |||
481 | *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ | 377 | *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ |
482 | } | 378 | } |
483 | 379 | ||
484 | #define M_ASN1_I2D_put_SET(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SET,\ | ||
485 | V_ASN1_UNIVERSAL,IS_SET) | ||
486 | #define M_ASN1_I2D_put_SET_type(type,a,f) \ | 380 | #define M_ASN1_I2D_put_SET_type(type,a,f) \ |
487 | i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) | 381 | i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) |
488 | #define M_ASN1_I2D_put_IMP_SET(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ | ||
489 | V_ASN1_CONTEXT_SPECIFIC,IS_SET) | ||
490 | #define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ | 382 | #define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ |
491 | i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) | 383 | i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) |
492 | #define M_ASN1_I2D_put_IMP_SEQUENCE(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ | ||
493 | V_ASN1_CONTEXT_SPECIFIC,IS_SEQUENCE) | ||
494 | |||
495 | #define M_ASN1_I2D_put_SEQUENCE(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SEQUENCE,\ | ||
496 | V_ASN1_UNIVERSAL,IS_SEQUENCE) | ||
497 | 384 | ||
498 | #define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ | 385 | #define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ |
499 | i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ | 386 | i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ |
@@ -503,22 +390,12 @@ err:\ | |||
503 | if ((a != NULL) && (sk_num(a) != 0)) \ | 390 | if ((a != NULL) && (sk_num(a) != 0)) \ |
504 | M_ASN1_I2D_put_SEQUENCE(a,f); | 391 | M_ASN1_I2D_put_SEQUENCE(a,f); |
505 | 392 | ||
506 | #define M_ASN1_I2D_put_IMP_SET_opt(a,f,x) \ | ||
507 | if ((a != NULL) && (sk_num(a) != 0)) \ | ||
508 | { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ | ||
509 | IS_SET); } | ||
510 | |||
511 | #define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ | 393 | #define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ |
512 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 394 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
513 | { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ | 395 | { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ |
514 | V_ASN1_CONTEXT_SPECIFIC, \ | 396 | V_ASN1_CONTEXT_SPECIFIC, \ |
515 | IS_SET); } | 397 | IS_SET); } |
516 | 398 | ||
517 | #define M_ASN1_I2D_put_IMP_SEQUENCE_opt(a,f,x) \ | ||
518 | if ((a != NULL) && (sk_num(a) != 0)) \ | ||
519 | { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ | ||
520 | IS_SEQUENCE); } | ||
521 | |||
522 | #define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ | 399 | #define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ |
523 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 400 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
524 | { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ | 401 | { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ |
@@ -532,20 +409,6 @@ err:\ | |||
532 | f(a,&p); \ | 409 | f(a,&p); \ |
533 | } | 410 | } |
534 | 411 | ||
535 | #define M_ASN1_I2D_put_EXP_SET_opt(a,f,mtag,tag,v) \ | ||
536 | if ((a != NULL) && (sk_num(a) != 0)) \ | ||
537 | { \ | ||
538 | ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ | ||
539 | i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ | ||
540 | } | ||
541 | |||
542 | #define M_ASN1_I2D_put_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ | ||
543 | if ((a != NULL) && (sk_num(a) != 0)) \ | ||
544 | { \ | ||
545 | ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ | ||
546 | i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SEQUENCE); \ | ||
547 | } | ||
548 | |||
549 | #define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ | 412 | #define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ |
550 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 413 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
551 | { \ | 414 | { \ |