diff --git a/crypto/asn1/t_req.c b/crypto/asn1/t_req.c index 7d72e0a26fb936dd38edbaddc6fc89514dc61d39..d9966a3848402e10d39b3bdd50f53dd4f9a2bb0d 100644 --- a/crypto/asn1/t_req.c +++ b/crypto/asn1/t_req.c @@ -108,7 +108,7 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, if (nmflags == X509_FLAG_COMPAT) nmindent = 16; - ri = x->req_info; + ri = &x->req_info; if (!(cflag & X509_FLAG_NO_HEADER)) { if (BIO_write(bp, "Certificate Request:\n", 21) <= 0) goto err; @@ -153,7 +153,7 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, if (BIO_printf(bp, "%8sAttributes:\n", "") <= 0) goto err; - sk = x->req_info->attributes; + sk = x->req_info.attributes; if (sk_X509_ATTRIBUTE_num(sk) == 0) { if (BIO_printf(bp, "%12sa0:00\n", "") <= 0) goto err; diff --git a/crypto/asn1/x_req.c b/crypto/asn1/x_req.c index 102b1f633210f0c717ea54d3379119e6b75a9c7f..bd07d726272dd84fe55d8e2cea3e4aafd1d41941 100644 --- a/crypto/asn1/x_req.c +++ b/crypto/asn1/x_req.c @@ -107,7 +107,7 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = { IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO) ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = { - ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO), + ASN1_EMBED(X509_REQ, req_info, X509_REQ_INFO), ASN1_SIMPLE(X509_REQ, sig_alg, X509_ALGOR), ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING) } ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ) diff --git a/crypto/include/internal/x509_int.h b/crypto/include/internal/x509_int.h index 7c31289f9e9c5cac7a8016f280209dfd32633216..96c15e3c90ca53c1ca1d0a0b892edbb3c043fda7 100644 --- a/crypto/include/internal/x509_int.h +++ b/crypto/include/internal/x509_int.h @@ -100,7 +100,7 @@ struct X509_req_info_st { }; struct X509_req_st { - X509_REQ_INFO *req_info; + X509_REQ_INFO req_info; X509_ALGOR *sig_alg; ASN1_BIT_STRING *signature; int references; diff --git a/crypto/x509/x509_r2x.c b/crypto/x509/x509_r2x.c index 00f772a3733c952fb5ff5a2a04d963222ffa8efe..c5c58f5fd3519bd1023cdd659c36cf8b6044025b 100644 --- a/crypto/x509/x509_r2x.c +++ b/crypto/x509/x509_r2x.c @@ -80,7 +80,7 @@ X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey) /* duplicate the request */ xi = &ret->cert_info; - if (sk_X509_ATTRIBUTE_num(r->req_info->attributes) != 0) { + if (sk_X509_ATTRIBUTE_num(r->req_info.attributes) != 0) { if ((xi->version = ASN1_INTEGER_new()) == NULL) goto err; if (!ASN1_INTEGER_set(xi->version, 2)) diff --git a/crypto/x509/x509_req.c b/crypto/x509/x509_req.c index 70e27b8306d9f35bed3ca99037db097218be9742..34336941e5b8977873742feab698c1eda6a4c904 100644 --- a/crypto/x509/x509_req.c +++ b/crypto/x509/x509_req.c @@ -81,7 +81,7 @@ X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) goto err; } - ri = ret->req_info; + ri = &ret->req_info; ri->version->length = 1; ri->version->data = OPENSSL_malloc(1); @@ -112,9 +112,9 @@ X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req) { - if ((req == NULL) || (req->req_info == NULL)) + if (req == NULL) return (NULL); - return (X509_PUBKEY_get(req->req_info->pubkey)); + return (X509_PUBKEY_get(req->req_info.pubkey)); } int X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k) @@ -195,7 +195,7 @@ STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req) int idx, *pnid; const unsigned char *p; - if ((req == NULL) || (req->req_info == NULL) || !ext_nids) + if ((req == NULL) || !ext_nids) return (NULL); for (pnid = ext_nids; *pnid != NID_undef; pnid++) { idx = X509_REQ_get_attr_by_NID(req, *pnid, -1); @@ -244,33 +244,33 @@ int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts) int X509_REQ_get_attr_count(const X509_REQ *req) { - return X509at_get_attr_count(req->req_info->attributes); + return X509at_get_attr_count(req->req_info.attributes); } int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos) { - return X509at_get_attr_by_NID(req->req_info->attributes, nid, lastpos); + return X509at_get_attr_by_NID(req->req_info.attributes, nid, lastpos); } int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, ASN1_OBJECT *obj, int lastpos) { - return X509at_get_attr_by_OBJ(req->req_info->attributes, obj, lastpos); + return X509at_get_attr_by_OBJ(req->req_info.attributes, obj, lastpos); } X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc) { - return X509at_get_attr(req->req_info->attributes, loc); + return X509at_get_attr(req->req_info.attributes, loc); } X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc) { - return X509at_delete_attr(req->req_info->attributes, loc); + return X509at_delete_attr(req->req_info.attributes, loc); } int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr) { - if (X509at_add1_attr(&req->req_info->attributes, attr)) + if (X509at_add1_attr(&req->req_info.attributes, attr)) return 1; return 0; } @@ -279,7 +279,7 @@ int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len) { - if (X509at_add1_attr_by_OBJ(&req->req_info->attributes, obj, + if (X509at_add1_attr_by_OBJ(&req->req_info.attributes, obj, type, bytes, len)) return 1; return 0; @@ -289,7 +289,7 @@ int X509_REQ_add1_attr_by_NID(X509_REQ *req, int nid, int type, const unsigned char *bytes, int len) { - if (X509at_add1_attr_by_NID(&req->req_info->attributes, nid, + if (X509at_add1_attr_by_NID(&req->req_info.attributes, nid, type, bytes, len)) return 1; return 0; @@ -299,7 +299,7 @@ int X509_REQ_add1_attr_by_txt(X509_REQ *req, const char *attrname, int type, const unsigned char *bytes, int len) { - if (X509at_add1_attr_by_txt(&req->req_info->attributes, attrname, + if (X509at_add1_attr_by_txt(&req->req_info.attributes, attrname, type, bytes, len)) return 1; return 0; @@ -307,10 +307,10 @@ int X509_REQ_add1_attr_by_txt(X509_REQ *req, long X509_REQ_get_version(X509_REQ *req) { - return ASN1_INTEGER_get(req->req_info->version); + return ASN1_INTEGER_get(req->req_info.version); } X509_NAME *X509_REQ_get_subject_name(X509_REQ *req) { - return req->req_info->subject; + return req->req_info.subject; } diff --git a/crypto/x509/x509rset.c b/crypto/x509/x509rset.c index cf9bdfb3e08afff44f65bfe4d194d3c48b07e096..817400c0af45b7bb7a9a5e6114dd7cd6699d0941 100644 --- a/crypto/x509/x509rset.c +++ b/crypto/x509/x509rset.c @@ -68,22 +68,22 @@ int X509_REQ_set_version(X509_REQ *x, long version) { if (x == NULL) return (0); - x->req_info->enc.modified = 1; - return (ASN1_INTEGER_set(x->req_info->version, version)); + x->req_info.enc.modified = 1; + return (ASN1_INTEGER_set(x->req_info.version, version)); } int X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name) { - if ((x == NULL) || (x->req_info == NULL)) + if (x == NULL) return (0); - x->req_info->enc.modified = 1; - return (X509_NAME_set(&x->req_info->subject, name)); + x->req_info.enc.modified = 1; + return (X509_NAME_set(&x->req_info.subject, name)); } int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey) { - if ((x == NULL) || (x->req_info == NULL)) + if (x == NULL) return (0); - x->req_info->enc.modified = 1; - return (X509_PUBKEY_set(&x->req_info->pubkey, pkey)); + x->req_info.enc.modified = 1; + return (X509_PUBKEY_set(&x->req_info.pubkey, pkey)); } diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index ca5a95a08f326773f7f479d04d3dd2ae0d736c7e..b7f6be13bc0e82a84dc6b06da52ff35c3feabb16 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c @@ -83,7 +83,7 @@ int X509_verify(X509 *a, EVP_PKEY *r) int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) { return (ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO), - a->sig_alg, a->signature, a->req_info, r)); + a->sig_alg, a->signature, &a->req_info, r)); } int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) @@ -116,13 +116,13 @@ int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert) int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) { return (ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO), x->sig_alg, NULL, - x->signature, x->req_info, pkey, md)); + x->signature, &x->req_info, pkey, md)); } int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx) { return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_REQ_INFO), - x->sig_alg, NULL, x->signature, x->req_info, + x->sig_alg, NULL, x->signature, &x->req_info, ctx); } diff --git a/crypto/x509v3/v3_skey.c b/crypto/x509v3/v3_skey.c index 641104ab08c3583952c032b6eda4e16d6bec87ab..cf3521304d73468ec72fd98edd57e22b4357b89c 100644 --- a/crypto/x509v3/v3_skey.c +++ b/crypto/x509v3/v3_skey.c @@ -126,7 +126,7 @@ static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, } if (ctx->subject_req) - pk = ctx->subject_req->req_info->pubkey->public_key; + pk = ctx->subject_req->req_info.pubkey->public_key; else pk = ctx->subject_cert->cert_info.key->public_key;