diff options
38 files changed, 2088 insertions, 120 deletions
diff --git a/src/lib/libcrypto/asn1/a_time.c b/src/lib/libcrypto/asn1/a_time.c index c5e882a4f6..95481fc4c6 100644 --- a/src/lib/libcrypto/asn1/a_time.c +++ b/src/lib/libcrypto/asn1/a_time.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: a_time.c,v 1.22 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: a_time.c,v 1.23 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -71,7 +71,31 @@ | |||
| 71 | 71 | ||
| 72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) | 72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME) | 74 | |
| 75 | ASN1_TIME * | ||
| 76 | d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (ASN1_TIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &ASN1_TIME_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_TIME_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | ASN1_TIME * | ||
| 89 | ASN1_TIME_new(void) | ||
| 90 | { | ||
| 91 | return (ASN1_TIME *)ASN1_item_new(&ASN1_TIME_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | ASN1_TIME_free(ASN1_TIME *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_TIME_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | ASN1_TIME * | 100 | ASN1_TIME * |
| 77 | ASN1_TIME_set(ASN1_TIME *s, time_t t) | 101 | ASN1_TIME_set(ASN1_TIME *s, time_t t) |
diff --git a/src/lib/libcrypto/asn1/nsseq.c b/src/lib/libcrypto/asn1/nsseq.c index 97af462dc0..ceab3992fd 100644 --- a/src/lib/libcrypto/asn1/nsseq.c +++ b/src/lib/libcrypto/asn1/nsseq.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: nsseq.c,v 1.7 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: nsseq.c,v 1.8 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999. | 3 | * project 1999. |
| 4 | */ | 4 | */ |
| @@ -80,4 +80,28 @@ ASN1_SEQUENCE_cb(NETSCAPE_CERT_SEQUENCE, nsseq_cb) = { | |||
| 80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) | 80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) |
| 81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) | 81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) |
| 82 | 82 | ||
| 83 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) | 83 | |
| 84 | NETSCAPE_CERT_SEQUENCE * | ||
| 85 | d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a, const unsigned char **in, long len) | ||
| 86 | { | ||
| 87 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 88 | &NETSCAPE_CERT_SEQUENCE_it); | ||
| 89 | } | ||
| 90 | |||
| 91 | int | ||
| 92 | i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a, unsigned char **out) | ||
| 93 | { | ||
| 94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_CERT_SEQUENCE_it); | ||
| 95 | } | ||
| 96 | |||
| 97 | NETSCAPE_CERT_SEQUENCE * | ||
| 98 | NETSCAPE_CERT_SEQUENCE_new(void) | ||
| 99 | { | ||
| 100 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_new(&NETSCAPE_CERT_SEQUENCE_it); | ||
| 101 | } | ||
| 102 | |||
| 103 | void | ||
| 104 | NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a) | ||
| 105 | { | ||
| 106 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_CERT_SEQUENCE_it); | ||
| 107 | } | ||
diff --git a/src/lib/libcrypto/asn1/p5_pbe.c b/src/lib/libcrypto/asn1/p5_pbe.c index 44fbb648be..7491a5bdc7 100644 --- a/src/lib/libcrypto/asn1/p5_pbe.c +++ b/src/lib/libcrypto/asn1/p5_pbe.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p5_pbe.c,v 1.17 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbe.c,v 1.18 2015/02/09 15:05:59 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,7 +71,31 @@ ASN1_SEQUENCE(PBEPARAM) = { | |||
| 71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) | 71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) |
| 72 | } ASN1_SEQUENCE_END(PBEPARAM) | 72 | } ASN1_SEQUENCE_END(PBEPARAM) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(PBEPARAM) | 74 | |
| 75 | PBEPARAM * | ||
| 76 | d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &PBEPARAM_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | PBEPARAM * | ||
| 89 | PBEPARAM_new(void) | ||
| 90 | { | ||
| 91 | return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | PBEPARAM_free(PBEPARAM *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | 100 | ||
| 77 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ | 101 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ |
diff --git a/src/lib/libcrypto/asn1/p5_pbev2.c b/src/lib/libcrypto/asn1/p5_pbev2.c index 0947965219..1189e7e26b 100644 --- a/src/lib/libcrypto/asn1/p5_pbev2.c +++ b/src/lib/libcrypto/asn1/p5_pbev2.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p5_pbev2.c,v 1.18 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbev2.c,v 1.19 2015/02/09 15:05:59 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-2004. | 3 | * project 1999-2004. |
| 4 | */ | 4 | */ |
| @@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBE2PARAM) = { | |||
| 71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) | 71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) |
| 72 | } ASN1_SEQUENCE_END(PBE2PARAM) | 72 | } ASN1_SEQUENCE_END(PBE2PARAM) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(PBE2PARAM) | 74 | |
| 75 | PBE2PARAM * | ||
| 76 | d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &PBE2PARAM_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | PBE2PARAM * | ||
| 89 | PBE2PARAM_new(void) | ||
| 90 | { | ||
| 91 | return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | PBE2PARAM_free(PBE2PARAM *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | ASN1_SEQUENCE(PBKDF2PARAM) = { | 100 | ASN1_SEQUENCE(PBKDF2PARAM) = { |
| 77 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), | 101 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), |
| @@ -80,7 +104,31 @@ ASN1_SEQUENCE(PBKDF2PARAM) = { | |||
| 80 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) | 104 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) |
| 81 | } ASN1_SEQUENCE_END(PBKDF2PARAM) | 105 | } ASN1_SEQUENCE_END(PBKDF2PARAM) |
| 82 | 106 | ||
| 83 | IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM) | 107 | |
| 108 | PBKDF2PARAM * | ||
| 109 | d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len) | ||
| 110 | { | ||
| 111 | return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 112 | &PBKDF2PARAM_it); | ||
| 113 | } | ||
| 114 | |||
| 115 | int | ||
| 116 | i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) | ||
| 117 | { | ||
| 118 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it); | ||
| 119 | } | ||
| 120 | |||
| 121 | PBKDF2PARAM * | ||
| 122 | PBKDF2PARAM_new(void) | ||
| 123 | { | ||
| 124 | return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it); | ||
| 125 | } | ||
| 126 | |||
| 127 | void | ||
| 128 | PBKDF2PARAM_free(PBKDF2PARAM *a) | ||
| 129 | { | ||
| 130 | ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it); | ||
| 131 | } | ||
| 84 | 132 | ||
| 85 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: | 133 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: |
| 86 | * yes I know this is horrible! | 134 | * yes I know this is horrible! |
diff --git a/src/lib/libcrypto/asn1/p8_pkey.c b/src/lib/libcrypto/asn1/p8_pkey.c index 3aacecb8fb..f8688ebc17 100644 --- a/src/lib/libcrypto/asn1/p8_pkey.c +++ b/src/lib/libcrypto/asn1/p8_pkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p8_pkey.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: p8_pkey.c,v 1.13 2015/02/09 15:05:59 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 | */ |
| @@ -82,7 +82,31 @@ ASN1_SEQUENCE_cb(PKCS8_PRIV_KEY_INFO, pkey_cb) = { | |||
| 82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) | 82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) |
| 83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) | 83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) |
| 84 | 84 | ||
| 85 | IMPLEMENT_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) | 85 | |
| 86 | PKCS8_PRIV_KEY_INFO * | ||
| 87 | d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len) | ||
| 88 | { | ||
| 89 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 90 | &PKCS8_PRIV_KEY_INFO_it); | ||
| 91 | } | ||
| 92 | |||
| 93 | int | ||
| 94 | i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out) | ||
| 95 | { | ||
| 96 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it); | ||
| 97 | } | ||
| 98 | |||
| 99 | PKCS8_PRIV_KEY_INFO * | ||
| 100 | PKCS8_PRIV_KEY_INFO_new(void) | ||
| 101 | { | ||
| 102 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it); | ||
| 103 | } | ||
| 104 | |||
| 105 | void | ||
| 106 | PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a) | ||
| 107 | { | ||
| 108 | ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it); | ||
| 109 | } | ||
| 86 | 110 | ||
| 87 | int | 111 | int |
| 88 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, | 112 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, |
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 04d9c84180..2f44b4229b 100644 --- a/src/lib/libcrypto/asn1/tasn_typ.c +++ b/src/lib/libcrypto/asn1/tasn_typ.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tasn_typ.c,v 1.6 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -63,51 +63,411 @@ | |||
| 63 | 63 | ||
| 64 | 64 | ||
| 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) | 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) |
| 66 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER) | 66 | |
| 67 | ASN1_INTEGER * | ||
| 68 | d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) | ||
| 69 | { | ||
| 70 | return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 71 | &ASN1_INTEGER_it); | ||
| 72 | } | ||
| 73 | |||
| 74 | int | ||
| 75 | i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out) | ||
| 76 | { | ||
| 77 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it); | ||
| 78 | } | ||
| 79 | |||
| 80 | ASN1_INTEGER * | ||
| 81 | ASN1_INTEGER_new(void) | ||
| 82 | { | ||
| 83 | return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it); | ||
| 84 | } | ||
| 85 | |||
| 86 | void | ||
| 87 | ASN1_INTEGER_free(ASN1_INTEGER *a) | ||
| 88 | { | ||
| 89 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); | ||
| 90 | } | ||
| 67 | 91 | ||
| 68 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) | 92 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) |
| 69 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED) | 93 | |
| 94 | ASN1_ENUMERATED * | ||
| 95 | d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) | ||
| 96 | { | ||
| 97 | return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 98 | &ASN1_ENUMERATED_it); | ||
| 99 | } | ||
| 100 | |||
| 101 | int | ||
| 102 | i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out) | ||
| 103 | { | ||
| 104 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it); | ||
| 105 | } | ||
| 106 | |||
| 107 | ASN1_ENUMERATED * | ||
| 108 | ASN1_ENUMERATED_new(void) | ||
| 109 | { | ||
| 110 | return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it); | ||
| 111 | } | ||
| 112 | |||
| 113 | void | ||
| 114 | ASN1_ENUMERATED_free(ASN1_ENUMERATED *a) | ||
| 115 | { | ||
| 116 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); | ||
| 117 | } | ||
| 70 | 118 | ||
| 71 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) | 119 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) |
| 72 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING) | 120 | |
| 121 | ASN1_BIT_STRING * | ||
| 122 | d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) | ||
| 123 | { | ||
| 124 | return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 125 | &ASN1_BIT_STRING_it); | ||
| 126 | } | ||
| 127 | |||
| 128 | int | ||
| 129 | i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out) | ||
| 130 | { | ||
| 131 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it); | ||
| 132 | } | ||
| 133 | |||
| 134 | ASN1_BIT_STRING * | ||
| 135 | ASN1_BIT_STRING_new(void) | ||
| 136 | { | ||
| 137 | return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it); | ||
| 138 | } | ||
| 139 | |||
| 140 | void | ||
| 141 | ASN1_BIT_STRING_free(ASN1_BIT_STRING *a) | ||
| 142 | { | ||
| 143 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); | ||
| 144 | } | ||
| 73 | 145 | ||
| 74 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) | 146 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) |
| 75 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING) | 147 | |
| 148 | ASN1_OCTET_STRING * | ||
| 149 | d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) | ||
| 150 | { | ||
| 151 | return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 152 | &ASN1_OCTET_STRING_it); | ||
| 153 | } | ||
| 154 | |||
| 155 | int | ||
| 156 | i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out) | ||
| 157 | { | ||
| 158 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it); | ||
| 159 | } | ||
| 160 | |||
| 161 | ASN1_OCTET_STRING * | ||
| 162 | ASN1_OCTET_STRING_new(void) | ||
| 163 | { | ||
| 164 | return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it); | ||
| 165 | } | ||
| 166 | |||
| 167 | void | ||
| 168 | ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a) | ||
| 169 | { | ||
| 170 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); | ||
| 171 | } | ||
| 76 | 172 | ||
| 77 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) | 173 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) |
| 78 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL) | 174 | |
| 175 | ASN1_NULL * | ||
| 176 | d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len) | ||
| 177 | { | ||
| 178 | return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 179 | &ASN1_NULL_it); | ||
| 180 | } | ||
| 181 | |||
| 182 | int | ||
| 183 | i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out) | ||
| 184 | { | ||
| 185 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it); | ||
| 186 | } | ||
| 187 | |||
| 188 | ASN1_NULL * | ||
| 189 | ASN1_NULL_new(void) | ||
| 190 | { | ||
| 191 | return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it); | ||
| 192 | } | ||
| 193 | |||
| 194 | void | ||
| 195 | ASN1_NULL_free(ASN1_NULL *a) | ||
| 196 | { | ||
| 197 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); | ||
| 198 | } | ||
| 79 | 199 | ||
| 80 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) | 200 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) |
| 81 | 201 | ||
| 82 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) | 202 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) |
| 83 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING) | 203 | |
| 204 | ASN1_UTF8STRING * | ||
| 205 | d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len) | ||
| 206 | { | ||
| 207 | return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 208 | &ASN1_UTF8STRING_it); | ||
| 209 | } | ||
| 210 | |||
| 211 | int | ||
| 212 | i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out) | ||
| 213 | { | ||
| 214 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it); | ||
| 215 | } | ||
| 216 | |||
| 217 | ASN1_UTF8STRING * | ||
| 218 | ASN1_UTF8STRING_new(void) | ||
| 219 | { | ||
| 220 | return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it); | ||
| 221 | } | ||
| 222 | |||
| 223 | void | ||
| 224 | ASN1_UTF8STRING_free(ASN1_UTF8STRING *a) | ||
| 225 | { | ||
| 226 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); | ||
| 227 | } | ||
| 84 | 228 | ||
| 85 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) | 229 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) |
| 86 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) | 230 | |
| 231 | ASN1_PRINTABLESTRING * | ||
| 232 | d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len) | ||
| 233 | { | ||
| 234 | return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 235 | &ASN1_PRINTABLESTRING_it); | ||
| 236 | } | ||
| 237 | |||
| 238 | int | ||
| 239 | i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out) | ||
| 240 | { | ||
| 241 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it); | ||
| 242 | } | ||
| 243 | |||
| 244 | ASN1_PRINTABLESTRING * | ||
| 245 | ASN1_PRINTABLESTRING_new(void) | ||
| 246 | { | ||
| 247 | return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it); | ||
| 248 | } | ||
| 249 | |||
| 250 | void | ||
| 251 | ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a) | ||
| 252 | { | ||
| 253 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); | ||
| 254 | } | ||
| 87 | 255 | ||
| 88 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) | 256 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) |
| 89 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING) | 257 | |
| 258 | ASN1_T61STRING * | ||
| 259 | d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len) | ||
| 260 | { | ||
| 261 | return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 262 | &ASN1_T61STRING_it); | ||
| 263 | } | ||
| 264 | |||
| 265 | int | ||
| 266 | i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out) | ||
| 267 | { | ||
| 268 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it); | ||
| 269 | } | ||
| 270 | |||
| 271 | ASN1_T61STRING * | ||
| 272 | ASN1_T61STRING_new(void) | ||
| 273 | { | ||
| 274 | return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it); | ||
| 275 | } | ||
| 276 | |||
| 277 | void | ||
| 278 | ASN1_T61STRING_free(ASN1_T61STRING *a) | ||
| 279 | { | ||
| 280 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); | ||
| 281 | } | ||
| 90 | 282 | ||
| 91 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) | 283 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) |
| 92 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING) | 284 | |
| 285 | ASN1_IA5STRING * | ||
| 286 | d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len) | ||
| 287 | { | ||
| 288 | return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 289 | &ASN1_IA5STRING_it); | ||
| 290 | } | ||
| 291 | |||
| 292 | int | ||
| 293 | i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out) | ||
| 294 | { | ||
| 295 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it); | ||
| 296 | } | ||
| 297 | |||
| 298 | ASN1_IA5STRING * | ||
| 299 | ASN1_IA5STRING_new(void) | ||
| 300 | { | ||
| 301 | return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it); | ||
| 302 | } | ||
| 303 | |||
| 304 | void | ||
| 305 | ASN1_IA5STRING_free(ASN1_IA5STRING *a) | ||
| 306 | { | ||
| 307 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); | ||
| 308 | } | ||
| 93 | 309 | ||
| 94 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) | 310 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) |
| 95 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING) | 311 | |
| 312 | ASN1_GENERALSTRING * | ||
| 313 | d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len) | ||
| 314 | { | ||
| 315 | return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 316 | &ASN1_GENERALSTRING_it); | ||
| 317 | } | ||
| 318 | |||
| 319 | int | ||
| 320 | i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out) | ||
| 321 | { | ||
| 322 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it); | ||
| 323 | } | ||
| 324 | |||
| 325 | ASN1_GENERALSTRING * | ||
| 326 | ASN1_GENERALSTRING_new(void) | ||
| 327 | { | ||
| 328 | return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it); | ||
| 329 | } | ||
| 330 | |||
| 331 | void | ||
| 332 | ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a) | ||
| 333 | { | ||
| 334 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); | ||
| 335 | } | ||
| 96 | 336 | ||
| 97 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) | 337 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) |
| 98 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME) | 338 | |
| 339 | ASN1_UTCTIME * | ||
| 340 | d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len) | ||
| 341 | { | ||
| 342 | return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 343 | &ASN1_UTCTIME_it); | ||
| 344 | } | ||
| 345 | |||
| 346 | int | ||
| 347 | i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out) | ||
| 348 | { | ||
| 349 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it); | ||
| 350 | } | ||
| 351 | |||
| 352 | ASN1_UTCTIME * | ||
| 353 | ASN1_UTCTIME_new(void) | ||
| 354 | { | ||
| 355 | return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it); | ||
| 356 | } | ||
| 357 | |||
| 358 | void | ||
| 359 | ASN1_UTCTIME_free(ASN1_UTCTIME *a) | ||
| 360 | { | ||
| 361 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); | ||
| 362 | } | ||
| 99 | 363 | ||
| 100 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) | 364 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) |
| 101 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) | 365 | |
| 366 | ASN1_GENERALIZEDTIME * | ||
| 367 | d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len) | ||
| 368 | { | ||
| 369 | return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 370 | &ASN1_GENERALIZEDTIME_it); | ||
| 371 | } | ||
| 372 | |||
| 373 | int | ||
| 374 | i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out) | ||
| 375 | { | ||
| 376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it); | ||
| 377 | } | ||
| 378 | |||
| 379 | ASN1_GENERALIZEDTIME * | ||
| 380 | ASN1_GENERALIZEDTIME_new(void) | ||
| 381 | { | ||
| 382 | return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it); | ||
| 383 | } | ||
| 384 | |||
| 385 | void | ||
| 386 | ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a) | ||
| 387 | { | ||
| 388 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); | ||
| 389 | } | ||
| 102 | 390 | ||
| 103 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) | 391 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) |
| 104 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) | 392 | |
| 393 | ASN1_VISIBLESTRING * | ||
| 394 | d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len) | ||
| 395 | { | ||
| 396 | return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 397 | &ASN1_VISIBLESTRING_it); | ||
| 398 | } | ||
| 399 | |||
| 400 | int | ||
| 401 | i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out) | ||
| 402 | { | ||
| 403 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it); | ||
| 404 | } | ||
| 405 | |||
| 406 | ASN1_VISIBLESTRING * | ||
| 407 | ASN1_VISIBLESTRING_new(void) | ||
| 408 | { | ||
| 409 | return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it); | ||
| 410 | } | ||
| 411 | |||
| 412 | void | ||
| 413 | ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a) | ||
| 414 | { | ||
| 415 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); | ||
| 416 | } | ||
| 105 | 417 | ||
| 106 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) | 418 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) |
| 107 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) | 419 | |
| 420 | ASN1_UNIVERSALSTRING * | ||
| 421 | d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len) | ||
| 422 | { | ||
| 423 | return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 424 | &ASN1_UNIVERSALSTRING_it); | ||
| 425 | } | ||
| 426 | |||
| 427 | int | ||
| 428 | i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out) | ||
| 429 | { | ||
| 430 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it); | ||
| 431 | } | ||
| 432 | |||
| 433 | ASN1_UNIVERSALSTRING * | ||
| 434 | ASN1_UNIVERSALSTRING_new(void) | ||
| 435 | { | ||
| 436 | return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it); | ||
| 437 | } | ||
| 438 | |||
| 439 | void | ||
| 440 | ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a) | ||
| 441 | { | ||
| 442 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); | ||
| 443 | } | ||
| 108 | 444 | ||
| 109 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) | 445 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) |
| 110 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING) | 446 | |
| 447 | ASN1_BMPSTRING * | ||
| 448 | d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len) | ||
| 449 | { | ||
| 450 | return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 451 | &ASN1_BMPSTRING_it); | ||
| 452 | } | ||
| 453 | |||
| 454 | int | ||
| 455 | i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out) | ||
| 456 | { | ||
| 457 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it); | ||
| 458 | } | ||
| 459 | |||
| 460 | ASN1_BMPSTRING * | ||
| 461 | ASN1_BMPSTRING_new(void) | ||
| 462 | { | ||
| 463 | return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it); | ||
| 464 | } | ||
| 465 | |||
| 466 | void | ||
| 467 | ASN1_BMPSTRING_free(ASN1_BMPSTRING *a) | ||
| 468 | { | ||
| 469 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); | ||
| 470 | } | ||
| 111 | 471 | ||
| 112 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) | 472 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) |
| 113 | 473 | ||
diff --git a/src/lib/libcrypto/asn1/x_algor.c b/src/lib/libcrypto/asn1/x_algor.c index 71aeaaade0..7d264f9fd3 100644 --- a/src/lib/libcrypto/asn1/x_algor.c +++ b/src/lib/libcrypto/asn1/x_algor.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_algor.c,v 1.13 2015/01/28 04:14:31 beck Exp $ */ | 1 | /* $OpenBSD: x_algor.c,v 1.14 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -70,7 +70,31 @@ ASN1_ITEM_TEMPLATE(X509_ALGORS) = | |||
| 70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) | 70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) |
| 71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) | 71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) |
| 72 | 72 | ||
| 73 | IMPLEMENT_ASN1_FUNCTIONS(X509_ALGOR) | 73 | |
| 74 | X509_ALGOR * | ||
| 75 | d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len) | ||
| 76 | { | ||
| 77 | return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 78 | &X509_ALGOR_it); | ||
| 79 | } | ||
| 80 | |||
| 81 | int | ||
| 82 | i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out) | ||
| 83 | { | ||
| 84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it); | ||
| 85 | } | ||
| 86 | |||
| 87 | X509_ALGOR * | ||
| 88 | X509_ALGOR_new(void) | ||
| 89 | { | ||
| 90 | return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it); | ||
| 91 | } | ||
| 92 | |||
| 93 | void | ||
| 94 | X509_ALGOR_free(X509_ALGOR *a) | ||
| 95 | { | ||
| 96 | ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); | ||
| 97 | } | ||
| 74 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) | 98 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) |
| 75 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) | 99 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) |
| 76 | 100 | ||
diff --git a/src/lib/libcrypto/asn1/x_attrib.c b/src/lib/libcrypto/asn1/x_attrib.c index 1efbb98bbd..aafd5dd485 100644 --- a/src/lib/libcrypto/asn1/x_attrib.c +++ b/src/lib/libcrypto/asn1/x_attrib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_attrib.c,v 1.9 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_attrib.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -93,7 +93,31 @@ ASN1_SEQUENCE(X509_ATTRIBUTE) = { | |||
| 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) | 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) |
| 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) | 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) |
| 95 | 95 | ||
| 96 | IMPLEMENT_ASN1_FUNCTIONS(X509_ATTRIBUTE) | 96 | |
| 97 | X509_ATTRIBUTE * | ||
| 98 | d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len) | ||
| 99 | { | ||
| 100 | return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 101 | &X509_ATTRIBUTE_it); | ||
| 102 | } | ||
| 103 | |||
| 104 | int | ||
| 105 | i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out) | ||
| 106 | { | ||
| 107 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it); | ||
| 108 | } | ||
| 109 | |||
| 110 | X509_ATTRIBUTE * | ||
| 111 | X509_ATTRIBUTE_new(void) | ||
| 112 | { | ||
| 113 | return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it); | ||
| 114 | } | ||
| 115 | |||
| 116 | void | ||
| 117 | X509_ATTRIBUTE_free(X509_ATTRIBUTE *a) | ||
| 118 | { | ||
| 119 | ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); | ||
| 120 | } | ||
| 97 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) | 121 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) |
| 98 | 122 | ||
| 99 | X509_ATTRIBUTE * | 123 | X509_ATTRIBUTE * |
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c index bdec50dc80..2539fd92c4 100644 --- a/src/lib/libcrypto/asn1/x_crl.c +++ b/src/lib/libcrypto/asn1/x_crl.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_crl.c,v 1.18 2014/07/11 13:54:41 miod Exp $ */ | 1 | /* $OpenBSD: x_crl.c,v 1.19 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -337,9 +337,81 @@ ASN1_SEQUENCE_ref(X509_CRL, crl_cb, CRYPTO_LOCK_X509_CRL) = { | |||
| 337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) | 337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) |
| 338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) | 338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) |
| 339 | 339 | ||
| 340 | IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED) | 340 | |
| 341 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL_INFO) | 341 | X509_REVOKED * |
| 342 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL) | 342 | d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len) |
| 343 | { | ||
| 344 | return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 345 | &X509_REVOKED_it); | ||
| 346 | } | ||
| 347 | |||
| 348 | int | ||
| 349 | i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out) | ||
| 350 | { | ||
| 351 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it); | ||
| 352 | } | ||
| 353 | |||
| 354 | X509_REVOKED * | ||
| 355 | X509_REVOKED_new(void) | ||
| 356 | { | ||
| 357 | return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it); | ||
| 358 | } | ||
| 359 | |||
| 360 | void | ||
| 361 | X509_REVOKED_free(X509_REVOKED *a) | ||
| 362 | { | ||
| 363 | ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it); | ||
| 364 | } | ||
| 365 | |||
| 366 | X509_CRL_INFO * | ||
| 367 | d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len) | ||
| 368 | { | ||
| 369 | return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 370 | &X509_CRL_INFO_it); | ||
| 371 | } | ||
| 372 | |||
| 373 | int | ||
| 374 | i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out) | ||
| 375 | { | ||
| 376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it); | ||
| 377 | } | ||
| 378 | |||
| 379 | X509_CRL_INFO * | ||
| 380 | X509_CRL_INFO_new(void) | ||
| 381 | { | ||
| 382 | return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it); | ||
| 383 | } | ||
| 384 | |||
| 385 | void | ||
| 386 | X509_CRL_INFO_free(X509_CRL_INFO *a) | ||
| 387 | { | ||
| 388 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it); | ||
| 389 | } | ||
| 390 | |||
| 391 | X509_CRL * | ||
| 392 | d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len) | ||
| 393 | { | ||
| 394 | return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 395 | &X509_CRL_it); | ||
| 396 | } | ||
| 397 | |||
| 398 | int | ||
| 399 | i2d_X509_CRL(X509_CRL *a, unsigned char **out) | ||
| 400 | { | ||
| 401 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it); | ||
| 402 | } | ||
| 403 | |||
| 404 | X509_CRL * | ||
| 405 | X509_CRL_new(void) | ||
| 406 | { | ||
| 407 | return (X509_CRL *)ASN1_item_new(&X509_CRL_it); | ||
| 408 | } | ||
| 409 | |||
| 410 | void | ||
| 411 | X509_CRL_free(X509_CRL *a) | ||
| 412 | { | ||
| 413 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); | ||
| 414 | } | ||
| 343 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) | 415 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) |
| 344 | 416 | ||
| 345 | static int | 417 | static int |
diff --git a/src/lib/libcrypto/asn1/x_exten.c b/src/lib/libcrypto/asn1/x_exten.c index a3fa88498b..40c521ec80 100644 --- a/src/lib/libcrypto/asn1/x_exten.c +++ b/src/lib/libcrypto/asn1/x_exten.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_exten.c,v 1.9 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_exten.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -71,6 +71,30 @@ ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) = | |||
| 71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) | 71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) |
| 72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) | 72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(X509_EXTENSION) | 74 | |
| 75 | X509_EXTENSION * | ||
| 76 | d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &X509_EXTENSION_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | X509_EXTENSION * | ||
| 89 | X509_EXTENSION_new(void) | ||
| 90 | { | ||
| 91 | return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | X509_EXTENSION_free(X509_EXTENSION *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); | ||
| 98 | } | ||
| 75 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) | 99 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) |
| 76 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) | 100 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) |
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c index 7c77ceea3b..a7f0e14d13 100644 --- a/src/lib/libcrypto/asn1/x_name.c +++ b/src/lib/libcrypto/asn1/x_name.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_name.c,v 1.20 2014/07/12 11:25:25 miod Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.21 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -92,7 +92,31 @@ ASN1_SEQUENCE(X509_NAME_ENTRY) = { | |||
| 92 | ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE) | 92 | ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE) |
| 93 | } ASN1_SEQUENCE_END(X509_NAME_ENTRY) | 93 | } ASN1_SEQUENCE_END(X509_NAME_ENTRY) |
| 94 | 94 | ||
| 95 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME_ENTRY) | 95 | |
| 96 | X509_NAME_ENTRY * | ||
| 97 | d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len) | ||
| 98 | { | ||
| 99 | return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 100 | &X509_NAME_ENTRY_it); | ||
| 101 | } | ||
| 102 | |||
| 103 | int | ||
| 104 | i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out) | ||
| 105 | { | ||
| 106 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it); | ||
| 107 | } | ||
| 108 | |||
| 109 | X509_NAME_ENTRY * | ||
| 110 | X509_NAME_ENTRY_new(void) | ||
| 111 | { | ||
| 112 | return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it); | ||
| 113 | } | ||
| 114 | |||
| 115 | void | ||
| 116 | X509_NAME_ENTRY_free(X509_NAME_ENTRY *a) | ||
| 117 | { | ||
| 118 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); | ||
| 119 | } | ||
| 96 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) | 120 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) |
| 97 | 121 | ||
| 98 | /* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } | 122 | /* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } |
| @@ -125,7 +149,31 @@ const ASN1_EXTERN_FUNCS x509_name_ff = { | |||
| 125 | 149 | ||
| 126 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) | 150 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) |
| 127 | 151 | ||
| 128 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME) | 152 | |
| 153 | X509_NAME * | ||
| 154 | d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len) | ||
| 155 | { | ||
| 156 | return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 157 | &X509_NAME_it); | ||
| 158 | } | ||
| 159 | |||
| 160 | int | ||
| 161 | i2d_X509_NAME(X509_NAME *a, unsigned char **out) | ||
| 162 | { | ||
| 163 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it); | ||
| 164 | } | ||
| 165 | |||
| 166 | X509_NAME * | ||
| 167 | X509_NAME_new(void) | ||
| 168 | { | ||
| 169 | return (X509_NAME *)ASN1_item_new(&X509_NAME_it); | ||
| 170 | } | ||
| 171 | |||
| 172 | void | ||
| 173 | X509_NAME_free(X509_NAME *a) | ||
| 174 | { | ||
| 175 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); | ||
| 176 | } | ||
| 129 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) | 177 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) |
| 130 | 178 | ||
| 131 | static int | 179 | static int |
diff --git a/src/lib/libcrypto/asn1/x_nx509.c b/src/lib/libcrypto/asn1/x_nx509.c index eebeb9206f..9738560c19 100644 --- a/src/lib/libcrypto/asn1/x_nx509.c +++ b/src/lib/libcrypto/asn1/x_nx509.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_nx509.c,v 1.3 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_nx509.c,v 1.4 2015/02/09 15:05:59 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 2005. | 3 | * project 2005. |
| 4 | */ | 4 | */ |
| @@ -68,4 +68,28 @@ ASN1_SEQUENCE(NETSCAPE_X509) = { | |||
| 68 | ASN1_OPT(NETSCAPE_X509, cert, X509) | 68 | ASN1_OPT(NETSCAPE_X509, cert, X509) |
| 69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) | 69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) |
| 70 | 70 | ||
| 71 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_X509) | 71 | |
| 72 | NETSCAPE_X509 * | ||
| 73 | d2i_NETSCAPE_X509(NETSCAPE_X509 **a, const unsigned char **in, long len) | ||
| 74 | { | ||
| 75 | return (NETSCAPE_X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 76 | &NETSCAPE_X509_it); | ||
| 77 | } | ||
| 78 | |||
| 79 | int | ||
| 80 | i2d_NETSCAPE_X509(NETSCAPE_X509 *a, unsigned char **out) | ||
| 81 | { | ||
| 82 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_X509_it); | ||
| 83 | } | ||
| 84 | |||
| 85 | NETSCAPE_X509 * | ||
| 86 | NETSCAPE_X509_new(void) | ||
| 87 | { | ||
| 88 | return (NETSCAPE_X509 *)ASN1_item_new(&NETSCAPE_X509_it); | ||
| 89 | } | ||
| 90 | |||
| 91 | void | ||
| 92 | NETSCAPE_X509_free(NETSCAPE_X509 *a) | ||
| 93 | { | ||
| 94 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_X509_it); | ||
| 95 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c index 56cc63059a..0c7d01e60d 100644 --- a/src/lib/libcrypto/asn1/x_pubkey.c +++ b/src/lib/libcrypto/asn1/x_pubkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_pubkey.c,v 1.22 2014/07/12 16:03:36 miod Exp $ */ | 1 | /* $OpenBSD: x_pubkey.c,v 1.23 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -89,7 +89,31 @@ ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { | |||
| 89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) | 89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) |
| 90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) | 90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) |
| 91 | 91 | ||
| 92 | IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) | 92 | |
| 93 | X509_PUBKEY * | ||
| 94 | d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len) | ||
| 95 | { | ||
| 96 | return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 97 | &X509_PUBKEY_it); | ||
| 98 | } | ||
| 99 | |||
| 100 | int | ||
| 101 | i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) | ||
| 102 | { | ||
| 103 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); | ||
| 104 | } | ||
| 105 | |||
| 106 | X509_PUBKEY * | ||
| 107 | X509_PUBKEY_new(void) | ||
| 108 | { | ||
| 109 | return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); | ||
| 110 | } | ||
| 111 | |||
| 112 | void | ||
| 113 | X509_PUBKEY_free(X509_PUBKEY *a) | ||
| 114 | { | ||
| 115 | ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); | ||
| 116 | } | ||
| 93 | 117 | ||
| 94 | int | 118 | int |
| 95 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | 119 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) |
diff --git a/src/lib/libcrypto/asn1/x_req.c b/src/lib/libcrypto/asn1/x_req.c index c876edd7f0..89b2d88d15 100644 --- a/src/lib/libcrypto/asn1/x_req.c +++ b/src/lib/libcrypto/asn1/x_req.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_req.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_req.c,v 1.11 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -102,7 +102,31 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { | |||
| 102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) | 102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) |
| 103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) | 103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) |
| 104 | 104 | ||
| 105 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO) | 105 | |
| 106 | X509_REQ_INFO * | ||
| 107 | d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len) | ||
| 108 | { | ||
| 109 | return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 110 | &X509_REQ_INFO_it); | ||
| 111 | } | ||
| 112 | |||
| 113 | int | ||
| 114 | i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out) | ||
| 115 | { | ||
| 116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it); | ||
| 117 | } | ||
| 118 | |||
| 119 | X509_REQ_INFO * | ||
| 120 | X509_REQ_INFO_new(void) | ||
| 121 | { | ||
| 122 | return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it); | ||
| 123 | } | ||
| 124 | |||
| 125 | void | ||
| 126 | X509_REQ_INFO_free(X509_REQ_INFO *a) | ||
| 127 | { | ||
| 128 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it); | ||
| 129 | } | ||
| 106 | 130 | ||
| 107 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | 131 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { |
| 108 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), | 132 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), |
| @@ -110,5 +134,29 @@ ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | |||
| 110 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) | 134 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) |
| 111 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) | 135 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) |
| 112 | 136 | ||
| 113 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ) | 137 | |
| 138 | X509_REQ * | ||
| 139 | d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len) | ||
| 140 | { | ||
| 141 | return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 142 | &X509_REQ_it); | ||
| 143 | } | ||
| 144 | |||
| 145 | int | ||
| 146 | i2d_X509_REQ(X509_REQ *a, unsigned char **out) | ||
| 147 | { | ||
| 148 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it); | ||
| 149 | } | ||
| 150 | |||
| 151 | X509_REQ * | ||
| 152 | X509_REQ_new(void) | ||
| 153 | { | ||
| 154 | return (X509_REQ *)ASN1_item_new(&X509_REQ_it); | ||
| 155 | } | ||
| 156 | |||
| 157 | void | ||
| 158 | X509_REQ_free(X509_REQ *a) | ||
| 159 | { | ||
| 160 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); | ||
| 161 | } | ||
| 114 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) | 162 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) |
diff --git a/src/lib/libcrypto/asn1/x_sig.c b/src/lib/libcrypto/asn1/x_sig.c index ab4546e3ca..7c4c8c9c55 100644 --- a/src/lib/libcrypto/asn1/x_sig.c +++ b/src/lib/libcrypto/asn1/x_sig.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_sig.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_sig.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_SIG) = { | |||
| 66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) | 66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) |
| 67 | } ASN1_SEQUENCE_END(X509_SIG) | 67 | } ASN1_SEQUENCE_END(X509_SIG) |
| 68 | 68 | ||
| 69 | IMPLEMENT_ASN1_FUNCTIONS(X509_SIG) | 69 | |
| 70 | X509_SIG * | ||
| 71 | d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len) | ||
| 72 | { | ||
| 73 | return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 74 | &X509_SIG_it); | ||
| 75 | } | ||
| 76 | |||
| 77 | int | ||
| 78 | i2d_X509_SIG(X509_SIG *a, unsigned char **out) | ||
| 79 | { | ||
| 80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it); | ||
| 81 | } | ||
| 82 | |||
| 83 | X509_SIG * | ||
| 84 | X509_SIG_new(void) | ||
| 85 | { | ||
| 86 | return (X509_SIG *)ASN1_item_new(&X509_SIG_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | void | ||
| 90 | X509_SIG_free(X509_SIG *a) | ||
| 91 | { | ||
| 92 | ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it); | ||
| 93 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_spki.c b/src/lib/libcrypto/asn1/x_spki.c index 836abb13d8..fc056ff53b 100644 --- a/src/lib/libcrypto/asn1/x_spki.c +++ b/src/lib/libcrypto/asn1/x_spki.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_spki.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_spki.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -70,7 +70,31 @@ ASN1_SEQUENCE(NETSCAPE_SPKAC) = { | |||
| 70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) | 70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) |
| 71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) | 71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) |
| 72 | 72 | ||
| 73 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC) | 73 | |
| 74 | NETSCAPE_SPKAC * | ||
| 75 | d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len) | ||
| 76 | { | ||
| 77 | return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 78 | &NETSCAPE_SPKAC_it); | ||
| 79 | } | ||
| 80 | |||
| 81 | int | ||
| 82 | i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out) | ||
| 83 | { | ||
| 84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it); | ||
| 85 | } | ||
| 86 | |||
| 87 | NETSCAPE_SPKAC * | ||
| 88 | NETSCAPE_SPKAC_new(void) | ||
| 89 | { | ||
| 90 | return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it); | ||
| 91 | } | ||
| 92 | |||
| 93 | void | ||
| 94 | NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a) | ||
| 95 | { | ||
| 96 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); | ||
| 97 | } | ||
| 74 | 98 | ||
| 75 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { | 99 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { |
| 76 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), | 100 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), |
| @@ -78,4 +102,28 @@ ASN1_SEQUENCE(NETSCAPE_SPKI) = { | |||
| 78 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) | 102 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) |
| 79 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) | 103 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) |
| 80 | 104 | ||
| 81 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKI) | 105 | |
| 106 | NETSCAPE_SPKI * | ||
| 107 | d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len) | ||
| 108 | { | ||
| 109 | return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 110 | &NETSCAPE_SPKI_it); | ||
| 111 | } | ||
| 112 | |||
| 113 | int | ||
| 114 | i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out) | ||
| 115 | { | ||
| 116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it); | ||
| 117 | } | ||
| 118 | |||
| 119 | NETSCAPE_SPKI * | ||
| 120 | NETSCAPE_SPKI_new(void) | ||
| 121 | { | ||
| 122 | return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it); | ||
| 123 | } | ||
| 124 | |||
| 125 | void | ||
| 126 | NETSCAPE_SPKI_free(NETSCAPE_SPKI *a) | ||
| 127 | { | ||
| 128 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it); | ||
| 129 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_val.c b/src/lib/libcrypto/asn1/x_val.c index da9d16346b..27835e94da 100644 --- a/src/lib/libcrypto/asn1/x_val.c +++ b/src/lib/libcrypto/asn1/x_val.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_val.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_val.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_VAL) = { | |||
| 66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) | 66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) |
| 67 | } ASN1_SEQUENCE_END(X509_VAL) | 67 | } ASN1_SEQUENCE_END(X509_VAL) |
| 68 | 68 | ||
| 69 | IMPLEMENT_ASN1_FUNCTIONS(X509_VAL) | 69 | |
| 70 | X509_VAL * | ||
| 71 | d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len) | ||
| 72 | { | ||
| 73 | return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 74 | &X509_VAL_it); | ||
| 75 | } | ||
| 76 | |||
| 77 | int | ||
| 78 | i2d_X509_VAL(X509_VAL *a, unsigned char **out) | ||
| 79 | { | ||
| 80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it); | ||
| 81 | } | ||
| 82 | |||
| 83 | X509_VAL * | ||
| 84 | X509_VAL_new(void) | ||
| 85 | { | ||
| 86 | return (X509_VAL *)ASN1_item_new(&X509_VAL_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | void | ||
| 90 | X509_VAL_free(X509_VAL *a) | ||
| 91 | { | ||
| 92 | ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it); | ||
| 93 | } | ||
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c index 0236a0faa2..8fd2d7684b 100644 --- a/src/lib/libcrypto/asn1/x_x509.c +++ b/src/lib/libcrypto/asn1/x_x509.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_x509.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509.c,v 1.18 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -78,7 +78,31 @@ ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = { | |||
| 78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) | 78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) |
| 79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) | 79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) |
| 80 | 80 | ||
| 81 | IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) | 81 | |
| 82 | X509_CINF * | ||
| 83 | d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len) | ||
| 84 | { | ||
| 85 | return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 86 | &X509_CINF_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | int | ||
| 90 | i2d_X509_CINF(X509_CINF *a, unsigned char **out) | ||
| 91 | { | ||
| 92 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it); | ||
| 93 | } | ||
| 94 | |||
| 95 | X509_CINF * | ||
| 96 | X509_CINF_new(void) | ||
| 97 | { | ||
| 98 | return (X509_CINF *)ASN1_item_new(&X509_CINF_it); | ||
| 99 | } | ||
| 100 | |||
| 101 | void | ||
| 102 | X509_CINF_free(X509_CINF *a) | ||
| 103 | { | ||
| 104 | ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it); | ||
| 105 | } | ||
| 82 | /* X509 top level structure needs a bit of customisation */ | 106 | /* X509 top level structure needs a bit of customisation */ |
| 83 | 107 | ||
| 84 | extern void policy_cache_free(X509_POLICY_CACHE *cache); | 108 | extern void policy_cache_free(X509_POLICY_CACHE *cache); |
| @@ -138,7 +162,31 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = { | |||
| 138 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) | 162 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) |
| 139 | } ASN1_SEQUENCE_END_ref(X509, X509) | 163 | } ASN1_SEQUENCE_END_ref(X509, X509) |
| 140 | 164 | ||
| 141 | IMPLEMENT_ASN1_FUNCTIONS(X509) | 165 | |
| 166 | X509 * | ||
| 167 | d2i_X509(X509 **a, const unsigned char **in, long len) | ||
| 168 | { | ||
| 169 | return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 170 | &X509_it); | ||
| 171 | } | ||
| 172 | |||
| 173 | int | ||
| 174 | i2d_X509(X509 *a, unsigned char **out) | ||
| 175 | { | ||
| 176 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it); | ||
| 177 | } | ||
| 178 | |||
| 179 | X509 * | ||
| 180 | X509_new(void) | ||
| 181 | { | ||
| 182 | return (X509 *)ASN1_item_new(&X509_it); | ||
| 183 | } | ||
| 184 | |||
| 185 | void | ||
| 186 | X509_free(X509 *a) | ||
| 187 | { | ||
| 188 | ASN1_item_free((ASN1_VALUE *)a, &X509_it); | ||
| 189 | } | ||
| 142 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) | 190 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) |
| 143 | 191 | ||
| 144 | int | 192 | int |
diff --git a/src/lib/libcrypto/asn1/x_x509a.c b/src/lib/libcrypto/asn1/x_x509a.c index c6837069d9..8a3561e882 100644 --- a/src/lib/libcrypto/asn1/x_x509a.c +++ b/src/lib/libcrypto/asn1/x_x509a.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_x509a.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509a.c,v 1.11 2015/02/09 15:05:59 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 | */ |
| @@ -79,7 +79,31 @@ ASN1_SEQUENCE(X509_CERT_AUX) = { | |||
| 79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) | 79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) |
| 80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) | 80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) |
| 81 | 81 | ||
| 82 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_AUX) | 82 | |
| 83 | X509_CERT_AUX * | ||
| 84 | d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len) | ||
| 85 | { | ||
| 86 | return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 87 | &X509_CERT_AUX_it); | ||
| 88 | } | ||
| 89 | |||
| 90 | int | ||
| 91 | i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out) | ||
| 92 | { | ||
| 93 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it); | ||
| 94 | } | ||
| 95 | |||
| 96 | X509_CERT_AUX * | ||
| 97 | X509_CERT_AUX_new(void) | ||
| 98 | { | ||
| 99 | return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it); | ||
| 100 | } | ||
| 101 | |||
| 102 | void | ||
| 103 | X509_CERT_AUX_free(X509_CERT_AUX *a) | ||
| 104 | { | ||
| 105 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it); | ||
| 106 | } | ||
| 83 | 107 | ||
| 84 | static X509_CERT_AUX * | 108 | static X509_CERT_AUX * |
| 85 | aux_get(X509 *x) | 109 | aux_get(X509 *x) |
| @@ -198,4 +222,28 @@ ASN1_SEQUENCE(X509_CERT_PAIR) = { | |||
| 198 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) | 222 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) |
| 199 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) | 223 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) |
| 200 | 224 | ||
| 201 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_PAIR) | 225 | |
| 226 | X509_CERT_PAIR * | ||
| 227 | d2i_X509_CERT_PAIR(X509_CERT_PAIR **a, const unsigned char **in, long len) | ||
| 228 | { | ||
| 229 | return (X509_CERT_PAIR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 230 | &X509_CERT_PAIR_it); | ||
| 231 | } | ||
| 232 | |||
| 233 | int | ||
| 234 | i2d_X509_CERT_PAIR(X509_CERT_PAIR *a, unsigned char **out) | ||
| 235 | { | ||
| 236 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_PAIR_it); | ||
| 237 | } | ||
| 238 | |||
| 239 | X509_CERT_PAIR * | ||
| 240 | X509_CERT_PAIR_new(void) | ||
| 241 | { | ||
| 242 | return (X509_CERT_PAIR *)ASN1_item_new(&X509_CERT_PAIR_it); | ||
| 243 | } | ||
| 244 | |||
| 245 | void | ||
| 246 | X509_CERT_PAIR_free(X509_CERT_PAIR *a) | ||
| 247 | { | ||
| 248 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_PAIR_it); | ||
| 249 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/a_time.c b/src/lib/libssl/src/crypto/asn1/a_time.c index c5e882a4f6..95481fc4c6 100644 --- a/src/lib/libssl/src/crypto/asn1/a_time.c +++ b/src/lib/libssl/src/crypto/asn1/a_time.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: a_time.c,v 1.22 2015/02/07 13:19:15 doug Exp $ */ | 1 | /* $OpenBSD: a_time.c,v 1.23 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -71,7 +71,31 @@ | |||
| 71 | 71 | ||
| 72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) | 72 | IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME) | 74 | |
| 75 | ASN1_TIME * | ||
| 76 | d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (ASN1_TIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &ASN1_TIME_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_TIME_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | ASN1_TIME * | ||
| 89 | ASN1_TIME_new(void) | ||
| 90 | { | ||
| 91 | return (ASN1_TIME *)ASN1_item_new(&ASN1_TIME_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | ASN1_TIME_free(ASN1_TIME *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_TIME_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | ASN1_TIME * | 100 | ASN1_TIME * |
| 77 | ASN1_TIME_set(ASN1_TIME *s, time_t t) | 101 | ASN1_TIME_set(ASN1_TIME *s, time_t t) |
diff --git a/src/lib/libssl/src/crypto/asn1/nsseq.c b/src/lib/libssl/src/crypto/asn1/nsseq.c index 97af462dc0..ceab3992fd 100644 --- a/src/lib/libssl/src/crypto/asn1/nsseq.c +++ b/src/lib/libssl/src/crypto/asn1/nsseq.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: nsseq.c,v 1.7 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: nsseq.c,v 1.8 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999. | 3 | * project 1999. |
| 4 | */ | 4 | */ |
| @@ -80,4 +80,28 @@ ASN1_SEQUENCE_cb(NETSCAPE_CERT_SEQUENCE, nsseq_cb) = { | |||
| 80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) | 80 | ASN1_EXP_SEQUENCE_OF_OPT(NETSCAPE_CERT_SEQUENCE, certs, X509, 0) |
| 81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) | 81 | } ASN1_SEQUENCE_END_cb(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) |
| 82 | 82 | ||
| 83 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) | 83 | |
| 84 | NETSCAPE_CERT_SEQUENCE * | ||
| 85 | d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a, const unsigned char **in, long len) | ||
| 86 | { | ||
| 87 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 88 | &NETSCAPE_CERT_SEQUENCE_it); | ||
| 89 | } | ||
| 90 | |||
| 91 | int | ||
| 92 | i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a, unsigned char **out) | ||
| 93 | { | ||
| 94 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_CERT_SEQUENCE_it); | ||
| 95 | } | ||
| 96 | |||
| 97 | NETSCAPE_CERT_SEQUENCE * | ||
| 98 | NETSCAPE_CERT_SEQUENCE_new(void) | ||
| 99 | { | ||
| 100 | return (NETSCAPE_CERT_SEQUENCE *)ASN1_item_new(&NETSCAPE_CERT_SEQUENCE_it); | ||
| 101 | } | ||
| 102 | |||
| 103 | void | ||
| 104 | NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a) | ||
| 105 | { | ||
| 106 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_CERT_SEQUENCE_it); | ||
| 107 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/p5_pbe.c b/src/lib/libssl/src/crypto/asn1/p5_pbe.c index 44fbb648be..7491a5bdc7 100644 --- a/src/lib/libssl/src/crypto/asn1/p5_pbe.c +++ b/src/lib/libssl/src/crypto/asn1/p5_pbe.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p5_pbe.c,v 1.17 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbe.c,v 1.18 2015/02/09 15:05:59 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,7 +71,31 @@ ASN1_SEQUENCE(PBEPARAM) = { | |||
| 71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) | 71 | ASN1_SIMPLE(PBEPARAM, iter, ASN1_INTEGER) |
| 72 | } ASN1_SEQUENCE_END(PBEPARAM) | 72 | } ASN1_SEQUENCE_END(PBEPARAM) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(PBEPARAM) | 74 | |
| 75 | PBEPARAM * | ||
| 76 | d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &PBEPARAM_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | PBEPARAM * | ||
| 89 | PBEPARAM_new(void) | ||
| 90 | { | ||
| 91 | return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | PBEPARAM_free(PBEPARAM *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | 100 | ||
| 77 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ | 101 | /* Set an algorithm identifier for a PKCS#5 PBE algorithm */ |
diff --git a/src/lib/libssl/src/crypto/asn1/p5_pbev2.c b/src/lib/libssl/src/crypto/asn1/p5_pbev2.c index 0947965219..1189e7e26b 100644 --- a/src/lib/libssl/src/crypto/asn1/p5_pbev2.c +++ b/src/lib/libssl/src/crypto/asn1/p5_pbev2.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p5_pbev2.c,v 1.18 2014/10/22 13:02:03 jsing Exp $ */ | 1 | /* $OpenBSD: p5_pbev2.c,v 1.19 2015/02/09 15:05:59 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-2004. | 3 | * project 1999-2004. |
| 4 | */ | 4 | */ |
| @@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBE2PARAM) = { | |||
| 71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) | 71 | ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) |
| 72 | } ASN1_SEQUENCE_END(PBE2PARAM) | 72 | } ASN1_SEQUENCE_END(PBE2PARAM) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(PBE2PARAM) | 74 | |
| 75 | PBE2PARAM * | ||
| 76 | d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &PBE2PARAM_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | PBE2PARAM * | ||
| 89 | PBE2PARAM_new(void) | ||
| 90 | { | ||
| 91 | return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | PBE2PARAM_free(PBE2PARAM *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | ASN1_SEQUENCE(PBKDF2PARAM) = { | 100 | ASN1_SEQUENCE(PBKDF2PARAM) = { |
| 77 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), | 101 | ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), |
| @@ -80,7 +104,31 @@ ASN1_SEQUENCE(PBKDF2PARAM) = { | |||
| 80 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) | 104 | ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) |
| 81 | } ASN1_SEQUENCE_END(PBKDF2PARAM) | 105 | } ASN1_SEQUENCE_END(PBKDF2PARAM) |
| 82 | 106 | ||
| 83 | IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM) | 107 | |
| 108 | PBKDF2PARAM * | ||
| 109 | d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len) | ||
| 110 | { | ||
| 111 | return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 112 | &PBKDF2PARAM_it); | ||
| 113 | } | ||
| 114 | |||
| 115 | int | ||
| 116 | i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) | ||
| 117 | { | ||
| 118 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it); | ||
| 119 | } | ||
| 120 | |||
| 121 | PBKDF2PARAM * | ||
| 122 | PBKDF2PARAM_new(void) | ||
| 123 | { | ||
| 124 | return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it); | ||
| 125 | } | ||
| 126 | |||
| 127 | void | ||
| 128 | PBKDF2PARAM_free(PBKDF2PARAM *a) | ||
| 129 | { | ||
| 130 | ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it); | ||
| 131 | } | ||
| 84 | 132 | ||
| 85 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: | 133 | /* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: |
| 86 | * yes I know this is horrible! | 134 | * yes I know this is horrible! |
diff --git a/src/lib/libssl/src/crypto/asn1/p8_pkey.c b/src/lib/libssl/src/crypto/asn1/p8_pkey.c index 3aacecb8fb..f8688ebc17 100644 --- a/src/lib/libssl/src/crypto/asn1/p8_pkey.c +++ b/src/lib/libssl/src/crypto/asn1/p8_pkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p8_pkey.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: p8_pkey.c,v 1.13 2015/02/09 15:05:59 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 | */ |
| @@ -82,7 +82,31 @@ ASN1_SEQUENCE_cb(PKCS8_PRIV_KEY_INFO, pkey_cb) = { | |||
| 82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) | 82 | ASN1_IMP_SET_OF_OPT(PKCS8_PRIV_KEY_INFO, attributes, X509_ATTRIBUTE, 0) |
| 83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) | 83 | } ASN1_SEQUENCE_END_cb(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) |
| 84 | 84 | ||
| 85 | IMPLEMENT_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) | 85 | |
| 86 | PKCS8_PRIV_KEY_INFO * | ||
| 87 | d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len) | ||
| 88 | { | ||
| 89 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 90 | &PKCS8_PRIV_KEY_INFO_it); | ||
| 91 | } | ||
| 92 | |||
| 93 | int | ||
| 94 | i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out) | ||
| 95 | { | ||
| 96 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it); | ||
| 97 | } | ||
| 98 | |||
| 99 | PKCS8_PRIV_KEY_INFO * | ||
| 100 | PKCS8_PRIV_KEY_INFO_new(void) | ||
| 101 | { | ||
| 102 | return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it); | ||
| 103 | } | ||
| 104 | |||
| 105 | void | ||
| 106 | PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a) | ||
| 107 | { | ||
| 108 | ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it); | ||
| 109 | } | ||
| 86 | 110 | ||
| 87 | int | 111 | int |
| 88 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, | 112 | PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_typ.c b/src/lib/libssl/src/crypto/asn1/tasn_typ.c index 04d9c84180..2f44b4229b 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_typ.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_typ.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tasn_typ.c,v 1.6 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -63,51 +63,411 @@ | |||
| 63 | 63 | ||
| 64 | 64 | ||
| 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) | 65 | IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) |
| 66 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER) | 66 | |
| 67 | ASN1_INTEGER * | ||
| 68 | d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len) | ||
| 69 | { | ||
| 70 | return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 71 | &ASN1_INTEGER_it); | ||
| 72 | } | ||
| 73 | |||
| 74 | int | ||
| 75 | i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out) | ||
| 76 | { | ||
| 77 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it); | ||
| 78 | } | ||
| 79 | |||
| 80 | ASN1_INTEGER * | ||
| 81 | ASN1_INTEGER_new(void) | ||
| 82 | { | ||
| 83 | return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it); | ||
| 84 | } | ||
| 85 | |||
| 86 | void | ||
| 87 | ASN1_INTEGER_free(ASN1_INTEGER *a) | ||
| 88 | { | ||
| 89 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it); | ||
| 90 | } | ||
| 67 | 91 | ||
| 68 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) | 92 | IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) |
| 69 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED) | 93 | |
| 94 | ASN1_ENUMERATED * | ||
| 95 | d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len) | ||
| 96 | { | ||
| 97 | return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 98 | &ASN1_ENUMERATED_it); | ||
| 99 | } | ||
| 100 | |||
| 101 | int | ||
| 102 | i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out) | ||
| 103 | { | ||
| 104 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it); | ||
| 105 | } | ||
| 106 | |||
| 107 | ASN1_ENUMERATED * | ||
| 108 | ASN1_ENUMERATED_new(void) | ||
| 109 | { | ||
| 110 | return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it); | ||
| 111 | } | ||
| 112 | |||
| 113 | void | ||
| 114 | ASN1_ENUMERATED_free(ASN1_ENUMERATED *a) | ||
| 115 | { | ||
| 116 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it); | ||
| 117 | } | ||
| 70 | 118 | ||
| 71 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) | 119 | IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) |
| 72 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING) | 120 | |
| 121 | ASN1_BIT_STRING * | ||
| 122 | d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len) | ||
| 123 | { | ||
| 124 | return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 125 | &ASN1_BIT_STRING_it); | ||
| 126 | } | ||
| 127 | |||
| 128 | int | ||
| 129 | i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out) | ||
| 130 | { | ||
| 131 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it); | ||
| 132 | } | ||
| 133 | |||
| 134 | ASN1_BIT_STRING * | ||
| 135 | ASN1_BIT_STRING_new(void) | ||
| 136 | { | ||
| 137 | return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it); | ||
| 138 | } | ||
| 139 | |||
| 140 | void | ||
| 141 | ASN1_BIT_STRING_free(ASN1_BIT_STRING *a) | ||
| 142 | { | ||
| 143 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it); | ||
| 144 | } | ||
| 73 | 145 | ||
| 74 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) | 146 | IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) |
| 75 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING) | 147 | |
| 148 | ASN1_OCTET_STRING * | ||
| 149 | d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len) | ||
| 150 | { | ||
| 151 | return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 152 | &ASN1_OCTET_STRING_it); | ||
| 153 | } | ||
| 154 | |||
| 155 | int | ||
| 156 | i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out) | ||
| 157 | { | ||
| 158 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it); | ||
| 159 | } | ||
| 160 | |||
| 161 | ASN1_OCTET_STRING * | ||
| 162 | ASN1_OCTET_STRING_new(void) | ||
| 163 | { | ||
| 164 | return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it); | ||
| 165 | } | ||
| 166 | |||
| 167 | void | ||
| 168 | ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a) | ||
| 169 | { | ||
| 170 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it); | ||
| 171 | } | ||
| 76 | 172 | ||
| 77 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) | 173 | IMPLEMENT_ASN1_TYPE(ASN1_NULL) |
| 78 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL) | 174 | |
| 175 | ASN1_NULL * | ||
| 176 | d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len) | ||
| 177 | { | ||
| 178 | return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 179 | &ASN1_NULL_it); | ||
| 180 | } | ||
| 181 | |||
| 182 | int | ||
| 183 | i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out) | ||
| 184 | { | ||
| 185 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it); | ||
| 186 | } | ||
| 187 | |||
| 188 | ASN1_NULL * | ||
| 189 | ASN1_NULL_new(void) | ||
| 190 | { | ||
| 191 | return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it); | ||
| 192 | } | ||
| 193 | |||
| 194 | void | ||
| 195 | ASN1_NULL_free(ASN1_NULL *a) | ||
| 196 | { | ||
| 197 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it); | ||
| 198 | } | ||
| 79 | 199 | ||
| 80 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) | 200 | IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) |
| 81 | 201 | ||
| 82 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) | 202 | IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) |
| 83 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING) | 203 | |
| 204 | ASN1_UTF8STRING * | ||
| 205 | d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len) | ||
| 206 | { | ||
| 207 | return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 208 | &ASN1_UTF8STRING_it); | ||
| 209 | } | ||
| 210 | |||
| 211 | int | ||
| 212 | i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out) | ||
| 213 | { | ||
| 214 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it); | ||
| 215 | } | ||
| 216 | |||
| 217 | ASN1_UTF8STRING * | ||
| 218 | ASN1_UTF8STRING_new(void) | ||
| 219 | { | ||
| 220 | return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it); | ||
| 221 | } | ||
| 222 | |||
| 223 | void | ||
| 224 | ASN1_UTF8STRING_free(ASN1_UTF8STRING *a) | ||
| 225 | { | ||
| 226 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it); | ||
| 227 | } | ||
| 84 | 228 | ||
| 85 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) | 229 | IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) |
| 86 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) | 230 | |
| 231 | ASN1_PRINTABLESTRING * | ||
| 232 | d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len) | ||
| 233 | { | ||
| 234 | return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 235 | &ASN1_PRINTABLESTRING_it); | ||
| 236 | } | ||
| 237 | |||
| 238 | int | ||
| 239 | i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out) | ||
| 240 | { | ||
| 241 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it); | ||
| 242 | } | ||
| 243 | |||
| 244 | ASN1_PRINTABLESTRING * | ||
| 245 | ASN1_PRINTABLESTRING_new(void) | ||
| 246 | { | ||
| 247 | return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it); | ||
| 248 | } | ||
| 249 | |||
| 250 | void | ||
| 251 | ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a) | ||
| 252 | { | ||
| 253 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it); | ||
| 254 | } | ||
| 87 | 255 | ||
| 88 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) | 256 | IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) |
| 89 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING) | 257 | |
| 258 | ASN1_T61STRING * | ||
| 259 | d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len) | ||
| 260 | { | ||
| 261 | return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 262 | &ASN1_T61STRING_it); | ||
| 263 | } | ||
| 264 | |||
| 265 | int | ||
| 266 | i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out) | ||
| 267 | { | ||
| 268 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it); | ||
| 269 | } | ||
| 270 | |||
| 271 | ASN1_T61STRING * | ||
| 272 | ASN1_T61STRING_new(void) | ||
| 273 | { | ||
| 274 | return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it); | ||
| 275 | } | ||
| 276 | |||
| 277 | void | ||
| 278 | ASN1_T61STRING_free(ASN1_T61STRING *a) | ||
| 279 | { | ||
| 280 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it); | ||
| 281 | } | ||
| 90 | 282 | ||
| 91 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) | 283 | IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) |
| 92 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING) | 284 | |
| 285 | ASN1_IA5STRING * | ||
| 286 | d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len) | ||
| 287 | { | ||
| 288 | return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 289 | &ASN1_IA5STRING_it); | ||
| 290 | } | ||
| 291 | |||
| 292 | int | ||
| 293 | i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out) | ||
| 294 | { | ||
| 295 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it); | ||
| 296 | } | ||
| 297 | |||
| 298 | ASN1_IA5STRING * | ||
| 299 | ASN1_IA5STRING_new(void) | ||
| 300 | { | ||
| 301 | return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it); | ||
| 302 | } | ||
| 303 | |||
| 304 | void | ||
| 305 | ASN1_IA5STRING_free(ASN1_IA5STRING *a) | ||
| 306 | { | ||
| 307 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it); | ||
| 308 | } | ||
| 93 | 309 | ||
| 94 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) | 310 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) |
| 95 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING) | 311 | |
| 312 | ASN1_GENERALSTRING * | ||
| 313 | d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len) | ||
| 314 | { | ||
| 315 | return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 316 | &ASN1_GENERALSTRING_it); | ||
| 317 | } | ||
| 318 | |||
| 319 | int | ||
| 320 | i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out) | ||
| 321 | { | ||
| 322 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it); | ||
| 323 | } | ||
| 324 | |||
| 325 | ASN1_GENERALSTRING * | ||
| 326 | ASN1_GENERALSTRING_new(void) | ||
| 327 | { | ||
| 328 | return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it); | ||
| 329 | } | ||
| 330 | |||
| 331 | void | ||
| 332 | ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a) | ||
| 333 | { | ||
| 334 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it); | ||
| 335 | } | ||
| 96 | 336 | ||
| 97 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) | 337 | IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) |
| 98 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME) | 338 | |
| 339 | ASN1_UTCTIME * | ||
| 340 | d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len) | ||
| 341 | { | ||
| 342 | return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 343 | &ASN1_UTCTIME_it); | ||
| 344 | } | ||
| 345 | |||
| 346 | int | ||
| 347 | i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out) | ||
| 348 | { | ||
| 349 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it); | ||
| 350 | } | ||
| 351 | |||
| 352 | ASN1_UTCTIME * | ||
| 353 | ASN1_UTCTIME_new(void) | ||
| 354 | { | ||
| 355 | return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it); | ||
| 356 | } | ||
| 357 | |||
| 358 | void | ||
| 359 | ASN1_UTCTIME_free(ASN1_UTCTIME *a) | ||
| 360 | { | ||
| 361 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it); | ||
| 362 | } | ||
| 99 | 363 | ||
| 100 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) | 364 | IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) |
| 101 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) | 365 | |
| 366 | ASN1_GENERALIZEDTIME * | ||
| 367 | d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len) | ||
| 368 | { | ||
| 369 | return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 370 | &ASN1_GENERALIZEDTIME_it); | ||
| 371 | } | ||
| 372 | |||
| 373 | int | ||
| 374 | i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out) | ||
| 375 | { | ||
| 376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it); | ||
| 377 | } | ||
| 378 | |||
| 379 | ASN1_GENERALIZEDTIME * | ||
| 380 | ASN1_GENERALIZEDTIME_new(void) | ||
| 381 | { | ||
| 382 | return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it); | ||
| 383 | } | ||
| 384 | |||
| 385 | void | ||
| 386 | ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a) | ||
| 387 | { | ||
| 388 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it); | ||
| 389 | } | ||
| 102 | 390 | ||
| 103 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) | 391 | IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) |
| 104 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) | 392 | |
| 393 | ASN1_VISIBLESTRING * | ||
| 394 | d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len) | ||
| 395 | { | ||
| 396 | return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 397 | &ASN1_VISIBLESTRING_it); | ||
| 398 | } | ||
| 399 | |||
| 400 | int | ||
| 401 | i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out) | ||
| 402 | { | ||
| 403 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it); | ||
| 404 | } | ||
| 405 | |||
| 406 | ASN1_VISIBLESTRING * | ||
| 407 | ASN1_VISIBLESTRING_new(void) | ||
| 408 | { | ||
| 409 | return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it); | ||
| 410 | } | ||
| 411 | |||
| 412 | void | ||
| 413 | ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a) | ||
| 414 | { | ||
| 415 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it); | ||
| 416 | } | ||
| 105 | 417 | ||
| 106 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) | 418 | IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) |
| 107 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) | 419 | |
| 420 | ASN1_UNIVERSALSTRING * | ||
| 421 | d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len) | ||
| 422 | { | ||
| 423 | return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 424 | &ASN1_UNIVERSALSTRING_it); | ||
| 425 | } | ||
| 426 | |||
| 427 | int | ||
| 428 | i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out) | ||
| 429 | { | ||
| 430 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it); | ||
| 431 | } | ||
| 432 | |||
| 433 | ASN1_UNIVERSALSTRING * | ||
| 434 | ASN1_UNIVERSALSTRING_new(void) | ||
| 435 | { | ||
| 436 | return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it); | ||
| 437 | } | ||
| 438 | |||
| 439 | void | ||
| 440 | ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a) | ||
| 441 | { | ||
| 442 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it); | ||
| 443 | } | ||
| 108 | 444 | ||
| 109 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) | 445 | IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) |
| 110 | IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING) | 446 | |
| 447 | ASN1_BMPSTRING * | ||
| 448 | d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len) | ||
| 449 | { | ||
| 450 | return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 451 | &ASN1_BMPSTRING_it); | ||
| 452 | } | ||
| 453 | |||
| 454 | int | ||
| 455 | i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out) | ||
| 456 | { | ||
| 457 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it); | ||
| 458 | } | ||
| 459 | |||
| 460 | ASN1_BMPSTRING * | ||
| 461 | ASN1_BMPSTRING_new(void) | ||
| 462 | { | ||
| 463 | return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it); | ||
| 464 | } | ||
| 465 | |||
| 466 | void | ||
| 467 | ASN1_BMPSTRING_free(ASN1_BMPSTRING *a) | ||
| 468 | { | ||
| 469 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it); | ||
| 470 | } | ||
| 111 | 471 | ||
| 112 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) | 472 | IMPLEMENT_ASN1_TYPE(ASN1_ANY) |
| 113 | 473 | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_algor.c b/src/lib/libssl/src/crypto/asn1/x_algor.c index 71aeaaade0..7d264f9fd3 100644 --- a/src/lib/libssl/src/crypto/asn1/x_algor.c +++ b/src/lib/libssl/src/crypto/asn1/x_algor.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_algor.c,v 1.13 2015/01/28 04:14:31 beck Exp $ */ | 1 | /* $OpenBSD: x_algor.c,v 1.14 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -70,7 +70,31 @@ ASN1_ITEM_TEMPLATE(X509_ALGORS) = | |||
| 70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) | 70 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, algorithms, X509_ALGOR) |
| 71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) | 71 | ASN1_ITEM_TEMPLATE_END(X509_ALGORS) |
| 72 | 72 | ||
| 73 | IMPLEMENT_ASN1_FUNCTIONS(X509_ALGOR) | 73 | |
| 74 | X509_ALGOR * | ||
| 75 | d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len) | ||
| 76 | { | ||
| 77 | return (X509_ALGOR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 78 | &X509_ALGOR_it); | ||
| 79 | } | ||
| 80 | |||
| 81 | int | ||
| 82 | i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out) | ||
| 83 | { | ||
| 84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ALGOR_it); | ||
| 85 | } | ||
| 86 | |||
| 87 | X509_ALGOR * | ||
| 88 | X509_ALGOR_new(void) | ||
| 89 | { | ||
| 90 | return (X509_ALGOR *)ASN1_item_new(&X509_ALGOR_it); | ||
| 91 | } | ||
| 92 | |||
| 93 | void | ||
| 94 | X509_ALGOR_free(X509_ALGOR *a) | ||
| 95 | { | ||
| 96 | ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); | ||
| 97 | } | ||
| 74 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) | 98 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) |
| 75 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) | 99 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) |
| 76 | 100 | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_attrib.c b/src/lib/libssl/src/crypto/asn1/x_attrib.c index 1efbb98bbd..aafd5dd485 100644 --- a/src/lib/libssl/src/crypto/asn1/x_attrib.c +++ b/src/lib/libssl/src/crypto/asn1/x_attrib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_attrib.c,v 1.9 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_attrib.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -93,7 +93,31 @@ ASN1_SEQUENCE(X509_ATTRIBUTE) = { | |||
| 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) | 93 | ASN1_EX_COMBINE(0, 0, X509_ATTRIBUTE_SET) |
| 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) | 94 | } ASN1_SEQUENCE_END(X509_ATTRIBUTE) |
| 95 | 95 | ||
| 96 | IMPLEMENT_ASN1_FUNCTIONS(X509_ATTRIBUTE) | 96 | |
| 97 | X509_ATTRIBUTE * | ||
| 98 | d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len) | ||
| 99 | { | ||
| 100 | return (X509_ATTRIBUTE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 101 | &X509_ATTRIBUTE_it); | ||
| 102 | } | ||
| 103 | |||
| 104 | int | ||
| 105 | i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out) | ||
| 106 | { | ||
| 107 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_ATTRIBUTE_it); | ||
| 108 | } | ||
| 109 | |||
| 110 | X509_ATTRIBUTE * | ||
| 111 | X509_ATTRIBUTE_new(void) | ||
| 112 | { | ||
| 113 | return (X509_ATTRIBUTE *)ASN1_item_new(&X509_ATTRIBUTE_it); | ||
| 114 | } | ||
| 115 | |||
| 116 | void | ||
| 117 | X509_ATTRIBUTE_free(X509_ATTRIBUTE *a) | ||
| 118 | { | ||
| 119 | ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); | ||
| 120 | } | ||
| 97 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) | 121 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) |
| 98 | 122 | ||
| 99 | X509_ATTRIBUTE * | 123 | X509_ATTRIBUTE * |
diff --git a/src/lib/libssl/src/crypto/asn1/x_crl.c b/src/lib/libssl/src/crypto/asn1/x_crl.c index bdec50dc80..2539fd92c4 100644 --- a/src/lib/libssl/src/crypto/asn1/x_crl.c +++ b/src/lib/libssl/src/crypto/asn1/x_crl.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_crl.c,v 1.18 2014/07/11 13:54:41 miod Exp $ */ | 1 | /* $OpenBSD: x_crl.c,v 1.19 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -337,9 +337,81 @@ ASN1_SEQUENCE_ref(X509_CRL, crl_cb, CRYPTO_LOCK_X509_CRL) = { | |||
| 337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) | 337 | ASN1_SIMPLE(X509_CRL, signature, ASN1_BIT_STRING) |
| 338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) | 338 | } ASN1_SEQUENCE_END_ref(X509_CRL, X509_CRL) |
| 339 | 339 | ||
| 340 | IMPLEMENT_ASN1_FUNCTIONS(X509_REVOKED) | 340 | |
| 341 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL_INFO) | 341 | X509_REVOKED * |
| 342 | IMPLEMENT_ASN1_FUNCTIONS(X509_CRL) | 342 | d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len) |
| 343 | { | ||
| 344 | return (X509_REVOKED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 345 | &X509_REVOKED_it); | ||
| 346 | } | ||
| 347 | |||
| 348 | int | ||
| 349 | i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out) | ||
| 350 | { | ||
| 351 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REVOKED_it); | ||
| 352 | } | ||
| 353 | |||
| 354 | X509_REVOKED * | ||
| 355 | X509_REVOKED_new(void) | ||
| 356 | { | ||
| 357 | return (X509_REVOKED *)ASN1_item_new(&X509_REVOKED_it); | ||
| 358 | } | ||
| 359 | |||
| 360 | void | ||
| 361 | X509_REVOKED_free(X509_REVOKED *a) | ||
| 362 | { | ||
| 363 | ASN1_item_free((ASN1_VALUE *)a, &X509_REVOKED_it); | ||
| 364 | } | ||
| 365 | |||
| 366 | X509_CRL_INFO * | ||
| 367 | d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len) | ||
| 368 | { | ||
| 369 | return (X509_CRL_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 370 | &X509_CRL_INFO_it); | ||
| 371 | } | ||
| 372 | |||
| 373 | int | ||
| 374 | i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out) | ||
| 375 | { | ||
| 376 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_INFO_it); | ||
| 377 | } | ||
| 378 | |||
| 379 | X509_CRL_INFO * | ||
| 380 | X509_CRL_INFO_new(void) | ||
| 381 | { | ||
| 382 | return (X509_CRL_INFO *)ASN1_item_new(&X509_CRL_INFO_it); | ||
| 383 | } | ||
| 384 | |||
| 385 | void | ||
| 386 | X509_CRL_INFO_free(X509_CRL_INFO *a) | ||
| 387 | { | ||
| 388 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_INFO_it); | ||
| 389 | } | ||
| 390 | |||
| 391 | X509_CRL * | ||
| 392 | d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len) | ||
| 393 | { | ||
| 394 | return (X509_CRL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 395 | &X509_CRL_it); | ||
| 396 | } | ||
| 397 | |||
| 398 | int | ||
| 399 | i2d_X509_CRL(X509_CRL *a, unsigned char **out) | ||
| 400 | { | ||
| 401 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CRL_it); | ||
| 402 | } | ||
| 403 | |||
| 404 | X509_CRL * | ||
| 405 | X509_CRL_new(void) | ||
| 406 | { | ||
| 407 | return (X509_CRL *)ASN1_item_new(&X509_CRL_it); | ||
| 408 | } | ||
| 409 | |||
| 410 | void | ||
| 411 | X509_CRL_free(X509_CRL *a) | ||
| 412 | { | ||
| 413 | ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); | ||
| 414 | } | ||
| 343 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) | 415 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) |
| 344 | 416 | ||
| 345 | static int | 417 | static int |
diff --git a/src/lib/libssl/src/crypto/asn1/x_exten.c b/src/lib/libssl/src/crypto/asn1/x_exten.c index a3fa88498b..40c521ec80 100644 --- a/src/lib/libssl/src/crypto/asn1/x_exten.c +++ b/src/lib/libssl/src/crypto/asn1/x_exten.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_exten.c,v 1.9 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_exten.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -71,6 +71,30 @@ ASN1_ITEM_TEMPLATE(X509_EXTENSIONS) = | |||
| 71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) | 71 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, Extension, X509_EXTENSION) |
| 72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) | 72 | ASN1_ITEM_TEMPLATE_END(X509_EXTENSIONS) |
| 73 | 73 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(X509_EXTENSION) | 74 | |
| 75 | X509_EXTENSION * | ||
| 76 | d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len) | ||
| 77 | { | ||
| 78 | return (X509_EXTENSION *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 79 | &X509_EXTENSION_it); | ||
| 80 | } | ||
| 81 | |||
| 82 | int | ||
| 83 | i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_EXTENSION_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | X509_EXTENSION * | ||
| 89 | X509_EXTENSION_new(void) | ||
| 90 | { | ||
| 91 | return (X509_EXTENSION *)ASN1_item_new(&X509_EXTENSION_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | X509_EXTENSION_free(X509_EXTENSION *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); | ||
| 98 | } | ||
| 75 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) | 99 | IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) |
| 76 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) | 100 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) |
diff --git a/src/lib/libssl/src/crypto/asn1/x_name.c b/src/lib/libssl/src/crypto/asn1/x_name.c index 7c77ceea3b..a7f0e14d13 100644 --- a/src/lib/libssl/src/crypto/asn1/x_name.c +++ b/src/lib/libssl/src/crypto/asn1/x_name.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_name.c,v 1.20 2014/07/12 11:25:25 miod Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.21 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -92,7 +92,31 @@ ASN1_SEQUENCE(X509_NAME_ENTRY) = { | |||
| 92 | ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE) | 92 | ASN1_SIMPLE(X509_NAME_ENTRY, value, ASN1_PRINTABLE) |
| 93 | } ASN1_SEQUENCE_END(X509_NAME_ENTRY) | 93 | } ASN1_SEQUENCE_END(X509_NAME_ENTRY) |
| 94 | 94 | ||
| 95 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME_ENTRY) | 95 | |
| 96 | X509_NAME_ENTRY * | ||
| 97 | d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len) | ||
| 98 | { | ||
| 99 | return (X509_NAME_ENTRY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 100 | &X509_NAME_ENTRY_it); | ||
| 101 | } | ||
| 102 | |||
| 103 | int | ||
| 104 | i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out) | ||
| 105 | { | ||
| 106 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_ENTRY_it); | ||
| 107 | } | ||
| 108 | |||
| 109 | X509_NAME_ENTRY * | ||
| 110 | X509_NAME_ENTRY_new(void) | ||
| 111 | { | ||
| 112 | return (X509_NAME_ENTRY *)ASN1_item_new(&X509_NAME_ENTRY_it); | ||
| 113 | } | ||
| 114 | |||
| 115 | void | ||
| 116 | X509_NAME_ENTRY_free(X509_NAME_ENTRY *a) | ||
| 117 | { | ||
| 118 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); | ||
| 119 | } | ||
| 96 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) | 120 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) |
| 97 | 121 | ||
| 98 | /* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } | 122 | /* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } |
| @@ -125,7 +149,31 @@ const ASN1_EXTERN_FUNCS x509_name_ff = { | |||
| 125 | 149 | ||
| 126 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) | 150 | IMPLEMENT_EXTERN_ASN1(X509_NAME, V_ASN1_SEQUENCE, x509_name_ff) |
| 127 | 151 | ||
| 128 | IMPLEMENT_ASN1_FUNCTIONS(X509_NAME) | 152 | |
| 153 | X509_NAME * | ||
| 154 | d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len) | ||
| 155 | { | ||
| 156 | return (X509_NAME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 157 | &X509_NAME_it); | ||
| 158 | } | ||
| 159 | |||
| 160 | int | ||
| 161 | i2d_X509_NAME(X509_NAME *a, unsigned char **out) | ||
| 162 | { | ||
| 163 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_NAME_it); | ||
| 164 | } | ||
| 165 | |||
| 166 | X509_NAME * | ||
| 167 | X509_NAME_new(void) | ||
| 168 | { | ||
| 169 | return (X509_NAME *)ASN1_item_new(&X509_NAME_it); | ||
| 170 | } | ||
| 171 | |||
| 172 | void | ||
| 173 | X509_NAME_free(X509_NAME *a) | ||
| 174 | { | ||
| 175 | ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); | ||
| 176 | } | ||
| 129 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) | 177 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) |
| 130 | 178 | ||
| 131 | static int | 179 | static int |
diff --git a/src/lib/libssl/src/crypto/asn1/x_nx509.c b/src/lib/libssl/src/crypto/asn1/x_nx509.c index eebeb9206f..9738560c19 100644 --- a/src/lib/libssl/src/crypto/asn1/x_nx509.c +++ b/src/lib/libssl/src/crypto/asn1/x_nx509.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_nx509.c,v 1.3 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: x_nx509.c,v 1.4 2015/02/09 15:05:59 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 2005. | 3 | * project 2005. |
| 4 | */ | 4 | */ |
| @@ -68,4 +68,28 @@ ASN1_SEQUENCE(NETSCAPE_X509) = { | |||
| 68 | ASN1_OPT(NETSCAPE_X509, cert, X509) | 68 | ASN1_OPT(NETSCAPE_X509, cert, X509) |
| 69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) | 69 | } ASN1_SEQUENCE_END(NETSCAPE_X509) |
| 70 | 70 | ||
| 71 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_X509) | 71 | |
| 72 | NETSCAPE_X509 * | ||
| 73 | d2i_NETSCAPE_X509(NETSCAPE_X509 **a, const unsigned char **in, long len) | ||
| 74 | { | ||
| 75 | return (NETSCAPE_X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 76 | &NETSCAPE_X509_it); | ||
| 77 | } | ||
| 78 | |||
| 79 | int | ||
| 80 | i2d_NETSCAPE_X509(NETSCAPE_X509 *a, unsigned char **out) | ||
| 81 | { | ||
| 82 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_X509_it); | ||
| 83 | } | ||
| 84 | |||
| 85 | NETSCAPE_X509 * | ||
| 86 | NETSCAPE_X509_new(void) | ||
| 87 | { | ||
| 88 | return (NETSCAPE_X509 *)ASN1_item_new(&NETSCAPE_X509_it); | ||
| 89 | } | ||
| 90 | |||
| 91 | void | ||
| 92 | NETSCAPE_X509_free(NETSCAPE_X509 *a) | ||
| 93 | { | ||
| 94 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_X509_it); | ||
| 95 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_pubkey.c b/src/lib/libssl/src/crypto/asn1/x_pubkey.c index 56cc63059a..0c7d01e60d 100644 --- a/src/lib/libssl/src/crypto/asn1/x_pubkey.c +++ b/src/lib/libssl/src/crypto/asn1/x_pubkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_pubkey.c,v 1.22 2014/07/12 16:03:36 miod Exp $ */ | 1 | /* $OpenBSD: x_pubkey.c,v 1.23 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -89,7 +89,31 @@ ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { | |||
| 89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) | 89 | ASN1_SIMPLE(X509_PUBKEY, public_key, ASN1_BIT_STRING) |
| 90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) | 90 | } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) |
| 91 | 91 | ||
| 92 | IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) | 92 | |
| 93 | X509_PUBKEY * | ||
| 94 | d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len) | ||
| 95 | { | ||
| 96 | return (X509_PUBKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 97 | &X509_PUBKEY_it); | ||
| 98 | } | ||
| 99 | |||
| 100 | int | ||
| 101 | i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out) | ||
| 102 | { | ||
| 103 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_PUBKEY_it); | ||
| 104 | } | ||
| 105 | |||
| 106 | X509_PUBKEY * | ||
| 107 | X509_PUBKEY_new(void) | ||
| 108 | { | ||
| 109 | return (X509_PUBKEY *)ASN1_item_new(&X509_PUBKEY_it); | ||
| 110 | } | ||
| 111 | |||
| 112 | void | ||
| 113 | X509_PUBKEY_free(X509_PUBKEY *a) | ||
| 114 | { | ||
| 115 | ASN1_item_free((ASN1_VALUE *)a, &X509_PUBKEY_it); | ||
| 116 | } | ||
| 93 | 117 | ||
| 94 | int | 118 | int |
| 95 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | 119 | X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) |
diff --git a/src/lib/libssl/src/crypto/asn1/x_req.c b/src/lib/libssl/src/crypto/asn1/x_req.c index c876edd7f0..89b2d88d15 100644 --- a/src/lib/libssl/src/crypto/asn1/x_req.c +++ b/src/lib/libssl/src/crypto/asn1/x_req.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_req.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_req.c,v 1.11 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -102,7 +102,31 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { | |||
| 102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) | 102 | ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0) |
| 103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) | 103 | } ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO) |
| 104 | 104 | ||
| 105 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO) | 105 | |
| 106 | X509_REQ_INFO * | ||
| 107 | d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len) | ||
| 108 | { | ||
| 109 | return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 110 | &X509_REQ_INFO_it); | ||
| 111 | } | ||
| 112 | |||
| 113 | int | ||
| 114 | i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out) | ||
| 115 | { | ||
| 116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it); | ||
| 117 | } | ||
| 118 | |||
| 119 | X509_REQ_INFO * | ||
| 120 | X509_REQ_INFO_new(void) | ||
| 121 | { | ||
| 122 | return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it); | ||
| 123 | } | ||
| 124 | |||
| 125 | void | ||
| 126 | X509_REQ_INFO_free(X509_REQ_INFO *a) | ||
| 127 | { | ||
| 128 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it); | ||
| 129 | } | ||
| 106 | 130 | ||
| 107 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | 131 | ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { |
| 108 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), | 132 | ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), |
| @@ -110,5 +134,29 @@ ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { | |||
| 110 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) | 134 | ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) |
| 111 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) | 135 | } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) |
| 112 | 136 | ||
| 113 | IMPLEMENT_ASN1_FUNCTIONS(X509_REQ) | 137 | |
| 138 | X509_REQ * | ||
| 139 | d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len) | ||
| 140 | { | ||
| 141 | return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 142 | &X509_REQ_it); | ||
| 143 | } | ||
| 144 | |||
| 145 | int | ||
| 146 | i2d_X509_REQ(X509_REQ *a, unsigned char **out) | ||
| 147 | { | ||
| 148 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it); | ||
| 149 | } | ||
| 150 | |||
| 151 | X509_REQ * | ||
| 152 | X509_REQ_new(void) | ||
| 153 | { | ||
| 154 | return (X509_REQ *)ASN1_item_new(&X509_REQ_it); | ||
| 155 | } | ||
| 156 | |||
| 157 | void | ||
| 158 | X509_REQ_free(X509_REQ *a) | ||
| 159 | { | ||
| 160 | ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); | ||
| 161 | } | ||
| 114 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) | 162 | IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) |
diff --git a/src/lib/libssl/src/crypto/asn1/x_sig.c b/src/lib/libssl/src/crypto/asn1/x_sig.c index ab4546e3ca..7c4c8c9c55 100644 --- a/src/lib/libssl/src/crypto/asn1/x_sig.c +++ b/src/lib/libssl/src/crypto/asn1/x_sig.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_sig.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_sig.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_SIG) = { | |||
| 66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) | 66 | ASN1_SIMPLE(X509_SIG, digest, ASN1_OCTET_STRING) |
| 67 | } ASN1_SEQUENCE_END(X509_SIG) | 67 | } ASN1_SEQUENCE_END(X509_SIG) |
| 68 | 68 | ||
| 69 | IMPLEMENT_ASN1_FUNCTIONS(X509_SIG) | 69 | |
| 70 | X509_SIG * | ||
| 71 | d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len) | ||
| 72 | { | ||
| 73 | return (X509_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 74 | &X509_SIG_it); | ||
| 75 | } | ||
| 76 | |||
| 77 | int | ||
| 78 | i2d_X509_SIG(X509_SIG *a, unsigned char **out) | ||
| 79 | { | ||
| 80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_SIG_it); | ||
| 81 | } | ||
| 82 | |||
| 83 | X509_SIG * | ||
| 84 | X509_SIG_new(void) | ||
| 85 | { | ||
| 86 | return (X509_SIG *)ASN1_item_new(&X509_SIG_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | void | ||
| 90 | X509_SIG_free(X509_SIG *a) | ||
| 91 | { | ||
| 92 | ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it); | ||
| 93 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_spki.c b/src/lib/libssl/src/crypto/asn1/x_spki.c index 836abb13d8..fc056ff53b 100644 --- a/src/lib/libssl/src/crypto/asn1/x_spki.c +++ b/src/lib/libssl/src/crypto/asn1/x_spki.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_spki.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_spki.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -70,7 +70,31 @@ ASN1_SEQUENCE(NETSCAPE_SPKAC) = { | |||
| 70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) | 70 | ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) |
| 71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) | 71 | } ASN1_SEQUENCE_END(NETSCAPE_SPKAC) |
| 72 | 72 | ||
| 73 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC) | 73 | |
| 74 | NETSCAPE_SPKAC * | ||
| 75 | d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len) | ||
| 76 | { | ||
| 77 | return (NETSCAPE_SPKAC *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 78 | &NETSCAPE_SPKAC_it); | ||
| 79 | } | ||
| 80 | |||
| 81 | int | ||
| 82 | i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out) | ||
| 83 | { | ||
| 84 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKAC_it); | ||
| 85 | } | ||
| 86 | |||
| 87 | NETSCAPE_SPKAC * | ||
| 88 | NETSCAPE_SPKAC_new(void) | ||
| 89 | { | ||
| 90 | return (NETSCAPE_SPKAC *)ASN1_item_new(&NETSCAPE_SPKAC_it); | ||
| 91 | } | ||
| 92 | |||
| 93 | void | ||
| 94 | NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a) | ||
| 95 | { | ||
| 96 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); | ||
| 97 | } | ||
| 74 | 98 | ||
| 75 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { | 99 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { |
| 76 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), | 100 | ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), |
| @@ -78,4 +102,28 @@ ASN1_SEQUENCE(NETSCAPE_SPKI) = { | |||
| 78 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) | 102 | ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) |
| 79 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) | 103 | } ASN1_SEQUENCE_END(NETSCAPE_SPKI) |
| 80 | 104 | ||
| 81 | IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKI) | 105 | |
| 106 | NETSCAPE_SPKI * | ||
| 107 | d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len) | ||
| 108 | { | ||
| 109 | return (NETSCAPE_SPKI *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 110 | &NETSCAPE_SPKI_it); | ||
| 111 | } | ||
| 112 | |||
| 113 | int | ||
| 114 | i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out) | ||
| 115 | { | ||
| 116 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_SPKI_it); | ||
| 117 | } | ||
| 118 | |||
| 119 | NETSCAPE_SPKI * | ||
| 120 | NETSCAPE_SPKI_new(void) | ||
| 121 | { | ||
| 122 | return (NETSCAPE_SPKI *)ASN1_item_new(&NETSCAPE_SPKI_it); | ||
| 123 | } | ||
| 124 | |||
| 125 | void | ||
| 126 | NETSCAPE_SPKI_free(NETSCAPE_SPKI *a) | ||
| 127 | { | ||
| 128 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKI_it); | ||
| 129 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_val.c b/src/lib/libssl/src/crypto/asn1/x_val.c index da9d16346b..27835e94da 100644 --- a/src/lib/libssl/src/crypto/asn1/x_val.c +++ b/src/lib/libssl/src/crypto/asn1/x_val.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_val.c,v 1.8 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_val.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -66,4 +66,28 @@ ASN1_SEQUENCE(X509_VAL) = { | |||
| 66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) | 66 | ASN1_SIMPLE(X509_VAL, notAfter, ASN1_TIME) |
| 67 | } ASN1_SEQUENCE_END(X509_VAL) | 67 | } ASN1_SEQUENCE_END(X509_VAL) |
| 68 | 68 | ||
| 69 | IMPLEMENT_ASN1_FUNCTIONS(X509_VAL) | 69 | |
| 70 | X509_VAL * | ||
| 71 | d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len) | ||
| 72 | { | ||
| 73 | return (X509_VAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 74 | &X509_VAL_it); | ||
| 75 | } | ||
| 76 | |||
| 77 | int | ||
| 78 | i2d_X509_VAL(X509_VAL *a, unsigned char **out) | ||
| 79 | { | ||
| 80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_VAL_it); | ||
| 81 | } | ||
| 82 | |||
| 83 | X509_VAL * | ||
| 84 | X509_VAL_new(void) | ||
| 85 | { | ||
| 86 | return (X509_VAL *)ASN1_item_new(&X509_VAL_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | void | ||
| 90 | X509_VAL_free(X509_VAL *a) | ||
| 91 | { | ||
| 92 | ASN1_item_free((ASN1_VALUE *)a, &X509_VAL_it); | ||
| 93 | } | ||
diff --git a/src/lib/libssl/src/crypto/asn1/x_x509.c b/src/lib/libssl/src/crypto/asn1/x_x509.c index 0236a0faa2..8fd2d7684b 100644 --- a/src/lib/libssl/src/crypto/asn1/x_x509.c +++ b/src/lib/libssl/src/crypto/asn1/x_x509.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_x509.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509.c,v 1.18 2015/02/09 15:05:59 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -78,7 +78,31 @@ ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = { | |||
| 78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) | 78 | ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) |
| 79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) | 79 | } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) |
| 80 | 80 | ||
| 81 | IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) | 81 | |
| 82 | X509_CINF * | ||
| 83 | d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len) | ||
| 84 | { | ||
| 85 | return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 86 | &X509_CINF_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | int | ||
| 90 | i2d_X509_CINF(X509_CINF *a, unsigned char **out) | ||
| 91 | { | ||
| 92 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it); | ||
| 93 | } | ||
| 94 | |||
| 95 | X509_CINF * | ||
| 96 | X509_CINF_new(void) | ||
| 97 | { | ||
| 98 | return (X509_CINF *)ASN1_item_new(&X509_CINF_it); | ||
| 99 | } | ||
| 100 | |||
| 101 | void | ||
| 102 | X509_CINF_free(X509_CINF *a) | ||
| 103 | { | ||
| 104 | ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it); | ||
| 105 | } | ||
| 82 | /* X509 top level structure needs a bit of customisation */ | 106 | /* X509 top level structure needs a bit of customisation */ |
| 83 | 107 | ||
| 84 | extern void policy_cache_free(X509_POLICY_CACHE *cache); | 108 | extern void policy_cache_free(X509_POLICY_CACHE *cache); |
| @@ -138,7 +162,31 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = { | |||
| 138 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) | 162 | ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) |
| 139 | } ASN1_SEQUENCE_END_ref(X509, X509) | 163 | } ASN1_SEQUENCE_END_ref(X509, X509) |
| 140 | 164 | ||
| 141 | IMPLEMENT_ASN1_FUNCTIONS(X509) | 165 | |
| 166 | X509 * | ||
| 167 | d2i_X509(X509 **a, const unsigned char **in, long len) | ||
| 168 | { | ||
| 169 | return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 170 | &X509_it); | ||
| 171 | } | ||
| 172 | |||
| 173 | int | ||
| 174 | i2d_X509(X509 *a, unsigned char **out) | ||
| 175 | { | ||
| 176 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it); | ||
| 177 | } | ||
| 178 | |||
| 179 | X509 * | ||
| 180 | X509_new(void) | ||
| 181 | { | ||
| 182 | return (X509 *)ASN1_item_new(&X509_it); | ||
| 183 | } | ||
| 184 | |||
| 185 | void | ||
| 186 | X509_free(X509 *a) | ||
| 187 | { | ||
| 188 | ASN1_item_free((ASN1_VALUE *)a, &X509_it); | ||
| 189 | } | ||
| 142 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) | 190 | IMPLEMENT_ASN1_DUP_FUNCTION(X509) |
| 143 | 191 | ||
| 144 | int | 192 | int |
diff --git a/src/lib/libssl/src/crypto/asn1/x_x509a.c b/src/lib/libssl/src/crypto/asn1/x_x509a.c index c6837069d9..8a3561e882 100644 --- a/src/lib/libssl/src/crypto/asn1/x_x509a.c +++ b/src/lib/libssl/src/crypto/asn1/x_x509a.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_x509a.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ | 1 | /* $OpenBSD: x_x509a.c,v 1.11 2015/02/09 15:05:59 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 | */ |
| @@ -79,7 +79,31 @@ ASN1_SEQUENCE(X509_CERT_AUX) = { | |||
| 79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) | 79 | ASN1_IMP_SEQUENCE_OF_OPT(X509_CERT_AUX, other, X509_ALGOR, 1) |
| 80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) | 80 | } ASN1_SEQUENCE_END(X509_CERT_AUX) |
| 81 | 81 | ||
| 82 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_AUX) | 82 | |
| 83 | X509_CERT_AUX * | ||
| 84 | d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len) | ||
| 85 | { | ||
| 86 | return (X509_CERT_AUX *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 87 | &X509_CERT_AUX_it); | ||
| 88 | } | ||
| 89 | |||
| 90 | int | ||
| 91 | i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out) | ||
| 92 | { | ||
| 93 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_AUX_it); | ||
| 94 | } | ||
| 95 | |||
| 96 | X509_CERT_AUX * | ||
| 97 | X509_CERT_AUX_new(void) | ||
| 98 | { | ||
| 99 | return (X509_CERT_AUX *)ASN1_item_new(&X509_CERT_AUX_it); | ||
| 100 | } | ||
| 101 | |||
| 102 | void | ||
| 103 | X509_CERT_AUX_free(X509_CERT_AUX *a) | ||
| 104 | { | ||
| 105 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_AUX_it); | ||
| 106 | } | ||
| 83 | 107 | ||
| 84 | static X509_CERT_AUX * | 108 | static X509_CERT_AUX * |
| 85 | aux_get(X509 *x) | 109 | aux_get(X509 *x) |
| @@ -198,4 +222,28 @@ ASN1_SEQUENCE(X509_CERT_PAIR) = { | |||
| 198 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) | 222 | ASN1_EXP_OPT(X509_CERT_PAIR, reverse, X509, 1) |
| 199 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) | 223 | } ASN1_SEQUENCE_END(X509_CERT_PAIR) |
| 200 | 224 | ||
| 201 | IMPLEMENT_ASN1_FUNCTIONS(X509_CERT_PAIR) | 225 | |
| 226 | X509_CERT_PAIR * | ||
| 227 | d2i_X509_CERT_PAIR(X509_CERT_PAIR **a, const unsigned char **in, long len) | ||
| 228 | { | ||
| 229 | return (X509_CERT_PAIR *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 230 | &X509_CERT_PAIR_it); | ||
| 231 | } | ||
| 232 | |||
| 233 | int | ||
| 234 | i2d_X509_CERT_PAIR(X509_CERT_PAIR *a, unsigned char **out) | ||
| 235 | { | ||
| 236 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CERT_PAIR_it); | ||
| 237 | } | ||
| 238 | |||
| 239 | X509_CERT_PAIR * | ||
| 240 | X509_CERT_PAIR_new(void) | ||
| 241 | { | ||
| 242 | return (X509_CERT_PAIR *)ASN1_item_new(&X509_CERT_PAIR_it); | ||
| 243 | } | ||
| 244 | |||
| 245 | void | ||
| 246 | X509_CERT_PAIR_free(X509_CERT_PAIR *a) | ||
| 247 | { | ||
| 248 | ASN1_item_free((ASN1_VALUE *)a, &X509_CERT_PAIR_it); | ||
| 249 | } | ||
