summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/x509v3/v3_akey.c24
-rw-r--r--src/lib/libcrypto/x509v3/v3_alt.c61
-rw-r--r--src/lib/libcrypto/x509v3/v3_bcons.c24
-rw-r--r--src/lib/libcrypto/x509v3/v3_bitst.c38
-rw-r--r--src/lib/libcrypto/x509v3/v3_cpols.c23
-rw-r--r--src/lib/libcrypto/x509v3/v3_crld.c44
-rw-r--r--src/lib/libcrypto/x509v3/v3_enum.c22
-rw-r--r--src/lib/libcrypto/x509v3/v3_extku.c46
-rw-r--r--src/lib/libcrypto/x509v3/v3_ia5.c138
-rw-r--r--src/lib/libcrypto/x509v3/v3_info.c46
-rw-r--r--src/lib/libcrypto/x509v3/v3_int.c42
-rw-r--r--src/lib/libcrypto/x509v3/v3_ncons.c23
-rw-r--r--src/lib/libcrypto/x509v3/v3_ocsp.c145
-rw-r--r--src/lib/libcrypto/x509v3/v3_pci.c21
-rw-r--r--src/lib/libcrypto/x509v3/v3_pcons.c24
-rw-r--r--src/lib/libcrypto/x509v3/v3_pku.c21
-rw-r--r--src/lib/libcrypto/x509v3/v3_pmaps.c24
-rw-r--r--src/lib/libcrypto/x509v3/v3_skey.c23
-rw-r--r--src/lib/libcrypto/x509v3/v3_sxnet.c27
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_akey.c24
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_alt.c61
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_bcons.c24
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_bitst.c38
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_cpols.c23
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_crld.c44
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_enum.c22
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_extku.c46
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_ia5.c138
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_info.c46
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_int.c42
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_ncons.c23
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_ocsp.c145
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_pci.c21
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_pcons.c24
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_pku.c21
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_pmaps.c24
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_skey.c23
-rw-r--r--src/lib/libssl/src/crypto/x509v3/v3_sxnet.c27
38 files changed, 1176 insertions, 456 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_akey.c b/src/lib/libcrypto/x509v3/v3_akey.c
index 2bf515cfdd..2a5c65ea39 100644
--- a/src/lib/libcrypto/x509v3/v3_akey.c
+++ b/src/lib/libcrypto/x509v3/v3_akey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_akey.c,v 1.14 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_akey.c,v 1.15 2015/07/29 16:13:48 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 */
@@ -71,14 +71,20 @@ static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
72 72
73const X509V3_EXT_METHOD v3_akey_id = { 73const X509V3_EXT_METHOD v3_akey_id = {
74 NID_authority_key_identifier, 74 .ext_nid = NID_authority_key_identifier,
75 X509V3_EXT_MULTILINE, ASN1_ITEM_ref(AUTHORITY_KEYID), 75 .ext_flags = X509V3_EXT_MULTILINE,
76 0, 0,0, 0, 76 .it = ASN1_ITEM_ref(AUTHORITY_KEYID),
77 0, 0, 77 .ext_new = NULL,
78 (X509V3_EXT_I2V)i2v_AUTHORITY_KEYID, 78 .ext_free = NULL,
79 (X509V3_EXT_V2I)v2i_AUTHORITY_KEYID, 79 .d2i = NULL,
80 0, 0, 80 .i2d = NULL,
81 NULL 81 .i2s = NULL,
82 .s2i = NULL,
83 .i2v = (X509V3_EXT_I2V)i2v_AUTHORITY_KEYID,
84 .v2i = (X509V3_EXT_V2I)v2i_AUTHORITY_KEYID,
85 .i2r = NULL,
86 .r2i = NULL,
87 .usr_data = NULL,
82}; 88};
83 89
84static 90static
diff --git a/src/lib/libcrypto/x509v3/v3_alt.c b/src/lib/libcrypto/x509v3/v3_alt.c
index 5b0dae2af6..4b3755e4e7 100644
--- a/src/lib/libcrypto/x509v3/v3_alt.c
+++ b/src/lib/libcrypto/x509v3/v3_alt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_alt.c,v 1.23 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_alt.c,v 1.24 2015/07/29 16:13:48 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. 3 * project.
4 */ 4 */
@@ -74,27 +74,52 @@ static int do_dirname(GENERAL_NAME *gen, char *value, X509V3_CTX *ctx);
74 74
75const X509V3_EXT_METHOD v3_alt[] = { 75const X509V3_EXT_METHOD v3_alt[] = {
76 { 76 {
77 NID_subject_alt_name, 0, ASN1_ITEM_ref(GENERAL_NAMES), 77 .ext_nid = NID_subject_alt_name,
78 0, 0, 0, 0, 78 .ext_flags = 0,
79 0, 0, 79 .it = ASN1_ITEM_ref(GENERAL_NAMES),
80 (X509V3_EXT_I2V)i2v_GENERAL_NAMES, 80 .ext_new = NULL,
81 (X509V3_EXT_V2I)v2i_subject_alt, 81 .ext_free = NULL,
82 NULL, NULL, NULL 82 .d2i = NULL,
83 .i2d = NULL,
84 .i2s = NULL,
85 .s2i = NULL,
86 .i2v = (X509V3_EXT_I2V)i2v_GENERAL_NAMES,
87 .v2i = (X509V3_EXT_V2I)v2i_subject_alt,
88 .i2r = NULL,
89 .r2i = NULL,
90 .usr_data = NULL,
83 }, 91 },
84 { 92 {
85 NID_issuer_alt_name, 0, ASN1_ITEM_ref(GENERAL_NAMES), 93 .ext_nid = NID_issuer_alt_name,
86 0, 0, 0, 0, 94 .ext_flags = 0,
87 0, 0, 95 .it = ASN1_ITEM_ref(GENERAL_NAMES),
88 (X509V3_EXT_I2V)i2v_GENERAL_NAMES, 96 .ext_new = NULL,
89 (X509V3_EXT_V2I)v2i_issuer_alt, 97 .ext_free = NULL,
90 NULL, NULL, NULL 98 .d2i = NULL,
99 .i2d = NULL,
100 .i2s = NULL,
101 .s2i = NULL,
102 .i2v = (X509V3_EXT_I2V)i2v_GENERAL_NAMES,
103 .v2i = (X509V3_EXT_V2I)v2i_issuer_alt,
104 .i2r = NULL,
105 .r2i = NULL,
106 .usr_data = NULL,
91 }, 107 },
92 { 108 {
93 NID_certificate_issuer, 0, ASN1_ITEM_ref(GENERAL_NAMES), 109 .ext_nid = NID_certificate_issuer,
94 0, 0, 0, 0, 110 .ext_flags = 0,
95 0, 0, 111 .it = ASN1_ITEM_ref(GENERAL_NAMES),
96 (X509V3_EXT_I2V)i2v_GENERAL_NAMES, 112 .ext_new = NULL,
97 NULL, NULL, NULL, NULL 113 .ext_free = NULL,
114 .d2i = NULL,
115 .i2d = NULL,
116 .i2s = NULL,
117 .s2i = NULL,
118 .i2v = (X509V3_EXT_I2V)i2v_GENERAL_NAMES,
119 .v2i = NULL,
120 .i2r = NULL,
121 .r2i = NULL,
122 .usr_data = NULL,
98 }, 123 },
99}; 124};
100 125
diff --git a/src/lib/libcrypto/x509v3/v3_bcons.c b/src/lib/libcrypto/x509v3/v3_bcons.c
index eea63b760a..292705a8d6 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.12 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_bcons.c,v 1.13 2015/07/29 16:13:48 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 */
@@ -71,14 +71,20 @@ static BASIC_CONSTRAINTS *v2i_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,
71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
72 72
73const X509V3_EXT_METHOD v3_bcons = { 73const X509V3_EXT_METHOD v3_bcons = {
74 NID_basic_constraints, 0, 74 .ext_nid = NID_basic_constraints,
75 ASN1_ITEM_ref(BASIC_CONSTRAINTS), 75 .ext_flags = 0,
76 0, 0, 0, 0, 76 .it = ASN1_ITEM_ref(BASIC_CONSTRAINTS),
77 0, 0, 77 .ext_new = NULL,
78 (X509V3_EXT_I2V)i2v_BASIC_CONSTRAINTS, 78 .ext_free = NULL,
79 (X509V3_EXT_V2I)v2i_BASIC_CONSTRAINTS, 79 .d2i = NULL,
80 NULL, NULL, 80 .i2d = NULL,
81 NULL 81 .i2s = NULL,
82 .s2i = NULL,
83 .i2v = (X509V3_EXT_I2V)i2v_BASIC_CONSTRAINTS,
84 .v2i = (X509V3_EXT_V2I)v2i_BASIC_CONSTRAINTS,
85 .i2r = NULL,
86 .r2i = NULL,
87 .usr_data = NULL,
82}; 88};
83 89
84static const ASN1_TEMPLATE BASIC_CONSTRAINTS_seq_tt[] = { 90static const ASN1_TEMPLATE BASIC_CONSTRAINTS_seq_tt[] = {
diff --git a/src/lib/libcrypto/x509v3/v3_bitst.c b/src/lib/libcrypto/x509v3/v3_bitst.c
index c0c6ad3d8c..894608fadb 100644
--- a/src/lib/libcrypto/x509v3/v3_bitst.c
+++ b/src/lib/libcrypto/x509v3/v3_bitst.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_bitst.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: v3_bitst.c,v 1.11 2015/07/29 16:13:48 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 */
@@ -88,11 +88,39 @@ static BIT_STRING_BITNAME key_usage_type_table[] = {
88 {-1, NULL, NULL} 88 {-1, NULL, NULL}
89}; 89};
90 90
91const X509V3_EXT_METHOD v3_nscert = {
92 .ext_nid = NID_netscape_cert_type,
93 .ext_flags = 0,
94 .it = ASN1_ITEM_ref(ASN1_BIT_STRING),
95 .ext_new = NULL,
96 .ext_free = NULL,
97 .d2i = NULL,
98 .i2d = NULL,
99 .i2s = NULL,
100 .s2i = NULL,
101 .i2v = (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING,
102 .v2i = (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING,
103 .i2r = NULL,
104 .r2i = NULL,
105 .usr_data = ns_cert_type_table,
106};
91 107
92const X509V3_EXT_METHOD v3_nscert = 108const X509V3_EXT_METHOD v3_key_usage = {
93 EXT_BITSTRING(NID_netscape_cert_type, ns_cert_type_table); 109 .ext_nid = NID_key_usage,
94const X509V3_EXT_METHOD v3_key_usage = 110 .ext_flags = 0,
95 EXT_BITSTRING(NID_key_usage, key_usage_type_table); 111 .it = ASN1_ITEM_ref(ASN1_BIT_STRING),
112 .ext_new = NULL,
113 .ext_free = NULL,
114 .d2i = NULL,
115 .i2d = NULL,
116 .i2s = NULL,
117 .s2i = NULL,
118 .i2v = (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING,
119 .v2i = (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING,
120 .i2r = NULL,
121 .r2i = NULL,
122 .usr_data = key_usage_type_table,
123};
96 124
97STACK_OF(CONF_VALUE) * 125STACK_OF(CONF_VALUE) *
98i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits, 126i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits,
diff --git a/src/lib/libcrypto/x509v3/v3_cpols.c b/src/lib/libcrypto/x509v3/v3_cpols.c
index 4244f03851..cea82afde9 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.21 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_cpols.c,v 1.22 2015/07/29 16:13:48 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 */
@@ -83,13 +83,20 @@ static POLICYQUALINFO *notice_section(X509V3_CTX *ctx,
83static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos); 83static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos);
84 84
85const X509V3_EXT_METHOD v3_cpols = { 85const X509V3_EXT_METHOD v3_cpols = {
86 NID_certificate_policies, 0, ASN1_ITEM_ref(CERTIFICATEPOLICIES), 86 .ext_nid = NID_certificate_policies,
87 0, 0, 0, 0, 87 .ext_flags = 0,
88 0, 0, 88 .it = ASN1_ITEM_ref(CERTIFICATEPOLICIES),
89 0, 0, 89 .ext_new = NULL,
90 (X509V3_EXT_I2R)i2r_certpol, 90 .ext_free = NULL,
91 (X509V3_EXT_R2I)r2i_certpol, 91 .d2i = NULL,
92 NULL 92 .i2d = NULL,
93 .i2s = NULL,
94 .s2i = NULL,
95 .i2v = NULL,
96 .v2i = NULL,
97 .i2r = (X509V3_EXT_I2R)i2r_certpol,
98 .r2i = (X509V3_EXT_R2I)r2i_certpol,
99 .usr_data = NULL,
93}; 100};
94 101
95static const ASN1_TEMPLATE CERTIFICATEPOLICIES_item_tt = { 102static const ASN1_TEMPLATE CERTIFICATEPOLICIES_item_tt = {
diff --git a/src/lib/libcrypto/x509v3/v3_crld.c b/src/lib/libcrypto/x509v3/v3_crld.c
index 9055a41289..a72d0ab500 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.18 2015/07/25 16:14:29 jsing Exp $ */ 1/* $OpenBSD: v3_crld.c,v 1.19 2015/07/29 16:13:48 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 */
@@ -71,23 +71,37 @@ static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,
71 int indent); 71 int indent);
72 72
73const X509V3_EXT_METHOD v3_crld = { 73const X509V3_EXT_METHOD v3_crld = {
74 NID_crl_distribution_points, 0, ASN1_ITEM_ref(CRL_DIST_POINTS), 74 .ext_nid = NID_crl_distribution_points,
75 0, 0, 0, 0, 75 .ext_flags = 0,
76 0, 0, 76 .it = ASN1_ITEM_ref(CRL_DIST_POINTS),
77 0, 77 .ext_new = NULL,
78 v2i_crld, 78 .ext_free = NULL,
79 i2r_crldp, 0, 79 .d2i = NULL,
80 NULL 80 .i2d = NULL,
81 .i2s = NULL,
82 .s2i = NULL,
83 .i2v = NULL,
84 .v2i = v2i_crld,
85 .i2r = i2r_crldp,
86 .r2i = NULL,
87 .usr_data = NULL,
81}; 88};
82 89
83const X509V3_EXT_METHOD v3_freshest_crl = { 90const X509V3_EXT_METHOD v3_freshest_crl = {
84 NID_freshest_crl, 0, ASN1_ITEM_ref(CRL_DIST_POINTS), 91 .ext_nid = NID_freshest_crl,
85 0, 0, 0, 0, 92 .ext_flags = 0,
86 0, 0, 93 .it = ASN1_ITEM_ref(CRL_DIST_POINTS),
87 0, 94 .ext_new = NULL,
88 v2i_crld, 95 .ext_free = NULL,
89 i2r_crldp, 0, 96 .d2i = NULL,
90 NULL 97 .i2d = NULL,
98 .i2s = NULL,
99 .s2i = NULL,
100 .i2v = NULL,
101 .v2i = v2i_crld,
102 .i2r = i2r_crldp,
103 .r2i = NULL,
104 .usr_data = NULL,
91}; 105};
92 106
93static 107static
diff --git a/src/lib/libcrypto/x509v3/v3_enum.c b/src/lib/libcrypto/x509v3/v3_enum.c
index c09601edad..7f35a57012 100644
--- a/src/lib/libcrypto/x509v3/v3_enum.c
+++ b/src/lib/libcrypto/x509v3/v3_enum.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_enum.c,v 1.10 2014/07/13 16:03:10 beck Exp $ */ 1/* $OpenBSD: v3_enum.c,v 1.11 2015/07/29 16:13:48 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 */
@@ -76,12 +76,20 @@ static ENUMERATED_NAMES crl_reasons[] = {
76}; 76};
77 77
78const X509V3_EXT_METHOD v3_crl_reason = { 78const X509V3_EXT_METHOD v3_crl_reason = {
79 NID_crl_reason, 0, ASN1_ITEM_ref(ASN1_ENUMERATED), 79 .ext_nid = NID_crl_reason,
80 0, 0, 0, 0, 80 .ext_flags = 0,
81 (X509V3_EXT_I2S)i2s_ASN1_ENUMERATED_TABLE, 81 .it = ASN1_ITEM_ref(ASN1_ENUMERATED),
82 0, 82 .ext_new = NULL,
83 0, 0, 0, 0, 83 .ext_free = NULL,
84 crl_reasons 84 .d2i = NULL,
85 .i2d = NULL,
86 .i2s = (X509V3_EXT_I2S)i2s_ASN1_ENUMERATED_TABLE,
87 .s2i = NULL,
88 .i2v = NULL,
89 .v2i = NULL,
90 .i2r = NULL,
91 .r2i = NULL,
92 .usr_data = crl_reasons,
85}; 93};
86 94
87char * 95char *
diff --git a/src/lib/libcrypto/x509v3/v3_extku.c b/src/lib/libcrypto/x509v3/v3_extku.c
index 2ee7594fed..d502175593 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.12 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_extku.c,v 1.13 2015/07/29 16:13:48 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,26 +69,38 @@ static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(
69 const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist); 69 const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist);
70 70
71const X509V3_EXT_METHOD v3_ext_ku = { 71const X509V3_EXT_METHOD v3_ext_ku = {
72 NID_ext_key_usage, 0, 72 .ext_nid = NID_ext_key_usage,
73 ASN1_ITEM_ref(EXTENDED_KEY_USAGE), 73 .ext_flags = 0,
74 0, 0, 0, 0, 74 .it = ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
75 0, 0, 75 .ext_new = NULL,
76 i2v_EXTENDED_KEY_USAGE, 76 .ext_free = NULL,
77 v2i_EXTENDED_KEY_USAGE, 77 .d2i = NULL,
78 0, 0, 78 .i2d = NULL,
79 NULL 79 .i2s = NULL,
80 .s2i = NULL,
81 .i2v = i2v_EXTENDED_KEY_USAGE,
82 .v2i = v2i_EXTENDED_KEY_USAGE,
83 .i2r = NULL,
84 .r2i = NULL,
85 .usr_data = NULL,
80}; 86};
81 87
82/* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */ 88/* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */
83const X509V3_EXT_METHOD v3_ocsp_accresp = { 89const X509V3_EXT_METHOD v3_ocsp_accresp = {
84 NID_id_pkix_OCSP_acceptableResponses, 0, 90 .ext_nid = NID_id_pkix_OCSP_acceptableResponses,
85 ASN1_ITEM_ref(EXTENDED_KEY_USAGE), 91 .ext_flags = 0,
86 0, 0, 0, 0, 92 .it = ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
87 0, 0, 93 .ext_new = NULL,
88 i2v_EXTENDED_KEY_USAGE, 94 .ext_free = NULL,
89 v2i_EXTENDED_KEY_USAGE, 95 .d2i = NULL,
90 0, 0, 96 .i2d = NULL,
91 NULL 97 .i2s = NULL,
98 .s2i = NULL,
99 .i2v = i2v_EXTENDED_KEY_USAGE,
100 .v2i = v2i_EXTENDED_KEY_USAGE,
101 .i2r = NULL,
102 .r2i = NULL,
103 .usr_data = NULL,
92}; 104};
93 105
94static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = { 106static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = {
diff --git a/src/lib/libcrypto/x509v3/v3_ia5.c b/src/lib/libcrypto/x509v3/v3_ia5.c
index a9ac7197b6..62f40aaff9 100644
--- a/src/lib/libcrypto/x509v3/v3_ia5.c
+++ b/src/lib/libcrypto/x509v3/v3_ia5.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_ia5.c,v 1.13 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: v3_ia5.c,v 1.14 2015/07/29 16:13:48 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,134 @@ static ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
69 X509V3_CTX *ctx, char *str); 69 X509V3_CTX *ctx, char *str);
70 70
71const X509V3_EXT_METHOD v3_ns_ia5_list[] = { 71const X509V3_EXT_METHOD v3_ns_ia5_list[] = {
72 EXT_IA5STRING(NID_netscape_base_url), 72 {
73 EXT_IA5STRING(NID_netscape_revocation_url), 73 .ext_nid = NID_netscape_base_url,
74 EXT_IA5STRING(NID_netscape_ca_revocation_url), 74 .ext_flags = 0,
75 EXT_IA5STRING(NID_netscape_renewal_url), 75 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
76 EXT_IA5STRING(NID_netscape_ca_policy_url), 76 .ext_new = NULL,
77 EXT_IA5STRING(NID_netscape_ssl_server_name), 77 .ext_free = NULL,
78 EXT_IA5STRING(NID_netscape_comment), 78 .d2i = NULL,
79 EXT_END 79 .i2d = NULL,
80 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
81 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
82 .i2v = NULL,
83 .v2i = NULL,
84 .i2r = NULL,
85 .r2i = NULL,
86 .usr_data = NULL,
87 },
88 {
89 .ext_nid = NID_netscape_revocation_url,
90 .ext_flags = 0,
91 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
92 .ext_new = NULL,
93 .ext_free = NULL,
94 .d2i = NULL,
95 .i2d = NULL,
96 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
97 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
98 .i2v = NULL,
99 .v2i = NULL,
100 .i2r = NULL,
101 .r2i = NULL,
102 .usr_data = NULL,
103 },
104 {
105 .ext_nid = NID_netscape_ca_revocation_url,
106 .ext_flags = 0,
107 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
108 .ext_new = NULL,
109 .ext_free = NULL,
110 .d2i = NULL,
111 .i2d = NULL,
112 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
113 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
114 .i2v = NULL,
115 .v2i = NULL,
116 .i2r = NULL,
117 .r2i = NULL,
118 .usr_data = NULL,
119 },
120 {
121 .ext_nid = NID_netscape_renewal_url,
122 .ext_flags = 0,
123 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
124 .ext_new = NULL,
125 .ext_free = NULL,
126 .d2i = NULL,
127 .i2d = NULL,
128 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
129 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
130 .i2v = NULL,
131 .v2i = NULL,
132 .i2r = NULL,
133 .r2i = NULL,
134 .usr_data = NULL,
135 },
136 {
137 .ext_nid = NID_netscape_ca_policy_url,
138 .ext_flags = 0,
139 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
140 .ext_new = NULL,
141 .ext_free = NULL,
142 .d2i = NULL,
143 .i2d = NULL,
144 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
145 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
146 .i2v = NULL,
147 .v2i = NULL,
148 .i2r = NULL,
149 .r2i = NULL,
150 .usr_data = NULL,
151 },
152 {
153 .ext_nid = NID_netscape_ssl_server_name,
154 .ext_flags = 0,
155 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
156 .ext_new = NULL,
157 .ext_free = NULL,
158 .d2i = NULL,
159 .i2d = NULL,
160 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
161 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
162 .i2v = NULL,
163 .v2i = NULL,
164 .i2r = NULL,
165 .r2i = NULL,
166 .usr_data = NULL,
167 },
168 {
169 .ext_nid = NID_netscape_comment,
170 .ext_flags = 0,
171 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
172 .ext_new = NULL,
173 .ext_free = NULL,
174 .d2i = NULL,
175 .i2d = NULL,
176 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
177 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
178 .i2v = NULL,
179 .v2i = NULL,
180 .i2r = NULL,
181 .r2i = NULL,
182 .usr_data = NULL,
183 },
184 {
185 .ext_nid = -1,
186 .ext_flags = 0,
187 .it = NULL,
188 .ext_new = NULL,
189 .ext_free = NULL,
190 .d2i = NULL,
191 .i2d = NULL,
192 .i2s = NULL,
193 .s2i = NULL,
194 .i2v = NULL,
195 .v2i = NULL,
196 .i2r = NULL,
197 .r2i = NULL,
198 .usr_data = NULL,
199 },
80}; 200};
81 201
82static char * 202static char *
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c
index 795a7bb6ff..3b96222187 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.22 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_info.c,v 1.23 2015/07/29 16:13:48 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 */
@@ -72,25 +72,37 @@ static AUTHORITY_INFO_ACCESS *v2i_AUTHORITY_INFO_ACCESS(
72 X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); 72 X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
73 73
74const X509V3_EXT_METHOD v3_info = { 74const X509V3_EXT_METHOD v3_info = {
75 NID_info_access, X509V3_EXT_MULTILINE, 75 .ext_nid = NID_info_access,
76 ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS), 76 .ext_flags = X509V3_EXT_MULTILINE,
77 0, 0, 0, 0, 77 .it = ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
78 0, 0, 78 .ext_new = NULL,
79 (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS, 79 .ext_free = NULL,
80 (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS, 80 .d2i = NULL,
81 0, 0, 81 .i2d = NULL,
82 NULL 82 .i2s = NULL,
83 .s2i = NULL,
84 .i2v = (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS,
85 .v2i = (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS,
86 .i2r = NULL,
87 .r2i = NULL,
88 .usr_data = NULL,
83}; 89};
84 90
85const X509V3_EXT_METHOD v3_sinfo = { 91const X509V3_EXT_METHOD v3_sinfo = {
86 NID_sinfo_access, X509V3_EXT_MULTILINE, 92 .ext_nid = NID_sinfo_access,
87 ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS), 93 .ext_flags = X509V3_EXT_MULTILINE,
88 0, 0, 0, 0, 94 .it = ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
89 0, 0, 95 .ext_new = NULL,
90 (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS, 96 .ext_free = NULL,
91 (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS, 97 .d2i = NULL,
92 0, 0, 98 .i2d = NULL,
93 NULL 99 .i2s = NULL,
100 .s2i = NULL,
101 .i2v = (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS,
102 .v2i = (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS,
103 .i2r = NULL,
104 .r2i = NULL,
105 .usr_data = NULL,
94}; 106};
95 107
96static const ASN1_TEMPLATE ACCESS_DESCRIPTION_seq_tt[] = { 108static const ASN1_TEMPLATE ACCESS_DESCRIPTION_seq_tt[] = {
diff --git a/src/lib/libcrypto/x509v3/v3_int.c b/src/lib/libcrypto/x509v3/v3_int.c
index e1f6eb1c0a..bd059b7269 100644
--- a/src/lib/libcrypto/x509v3/v3_int.c
+++ b/src/lib/libcrypto/x509v3/v3_int.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_int.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: v3_int.c,v 1.10 2015/07/29 16:13:48 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 */
@@ -61,21 +61,37 @@
61#include <openssl/x509v3.h> 61#include <openssl/x509v3.h>
62 62
63const X509V3_EXT_METHOD v3_crl_num = { 63const X509V3_EXT_METHOD v3_crl_num = {
64 NID_crl_number, 0, ASN1_ITEM_ref(ASN1_INTEGER), 64 .ext_nid = NID_crl_number,
65 0, 0, 0, 0, 65 .ext_flags = 0,
66 (X509V3_EXT_I2S)i2s_ASN1_INTEGER, 66 .it = ASN1_ITEM_ref(ASN1_INTEGER),
67 0, 67 .ext_new = NULL,
68 0, 0, 0, 0, 68 .ext_free = NULL,
69 NULL 69 .d2i = NULL,
70 .i2d = NULL,
71 .i2s = (X509V3_EXT_I2S)i2s_ASN1_INTEGER,
72 .s2i = NULL,
73 .i2v = NULL,
74 .v2i = NULL,
75 .i2r = NULL,
76 .r2i = NULL,
77 .usr_data = NULL,
70}; 78};
71 79
72const X509V3_EXT_METHOD v3_delta_crl = { 80const X509V3_EXT_METHOD v3_delta_crl = {
73 NID_delta_crl, 0, ASN1_ITEM_ref(ASN1_INTEGER), 81 .ext_nid = NID_delta_crl,
74 0, 0, 0, 0, 82 .ext_flags = 0,
75 (X509V3_EXT_I2S)i2s_ASN1_INTEGER, 83 .it = ASN1_ITEM_ref(ASN1_INTEGER),
76 0, 84 .ext_new = NULL,
77 0, 0, 0, 0, 85 .ext_free = NULL,
78 NULL 86 .d2i = NULL,
87 .i2d = NULL,
88 .i2s = (X509V3_EXT_I2S)i2s_ASN1_INTEGER,
89 .s2i = NULL,
90 .i2v = NULL,
91 .v2i = NULL,
92 .i2r = NULL,
93 .r2i = NULL,
94 .usr_data = NULL,
79}; 95};
80 96
81static void * 97static void *
diff --git a/src/lib/libcrypto/x509v3/v3_ncons.c b/src/lib/libcrypto/x509v3/v3_ncons.c
index 22b9cfc683..2af15726a8 100644
--- a/src/lib/libcrypto/x509v3/v3_ncons.c
+++ b/src/lib/libcrypto/x509v3/v3_ncons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_ncons.c,v 1.8 2015/07/25 16:14:29 jsing Exp $ */ 1/* $OpenBSD: v3_ncons.c,v 1.9 2015/07/29 16:13:48 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. 3 * project.
4 */ 4 */
@@ -80,13 +80,20 @@ static int nc_email(ASN1_IA5STRING *sub, ASN1_IA5STRING *eml);
80static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base); 80static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base);
81 81
82const X509V3_EXT_METHOD v3_name_constraints = { 82const X509V3_EXT_METHOD v3_name_constraints = {
83 NID_name_constraints, 0, 83 .ext_nid = NID_name_constraints,
84 ASN1_ITEM_ref(NAME_CONSTRAINTS), 84 .ext_flags = 0,
85 0, 0, 0, 0, 85 .it = ASN1_ITEM_ref(NAME_CONSTRAINTS),
86 0, 0, 86 .ext_new = NULL,
87 0, v2i_NAME_CONSTRAINTS, 87 .ext_free = NULL,
88 i2r_NAME_CONSTRAINTS, 0, 88 .d2i = NULL,
89 NULL 89 .i2d = NULL,
90 .i2s = NULL,
91 .s2i = NULL,
92 .i2v = NULL,
93 .v2i = v2i_NAME_CONSTRAINTS,
94 .i2r = i2r_NAME_CONSTRAINTS,
95 .r2i = NULL,
96 .usr_data = NULL,
90}; 97};
91 98
92static const ASN1_TEMPLATE GENERAL_SUBTREE_seq_tt[] = { 99static const ASN1_TEMPLATE GENERAL_SUBTREE_seq_tt[] = {
diff --git a/src/lib/libcrypto/x509v3/v3_ocsp.c b/src/lib/libcrypto/x509v3/v3_ocsp.c
index 1d9c8a8513..9d1390a520 100644
--- a/src/lib/libcrypto/x509v3/v3_ocsp.c
+++ b/src/lib/libcrypto/x509v3/v3_ocsp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_ocsp.c,v 1.11 2015/02/15 08:45:27 miod Exp $ */ 1/* $OpenBSD: v3_ocsp.c,v 1.12 2015/07/29 16:13:49 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 */
@@ -94,69 +94,122 @@ static int i2r_ocsp_serviceloc(const X509V3_EXT_METHOD *method, void *in,
94 BIO *bp, int ind); 94 BIO *bp, int ind);
95 95
96const X509V3_EXT_METHOD v3_ocsp_crlid = { 96const X509V3_EXT_METHOD v3_ocsp_crlid = {
97 NID_id_pkix_OCSP_CrlID, 0, ASN1_ITEM_ref(OCSP_CRLID), 97 .ext_nid = NID_id_pkix_OCSP_CrlID,
98 0, 0, 0, 0, 98 .ext_flags = 0,
99 0, 0, 99 .it = ASN1_ITEM_ref(OCSP_CRLID),
100 0, 0, 100 .ext_new = NULL,
101 i2r_ocsp_crlid, 0, 101 .ext_free = NULL,
102 NULL 102 .d2i = NULL,
103 .i2d = NULL,
104 .i2s = NULL,
105 .s2i = NULL,
106 .i2v = NULL,
107 .v2i = NULL,
108 .i2r = i2r_ocsp_crlid,
109 .r2i = NULL,
110 .usr_data = NULL,
103}; 111};
104 112
105const X509V3_EXT_METHOD v3_ocsp_acutoff = { 113const X509V3_EXT_METHOD v3_ocsp_acutoff = {
106 NID_id_pkix_OCSP_archiveCutoff, 0, ASN1_ITEM_ref(ASN1_GENERALIZEDTIME), 114 .ext_nid = NID_id_pkix_OCSP_archiveCutoff,
107 0, 0, 0, 0, 115 .ext_flags = 0,
108 0, 0, 116 .it = ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
109 0, 0, 117 .ext_new = NULL,
110 i2r_ocsp_acutoff, 0, 118 .ext_free = NULL,
111 NULL 119 .d2i = NULL,
120 .i2d = NULL,
121 .i2s = NULL,
122 .s2i = NULL,
123 .i2v = NULL,
124 .v2i = NULL,
125 .i2r = i2r_ocsp_acutoff,
126 .r2i = NULL,
127 .usr_data = NULL,
112}; 128};
113 129
114const X509V3_EXT_METHOD v3_crl_invdate = { 130const X509V3_EXT_METHOD v3_crl_invdate = {
115 NID_invalidity_date, 0, ASN1_ITEM_ref(ASN1_GENERALIZEDTIME), 131 .ext_nid = NID_invalidity_date,
116 0, 0, 0, 0, 132 .ext_flags = 0,
117 0, 0, 133 .it = ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
118 0, 0, 134 .ext_new = NULL,
119 i2r_ocsp_acutoff, 0, 135 .ext_free = NULL,
120 NULL 136 .d2i = NULL,
137 .i2d = NULL,
138 .i2s = NULL,
139 .s2i = NULL,
140 .i2v = NULL,
141 .v2i = NULL,
142 .i2r = i2r_ocsp_acutoff,
143 .r2i = NULL,
144 .usr_data = NULL,
121}; 145};
122 146
123const X509V3_EXT_METHOD v3_crl_hold = { 147const X509V3_EXT_METHOD v3_crl_hold = {
124 NID_hold_instruction_code, 0, ASN1_ITEM_ref(ASN1_OBJECT), 148 .ext_nid = NID_hold_instruction_code,
125 0, 0, 0, 0, 149 .ext_flags = 0,
126 0, 0, 150 .it = ASN1_ITEM_ref(ASN1_OBJECT),
127 0, 0, 151 .ext_new = NULL,
128 i2r_object, 0, 152 .ext_free = NULL,
129 NULL 153 .d2i = NULL,
154 .i2d = NULL,
155 .i2s = NULL,
156 .s2i = NULL,
157 .i2v = NULL,
158 .v2i = NULL,
159 .i2r = i2r_object,
160 .r2i = NULL,
161 .usr_data = NULL,
130}; 162};
131 163
132const X509V3_EXT_METHOD v3_ocsp_nonce = { 164const X509V3_EXT_METHOD v3_ocsp_nonce = {
133 NID_id_pkix_OCSP_Nonce, 0, NULL, 165 .ext_nid = NID_id_pkix_OCSP_Nonce,
134 ocsp_nonce_new, 166 .ext_flags = 0,
135 ocsp_nonce_free, 167 .it = NULL,
136 d2i_ocsp_nonce, 168 .ext_new = ocsp_nonce_new,
137 i2d_ocsp_nonce, 169 .ext_free = ocsp_nonce_free,
138 0, 0, 170 .d2i = d2i_ocsp_nonce,
139 0, 0, 171 .i2d = i2d_ocsp_nonce,
140 i2r_ocsp_nonce, 0, 172 .i2s = NULL,
141 NULL 173 .s2i = NULL,
174 .i2v = NULL,
175 .v2i = NULL,
176 .i2r = i2r_ocsp_nonce,
177 .r2i = NULL,
178 .usr_data = NULL,
142}; 179};
143 180
144const X509V3_EXT_METHOD v3_ocsp_nocheck = { 181const X509V3_EXT_METHOD v3_ocsp_nocheck = {
145 NID_id_pkix_OCSP_noCheck, 0, ASN1_ITEM_ref(ASN1_NULL), 182 .ext_nid = NID_id_pkix_OCSP_noCheck,
146 0, 0, 0, 0, 183 .ext_flags = 0,
147 0, s2i_ocsp_nocheck, 184 .it = ASN1_ITEM_ref(ASN1_NULL),
148 0, 0, 185 .ext_new = NULL,
149 i2r_ocsp_nocheck, 0, 186 .ext_free = NULL,
150 NULL 187 .d2i = NULL,
188 .i2d = NULL,
189 .i2s = NULL,
190 .s2i = s2i_ocsp_nocheck,
191 .i2v = NULL,
192 .v2i = NULL,
193 .i2r = i2r_ocsp_nocheck,
194 .r2i = NULL,
195 .usr_data = NULL,
151}; 196};
152 197
153const X509V3_EXT_METHOD v3_ocsp_serviceloc = { 198const X509V3_EXT_METHOD v3_ocsp_serviceloc = {
154 NID_id_pkix_OCSP_serviceLocator, 0, ASN1_ITEM_ref(OCSP_SERVICELOC), 199 .ext_nid = NID_id_pkix_OCSP_serviceLocator,
155 0, 0, 0, 0, 200 .ext_flags = 0,
156 0, 0, 201 .it = ASN1_ITEM_ref(OCSP_SERVICELOC),
157 0, 0, 202 .ext_new = NULL,
158 i2r_ocsp_serviceloc, 0, 203 .ext_free = NULL,
159 NULL 204 .d2i = NULL,
205 .i2d = NULL,
206 .i2s = NULL,
207 .s2i = NULL,
208 .i2v = NULL,
209 .v2i = NULL,
210 .i2r = i2r_ocsp_serviceloc,
211 .r2i = NULL,
212 .usr_data = NULL,
160}; 213};
161 214
162static int 215static int
diff --git a/src/lib/libcrypto/x509v3/v3_pci.c b/src/lib/libcrypto/x509v3/v3_pci.c
index d19f5a6e61..ff1d087667 100644
--- a/src/lib/libcrypto/x509v3/v3_pci.c
+++ b/src/lib/libcrypto/x509v3/v3_pci.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pci.c,v 1.9 2015/07/19 01:20:32 doug Exp $ */ 1/* $OpenBSD: v3_pci.c,v 1.10 2015/07/29 16:13:49 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 */
@@ -47,11 +47,20 @@ static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method,
47 X509V3_CTX *ctx, char *str); 47 X509V3_CTX *ctx, char *str);
48 48
49const X509V3_EXT_METHOD v3_pci = { 49const X509V3_EXT_METHOD v3_pci = {
50 NID_proxyCertInfo, 0, ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION), 50 .ext_nid = NID_proxyCertInfo,
51 0, 0, 0, 0, 0, 0, NULL, NULL, 51 .ext_flags = 0,
52 (X509V3_EXT_I2R)i2r_pci, 52 .it = ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION),
53 (X509V3_EXT_R2I)r2i_pci, 53 .ext_new = NULL,
54 NULL, 54 .ext_free = NULL,
55 .d2i = NULL,
56 .i2d = NULL,
57 .i2s = NULL,
58 .s2i = NULL,
59 .i2v = NULL,
60 .v2i = NULL,
61 .i2r = (X509V3_EXT_I2R)i2r_pci,
62 .r2i = (X509V3_EXT_R2I)r2i_pci,
63 .usr_data = NULL,
55}; 64};
56 65
57static int 66static int
diff --git a/src/lib/libcrypto/x509v3/v3_pcons.c b/src/lib/libcrypto/x509v3/v3_pcons.c
index 03193427f7..a5a8d8a025 100644
--- a/src/lib/libcrypto/x509v3/v3_pcons.c
+++ b/src/lib/libcrypto/x509v3/v3_pcons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pcons.c,v 1.8 2015/07/25 16:14:29 jsing Exp $ */ 1/* $OpenBSD: v3_pcons.c,v 1.9 2015/07/29 16:13:49 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. 3 * project.
4 */ 4 */
@@ -72,14 +72,20 @@ static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method,
72 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 72 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
73 73
74const X509V3_EXT_METHOD v3_policy_constraints = { 74const X509V3_EXT_METHOD v3_policy_constraints = {
75 NID_policy_constraints, 0, 75 .ext_nid = NID_policy_constraints,
76 ASN1_ITEM_ref(POLICY_CONSTRAINTS), 76 .ext_flags = 0,
77 0, 0, 0, 0, 77 .it = ASN1_ITEM_ref(POLICY_CONSTRAINTS),
78 0, 0, 78 .ext_new = NULL,
79 i2v_POLICY_CONSTRAINTS, 79 .ext_free = NULL,
80 v2i_POLICY_CONSTRAINTS, 80 .d2i = NULL,
81 NULL, NULL, 81 .i2d = NULL,
82 NULL 82 .i2s = NULL,
83 .s2i = NULL,
84 .i2v = i2v_POLICY_CONSTRAINTS,
85 .v2i = v2i_POLICY_CONSTRAINTS,
86 .i2r = NULL,
87 .r2i = NULL,
88 .usr_data = NULL,
83}; 89};
84 90
85static const ASN1_TEMPLATE POLICY_CONSTRAINTS_seq_tt[] = { 91static const ASN1_TEMPLATE POLICY_CONSTRAINTS_seq_tt[] = {
diff --git a/src/lib/libcrypto/x509v3/v3_pku.c b/src/lib/libcrypto/x509v3/v3_pku.c
index 360e3daa58..caa3608859 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.11 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_pku.c,v 1.12 2015/07/29 16:13:49 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 */
@@ -68,11 +68,20 @@ static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,
68static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 68static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
69*/ 69*/
70const X509V3_EXT_METHOD v3_pkey_usage_period = { 70const X509V3_EXT_METHOD v3_pkey_usage_period = {
71 NID_private_key_usage_period, 0, ASN1_ITEM_ref(PKEY_USAGE_PERIOD), 71 .ext_nid = NID_private_key_usage_period,
72 0, 0, 0, 0, 72 .ext_flags = 0,
73 0, 0, 0, 0, 73 .it = ASN1_ITEM_ref(PKEY_USAGE_PERIOD),
74 (X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD, NULL, 74 .ext_new = NULL,
75 NULL 75 .ext_free = NULL,
76 .d2i = NULL,
77 .i2d = NULL,
78 .i2s = NULL,
79 .s2i = NULL,
80 .i2v = NULL,
81 .v2i = NULL,
82 .i2r = (X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD,
83 .r2i = NULL,
84 .usr_data = NULL,
76}; 85};
77 86
78static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = { 87static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = {
diff --git a/src/lib/libcrypto/x509v3/v3_pmaps.c b/src/lib/libcrypto/x509v3/v3_pmaps.c
index 32ab04eda9..f2d9090157 100644
--- a/src/lib/libcrypto/x509v3/v3_pmaps.c
+++ b/src/lib/libcrypto/x509v3/v3_pmaps.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pmaps.c,v 1.8 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_pmaps.c,v 1.9 2015/07/29 16:13:49 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. 3 * project.
4 */ 4 */
@@ -70,14 +70,20 @@ static STACK_OF(CONF_VALUE) *i2v_POLICY_MAPPINGS(
70 const X509V3_EXT_METHOD *method, void *pmps, STACK_OF(CONF_VALUE) *extlist); 70 const X509V3_EXT_METHOD *method, void *pmps, STACK_OF(CONF_VALUE) *extlist);
71 71
72const X509V3_EXT_METHOD v3_policy_mappings = { 72const X509V3_EXT_METHOD v3_policy_mappings = {
73 NID_policy_mappings, 0, 73 .ext_nid = NID_policy_mappings,
74 ASN1_ITEM_ref(POLICY_MAPPINGS), 74 .ext_flags = 0,
75 0, 0, 0, 0, 75 .it = ASN1_ITEM_ref(POLICY_MAPPINGS),
76 0, 0, 76 .ext_new = NULL,
77 i2v_POLICY_MAPPINGS, 77 .ext_free = NULL,
78 v2i_POLICY_MAPPINGS, 78 .d2i = NULL,
79 0, 0, 79 .i2d = NULL,
80 NULL 80 .i2s = NULL,
81 .s2i = NULL,
82 .i2v = i2v_POLICY_MAPPINGS,
83 .v2i = v2i_POLICY_MAPPINGS,
84 .i2r = NULL,
85 .r2i = NULL,
86 .usr_data = NULL,
81}; 87};
82 88
83static const ASN1_TEMPLATE POLICY_MAPPING_seq_tt[] = { 89static const ASN1_TEMPLATE POLICY_MAPPING_seq_tt[] = {
diff --git a/src/lib/libcrypto/x509v3/v3_skey.c b/src/lib/libcrypto/x509v3/v3_skey.c
index 1bcf8dacfb..252fec3b08 100644
--- a/src/lib/libcrypto/x509v3/v3_skey.c
+++ b/src/lib/libcrypto/x509v3/v3_skey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_skey.c,v 1.11 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_skey.c,v 1.12 2015/07/29 16:13:49 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 */
@@ -64,13 +64,22 @@
64 64
65static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, 65static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method,
66 X509V3_CTX *ctx, char *str); 66 X509V3_CTX *ctx, char *str);
67
67const X509V3_EXT_METHOD v3_skey_id = { 68const X509V3_EXT_METHOD v3_skey_id = {
68 NID_subject_key_identifier, 0, ASN1_ITEM_ref(ASN1_OCTET_STRING), 69 .ext_nid = NID_subject_key_identifier,
69 0, 0, 0, 0, 70 .ext_flags = 0,
70 (X509V3_EXT_I2S)i2s_ASN1_OCTET_STRING, 71 .it = ASN1_ITEM_ref(ASN1_OCTET_STRING),
71 (X509V3_EXT_S2I)s2i_skey_id, 72 .ext_new = NULL,
72 0, 0, 0, 0, 73 .ext_free = NULL,
73 NULL 74 .d2i = NULL,
75 .i2d = NULL,
76 .i2s = (X509V3_EXT_I2S)i2s_ASN1_OCTET_STRING,
77 .s2i = (X509V3_EXT_S2I)s2i_skey_id,
78 .i2v = NULL,
79 .v2i = NULL,
80 .i2r = NULL,
81 .r2i = NULL,
82 .usr_data = NULL,
74}; 83};
75 84
76char * 85char *
diff --git a/src/lib/libcrypto/x509v3/v3_sxnet.c b/src/lib/libcrypto/x509v3/v3_sxnet.c
index 546b790782..c10feed0ef 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.15 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_sxnet.c,v 1.16 2015/07/29 16:13:49 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 */
@@ -75,19 +75,26 @@ static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out,
75static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 75static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
76 STACK_OF(CONF_VALUE) *nval); 76 STACK_OF(CONF_VALUE) *nval);
77#endif 77#endif
78
78const X509V3_EXT_METHOD v3_sxnet = { 79const X509V3_EXT_METHOD v3_sxnet = {
79 NID_sxnet, X509V3_EXT_MULTILINE, ASN1_ITEM_ref(SXNET), 80 .ext_nid = NID_sxnet,
80 0, 0, 0, 0, 81 .ext_flags = X509V3_EXT_MULTILINE,
81 0, 0, 82 .it = ASN1_ITEM_ref(SXNET),
82 0, 83 .ext_new = NULL,
84 .ext_free = NULL,
85 .d2i = NULL,
86 .i2d = NULL,
87 .i2s = NULL,
88 .s2i = NULL,
89 .i2v = NULL,
83#ifdef SXNET_TEST 90#ifdef SXNET_TEST
84 (X509V3_EXT_V2I)sxnet_v2i, 91 .v2i = (X509V3_EXT_V2I)sxnet_v2i,
85#else 92#else
86 0, 93 .v2i = NULL,
87#endif 94#endif
88 (X509V3_EXT_I2R)sxnet_i2r, 95 .i2r = (X509V3_EXT_I2R)sxnet_i2r,
89 0, 96 .r2i = NULL,
90 NULL 97 .usr_data = NULL,
91}; 98};
92 99
93static const ASN1_TEMPLATE SXNETID_seq_tt[] = { 100static const ASN1_TEMPLATE SXNETID_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_akey.c b/src/lib/libssl/src/crypto/x509v3/v3_akey.c
index 2bf515cfdd..2a5c65ea39 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_akey.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_akey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_akey.c,v 1.14 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_akey.c,v 1.15 2015/07/29 16:13:48 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 */
@@ -71,14 +71,20 @@ static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
72 72
73const X509V3_EXT_METHOD v3_akey_id = { 73const X509V3_EXT_METHOD v3_akey_id = {
74 NID_authority_key_identifier, 74 .ext_nid = NID_authority_key_identifier,
75 X509V3_EXT_MULTILINE, ASN1_ITEM_ref(AUTHORITY_KEYID), 75 .ext_flags = X509V3_EXT_MULTILINE,
76 0, 0,0, 0, 76 .it = ASN1_ITEM_ref(AUTHORITY_KEYID),
77 0, 0, 77 .ext_new = NULL,
78 (X509V3_EXT_I2V)i2v_AUTHORITY_KEYID, 78 .ext_free = NULL,
79 (X509V3_EXT_V2I)v2i_AUTHORITY_KEYID, 79 .d2i = NULL,
80 0, 0, 80 .i2d = NULL,
81 NULL 81 .i2s = NULL,
82 .s2i = NULL,
83 .i2v = (X509V3_EXT_I2V)i2v_AUTHORITY_KEYID,
84 .v2i = (X509V3_EXT_V2I)v2i_AUTHORITY_KEYID,
85 .i2r = NULL,
86 .r2i = NULL,
87 .usr_data = NULL,
82}; 88};
83 89
84static 90static
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_alt.c b/src/lib/libssl/src/crypto/x509v3/v3_alt.c
index 5b0dae2af6..4b3755e4e7 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_alt.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_alt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_alt.c,v 1.23 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_alt.c,v 1.24 2015/07/29 16:13:48 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. 3 * project.
4 */ 4 */
@@ -74,27 +74,52 @@ static int do_dirname(GENERAL_NAME *gen, char *value, X509V3_CTX *ctx);
74 74
75const X509V3_EXT_METHOD v3_alt[] = { 75const X509V3_EXT_METHOD v3_alt[] = {
76 { 76 {
77 NID_subject_alt_name, 0, ASN1_ITEM_ref(GENERAL_NAMES), 77 .ext_nid = NID_subject_alt_name,
78 0, 0, 0, 0, 78 .ext_flags = 0,
79 0, 0, 79 .it = ASN1_ITEM_ref(GENERAL_NAMES),
80 (X509V3_EXT_I2V)i2v_GENERAL_NAMES, 80 .ext_new = NULL,
81 (X509V3_EXT_V2I)v2i_subject_alt, 81 .ext_free = NULL,
82 NULL, NULL, NULL 82 .d2i = NULL,
83 .i2d = NULL,
84 .i2s = NULL,
85 .s2i = NULL,
86 .i2v = (X509V3_EXT_I2V)i2v_GENERAL_NAMES,
87 .v2i = (X509V3_EXT_V2I)v2i_subject_alt,
88 .i2r = NULL,
89 .r2i = NULL,
90 .usr_data = NULL,
83 }, 91 },
84 { 92 {
85 NID_issuer_alt_name, 0, ASN1_ITEM_ref(GENERAL_NAMES), 93 .ext_nid = NID_issuer_alt_name,
86 0, 0, 0, 0, 94 .ext_flags = 0,
87 0, 0, 95 .it = ASN1_ITEM_ref(GENERAL_NAMES),
88 (X509V3_EXT_I2V)i2v_GENERAL_NAMES, 96 .ext_new = NULL,
89 (X509V3_EXT_V2I)v2i_issuer_alt, 97 .ext_free = NULL,
90 NULL, NULL, NULL 98 .d2i = NULL,
99 .i2d = NULL,
100 .i2s = NULL,
101 .s2i = NULL,
102 .i2v = (X509V3_EXT_I2V)i2v_GENERAL_NAMES,
103 .v2i = (X509V3_EXT_V2I)v2i_issuer_alt,
104 .i2r = NULL,
105 .r2i = NULL,
106 .usr_data = NULL,
91 }, 107 },
92 { 108 {
93 NID_certificate_issuer, 0, ASN1_ITEM_ref(GENERAL_NAMES), 109 .ext_nid = NID_certificate_issuer,
94 0, 0, 0, 0, 110 .ext_flags = 0,
95 0, 0, 111 .it = ASN1_ITEM_ref(GENERAL_NAMES),
96 (X509V3_EXT_I2V)i2v_GENERAL_NAMES, 112 .ext_new = NULL,
97 NULL, NULL, NULL, NULL 113 .ext_free = NULL,
114 .d2i = NULL,
115 .i2d = NULL,
116 .i2s = NULL,
117 .s2i = NULL,
118 .i2v = (X509V3_EXT_I2V)i2v_GENERAL_NAMES,
119 .v2i = NULL,
120 .i2r = NULL,
121 .r2i = NULL,
122 .usr_data = NULL,
98 }, 123 },
99}; 124};
100 125
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_bcons.c b/src/lib/libssl/src/crypto/x509v3/v3_bcons.c
index eea63b760a..292705a8d6 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.12 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_bcons.c,v 1.13 2015/07/29 16:13:48 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 */
@@ -71,14 +71,20 @@ static BASIC_CONSTRAINTS *v2i_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,
71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
72 72
73const X509V3_EXT_METHOD v3_bcons = { 73const X509V3_EXT_METHOD v3_bcons = {
74 NID_basic_constraints, 0, 74 .ext_nid = NID_basic_constraints,
75 ASN1_ITEM_ref(BASIC_CONSTRAINTS), 75 .ext_flags = 0,
76 0, 0, 0, 0, 76 .it = ASN1_ITEM_ref(BASIC_CONSTRAINTS),
77 0, 0, 77 .ext_new = NULL,
78 (X509V3_EXT_I2V)i2v_BASIC_CONSTRAINTS, 78 .ext_free = NULL,
79 (X509V3_EXT_V2I)v2i_BASIC_CONSTRAINTS, 79 .d2i = NULL,
80 NULL, NULL, 80 .i2d = NULL,
81 NULL 81 .i2s = NULL,
82 .s2i = NULL,
83 .i2v = (X509V3_EXT_I2V)i2v_BASIC_CONSTRAINTS,
84 .v2i = (X509V3_EXT_V2I)v2i_BASIC_CONSTRAINTS,
85 .i2r = NULL,
86 .r2i = NULL,
87 .usr_data = NULL,
82}; 88};
83 89
84static const ASN1_TEMPLATE BASIC_CONSTRAINTS_seq_tt[] = { 90static const ASN1_TEMPLATE BASIC_CONSTRAINTS_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_bitst.c b/src/lib/libssl/src/crypto/x509v3/v3_bitst.c
index c0c6ad3d8c..894608fadb 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_bitst.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_bitst.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_bitst.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: v3_bitst.c,v 1.11 2015/07/29 16:13:48 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 */
@@ -88,11 +88,39 @@ static BIT_STRING_BITNAME key_usage_type_table[] = {
88 {-1, NULL, NULL} 88 {-1, NULL, NULL}
89}; 89};
90 90
91const X509V3_EXT_METHOD v3_nscert = {
92 .ext_nid = NID_netscape_cert_type,
93 .ext_flags = 0,
94 .it = ASN1_ITEM_ref(ASN1_BIT_STRING),
95 .ext_new = NULL,
96 .ext_free = NULL,
97 .d2i = NULL,
98 .i2d = NULL,
99 .i2s = NULL,
100 .s2i = NULL,
101 .i2v = (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING,
102 .v2i = (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING,
103 .i2r = NULL,
104 .r2i = NULL,
105 .usr_data = ns_cert_type_table,
106};
91 107
92const X509V3_EXT_METHOD v3_nscert = 108const X509V3_EXT_METHOD v3_key_usage = {
93 EXT_BITSTRING(NID_netscape_cert_type, ns_cert_type_table); 109 .ext_nid = NID_key_usage,
94const X509V3_EXT_METHOD v3_key_usage = 110 .ext_flags = 0,
95 EXT_BITSTRING(NID_key_usage, key_usage_type_table); 111 .it = ASN1_ITEM_ref(ASN1_BIT_STRING),
112 .ext_new = NULL,
113 .ext_free = NULL,
114 .d2i = NULL,
115 .i2d = NULL,
116 .i2s = NULL,
117 .s2i = NULL,
118 .i2v = (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING,
119 .v2i = (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING,
120 .i2r = NULL,
121 .r2i = NULL,
122 .usr_data = key_usage_type_table,
123};
96 124
97STACK_OF(CONF_VALUE) * 125STACK_OF(CONF_VALUE) *
98i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits, 126i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits,
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_cpols.c b/src/lib/libssl/src/crypto/x509v3/v3_cpols.c
index 4244f03851..cea82afde9 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.21 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_cpols.c,v 1.22 2015/07/29 16:13:48 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 */
@@ -83,13 +83,20 @@ static POLICYQUALINFO *notice_section(X509V3_CTX *ctx,
83static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos); 83static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos);
84 84
85const X509V3_EXT_METHOD v3_cpols = { 85const X509V3_EXT_METHOD v3_cpols = {
86 NID_certificate_policies, 0, ASN1_ITEM_ref(CERTIFICATEPOLICIES), 86 .ext_nid = NID_certificate_policies,
87 0, 0, 0, 0, 87 .ext_flags = 0,
88 0, 0, 88 .it = ASN1_ITEM_ref(CERTIFICATEPOLICIES),
89 0, 0, 89 .ext_new = NULL,
90 (X509V3_EXT_I2R)i2r_certpol, 90 .ext_free = NULL,
91 (X509V3_EXT_R2I)r2i_certpol, 91 .d2i = NULL,
92 NULL 92 .i2d = NULL,
93 .i2s = NULL,
94 .s2i = NULL,
95 .i2v = NULL,
96 .v2i = NULL,
97 .i2r = (X509V3_EXT_I2R)i2r_certpol,
98 .r2i = (X509V3_EXT_R2I)r2i_certpol,
99 .usr_data = NULL,
93}; 100};
94 101
95static const ASN1_TEMPLATE CERTIFICATEPOLICIES_item_tt = { 102static const ASN1_TEMPLATE CERTIFICATEPOLICIES_item_tt = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_crld.c b/src/lib/libssl/src/crypto/x509v3/v3_crld.c
index 9055a41289..a72d0ab500 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.18 2015/07/25 16:14:29 jsing Exp $ */ 1/* $OpenBSD: v3_crld.c,v 1.19 2015/07/29 16:13:48 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 */
@@ -71,23 +71,37 @@ static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,
71 int indent); 71 int indent);
72 72
73const X509V3_EXT_METHOD v3_crld = { 73const X509V3_EXT_METHOD v3_crld = {
74 NID_crl_distribution_points, 0, ASN1_ITEM_ref(CRL_DIST_POINTS), 74 .ext_nid = NID_crl_distribution_points,
75 0, 0, 0, 0, 75 .ext_flags = 0,
76 0, 0, 76 .it = ASN1_ITEM_ref(CRL_DIST_POINTS),
77 0, 77 .ext_new = NULL,
78 v2i_crld, 78 .ext_free = NULL,
79 i2r_crldp, 0, 79 .d2i = NULL,
80 NULL 80 .i2d = NULL,
81 .i2s = NULL,
82 .s2i = NULL,
83 .i2v = NULL,
84 .v2i = v2i_crld,
85 .i2r = i2r_crldp,
86 .r2i = NULL,
87 .usr_data = NULL,
81}; 88};
82 89
83const X509V3_EXT_METHOD v3_freshest_crl = { 90const X509V3_EXT_METHOD v3_freshest_crl = {
84 NID_freshest_crl, 0, ASN1_ITEM_ref(CRL_DIST_POINTS), 91 .ext_nid = NID_freshest_crl,
85 0, 0, 0, 0, 92 .ext_flags = 0,
86 0, 0, 93 .it = ASN1_ITEM_ref(CRL_DIST_POINTS),
87 0, 94 .ext_new = NULL,
88 v2i_crld, 95 .ext_free = NULL,
89 i2r_crldp, 0, 96 .d2i = NULL,
90 NULL 97 .i2d = NULL,
98 .i2s = NULL,
99 .s2i = NULL,
100 .i2v = NULL,
101 .v2i = v2i_crld,
102 .i2r = i2r_crldp,
103 .r2i = NULL,
104 .usr_data = NULL,
91}; 105};
92 106
93static 107static
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_enum.c b/src/lib/libssl/src/crypto/x509v3/v3_enum.c
index c09601edad..7f35a57012 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_enum.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_enum.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_enum.c,v 1.10 2014/07/13 16:03:10 beck Exp $ */ 1/* $OpenBSD: v3_enum.c,v 1.11 2015/07/29 16:13:48 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 */
@@ -76,12 +76,20 @@ static ENUMERATED_NAMES crl_reasons[] = {
76}; 76};
77 77
78const X509V3_EXT_METHOD v3_crl_reason = { 78const X509V3_EXT_METHOD v3_crl_reason = {
79 NID_crl_reason, 0, ASN1_ITEM_ref(ASN1_ENUMERATED), 79 .ext_nid = NID_crl_reason,
80 0, 0, 0, 0, 80 .ext_flags = 0,
81 (X509V3_EXT_I2S)i2s_ASN1_ENUMERATED_TABLE, 81 .it = ASN1_ITEM_ref(ASN1_ENUMERATED),
82 0, 82 .ext_new = NULL,
83 0, 0, 0, 0, 83 .ext_free = NULL,
84 crl_reasons 84 .d2i = NULL,
85 .i2d = NULL,
86 .i2s = (X509V3_EXT_I2S)i2s_ASN1_ENUMERATED_TABLE,
87 .s2i = NULL,
88 .i2v = NULL,
89 .v2i = NULL,
90 .i2r = NULL,
91 .r2i = NULL,
92 .usr_data = crl_reasons,
85}; 93};
86 94
87char * 95char *
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_extku.c b/src/lib/libssl/src/crypto/x509v3/v3_extku.c
index 2ee7594fed..d502175593 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.12 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_extku.c,v 1.13 2015/07/29 16:13:48 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,26 +69,38 @@ static STACK_OF(CONF_VALUE) *i2v_EXTENDED_KEY_USAGE(
69 const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist); 69 const X509V3_EXT_METHOD *method, void *eku, STACK_OF(CONF_VALUE) *extlist);
70 70
71const X509V3_EXT_METHOD v3_ext_ku = { 71const X509V3_EXT_METHOD v3_ext_ku = {
72 NID_ext_key_usage, 0, 72 .ext_nid = NID_ext_key_usage,
73 ASN1_ITEM_ref(EXTENDED_KEY_USAGE), 73 .ext_flags = 0,
74 0, 0, 0, 0, 74 .it = ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
75 0, 0, 75 .ext_new = NULL,
76 i2v_EXTENDED_KEY_USAGE, 76 .ext_free = NULL,
77 v2i_EXTENDED_KEY_USAGE, 77 .d2i = NULL,
78 0, 0, 78 .i2d = NULL,
79 NULL 79 .i2s = NULL,
80 .s2i = NULL,
81 .i2v = i2v_EXTENDED_KEY_USAGE,
82 .v2i = v2i_EXTENDED_KEY_USAGE,
83 .i2r = NULL,
84 .r2i = NULL,
85 .usr_data = NULL,
80}; 86};
81 87
82/* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */ 88/* NB OCSP acceptable responses also is a SEQUENCE OF OBJECT */
83const X509V3_EXT_METHOD v3_ocsp_accresp = { 89const X509V3_EXT_METHOD v3_ocsp_accresp = {
84 NID_id_pkix_OCSP_acceptableResponses, 0, 90 .ext_nid = NID_id_pkix_OCSP_acceptableResponses,
85 ASN1_ITEM_ref(EXTENDED_KEY_USAGE), 91 .ext_flags = 0,
86 0, 0, 0, 0, 92 .it = ASN1_ITEM_ref(EXTENDED_KEY_USAGE),
87 0, 0, 93 .ext_new = NULL,
88 i2v_EXTENDED_KEY_USAGE, 94 .ext_free = NULL,
89 v2i_EXTENDED_KEY_USAGE, 95 .d2i = NULL,
90 0, 0, 96 .i2d = NULL,
91 NULL 97 .i2s = NULL,
98 .s2i = NULL,
99 .i2v = i2v_EXTENDED_KEY_USAGE,
100 .v2i = v2i_EXTENDED_KEY_USAGE,
101 .i2r = NULL,
102 .r2i = NULL,
103 .usr_data = NULL,
92}; 104};
93 105
94static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = { 106static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_ia5.c b/src/lib/libssl/src/crypto/x509v3/v3_ia5.c
index a9ac7197b6..62f40aaff9 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_ia5.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_ia5.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_ia5.c,v 1.13 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: v3_ia5.c,v 1.14 2015/07/29 16:13:48 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,134 @@ static ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
69 X509V3_CTX *ctx, char *str); 69 X509V3_CTX *ctx, char *str);
70 70
71const X509V3_EXT_METHOD v3_ns_ia5_list[] = { 71const X509V3_EXT_METHOD v3_ns_ia5_list[] = {
72 EXT_IA5STRING(NID_netscape_base_url), 72 {
73 EXT_IA5STRING(NID_netscape_revocation_url), 73 .ext_nid = NID_netscape_base_url,
74 EXT_IA5STRING(NID_netscape_ca_revocation_url), 74 .ext_flags = 0,
75 EXT_IA5STRING(NID_netscape_renewal_url), 75 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
76 EXT_IA5STRING(NID_netscape_ca_policy_url), 76 .ext_new = NULL,
77 EXT_IA5STRING(NID_netscape_ssl_server_name), 77 .ext_free = NULL,
78 EXT_IA5STRING(NID_netscape_comment), 78 .d2i = NULL,
79 EXT_END 79 .i2d = NULL,
80 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
81 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
82 .i2v = NULL,
83 .v2i = NULL,
84 .i2r = NULL,
85 .r2i = NULL,
86 .usr_data = NULL,
87 },
88 {
89 .ext_nid = NID_netscape_revocation_url,
90 .ext_flags = 0,
91 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
92 .ext_new = NULL,
93 .ext_free = NULL,
94 .d2i = NULL,
95 .i2d = NULL,
96 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
97 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
98 .i2v = NULL,
99 .v2i = NULL,
100 .i2r = NULL,
101 .r2i = NULL,
102 .usr_data = NULL,
103 },
104 {
105 .ext_nid = NID_netscape_ca_revocation_url,
106 .ext_flags = 0,
107 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
108 .ext_new = NULL,
109 .ext_free = NULL,
110 .d2i = NULL,
111 .i2d = NULL,
112 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
113 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
114 .i2v = NULL,
115 .v2i = NULL,
116 .i2r = NULL,
117 .r2i = NULL,
118 .usr_data = NULL,
119 },
120 {
121 .ext_nid = NID_netscape_renewal_url,
122 .ext_flags = 0,
123 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
124 .ext_new = NULL,
125 .ext_free = NULL,
126 .d2i = NULL,
127 .i2d = NULL,
128 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
129 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
130 .i2v = NULL,
131 .v2i = NULL,
132 .i2r = NULL,
133 .r2i = NULL,
134 .usr_data = NULL,
135 },
136 {
137 .ext_nid = NID_netscape_ca_policy_url,
138 .ext_flags = 0,
139 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
140 .ext_new = NULL,
141 .ext_free = NULL,
142 .d2i = NULL,
143 .i2d = NULL,
144 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
145 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
146 .i2v = NULL,
147 .v2i = NULL,
148 .i2r = NULL,
149 .r2i = NULL,
150 .usr_data = NULL,
151 },
152 {
153 .ext_nid = NID_netscape_ssl_server_name,
154 .ext_flags = 0,
155 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
156 .ext_new = NULL,
157 .ext_free = NULL,
158 .d2i = NULL,
159 .i2d = NULL,
160 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
161 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
162 .i2v = NULL,
163 .v2i = NULL,
164 .i2r = NULL,
165 .r2i = NULL,
166 .usr_data = NULL,
167 },
168 {
169 .ext_nid = NID_netscape_comment,
170 .ext_flags = 0,
171 .it = ASN1_ITEM_ref(ASN1_IA5STRING),
172 .ext_new = NULL,
173 .ext_free = NULL,
174 .d2i = NULL,
175 .i2d = NULL,
176 .i2s = (X509V3_EXT_I2S)i2s_ASN1_IA5STRING,
177 .s2i = (X509V3_EXT_S2I)s2i_ASN1_IA5STRING,
178 .i2v = NULL,
179 .v2i = NULL,
180 .i2r = NULL,
181 .r2i = NULL,
182 .usr_data = NULL,
183 },
184 {
185 .ext_nid = -1,
186 .ext_flags = 0,
187 .it = NULL,
188 .ext_new = NULL,
189 .ext_free = NULL,
190 .d2i = NULL,
191 .i2d = NULL,
192 .i2s = NULL,
193 .s2i = NULL,
194 .i2v = NULL,
195 .v2i = NULL,
196 .i2r = NULL,
197 .r2i = NULL,
198 .usr_data = NULL,
199 },
80}; 200};
81 201
82static char * 202static char *
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_info.c b/src/lib/libssl/src/crypto/x509v3/v3_info.c
index 795a7bb6ff..3b96222187 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.22 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_info.c,v 1.23 2015/07/29 16:13:48 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 */
@@ -72,25 +72,37 @@ static AUTHORITY_INFO_ACCESS *v2i_AUTHORITY_INFO_ACCESS(
72 X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); 72 X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
73 73
74const X509V3_EXT_METHOD v3_info = { 74const X509V3_EXT_METHOD v3_info = {
75 NID_info_access, X509V3_EXT_MULTILINE, 75 .ext_nid = NID_info_access,
76 ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS), 76 .ext_flags = X509V3_EXT_MULTILINE,
77 0, 0, 0, 0, 77 .it = ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
78 0, 0, 78 .ext_new = NULL,
79 (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS, 79 .ext_free = NULL,
80 (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS, 80 .d2i = NULL,
81 0, 0, 81 .i2d = NULL,
82 NULL 82 .i2s = NULL,
83 .s2i = NULL,
84 .i2v = (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS,
85 .v2i = (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS,
86 .i2r = NULL,
87 .r2i = NULL,
88 .usr_data = NULL,
83}; 89};
84 90
85const X509V3_EXT_METHOD v3_sinfo = { 91const X509V3_EXT_METHOD v3_sinfo = {
86 NID_sinfo_access, X509V3_EXT_MULTILINE, 92 .ext_nid = NID_sinfo_access,
87 ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS), 93 .ext_flags = X509V3_EXT_MULTILINE,
88 0, 0, 0, 0, 94 .it = ASN1_ITEM_ref(AUTHORITY_INFO_ACCESS),
89 0, 0, 95 .ext_new = NULL,
90 (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS, 96 .ext_free = NULL,
91 (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS, 97 .d2i = NULL,
92 0, 0, 98 .i2d = NULL,
93 NULL 99 .i2s = NULL,
100 .s2i = NULL,
101 .i2v = (X509V3_EXT_I2V)i2v_AUTHORITY_INFO_ACCESS,
102 .v2i = (X509V3_EXT_V2I)v2i_AUTHORITY_INFO_ACCESS,
103 .i2r = NULL,
104 .r2i = NULL,
105 .usr_data = NULL,
94}; 106};
95 107
96static const ASN1_TEMPLATE ACCESS_DESCRIPTION_seq_tt[] = { 108static const ASN1_TEMPLATE ACCESS_DESCRIPTION_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_int.c b/src/lib/libssl/src/crypto/x509v3/v3_int.c
index e1f6eb1c0a..bd059b7269 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_int.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_int.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_int.c,v 1.9 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: v3_int.c,v 1.10 2015/07/29 16:13:48 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 */
@@ -61,21 +61,37 @@
61#include <openssl/x509v3.h> 61#include <openssl/x509v3.h>
62 62
63const X509V3_EXT_METHOD v3_crl_num = { 63const X509V3_EXT_METHOD v3_crl_num = {
64 NID_crl_number, 0, ASN1_ITEM_ref(ASN1_INTEGER), 64 .ext_nid = NID_crl_number,
65 0, 0, 0, 0, 65 .ext_flags = 0,
66 (X509V3_EXT_I2S)i2s_ASN1_INTEGER, 66 .it = ASN1_ITEM_ref(ASN1_INTEGER),
67 0, 67 .ext_new = NULL,
68 0, 0, 0, 0, 68 .ext_free = NULL,
69 NULL 69 .d2i = NULL,
70 .i2d = NULL,
71 .i2s = (X509V3_EXT_I2S)i2s_ASN1_INTEGER,
72 .s2i = NULL,
73 .i2v = NULL,
74 .v2i = NULL,
75 .i2r = NULL,
76 .r2i = NULL,
77 .usr_data = NULL,
70}; 78};
71 79
72const X509V3_EXT_METHOD v3_delta_crl = { 80const X509V3_EXT_METHOD v3_delta_crl = {
73 NID_delta_crl, 0, ASN1_ITEM_ref(ASN1_INTEGER), 81 .ext_nid = NID_delta_crl,
74 0, 0, 0, 0, 82 .ext_flags = 0,
75 (X509V3_EXT_I2S)i2s_ASN1_INTEGER, 83 .it = ASN1_ITEM_ref(ASN1_INTEGER),
76 0, 84 .ext_new = NULL,
77 0, 0, 0, 0, 85 .ext_free = NULL,
78 NULL 86 .d2i = NULL,
87 .i2d = NULL,
88 .i2s = (X509V3_EXT_I2S)i2s_ASN1_INTEGER,
89 .s2i = NULL,
90 .i2v = NULL,
91 .v2i = NULL,
92 .i2r = NULL,
93 .r2i = NULL,
94 .usr_data = NULL,
79}; 95};
80 96
81static void * 97static void *
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_ncons.c b/src/lib/libssl/src/crypto/x509v3/v3_ncons.c
index 22b9cfc683..2af15726a8 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_ncons.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_ncons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_ncons.c,v 1.8 2015/07/25 16:14:29 jsing Exp $ */ 1/* $OpenBSD: v3_ncons.c,v 1.9 2015/07/29 16:13:48 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. 3 * project.
4 */ 4 */
@@ -80,13 +80,20 @@ static int nc_email(ASN1_IA5STRING *sub, ASN1_IA5STRING *eml);
80static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base); 80static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base);
81 81
82const X509V3_EXT_METHOD v3_name_constraints = { 82const X509V3_EXT_METHOD v3_name_constraints = {
83 NID_name_constraints, 0, 83 .ext_nid = NID_name_constraints,
84 ASN1_ITEM_ref(NAME_CONSTRAINTS), 84 .ext_flags = 0,
85 0, 0, 0, 0, 85 .it = ASN1_ITEM_ref(NAME_CONSTRAINTS),
86 0, 0, 86 .ext_new = NULL,
87 0, v2i_NAME_CONSTRAINTS, 87 .ext_free = NULL,
88 i2r_NAME_CONSTRAINTS, 0, 88 .d2i = NULL,
89 NULL 89 .i2d = NULL,
90 .i2s = NULL,
91 .s2i = NULL,
92 .i2v = NULL,
93 .v2i = v2i_NAME_CONSTRAINTS,
94 .i2r = i2r_NAME_CONSTRAINTS,
95 .r2i = NULL,
96 .usr_data = NULL,
90}; 97};
91 98
92static const ASN1_TEMPLATE GENERAL_SUBTREE_seq_tt[] = { 99static const ASN1_TEMPLATE GENERAL_SUBTREE_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c b/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c
index 1d9c8a8513..9d1390a520 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_ocsp.c,v 1.11 2015/02/15 08:45:27 miod Exp $ */ 1/* $OpenBSD: v3_ocsp.c,v 1.12 2015/07/29 16:13:49 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 */
@@ -94,69 +94,122 @@ static int i2r_ocsp_serviceloc(const X509V3_EXT_METHOD *method, void *in,
94 BIO *bp, int ind); 94 BIO *bp, int ind);
95 95
96const X509V3_EXT_METHOD v3_ocsp_crlid = { 96const X509V3_EXT_METHOD v3_ocsp_crlid = {
97 NID_id_pkix_OCSP_CrlID, 0, ASN1_ITEM_ref(OCSP_CRLID), 97 .ext_nid = NID_id_pkix_OCSP_CrlID,
98 0, 0, 0, 0, 98 .ext_flags = 0,
99 0, 0, 99 .it = ASN1_ITEM_ref(OCSP_CRLID),
100 0, 0, 100 .ext_new = NULL,
101 i2r_ocsp_crlid, 0, 101 .ext_free = NULL,
102 NULL 102 .d2i = NULL,
103 .i2d = NULL,
104 .i2s = NULL,
105 .s2i = NULL,
106 .i2v = NULL,
107 .v2i = NULL,
108 .i2r = i2r_ocsp_crlid,
109 .r2i = NULL,
110 .usr_data = NULL,
103}; 111};
104 112
105const X509V3_EXT_METHOD v3_ocsp_acutoff = { 113const X509V3_EXT_METHOD v3_ocsp_acutoff = {
106 NID_id_pkix_OCSP_archiveCutoff, 0, ASN1_ITEM_ref(ASN1_GENERALIZEDTIME), 114 .ext_nid = NID_id_pkix_OCSP_archiveCutoff,
107 0, 0, 0, 0, 115 .ext_flags = 0,
108 0, 0, 116 .it = ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
109 0, 0, 117 .ext_new = NULL,
110 i2r_ocsp_acutoff, 0, 118 .ext_free = NULL,
111 NULL 119 .d2i = NULL,
120 .i2d = NULL,
121 .i2s = NULL,
122 .s2i = NULL,
123 .i2v = NULL,
124 .v2i = NULL,
125 .i2r = i2r_ocsp_acutoff,
126 .r2i = NULL,
127 .usr_data = NULL,
112}; 128};
113 129
114const X509V3_EXT_METHOD v3_crl_invdate = { 130const X509V3_EXT_METHOD v3_crl_invdate = {
115 NID_invalidity_date, 0, ASN1_ITEM_ref(ASN1_GENERALIZEDTIME), 131 .ext_nid = NID_invalidity_date,
116 0, 0, 0, 0, 132 .ext_flags = 0,
117 0, 0, 133 .it = ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
118 0, 0, 134 .ext_new = NULL,
119 i2r_ocsp_acutoff, 0, 135 .ext_free = NULL,
120 NULL 136 .d2i = NULL,
137 .i2d = NULL,
138 .i2s = NULL,
139 .s2i = NULL,
140 .i2v = NULL,
141 .v2i = NULL,
142 .i2r = i2r_ocsp_acutoff,
143 .r2i = NULL,
144 .usr_data = NULL,
121}; 145};
122 146
123const X509V3_EXT_METHOD v3_crl_hold = { 147const X509V3_EXT_METHOD v3_crl_hold = {
124 NID_hold_instruction_code, 0, ASN1_ITEM_ref(ASN1_OBJECT), 148 .ext_nid = NID_hold_instruction_code,
125 0, 0, 0, 0, 149 .ext_flags = 0,
126 0, 0, 150 .it = ASN1_ITEM_ref(ASN1_OBJECT),
127 0, 0, 151 .ext_new = NULL,
128 i2r_object, 0, 152 .ext_free = NULL,
129 NULL 153 .d2i = NULL,
154 .i2d = NULL,
155 .i2s = NULL,
156 .s2i = NULL,
157 .i2v = NULL,
158 .v2i = NULL,
159 .i2r = i2r_object,
160 .r2i = NULL,
161 .usr_data = NULL,
130}; 162};
131 163
132const X509V3_EXT_METHOD v3_ocsp_nonce = { 164const X509V3_EXT_METHOD v3_ocsp_nonce = {
133 NID_id_pkix_OCSP_Nonce, 0, NULL, 165 .ext_nid = NID_id_pkix_OCSP_Nonce,
134 ocsp_nonce_new, 166 .ext_flags = 0,
135 ocsp_nonce_free, 167 .it = NULL,
136 d2i_ocsp_nonce, 168 .ext_new = ocsp_nonce_new,
137 i2d_ocsp_nonce, 169 .ext_free = ocsp_nonce_free,
138 0, 0, 170 .d2i = d2i_ocsp_nonce,
139 0, 0, 171 .i2d = i2d_ocsp_nonce,
140 i2r_ocsp_nonce, 0, 172 .i2s = NULL,
141 NULL 173 .s2i = NULL,
174 .i2v = NULL,
175 .v2i = NULL,
176 .i2r = i2r_ocsp_nonce,
177 .r2i = NULL,
178 .usr_data = NULL,
142}; 179};
143 180
144const X509V3_EXT_METHOD v3_ocsp_nocheck = { 181const X509V3_EXT_METHOD v3_ocsp_nocheck = {
145 NID_id_pkix_OCSP_noCheck, 0, ASN1_ITEM_ref(ASN1_NULL), 182 .ext_nid = NID_id_pkix_OCSP_noCheck,
146 0, 0, 0, 0, 183 .ext_flags = 0,
147 0, s2i_ocsp_nocheck, 184 .it = ASN1_ITEM_ref(ASN1_NULL),
148 0, 0, 185 .ext_new = NULL,
149 i2r_ocsp_nocheck, 0, 186 .ext_free = NULL,
150 NULL 187 .d2i = NULL,
188 .i2d = NULL,
189 .i2s = NULL,
190 .s2i = s2i_ocsp_nocheck,
191 .i2v = NULL,
192 .v2i = NULL,
193 .i2r = i2r_ocsp_nocheck,
194 .r2i = NULL,
195 .usr_data = NULL,
151}; 196};
152 197
153const X509V3_EXT_METHOD v3_ocsp_serviceloc = { 198const X509V3_EXT_METHOD v3_ocsp_serviceloc = {
154 NID_id_pkix_OCSP_serviceLocator, 0, ASN1_ITEM_ref(OCSP_SERVICELOC), 199 .ext_nid = NID_id_pkix_OCSP_serviceLocator,
155 0, 0, 0, 0, 200 .ext_flags = 0,
156 0, 0, 201 .it = ASN1_ITEM_ref(OCSP_SERVICELOC),
157 0, 0, 202 .ext_new = NULL,
158 i2r_ocsp_serviceloc, 0, 203 .ext_free = NULL,
159 NULL 204 .d2i = NULL,
205 .i2d = NULL,
206 .i2s = NULL,
207 .s2i = NULL,
208 .i2v = NULL,
209 .v2i = NULL,
210 .i2r = i2r_ocsp_serviceloc,
211 .r2i = NULL,
212 .usr_data = NULL,
160}; 213};
161 214
162static int 215static int
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pci.c b/src/lib/libssl/src/crypto/x509v3/v3_pci.c
index d19f5a6e61..ff1d087667 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_pci.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_pci.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pci.c,v 1.9 2015/07/19 01:20:32 doug Exp $ */ 1/* $OpenBSD: v3_pci.c,v 1.10 2015/07/29 16:13:49 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 */
@@ -47,11 +47,20 @@ static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method,
47 X509V3_CTX *ctx, char *str); 47 X509V3_CTX *ctx, char *str);
48 48
49const X509V3_EXT_METHOD v3_pci = { 49const X509V3_EXT_METHOD v3_pci = {
50 NID_proxyCertInfo, 0, ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION), 50 .ext_nid = NID_proxyCertInfo,
51 0, 0, 0, 0, 0, 0, NULL, NULL, 51 .ext_flags = 0,
52 (X509V3_EXT_I2R)i2r_pci, 52 .it = ASN1_ITEM_ref(PROXY_CERT_INFO_EXTENSION),
53 (X509V3_EXT_R2I)r2i_pci, 53 .ext_new = NULL,
54 NULL, 54 .ext_free = NULL,
55 .d2i = NULL,
56 .i2d = NULL,
57 .i2s = NULL,
58 .s2i = NULL,
59 .i2v = NULL,
60 .v2i = NULL,
61 .i2r = (X509V3_EXT_I2R)i2r_pci,
62 .r2i = (X509V3_EXT_R2I)r2i_pci,
63 .usr_data = NULL,
55}; 64};
56 65
57static int 66static int
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pcons.c b/src/lib/libssl/src/crypto/x509v3/v3_pcons.c
index 03193427f7..a5a8d8a025 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_pcons.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_pcons.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pcons.c,v 1.8 2015/07/25 16:14:29 jsing Exp $ */ 1/* $OpenBSD: v3_pcons.c,v 1.9 2015/07/29 16:13:49 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. 3 * project.
4 */ 4 */
@@ -72,14 +72,20 @@ static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method,
72 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 72 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
73 73
74const X509V3_EXT_METHOD v3_policy_constraints = { 74const X509V3_EXT_METHOD v3_policy_constraints = {
75 NID_policy_constraints, 0, 75 .ext_nid = NID_policy_constraints,
76 ASN1_ITEM_ref(POLICY_CONSTRAINTS), 76 .ext_flags = 0,
77 0, 0, 0, 0, 77 .it = ASN1_ITEM_ref(POLICY_CONSTRAINTS),
78 0, 0, 78 .ext_new = NULL,
79 i2v_POLICY_CONSTRAINTS, 79 .ext_free = NULL,
80 v2i_POLICY_CONSTRAINTS, 80 .d2i = NULL,
81 NULL, NULL, 81 .i2d = NULL,
82 NULL 82 .i2s = NULL,
83 .s2i = NULL,
84 .i2v = i2v_POLICY_CONSTRAINTS,
85 .v2i = v2i_POLICY_CONSTRAINTS,
86 .i2r = NULL,
87 .r2i = NULL,
88 .usr_data = NULL,
83}; 89};
84 90
85static const ASN1_TEMPLATE POLICY_CONSTRAINTS_seq_tt[] = { 91static const ASN1_TEMPLATE POLICY_CONSTRAINTS_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pku.c b/src/lib/libssl/src/crypto/x509v3/v3_pku.c
index 360e3daa58..caa3608859 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.11 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_pku.c,v 1.12 2015/07/29 16:13:49 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 */
@@ -68,11 +68,20 @@ static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,
68static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); 68static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
69*/ 69*/
70const X509V3_EXT_METHOD v3_pkey_usage_period = { 70const X509V3_EXT_METHOD v3_pkey_usage_period = {
71 NID_private_key_usage_period, 0, ASN1_ITEM_ref(PKEY_USAGE_PERIOD), 71 .ext_nid = NID_private_key_usage_period,
72 0, 0, 0, 0, 72 .ext_flags = 0,
73 0, 0, 0, 0, 73 .it = ASN1_ITEM_ref(PKEY_USAGE_PERIOD),
74 (X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD, NULL, 74 .ext_new = NULL,
75 NULL 75 .ext_free = NULL,
76 .d2i = NULL,
77 .i2d = NULL,
78 .i2s = NULL,
79 .s2i = NULL,
80 .i2v = NULL,
81 .v2i = NULL,
82 .i2r = (X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD,
83 .r2i = NULL,
84 .usr_data = NULL,
76}; 85};
77 86
78static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = { 87static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_pmaps.c b/src/lib/libssl/src/crypto/x509v3/v3_pmaps.c
index 32ab04eda9..f2d9090157 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_pmaps.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_pmaps.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_pmaps.c,v 1.8 2015/07/25 16:00:14 jsing Exp $ */ 1/* $OpenBSD: v3_pmaps.c,v 1.9 2015/07/29 16:13:49 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. 3 * project.
4 */ 4 */
@@ -70,14 +70,20 @@ static STACK_OF(CONF_VALUE) *i2v_POLICY_MAPPINGS(
70 const X509V3_EXT_METHOD *method, void *pmps, STACK_OF(CONF_VALUE) *extlist); 70 const X509V3_EXT_METHOD *method, void *pmps, STACK_OF(CONF_VALUE) *extlist);
71 71
72const X509V3_EXT_METHOD v3_policy_mappings = { 72const X509V3_EXT_METHOD v3_policy_mappings = {
73 NID_policy_mappings, 0, 73 .ext_nid = NID_policy_mappings,
74 ASN1_ITEM_ref(POLICY_MAPPINGS), 74 .ext_flags = 0,
75 0, 0, 0, 0, 75 .it = ASN1_ITEM_ref(POLICY_MAPPINGS),
76 0, 0, 76 .ext_new = NULL,
77 i2v_POLICY_MAPPINGS, 77 .ext_free = NULL,
78 v2i_POLICY_MAPPINGS, 78 .d2i = NULL,
79 0, 0, 79 .i2d = NULL,
80 NULL 80 .i2s = NULL,
81 .s2i = NULL,
82 .i2v = i2v_POLICY_MAPPINGS,
83 .v2i = v2i_POLICY_MAPPINGS,
84 .i2r = NULL,
85 .r2i = NULL,
86 .usr_data = NULL,
81}; 87};
82 88
83static const ASN1_TEMPLATE POLICY_MAPPING_seq_tt[] = { 89static const ASN1_TEMPLATE POLICY_MAPPING_seq_tt[] = {
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_skey.c b/src/lib/libssl/src/crypto/x509v3/v3_skey.c
index 1bcf8dacfb..252fec3b08 100644
--- a/src/lib/libssl/src/crypto/x509v3/v3_skey.c
+++ b/src/lib/libssl/src/crypto/x509v3/v3_skey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: v3_skey.c,v 1.11 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_skey.c,v 1.12 2015/07/29 16:13:49 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 */
@@ -64,13 +64,22 @@
64 64
65static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, 65static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method,
66 X509V3_CTX *ctx, char *str); 66 X509V3_CTX *ctx, char *str);
67
67const X509V3_EXT_METHOD v3_skey_id = { 68const X509V3_EXT_METHOD v3_skey_id = {
68 NID_subject_key_identifier, 0, ASN1_ITEM_ref(ASN1_OCTET_STRING), 69 .ext_nid = NID_subject_key_identifier,
69 0, 0, 0, 0, 70 .ext_flags = 0,
70 (X509V3_EXT_I2S)i2s_ASN1_OCTET_STRING, 71 .it = ASN1_ITEM_ref(ASN1_OCTET_STRING),
71 (X509V3_EXT_S2I)s2i_skey_id, 72 .ext_new = NULL,
72 0, 0, 0, 0, 73 .ext_free = NULL,
73 NULL 74 .d2i = NULL,
75 .i2d = NULL,
76 .i2s = (X509V3_EXT_I2S)i2s_ASN1_OCTET_STRING,
77 .s2i = (X509V3_EXT_S2I)s2i_skey_id,
78 .i2v = NULL,
79 .v2i = NULL,
80 .i2r = NULL,
81 .r2i = NULL,
82 .usr_data = NULL,
74}; 83};
75 84
76char * 85char *
diff --git a/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c b/src/lib/libssl/src/crypto/x509v3/v3_sxnet.c
index 546b790782..c10feed0ef 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.15 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: v3_sxnet.c,v 1.16 2015/07/29 16:13:49 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 */
@@ -75,19 +75,26 @@ static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out,
75static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, 75static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
76 STACK_OF(CONF_VALUE) *nval); 76 STACK_OF(CONF_VALUE) *nval);
77#endif 77#endif
78
78const X509V3_EXT_METHOD v3_sxnet = { 79const X509V3_EXT_METHOD v3_sxnet = {
79 NID_sxnet, X509V3_EXT_MULTILINE, ASN1_ITEM_ref(SXNET), 80 .ext_nid = NID_sxnet,
80 0, 0, 0, 0, 81 .ext_flags = X509V3_EXT_MULTILINE,
81 0, 0, 82 .it = ASN1_ITEM_ref(SXNET),
82 0, 83 .ext_new = NULL,
84 .ext_free = NULL,
85 .d2i = NULL,
86 .i2d = NULL,
87 .i2s = NULL,
88 .s2i = NULL,
89 .i2v = NULL,
83#ifdef SXNET_TEST 90#ifdef SXNET_TEST
84 (X509V3_EXT_V2I)sxnet_v2i, 91 .v2i = (X509V3_EXT_V2I)sxnet_v2i,
85#else 92#else
86 0, 93 .v2i = NULL,
87#endif 94#endif
88 (X509V3_EXT_I2R)sxnet_i2r, 95 .i2r = (X509V3_EXT_I2R)sxnet_i2r,
89 0, 96 .r2i = NULL,
90 NULL 97 .usr_data = NULL,
91}; 98};
92 99
93static const ASN1_TEMPLATE SXNETID_seq_tt[] = { 100static const ASN1_TEMPLATE SXNETID_seq_tt[] = {