diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/asn1_mac.h')
-rw-r--r-- | src/lib/libcrypto/asn1/asn1_mac.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/lib/libcrypto/asn1/asn1_mac.h b/src/lib/libcrypto/asn1/asn1_mac.h index 4512ba6cc6..af0e664b2d 100644 --- a/src/lib/libcrypto/asn1/asn1_mac.h +++ b/src/lib/libcrypto/asn1/asn1_mac.h | |||
@@ -196,6 +196,9 @@ err:\ | |||
196 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 196 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
197 | M_ASN1_I2D_put_SEQUENCE_type(type,a,f); | 197 | M_ASN1_I2D_put_SEQUENCE_type(type,a,f); |
198 | 198 | ||
199 | #define M_ASN1_I2D_put_SEQUENCE_opt_ex_type(type,a,f) \ | ||
200 | if (a) M_ASN1_I2D_put_SEQUENCE_type(type,a,f); | ||
201 | |||
199 | #define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ | 202 | #define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ |
200 | if ((c.slen != 0) && \ | 203 | if ((c.slen != 0) && \ |
201 | (M_ASN1_next == \ | 204 | (M_ASN1_next == \ |
@@ -389,6 +392,9 @@ err:\ | |||
389 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ | 392 | if ((a != NULL) && (sk_##type##_num(a) != 0)) \ |
390 | M_ASN1_I2D_len_SEQUENCE_type(type,a,f); | 393 | M_ASN1_I2D_len_SEQUENCE_type(type,a,f); |
391 | 394 | ||
395 | #define M_ASN1_I2D_len_SEQUENCE_opt_ex_type(type,a,f) \ | ||
396 | if (a) M_ASN1_I2D_len_SEQUENCE_type(type,a,f); | ||
397 | |||
392 | #define M_ASN1_I2D_len_IMP_SET(a,f,x) \ | 398 | #define M_ASN1_I2D_len_IMP_SET(a,f,x) \ |
393 | ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); | 399 | ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); |
394 | 400 | ||
@@ -452,6 +458,15 @@ err:\ | |||
452 | ret+=ASN1_object_size(1,v,mtag); \ | 458 | ret+=ASN1_object_size(1,v,mtag); \ |
453 | } | 459 | } |
454 | 460 | ||
461 | #define M_ASN1_I2D_len_EXP_SEQUENCE_opt_ex_type(type,a,f,mtag,tag,v) \ | ||
462 | if (a)\ | ||
463 | { \ | ||
464 | v=i2d_ASN1_SET_OF_##type(a,NULL,f,tag, \ | ||
465 | V_ASN1_UNIVERSAL, \ | ||
466 | IS_SEQUENCE); \ | ||
467 | ret+=ASN1_object_size(1,v,mtag); \ | ||
468 | } | ||
469 | |||
455 | /* Put Macros */ | 470 | /* Put Macros */ |
456 | #define M_ASN1_I2D_put(a,f) f(a,&p) | 471 | #define M_ASN1_I2D_put(a,f) f(a,&p) |
457 | 472 | ||
@@ -536,6 +551,14 @@ err:\ | |||
536 | IS_SEQUENCE); \ | 551 | IS_SEQUENCE); \ |
537 | } | 552 | } |
538 | 553 | ||
554 | #define M_ASN1_I2D_put_EXP_SEQUENCE_opt_ex_type(type,a,f,mtag,tag,v) \ | ||
555 | if (a) \ | ||
556 | { \ | ||
557 | ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ | ||
558 | i2d_ASN1_SET_OF_##type(a,&p,f,tag,V_ASN1_UNIVERSAL, \ | ||
559 | IS_SEQUENCE); \ | ||
560 | } | ||
561 | |||
539 | #define M_ASN1_I2D_seq_total() \ | 562 | #define M_ASN1_I2D_seq_total() \ |
540 | r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ | 563 | r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ |
541 | if (pp == NULL) return(r); \ | 564 | if (pp == NULL) return(r); \ |