diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/asn1/tasn_typ.c | 244 |
1 files changed, 221 insertions, 23 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 094b041a80..0e2aac1788 100644 --- a/src/lib/libcrypto/asn1/tasn_typ.c +++ b/src/lib/libcrypto/asn1/tasn_typ.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tasn_typ.c,v 1.9 2015/02/10 05:12:23 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.10 2015/02/10 09:39:13 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -62,7 +62,16 @@ | |||
| 62 | /* Declarations for string types */ | 62 | /* Declarations for string types */ |
| 63 | 63 | ||
| 64 | 64 | ||
| 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) | 65 | |
| 66 | const ASN1_ITEM ASN1_INTEGER_it = { | ||
| 67 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 68 | .utype = V_ASN1_INTEGER, | ||
| 69 | .templates = NULL, | ||
| 70 | .tcount = 0, | ||
| 71 | .funcs = NULL, | ||
| 72 | .size = 0, | ||
| 73 | .sname = "ASN1_INTEGER", | ||
| 74 | }; | ||
| 66 | 75 | ||
| 67 | ASN1_INTEGER * | 76 | ASN1_INTEGER * |
| 68 | d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) | 77 | d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) |
| @@ -89,7 +98,16 @@ ASN1_INTEGER_free(ASN1_INTEGER *a) | |||
| 89 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); | 98 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); |
| 90 | } | 99 | } |
| 91 | 100 | ||
| 92 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) | 101 | |
| 102 | const ASN1_ITEM ASN1_ENUMERATED_it = { | ||
| 103 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 104 | .utype = V_ASN1_ENUMERATED, | ||
| 105 | .templates = NULL, | ||
| 106 | .tcount = 0, | ||
| 107 | .funcs = NULL, | ||
| 108 | .size = 0, | ||
| 109 | .sname = "ASN1_ENUMERATED", | ||
| 110 | }; | ||
| 93 | 111 | ||
| 94 | ASN1_ENUMERATED * | 112 | ASN1_ENUMERATED * |
| 95 | d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) | 113 | d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) |
| @@ -116,7 +134,16 @@ ASN1_ENUMERATED_free(ASN1_ENUMERATED *a) | |||
| 116 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); | 134 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); |
| 117 | } | 135 | } |
| 118 | 136 | ||
| 119 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) | 137 | |
| 138 | const ASN1_ITEM ASN1_BIT_STRING_it = { | ||
| 139 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 140 | .utype = V_ASN1_BIT_STRING, | ||
| 141 | .templates = NULL, | ||
| 142 | .tcount = 0, | ||
| 143 | .funcs = NULL, | ||
| 144 | .size = 0, | ||
| 145 | .sname = "ASN1_BIT_STRING", | ||
| 146 | }; | ||
| 120 | 147 | ||
| 121 | ASN1_BIT_STRING * | 148 | ASN1_BIT_STRING * |
| 122 | d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) | 149 | d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) |
| @@ -143,7 +170,16 @@ ASN1_BIT_STRING_free(ASN1_BIT_STRING *a) | |||
| 143 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); | 170 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); |
| 144 | } | 171 | } |
| 145 | 172 | ||
| 146 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) | 173 | |
| 174 | const ASN1_ITEM ASN1_OCTET_STRING_it = { | ||
| 175 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 176 | .utype = V_ASN1_OCTET_STRING, | ||
| 177 | .templates = NULL, | ||
| 178 | .tcount = 0, | ||
| 179 | .funcs = NULL, | ||
| 180 | .size = 0, | ||
| 181 | .sname = "ASN1_OCTET_STRING", | ||
| 182 | }; | ||
| 147 | 183 | ||
| 148 | ASN1_OCTET_STRING * | 184 | ASN1_OCTET_STRING * |
| 149 | d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) | 185 | d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) |
| @@ -170,7 +206,16 @@ ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a) | |||
| 170 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); | 206 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); |
| 171 | } | 207 | } |
| 172 | 208 | ||
| 173 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) | 209 | |
| 210 | const ASN1_ITEM ASN1_NULL_it = { | ||
| 211 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 212 | .utype = V_ASN1_NULL, | ||
| 213 | .templates = NULL, | ||
| 214 | .tcount = 0, | ||
| 215 | .funcs = NULL, | ||
| 216 | .size = 0, | ||
| 217 | .sname = "ASN1_NULL", | ||
| 218 | }; | ||
| 174 | 219 | ||
| 175 | ASN1_NULL * | 220 | ASN1_NULL * |
| 176 | d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len) | 221 | d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len) |
| @@ -197,9 +242,27 @@ ASN1_NULL_free(ASN1_NULL *a) | |||
| 197 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); | 242 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); |
| 198 | } | 243 | } |
| 199 | 244 | ||
| 200 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) | ||
| 201 | 245 | ||
| 202 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) | 246 | const ASN1_ITEM ASN1_OBJECT_it = { |
| 247 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 248 | .utype = V_ASN1_OBJECT, | ||
| 249 | .templates = NULL, | ||
| 250 | .tcount = 0, | ||
| 251 | .funcs = NULL, | ||
| 252 | .size = 0, | ||
| 253 | .sname = "ASN1_OBJECT", | ||
| 254 | }; | ||
| 255 | |||
| 256 | |||
| 257 | const ASN1_ITEM ASN1_UTF8STRING_it = { | ||
| 258 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 259 | .utype = V_ASN1_UTF8STRING, | ||
| 260 | .templates = NULL, | ||
| 261 | .tcount = 0, | ||
| 262 | .funcs = NULL, | ||
| 263 | .size = 0, | ||
| 264 | .sname = "ASN1_UTF8STRING", | ||
| 265 | }; | ||
| 203 | 266 | ||
| 204 | ASN1_UTF8STRING * | 267 | ASN1_UTF8STRING * |
| 205 | d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len) | 268 | d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len) |
| @@ -226,7 +289,16 @@ ASN1_UTF8STRING_free(ASN1_UTF8STRING *a) | |||
| 226 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); | 289 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); |
| 227 | } | 290 | } |
| 228 | 291 | ||
| 229 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) | 292 | |
| 293 | const ASN1_ITEM ASN1_PRINTABLESTRING_it = { | ||
| 294 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 295 | .utype = V_ASN1_PRINTABLESTRING, | ||
| 296 | .templates = NULL, | ||
| 297 | .tcount = 0, | ||
| 298 | .funcs = NULL, | ||
| 299 | .size = 0, | ||
| 300 | .sname = "ASN1_PRINTABLESTRING", | ||
| 301 | }; | ||
| 230 | 302 | ||
| 231 | ASN1_PRINTABLESTRING * | 303 | ASN1_PRINTABLESTRING * |
| 232 | d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len) | 304 | d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len) |
| @@ -253,7 +325,16 @@ ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a) | |||
| 253 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); | 325 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); |
| 254 | } | 326 | } |
| 255 | 327 | ||
| 256 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) | 328 | |
| 329 | const ASN1_ITEM ASN1_T61STRING_it = { | ||
| 330 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 331 | .utype = V_ASN1_T61STRING, | ||
| 332 | .templates = NULL, | ||
| 333 | .tcount = 0, | ||
| 334 | .funcs = NULL, | ||
| 335 | .size = 0, | ||
| 336 | .sname = "ASN1_T61STRING", | ||
| 337 | }; | ||
| 257 | 338 | ||
| 258 | ASN1_T61STRING * | 339 | ASN1_T61STRING * |
| 259 | d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len) | 340 | d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len) |
| @@ -280,7 +361,16 @@ ASN1_T61STRING_free(ASN1_T61STRING *a) | |||
| 280 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); | 361 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); |
| 281 | } | 362 | } |
| 282 | 363 | ||
| 283 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) | 364 | |
| 365 | const ASN1_ITEM ASN1_IA5STRING_it = { | ||
| 366 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 367 | .utype = V_ASN1_IA5STRING, | ||
| 368 | .templates = NULL, | ||
| 369 | .tcount = 0, | ||
| 370 | .funcs = NULL, | ||
| 371 | .size = 0, | ||
| 372 | .sname = "ASN1_IA5STRING", | ||
| 373 | }; | ||
| 284 | 374 | ||
| 285 | ASN1_IA5STRING * | 375 | ASN1_IA5STRING * |
| 286 | d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len) | 376 | d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len) |
| @@ -307,7 +397,16 @@ ASN1_IA5STRING_free(ASN1_IA5STRING *a) | |||
| 307 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); | 397 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); |
| 308 | } | 398 | } |
| 309 | 399 | ||
| 310 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) | 400 | |
| 401 | const ASN1_ITEM ASN1_GENERALSTRING_it = { | ||
| 402 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 403 | .utype = V_ASN1_GENERALSTRING, | ||
| 404 | .templates = NULL, | ||
| 405 | .tcount = 0, | ||
| 406 | .funcs = NULL, | ||
| 407 | .size = 0, | ||
| 408 | .sname = "ASN1_GENERALSTRING", | ||
| 409 | }; | ||
| 311 | 410 | ||
| 312 | ASN1_GENERALSTRING * | 411 | ASN1_GENERALSTRING * |
| 313 | d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len) | 412 | d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len) |
| @@ -334,7 +433,16 @@ ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a) | |||
| 334 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); | 433 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); |
| 335 | } | 434 | } |
| 336 | 435 | ||
| 337 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) | 436 | |
| 437 | const ASN1_ITEM ASN1_UTCTIME_it = { | ||
| 438 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 439 | .utype = V_ASN1_UTCTIME, | ||
| 440 | .templates = NULL, | ||
| 441 | .tcount = 0, | ||
| 442 | .funcs = NULL, | ||
| 443 | .size = 0, | ||
| 444 | .sname = "ASN1_UTCTIME", | ||
| 445 | }; | ||
| 338 | 446 | ||
| 339 | ASN1_UTCTIME * | 447 | ASN1_UTCTIME * |
| 340 | d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len) | 448 | d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len) |
| @@ -361,7 +469,16 @@ ASN1_UTCTIME_free(ASN1_UTCTIME *a) | |||
| 361 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); | 469 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); |
| 362 | } | 470 | } |
| 363 | 471 | ||
| 364 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) | 472 | |
| 473 | const ASN1_ITEM ASN1_GENERALIZEDTIME_it = { | ||
| 474 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 475 | .utype = V_ASN1_GENERALIZEDTIME, | ||
| 476 | .templates = NULL, | ||
| 477 | .tcount = 0, | ||
| 478 | .funcs = NULL, | ||
| 479 | .size = 0, | ||
| 480 | .sname = "ASN1_GENERALIZEDTIME", | ||
| 481 | }; | ||
| 365 | 482 | ||
| 366 | ASN1_GENERALIZEDTIME * | 483 | ASN1_GENERALIZEDTIME * |
| 367 | d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len) | 484 | d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len) |
| @@ -388,7 +505,16 @@ ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a) | |||
| 388 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); | 505 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); |
| 389 | } | 506 | } |
| 390 | 507 | ||
| 391 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) | 508 | |
| 509 | const ASN1_ITEM ASN1_VISIBLESTRING_it = { | ||
| 510 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 511 | .utype = V_ASN1_VISIBLESTRING, | ||
| 512 | .templates = NULL, | ||
| 513 | .tcount = 0, | ||
| 514 | .funcs = NULL, | ||
| 515 | .size = 0, | ||
| 516 | .sname = "ASN1_VISIBLESTRING", | ||
| 517 | }; | ||
| 392 | 518 | ||
| 393 | ASN1_VISIBLESTRING * | 519 | ASN1_VISIBLESTRING * |
| 394 | d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len) | 520 | d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len) |
| @@ -415,7 +541,16 @@ ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a) | |||
| 415 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); | 541 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); |
| 416 | } | 542 | } |
| 417 | 543 | ||
| 418 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) | 544 | |
| 545 | const ASN1_ITEM ASN1_UNIVERSALSTRING_it = { | ||
| 546 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 547 | .utype = V_ASN1_UNIVERSALSTRING, | ||
| 548 | .templates = NULL, | ||
| 549 | .tcount = 0, | ||
| 550 | .funcs = NULL, | ||
| 551 | .size = 0, | ||
| 552 | .sname = "ASN1_UNIVERSALSTRING", | ||
| 553 | }; | ||
| 419 | 554 | ||
| 420 | ASN1_UNIVERSALSTRING * | 555 | ASN1_UNIVERSALSTRING * |
| 421 | d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len) | 556 | d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len) |
| @@ -442,7 +577,16 @@ ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a) | |||
| 442 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); | 577 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); |
| 443 | } | 578 | } |
| 444 | 579 | ||
| 445 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) | 580 | |
| 581 | const ASN1_ITEM ASN1_BMPSTRING_it = { | ||
| 582 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 583 | .utype = V_ASN1_BMPSTRING, | ||
| 584 | .templates = NULL, | ||
| 585 | .tcount = 0, | ||
| 586 | .funcs = NULL, | ||
| 587 | .size = 0, | ||
| 588 | .sname = "ASN1_BMPSTRING", | ||
| 589 | }; | ||
| 446 | 590 | ||
| 447 | ASN1_BMPSTRING * | 591 | ASN1_BMPSTRING * |
| 448 | d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len) | 592 | d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len) |
| @@ -469,10 +613,28 @@ ASN1_BMPSTRING_free(ASN1_BMPSTRING *a) | |||
| 469 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); | 613 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); |
| 470 | } | 614 | } |
| 471 | 615 | ||
| 472 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) | 616 | |
| 617 | const ASN1_ITEM ASN1_ANY_it = { | ||
| 618 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 619 | .utype = V_ASN1_ANY, | ||
| 620 | .templates = NULL, | ||
| 621 | .tcount = 0, | ||
| 622 | .funcs = NULL, | ||
| 623 | .size = 0, | ||
| 624 | .sname = "ASN1_ANY", | ||
| 625 | }; | ||
| 473 | 626 | ||
| 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ | 627 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ |
| 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) | 628 | |
| 629 | const ASN1_ITEM ASN1_SEQUENCE_it = { | ||
| 630 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 631 | .utype = V_ASN1_SEQUENCE, | ||
| 632 | .templates = NULL, | ||
| 633 | .tcount = 0, | ||
| 634 | .funcs = NULL, | ||
| 635 | .size = 0, | ||
| 636 | .sname = "ASN1_SEQUENCE", | ||
| 637 | }; | ||
| 476 | 638 | ||
| 477 | 639 | ||
| 478 | ASN1_TYPE * | 640 | ASN1_TYPE * |
| @@ -584,13 +746,49 @@ DIRECTORYSTRING_free(ASN1_STRING *a) | |||
| 584 | } | 746 | } |
| 585 | 747 | ||
| 586 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ | 748 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ |
| 587 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) | 749 | |
| 588 | IMPLEMENT_ASN1_TYPE_ex(ASN1_TBOOLEAN, ASN1_BOOLEAN, 1) | 750 | const ASN1_ITEM ASN1_BOOLEAN_it = { |
| 589 | IMPLEMENT_ASN1_TYPE_ex(ASN1_FBOOLEAN, ASN1_BOOLEAN, 0) | 751 | .itype = ASN1_ITYPE_PRIMITIVE, |
| 752 | .utype = V_ASN1_BOOLEAN, | ||
| 753 | .templates = NULL, | ||
| 754 | .tcount = 0, | ||
| 755 | .funcs = NULL, | ||
| 756 | .size = -1, | ||
| 757 | .sname = "ASN1_BOOLEAN", | ||
| 758 | }; | ||
| 759 | |||
| 760 | const ASN1_ITEM ASN1_TBOOLEAN_it = { | ||
| 761 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 762 | .utype = V_ASN1_BOOLEAN, | ||
| 763 | .templates = NULL, | ||
| 764 | .tcount = 0, | ||
| 765 | .funcs = NULL, | ||
| 766 | .size = 1, | ||
| 767 | .sname = "ASN1_TBOOLEAN", | ||
| 768 | }; | ||
| 769 | |||
| 770 | const ASN1_ITEM ASN1_FBOOLEAN_it = { | ||
| 771 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 772 | .utype = V_ASN1_BOOLEAN, | ||
| 773 | .templates = NULL, | ||
| 774 | .tcount = 0, | ||
| 775 | .funcs = NULL, | ||
| 776 | .size = 0, | ||
| 777 | .sname = "ASN1_FBOOLEAN", | ||
| 778 | }; | ||
| 590 | 779 | ||
| 591 | /* Special, OCTET STRING with indefinite length constructed support */ | 780 | /* Special, OCTET STRING with indefinite length constructed support */ |
| 592 | 781 | ||
| 593 | IMPLEMENT_ASN1_TYPE_ex(ASN1_OCTET_STRING_NDEF, ASN1_OCTET_STRING, ASN1_TFLG_NDEF) | 782 | |
| 783 | const ASN1_ITEM ASN1_OCTET_STRING_NDEF_it = { | ||
| 784 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 785 | .utype = V_ASN1_OCTET_STRING, | ||
| 786 | .templates = NULL, | ||
| 787 | .tcount = 0, | ||
| 788 | .funcs = NULL, | ||
| 789 | .size = ASN1_TFLG_NDEF, | ||
| 790 | .sname = "ASN1_OCTET_STRING_NDEF", | ||
| 791 | }; | ||
| 594 | 792 | ||
| 595 | ASN1_ITEM_TEMPLATE(ASN1_SEQUENCE_ANY) = | 793 | ASN1_ITEM_TEMPLATE(ASN1_SEQUENCE_ANY) = |
| 596 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, ASN1_SEQUENCE_ANY, ASN1_ANY) | 794 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, ASN1_SEQUENCE_ANY, ASN1_ANY) |
