diff options
| author | jsing <> | 2015-02-09 16:03:11 +0000 |
|---|---|---|
| committer | jsing <> | 2015-02-09 16:03:11 +0000 |
| commit | e8979e4da17f6d268e647d4e22aed16dad9f0666 (patch) | |
| tree | 450aac9231a21230a1a136407055b6264089d1b8 | |
| parent | 15dc63f9715f4f10924a705d6a4cc564afe2129e (diff) | |
| download | openbsd-e8979e4da17f6d268e647d4e22aed16dad9f0666.tar.gz openbsd-e8979e4da17f6d268e647d4e22aed16dad9f0666.tar.bz2 openbsd-e8979e4da17f6d268e647d4e22aed16dad9f0666.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) |
