diff options
| author | jsing <> | 2015-07-24 15:09:52 +0000 | 
|---|---|---|
| committer | jsing <> | 2015-07-24 15:09:52 +0000 | 
| commit | 1e673b126ab87b6473d7eb7936ba96a175d35e6e (patch) | |
| tree | 0ba6057a5e2b3185fe937039921f30f1213edac6 | |
| parent | e5a18b58055480f5e4f8e380030bf5c294640b0d (diff) | |
| download | openbsd-1e673b126ab87b6473d7eb7936ba96a175d35e6e.tar.gz openbsd-1e673b126ab87b6473d7eb7936ba96a175d35e6e.tar.bz2 openbsd-1e673b126ab87b6473d7eb7936ba96a175d35e6e.zip | |
Expand ASN1_ITEM_TEMPLATE/ASN1_EX_TEMPLATE_TYPE/ASN1_ITEM_TEMPLATE_END
macros - the generated assembly only differs by changes to line numbers.
| -rw-r--r-- | src/lib/libcrypto/asn1/tasn_typ.c | 42 | ||||
| -rw-r--r-- | src/lib/libcrypto/asn1/x_algor.c | 22 | ||||
| -rw-r--r-- | src/lib/libcrypto/asn1/x_exten.c | 22 | ||||
| -rw-r--r-- | src/lib/libcrypto/asn1/x_name.c | 42 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/tasn_typ.c | 42 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/x_algor.c | 22 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/x_exten.c | 22 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/x_name.c | 42 | 
8 files changed, 212 insertions, 44 deletions
| diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 5e838e2cf0..542713aa09 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.12 2015/07/24 13:49:58 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.13 2015/07/24 15:09:52 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 | */ | 
| @@ -735,13 +735,41 @@ const ASN1_ITEM ASN1_OCTET_STRING_NDEF_it = { | |||
| 735 | .sname = "ASN1_OCTET_STRING_NDEF", | 735 | .sname = "ASN1_OCTET_STRING_NDEF", | 
| 736 | }; | 736 | }; | 
| 737 | 737 | ||
| 738 | ASN1_ITEM_TEMPLATE(ASN1_SEQUENCE_ANY) = | 738 | static const ASN1_TEMPLATE ASN1_SEQUENCE_ANY_item_tt = { | 
| 739 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, ASN1_SEQUENCE_ANY, ASN1_ANY) | 739 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 740 | ASN1_ITEM_TEMPLATE_END(ASN1_SEQUENCE_ANY) | 740 | .tag = 0, | 
| 741 | .offset = 0, | ||
| 742 | .field_name = "ASN1_SEQUENCE_ANY", | ||
| 743 | .item = &ASN1_ANY_it, | ||
| 744 | }; | ||
| 745 | |||
| 746 | const ASN1_ITEM ASN1_SEQUENCE_ANY_it = { | ||
| 747 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 748 | .utype = -1, | ||
| 749 | .templates = &ASN1_SEQUENCE_ANY_item_tt, | ||
| 750 | .tcount = 0, | ||
| 751 | .funcs = NULL, | ||
| 752 | .size = 0, | ||
| 753 | .sname = "ASN1_SEQUENCE_ANY", | ||
| 754 | }; | ||
| 741 | 755 | ||
| 742 | ASN1_ITEM_TEMPLATE(ASN1_SET_ANY) = | 756 | static const ASN1_TEMPLATE ASN1_SET_ANY_item_tt = { | 
| 743 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0, ASN1_SET_ANY, ASN1_ANY) | 757 | .flags = ASN1_TFLG_SET_OF, | 
| 744 | ASN1_ITEM_TEMPLATE_END(ASN1_SET_ANY) | 758 | .tag = 0, | 
| 759 | .offset = 0, | ||
| 760 | .field_name = "ASN1_SET_ANY", | ||
| 761 | .item = &ASN1_ANY_it, | ||
| 762 | }; | ||
| 763 | |||
| 764 | const ASN1_ITEM ASN1_SET_ANY_it = { | ||
| 765 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 766 | .utype = -1, | ||
| 767 | .templates = &ASN1_SET_ANY_item_tt, | ||
| 768 | .tcount = 0, | ||
| 769 | .funcs = NULL, | ||
| 770 | .size = 0, | ||
| 771 | .sname = "ASN1_SET_ANY", | ||
| 772 | }; | ||
| 745 | 773 | ||
| 746 | 774 | ||
| 747 | ASN1_SEQUENCE_ANY * | 775 | ASN1_SEQUENCE_ANY * | 
| diff --git a/src/lib/libcrypto/asn1/x_algor.c b/src/lib/libcrypto/asn1/x_algor.c index 9fc1f7ff08..27405a2bfb 100644 --- a/src/lib/libcrypto/asn1/x_algor.c +++ b/src/lib/libcrypto/asn1/x_algor.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_algor.c,v 1.20 2015/02/11 04:00:39 jsing Exp $ */ | 1 | /* $OpenBSD: x_algor.c,v 1.21 2015/07/24 15:09:52 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 | */ | 
| @@ -84,9 +84,23 @@ const ASN1_ITEM X509_ALGOR_it = { | |||
| 84 | .sname = "X509_ALGOR", | 84 | .sname = "X509_ALGOR", | 
| 85 | }; | 85 | }; | 
| 86 | 86 | ||
| 87 | ASN1_ITEM_TEMPLATE(X509_ALGORS) = | 87 | static const ASN1_TEMPLATE X509_ALGORS_item_tt = { | 
| 88 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) | 88 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 89 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) | 89 | .tag = 0, | 
| 90 | .offset = 0, | ||
| 91 | .field_name = "algorithms", | ||
| 92 | .item = &X509_ALGOR_it, | ||
| 93 | }; | ||
| 94 | |||
| 95 | const ASN1_ITEM X509_ALGORS_it = { | ||
| 96 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 97 | .utype = -1, | ||
| 98 | .templates = &X509_ALGORS_item_tt, | ||
| 99 | .tcount = 0, | ||
| 100 | .funcs = NULL, | ||
| 101 | .size = 0, | ||
| 102 | .sname = "X509_ALGORS", | ||
| 103 | }; | ||
| 90 | 104 | ||
| 91 | 105 | ||
| 92 | X509_ALGOR * | 106 | X509_ALGOR * | 
| diff --git a/src/lib/libcrypto/asn1/x_exten.c b/src/lib/libcrypto/asn1/x_exten.c index b4b8cfe42a..bb3dffc821 100644 --- a/src/lib/libcrypto/asn1/x_exten.c +++ b/src/lib/libcrypto/asn1/x_exten.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_exten.c,v 1.15 2015/02/11 04:00:39 jsing Exp $ */ | 1 | /* $OpenBSD: x_exten.c,v 1.16 2015/07/24 15:09:52 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 | */ | 
| @@ -89,9 +89,23 @@ const ASN1_ITEM X509_EXTENSION_it = { | |||
| 89 | .sname = "X509_EXTENSION", | 89 | .sname = "X509_EXTENSION", | 
| 90 | }; | 90 | }; | 
| 91 | 91 | ||
| 92 | ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) = | 92 | static const ASN1_TEMPLATE X509_EXTENSIONS_item_tt = { | 
| 93 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) | 93 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 94 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) | 94 | .tag = 0, | 
| 95 | .offset = 0, | ||
| 96 | .field_name = "Extension", | ||
| 97 | .item = &X509_EXTENSION_it, | ||
| 98 | }; | ||
| 99 | |||
| 100 | const ASN1_ITEM X509_EXTENSIONS_it = { | ||
| 101 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 102 | .utype = -1, | ||
| 103 | .templates = &X509_EXTENSIONS_item_tt, | ||
| 104 | .tcount = 0, | ||
| 105 | .funcs = NULL, | ||
| 106 | .size = 0, | ||
| 107 | .sname = "X509_EXTENSIONS", | ||
| 108 | }; | ||
| 95 | 109 | ||
| 96 | 110 | ||
| 97 | X509_EXTENSION * | 111 | X509_EXTENSION * | 
| diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c index 569c6fe346..be936318d8 100644 --- a/src/lib/libcrypto/asn1/x_name.c +++ b/src/lib/libcrypto/asn1/x_name.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_name.c,v 1.30 2015/07/15 17:41:56 miod Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.31 2015/07/24 15:09:52 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -145,13 +145,41 @@ X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x) | |||
| 145 | * so declare two template wrappers for this | 145 | * so declare two template wrappers for this | 
| 146 | */ | 146 | */ | 
| 147 | 147 | ||
| 148 | ASN1_ITEM_TEMPLATE(X509_NAME_ENTRIES) = | 148 | static const ASN1_TEMPLATE X509_NAME_ENTRIES_item_tt = { | 
| 149 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0, RDNS, X509_NAME_ENTRY) | 149 | .flags = ASN1_TFLG_SET_OF, | 
| 150 | ASN1_ITEM_TEMPLATE_END(X509_NAME_ENTRIES) | 150 | .tag = 0, | 
| 151 | .offset = 0, | ||
| 152 | .field_name = "RDNS", | ||
| 153 | .item = &X509_NAME_ENTRY_it, | ||
| 154 | }; | ||
| 155 | |||
| 156 | const ASN1_ITEM X509_NAME_ENTRIES_it = { | ||
| 157 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 158 | .utype = -1, | ||
| 159 | .templates = &X509_NAME_ENTRIES_item_tt, | ||
| 160 | .tcount = 0, | ||
| 161 | .funcs = NULL, | ||
| 162 | .size = 0, | ||
| 163 | .sname = "X509_NAME_ENTRIES", | ||
| 164 | }; | ||
| 151 | 165 | ||
| 152 | ASN1_ITEM_TEMPLATE(X509_NAME_INTERNAL) = | 166 | static const ASN1_TEMPLATE X509_NAME_INTERNAL_item_tt = { | 
| 153 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Name, X509_NAME_ENTRIES) | 167 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 154 | ASN1_ITEM_TEMPLATE_END(X509_NAME_INTERNAL) | 168 | .tag = 0, | 
| 169 | .offset = 0, | ||
| 170 | .field_name = "Name", | ||
| 171 | .item = &X509_NAME_ENTRIES_it, | ||
| 172 | }; | ||
| 173 | |||
| 174 | const ASN1_ITEM X509_NAME_INTERNAL_it = { | ||
| 175 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 176 | .utype = -1, | ||
| 177 | .templates = &X509_NAME_INTERNAL_item_tt, | ||
| 178 | .tcount = 0, | ||
| 179 | .funcs = NULL, | ||
| 180 | .size = 0, | ||
| 181 | .sname = "X509_NAME_INTERNAL", | ||
| 182 | }; | ||
| 155 | 183 | ||
| 156 | /* Normally that's where it would end: we'd have two nested STACK structures | 184 | /* Normally that's where it would end: we'd have two nested STACK structures | 
| 157 | * representing the ASN1. Unfortunately X509_NAME uses a completely different | 185 | * representing the ASN1. Unfortunately X509_NAME uses a completely different | 
| diff --git a/src/lib/libssl/src/crypto/asn1/tasn_typ.c b/src/lib/libssl/src/crypto/asn1/tasn_typ.c index 5e838e2cf0..542713aa09 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_typ.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_typ.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tasn_typ.c,v 1.12 2015/07/24 13:49:58 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.13 2015/07/24 15:09:52 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 | */ | 
| @@ -735,13 +735,41 @@ const ASN1_ITEM ASN1_OCTET_STRING_NDEF_it = { | |||
| 735 | .sname = "ASN1_OCTET_STRING_NDEF", | 735 | .sname = "ASN1_OCTET_STRING_NDEF", | 
| 736 | }; | 736 | }; | 
| 737 | 737 | ||
| 738 | ASN1_ITEM_TEMPLATE(ASN1_SEQUENCE_ANY) = | 738 | static const ASN1_TEMPLATE ASN1_SEQUENCE_ANY_item_tt = { | 
| 739 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, ASN1_SEQUENCE_ANY, ASN1_ANY) | 739 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 740 | ASN1_ITEM_TEMPLATE_END(ASN1_SEQUENCE_ANY) | 740 | .tag = 0, | 
| 741 | .offset = 0, | ||
| 742 | .field_name = "ASN1_SEQUENCE_ANY", | ||
| 743 | .item = &ASN1_ANY_it, | ||
| 744 | }; | ||
| 745 | |||
| 746 | const ASN1_ITEM ASN1_SEQUENCE_ANY_it = { | ||
| 747 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 748 | .utype = -1, | ||
| 749 | .templates = &ASN1_SEQUENCE_ANY_item_tt, | ||
| 750 | .tcount = 0, | ||
| 751 | .funcs = NULL, | ||
| 752 | .size = 0, | ||
| 753 | .sname = "ASN1_SEQUENCE_ANY", | ||
| 754 | }; | ||
| 741 | 755 | ||
| 742 | ASN1_ITEM_TEMPLATE(ASN1_SET_ANY) = | 756 | static const ASN1_TEMPLATE ASN1_SET_ANY_item_tt = { | 
| 743 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0, ASN1_SET_ANY, ASN1_ANY) | 757 | .flags = ASN1_TFLG_SET_OF, | 
| 744 | ASN1_ITEM_TEMPLATE_END(ASN1_SET_ANY) | 758 | .tag = 0, | 
| 759 | .offset = 0, | ||
| 760 | .field_name = "ASN1_SET_ANY", | ||
| 761 | .item = &ASN1_ANY_it, | ||
| 762 | }; | ||
| 763 | |||
| 764 | const ASN1_ITEM ASN1_SET_ANY_it = { | ||
| 765 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 766 | .utype = -1, | ||
| 767 | .templates = &ASN1_SET_ANY_item_tt, | ||
| 768 | .tcount = 0, | ||
| 769 | .funcs = NULL, | ||
| 770 | .size = 0, | ||
| 771 | .sname = "ASN1_SET_ANY", | ||
| 772 | }; | ||
| 745 | 773 | ||
| 746 | 774 | ||
| 747 | ASN1_SEQUENCE_ANY * | 775 | ASN1_SEQUENCE_ANY * | 
| diff --git a/src/lib/libssl/src/crypto/asn1/x_algor.c b/src/lib/libssl/src/crypto/asn1/x_algor.c index 9fc1f7ff08..27405a2bfb 100644 --- a/src/lib/libssl/src/crypto/asn1/x_algor.c +++ b/src/lib/libssl/src/crypto/asn1/x_algor.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_algor.c,v 1.20 2015/02/11 04:00:39 jsing Exp $ */ | 1 | /* $OpenBSD: x_algor.c,v 1.21 2015/07/24 15:09:52 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 | */ | 
| @@ -84,9 +84,23 @@ const ASN1_ITEM X509_ALGOR_it = { | |||
| 84 | .sname = "X509_ALGOR", | 84 | .sname = "X509_ALGOR", | 
| 85 | }; | 85 | }; | 
| 86 | 86 | ||
| 87 | ASN1_ITEM_TEMPLATE(X509_ALGORS) = | 87 | static const ASN1_TEMPLATE X509_ALGORS_item_tt = { | 
| 88 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) | 88 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 89 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) | 89 | .tag = 0, | 
| 90 | .offset = 0, | ||
| 91 | .field_name = "algorithms", | ||
| 92 | .item = &X509_ALGOR_it, | ||
| 93 | }; | ||
| 94 | |||
| 95 | const ASN1_ITEM X509_ALGORS_it = { | ||
| 96 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 97 | .utype = -1, | ||
| 98 | .templates = &X509_ALGORS_item_tt, | ||
| 99 | .tcount = 0, | ||
| 100 | .funcs = NULL, | ||
| 101 | .size = 0, | ||
| 102 | .sname = "X509_ALGORS", | ||
| 103 | }; | ||
| 90 | 104 | ||
| 91 | 105 | ||
| 92 | X509_ALGOR * | 106 | X509_ALGOR * | 
| diff --git a/src/lib/libssl/src/crypto/asn1/x_exten.c b/src/lib/libssl/src/crypto/asn1/x_exten.c index b4b8cfe42a..bb3dffc821 100644 --- a/src/lib/libssl/src/crypto/asn1/x_exten.c +++ b/src/lib/libssl/src/crypto/asn1/x_exten.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_exten.c,v 1.15 2015/02/11 04:00:39 jsing Exp $ */ | 1 | /* $OpenBSD: x_exten.c,v 1.16 2015/07/24 15:09:52 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 | */ | 
| @@ -89,9 +89,23 @@ const ASN1_ITEM X509_EXTENSION_it = { | |||
| 89 | .sname = "X509_EXTENSION", | 89 | .sname = "X509_EXTENSION", | 
| 90 | }; | 90 | }; | 
| 91 | 91 | ||
| 92 | ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) = | 92 | static const ASN1_TEMPLATE X509_EXTENSIONS_item_tt = { | 
| 93 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) | 93 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 94 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) | 94 | .tag = 0, | 
| 95 | .offset = 0, | ||
| 96 | .field_name = "Extension", | ||
| 97 | .item = &X509_EXTENSION_it, | ||
| 98 | }; | ||
| 99 | |||
| 100 | const ASN1_ITEM X509_EXTENSIONS_it = { | ||
| 101 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 102 | .utype = -1, | ||
| 103 | .templates = &X509_EXTENSIONS_item_tt, | ||
| 104 | .tcount = 0, | ||
| 105 | .funcs = NULL, | ||
| 106 | .size = 0, | ||
| 107 | .sname = "X509_EXTENSIONS", | ||
| 108 | }; | ||
| 95 | 109 | ||
| 96 | 110 | ||
| 97 | X509_EXTENSION * | 111 | X509_EXTENSION * | 
| diff --git a/src/lib/libssl/src/crypto/asn1/x_name.c b/src/lib/libssl/src/crypto/asn1/x_name.c index 569c6fe346..be936318d8 100644 --- a/src/lib/libssl/src/crypto/asn1/x_name.c +++ b/src/lib/libssl/src/crypto/asn1/x_name.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_name.c,v 1.30 2015/07/15 17:41:56 miod Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.31 2015/07/24 15:09:52 jsing Exp $ */ | 
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 
| 3 | * All rights reserved. | 3 | * All rights reserved. | 
| 4 | * | 4 | * | 
| @@ -145,13 +145,41 @@ X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x) | |||
| 145 | * so declare two template wrappers for this | 145 | * so declare two template wrappers for this | 
| 146 | */ | 146 | */ | 
| 147 | 147 | ||
| 148 | ASN1_ITEM_TEMPLATE(X509_NAME_ENTRIES) = | 148 | static const ASN1_TEMPLATE X509_NAME_ENTRIES_item_tt = { | 
| 149 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_OF, 0, RDNS, X509_NAME_ENTRY) | 149 | .flags = ASN1_TFLG_SET_OF, | 
| 150 | ASN1_ITEM_TEMPLATE_END(X509_NAME_ENTRIES) | 150 | .tag = 0, | 
| 151 | .offset = 0, | ||
| 152 | .field_name = "RDNS", | ||
| 153 | .item = &X509_NAME_ENTRY_it, | ||
| 154 | }; | ||
| 155 | |||
| 156 | const ASN1_ITEM X509_NAME_ENTRIES_it = { | ||
| 157 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 158 | .utype = -1, | ||
| 159 | .templates = &X509_NAME_ENTRIES_item_tt, | ||
| 160 | .tcount = 0, | ||
| 161 | .funcs = NULL, | ||
| 162 | .size = 0, | ||
| 163 | .sname = "X509_NAME_ENTRIES", | ||
| 164 | }; | ||
| 151 | 165 | ||
| 152 | ASN1_ITEM_TEMPLATE(X509_NAME_INTERNAL) = | 166 | static const ASN1_TEMPLATE X509_NAME_INTERNAL_item_tt = { | 
| 153 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Name, X509_NAME_ENTRIES) | 167 | .flags = ASN1_TFLG_SEQUENCE_OF, | 
| 154 | ASN1_ITEM_TEMPLATE_END(X509_NAME_INTERNAL) | 168 | .tag = 0, | 
| 169 | .offset = 0, | ||
| 170 | .field_name = "Name", | ||
| 171 | .item = &X509_NAME_ENTRIES_it, | ||
| 172 | }; | ||
| 173 | |||
| 174 | const ASN1_ITEM X509_NAME_INTERNAL_it = { | ||
| 175 | .itype = ASN1_ITYPE_PRIMITIVE, | ||
| 176 | .utype = -1, | ||
| 177 | .templates = &X509_NAME_INTERNAL_item_tt, | ||
| 178 | .tcount = 0, | ||
| 179 | .funcs = NULL, | ||
| 180 | .size = 0, | ||
| 181 | .sname = "X509_NAME_INTERNAL", | ||
| 182 | }; | ||
| 155 | 183 | ||
| 156 | /* Normally that's where it would end: we'd have two nested STACK structures | 184 | /* Normally that's where it would end: we'd have two nested STACK structures | 
| 157 | * representing the ASN1. Unfortunately X509_NAME uses a completely different | 185 | * representing the ASN1. Unfortunately X509_NAME uses a completely different | 
