diff options
Diffstat (limited to 'src/lib')
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 | ||
73 | const X509V3_EXT_METHOD v3_akey_id = { | 73 | const 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 | ||
84 | static | 90 | static |
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 | ||
75 | const X509V3_EXT_METHOD v3_alt[] = { | 75 | const 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 | ||
73 | const X509V3_EXT_METHOD v3_bcons = { | 73 | const 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 | ||
84 | static const ASN1_TEMPLATE BASIC_CONSTRAINTS_seq_tt[] = { | 90 | static 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 | ||
91 | const 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 | ||
92 | const X509V3_EXT_METHOD v3_nscert = | 108 | const X509V3_EXT_METHOD v3_key_usage = { |
93 | EXT_BITSTRING(NID_netscape_cert_type, ns_cert_type_table); | 109 | .ext_nid = NID_key_usage, |
94 | const 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 | ||
97 | STACK_OF(CONF_VALUE) * | 125 | STACK_OF(CONF_VALUE) * |
98 | i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits, | 126 | i2v_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, | |||
83 | static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos); | 83 | static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos); |
84 | 84 | ||
85 | const X509V3_EXT_METHOD v3_cpols = { | 85 | const 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 | ||
95 | static const ASN1_TEMPLATE CERTIFICATEPOLICIES_item_tt = { | 102 | static 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 | ||
73 | const X509V3_EXT_METHOD v3_crld = { | 73 | const 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 | ||
83 | const X509V3_EXT_METHOD v3_freshest_crl = { | 90 | const 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 | ||
93 | static | 107 | static |
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 | ||
78 | const X509V3_EXT_METHOD v3_crl_reason = { | 78 | const 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 | ||
87 | char * | 95 | char * |
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 | ||
71 | const X509V3_EXT_METHOD v3_ext_ku = { | 71 | const 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 */ |
83 | const X509V3_EXT_METHOD v3_ocsp_accresp = { | 89 | const 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 | ||
94 | static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = { | 106 | static 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 | ||
71 | const X509V3_EXT_METHOD v3_ns_ia5_list[] = { | 71 | const 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 | ||
82 | static char * | 202 | static 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 | ||
74 | const X509V3_EXT_METHOD v3_info = { | 74 | const 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 | ||
85 | const X509V3_EXT_METHOD v3_sinfo = { | 91 | const 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 | ||
96 | static const ASN1_TEMPLATE ACCESS_DESCRIPTION_seq_tt[] = { | 108 | static 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 | ||
63 | const X509V3_EXT_METHOD v3_crl_num = { | 63 | const 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 | ||
72 | const X509V3_EXT_METHOD v3_delta_crl = { | 80 | const 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 | ||
81 | static void * | 97 | static 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); | |||
80 | static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base); | 80 | static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base); |
81 | 81 | ||
82 | const X509V3_EXT_METHOD v3_name_constraints = { | 82 | const 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 | ||
92 | static const ASN1_TEMPLATE GENERAL_SUBTREE_seq_tt[] = { | 99 | static 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 | ||
96 | const X509V3_EXT_METHOD v3_ocsp_crlid = { | 96 | const 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 | ||
105 | const X509V3_EXT_METHOD v3_ocsp_acutoff = { | 113 | const 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 | ||
114 | const X509V3_EXT_METHOD v3_crl_invdate = { | 130 | const 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 | ||
123 | const X509V3_EXT_METHOD v3_crl_hold = { | 147 | const 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 | ||
132 | const X509V3_EXT_METHOD v3_ocsp_nonce = { | 164 | const 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 | ||
144 | const X509V3_EXT_METHOD v3_ocsp_nocheck = { | 181 | const 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 | ||
153 | const X509V3_EXT_METHOD v3_ocsp_serviceloc = { | 198 | const 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 | ||
162 | static int | 215 | static 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 | ||
49 | const X509V3_EXT_METHOD v3_pci = { | 49 | const 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 | ||
57 | static int | 66 | static 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 | ||
74 | const X509V3_EXT_METHOD v3_policy_constraints = { | 74 | const 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 | ||
85 | static const ASN1_TEMPLATE POLICY_CONSTRAINTS_seq_tt[] = { | 91 | static 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, | |||
68 | static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); | 68 | static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); |
69 | */ | 69 | */ |
70 | const X509V3_EXT_METHOD v3_pkey_usage_period = { | 70 | const 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 | ||
78 | static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = { | 87 | static 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 | ||
72 | const X509V3_EXT_METHOD v3_policy_mappings = { | 72 | const 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 | ||
83 | static const ASN1_TEMPLATE POLICY_MAPPING_seq_tt[] = { | 89 | static 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 | ||
65 | static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, | 65 | static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, |
66 | X509V3_CTX *ctx, char *str); | 66 | X509V3_CTX *ctx, char *str); |
67 | |||
67 | const X509V3_EXT_METHOD v3_skey_id = { | 68 | const 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 | ||
76 | char * | 85 | char * |
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, | |||
75 | static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | 75 | static 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 | |||
78 | const X509V3_EXT_METHOD v3_sxnet = { | 79 | const 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 | ||
93 | static const ASN1_TEMPLATE SXNETID_seq_tt[] = { | 100 | static 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 | ||
73 | const X509V3_EXT_METHOD v3_akey_id = { | 73 | const 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 | ||
84 | static | 90 | static |
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 | ||
75 | const X509V3_EXT_METHOD v3_alt[] = { | 75 | const 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 | ||
73 | const X509V3_EXT_METHOD v3_bcons = { | 73 | const 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 | ||
84 | static const ASN1_TEMPLATE BASIC_CONSTRAINTS_seq_tt[] = { | 90 | static 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 | ||
91 | const 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 | ||
92 | const X509V3_EXT_METHOD v3_nscert = | 108 | const X509V3_EXT_METHOD v3_key_usage = { |
93 | EXT_BITSTRING(NID_netscape_cert_type, ns_cert_type_table); | 109 | .ext_nid = NID_key_usage, |
94 | const 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 | ||
97 | STACK_OF(CONF_VALUE) * | 125 | STACK_OF(CONF_VALUE) * |
98 | i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, ASN1_BIT_STRING *bits, | 126 | i2v_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, | |||
83 | static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos); | 83 | static int nref_nos(STACK_OF(ASN1_INTEGER) *nnums, STACK_OF(CONF_VALUE) *nos); |
84 | 84 | ||
85 | const X509V3_EXT_METHOD v3_cpols = { | 85 | const 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 | ||
95 | static const ASN1_TEMPLATE CERTIFICATEPOLICIES_item_tt = { | 102 | static 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 | ||
73 | const X509V3_EXT_METHOD v3_crld = { | 73 | const 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 | ||
83 | const X509V3_EXT_METHOD v3_freshest_crl = { | 90 | const 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 | ||
93 | static | 107 | static |
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 | ||
78 | const X509V3_EXT_METHOD v3_crl_reason = { | 78 | const 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 | ||
87 | char * | 95 | char * |
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 | ||
71 | const X509V3_EXT_METHOD v3_ext_ku = { | 71 | const 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 */ |
83 | const X509V3_EXT_METHOD v3_ocsp_accresp = { | 89 | const 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 | ||
94 | static const ASN1_TEMPLATE EXTENDED_KEY_USAGE_item_tt = { | 106 | static 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 | ||
71 | const X509V3_EXT_METHOD v3_ns_ia5_list[] = { | 71 | const 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 | ||
82 | static char * | 202 | static 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 | ||
74 | const X509V3_EXT_METHOD v3_info = { | 74 | const 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 | ||
85 | const X509V3_EXT_METHOD v3_sinfo = { | 91 | const 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 | ||
96 | static const ASN1_TEMPLATE ACCESS_DESCRIPTION_seq_tt[] = { | 108 | static 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 | ||
63 | const X509V3_EXT_METHOD v3_crl_num = { | 63 | const 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 | ||
72 | const X509V3_EXT_METHOD v3_delta_crl = { | 80 | const 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 | ||
81 | static void * | 97 | static 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); | |||
80 | static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base); | 80 | static int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base); |
81 | 81 | ||
82 | const X509V3_EXT_METHOD v3_name_constraints = { | 82 | const 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 | ||
92 | static const ASN1_TEMPLATE GENERAL_SUBTREE_seq_tt[] = { | 99 | static 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 | ||
96 | const X509V3_EXT_METHOD v3_ocsp_crlid = { | 96 | const 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 | ||
105 | const X509V3_EXT_METHOD v3_ocsp_acutoff = { | 113 | const 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 | ||
114 | const X509V3_EXT_METHOD v3_crl_invdate = { | 130 | const 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 | ||
123 | const X509V3_EXT_METHOD v3_crl_hold = { | 147 | const 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 | ||
132 | const X509V3_EXT_METHOD v3_ocsp_nonce = { | 164 | const 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 | ||
144 | const X509V3_EXT_METHOD v3_ocsp_nocheck = { | 181 | const 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 | ||
153 | const X509V3_EXT_METHOD v3_ocsp_serviceloc = { | 198 | const 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 | ||
162 | static int | 215 | static 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 | ||
49 | const X509V3_EXT_METHOD v3_pci = { | 49 | const 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 | ||
57 | static int | 66 | static 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 | ||
74 | const X509V3_EXT_METHOD v3_policy_constraints = { | 74 | const 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 | ||
85 | static const ASN1_TEMPLATE POLICY_CONSTRAINTS_seq_tt[] = { | 91 | static 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, | |||
68 | static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); | 68 | static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values); |
69 | */ | 69 | */ |
70 | const X509V3_EXT_METHOD v3_pkey_usage_period = { | 70 | const 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 | ||
78 | static const ASN1_TEMPLATE PKEY_USAGE_PERIOD_seq_tt[] = { | 87 | static 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 | ||
72 | const X509V3_EXT_METHOD v3_policy_mappings = { | 72 | const 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 | ||
83 | static const ASN1_TEMPLATE POLICY_MAPPING_seq_tt[] = { | 89 | static 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 | ||
65 | static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, | 65 | static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, |
66 | X509V3_CTX *ctx, char *str); | 66 | X509V3_CTX *ctx, char *str); |
67 | |||
67 | const X509V3_EXT_METHOD v3_skey_id = { | 68 | const 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 | ||
76 | char * | 85 | char * |
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, | |||
75 | static SXNET * sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | 75 | static 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 | |||
78 | const X509V3_EXT_METHOD v3_sxnet = { | 79 | const 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 | ||
93 | static const ASN1_TEMPLATE SXNETID_seq_tt[] = { | 100 | static const ASN1_TEMPLATE SXNETID_seq_tt[] = { |