aboutsummaryrefslogtreecommitdiff
path: root/openssl/crypto/ts/ts_verify_ctx.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2015-02-22 21:39:56 +0100
committermarha <marha@users.sourceforge.net>2015-02-22 21:39:56 +0100
commit462f18c7b25fe3e467f837647d07ab0a78aa8d2b (patch)
treefc8013c0a1bac05a1945846c1697e973f4c35013 /openssl/crypto/ts/ts_verify_ctx.c
parent36f711ee12b6dd5184198abed3aa551efb585587 (diff)
downloadvcxsrv-462f18c7b25fe3e467f837647d07ab0a78aa8d2b.tar.gz
vcxsrv-462f18c7b25fe3e467f837647d07ab0a78aa8d2b.tar.bz2
vcxsrv-462f18c7b25fe3e467f837647d07ab0a78aa8d2b.zip
Merged origin/release (checked in because wanted to merge new stuff)
Diffstat (limited to 'openssl/crypto/ts/ts_verify_ctx.c')
-rw-r--r--openssl/crypto/ts/ts_verify_ctx.c169
1 files changed, 86 insertions, 83 deletions
diff --git a/openssl/crypto/ts/ts_verify_ctx.c b/openssl/crypto/ts/ts_verify_ctx.c
index 609b7735d..3e6fcb57b 100644
--- a/openssl/crypto/ts/ts_verify_ctx.c
+++ b/openssl/crypto/ts/ts_verify_ctx.c
@@ -1,6 +1,7 @@
/* crypto/ts/ts_verify_ctx.c */
-/* Written by Zoltan Glozik (zglozik@stones.com) for the OpenSSL
- * project 2003.
+/*
+ * Written by Zoltan Glozik (zglozik@stones.com) for the OpenSSL project
+ * 2003.
*/
/* ====================================================================
* Copyright (c) 2006 The OpenSSL Project. All rights reserved.
@@ -10,7 +11,7 @@
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
@@ -61,99 +62,101 @@
#include <openssl/ts.h>
TS_VERIFY_CTX *TS_VERIFY_CTX_new(void)
- {
- TS_VERIFY_CTX *ctx =
- (TS_VERIFY_CTX *) OPENSSL_malloc(sizeof(TS_VERIFY_CTX));
- if (ctx)
- memset(ctx, 0, sizeof(TS_VERIFY_CTX));
- else
- TSerr(TS_F_TS_VERIFY_CTX_NEW, ERR_R_MALLOC_FAILURE);
- return ctx;
- }
+{
+ TS_VERIFY_CTX *ctx =
+ (TS_VERIFY_CTX *)OPENSSL_malloc(sizeof(TS_VERIFY_CTX));
+ if (ctx)
+ memset(ctx, 0, sizeof(TS_VERIFY_CTX));
+ else
+ TSerr(TS_F_TS_VERIFY_CTX_NEW, ERR_R_MALLOC_FAILURE);
+ return ctx;
+}
void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx)
- {
- OPENSSL_assert(ctx != NULL);
- memset(ctx, 0, sizeof(TS_VERIFY_CTX));
- }
+{
+ OPENSSL_assert(ctx != NULL);
+ memset(ctx, 0, sizeof(TS_VERIFY_CTX));
+}
void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx)
- {
- if (!ctx) return;
+{
+ if (!ctx)
+ return;
- TS_VERIFY_CTX_cleanup(ctx);
- OPENSSL_free(ctx);
- }
+ TS_VERIFY_CTX_cleanup(ctx);
+ OPENSSL_free(ctx);
+}
void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx)
- {
- if (!ctx) return;
+{
+ if (!ctx)
+ return;
- X509_STORE_free(ctx->store);
- sk_X509_pop_free(ctx->certs, X509_free);
+ X509_STORE_free(ctx->store);
+ sk_X509_pop_free(ctx->certs, X509_free);
- ASN1_OBJECT_free(ctx->policy);
+ ASN1_OBJECT_free(ctx->policy);
- X509_ALGOR_free(ctx->md_alg);
- OPENSSL_free(ctx->imprint);
-
- BIO_free_all(ctx->data);
+ X509_ALGOR_free(ctx->md_alg);
+ OPENSSL_free(ctx->imprint);
- ASN1_INTEGER_free(ctx->nonce);
+ BIO_free_all(ctx->data);
- GENERAL_NAME_free(ctx->tsa_name);
+ ASN1_INTEGER_free(ctx->nonce);
- TS_VERIFY_CTX_init(ctx);
- }
+ GENERAL_NAME_free(ctx->tsa_name);
+
+ TS_VERIFY_CTX_init(ctx);
+}
TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx)
- {
- TS_VERIFY_CTX *ret = ctx;
- ASN1_OBJECT *policy;
- TS_MSG_IMPRINT *imprint;
- X509_ALGOR *md_alg;
- ASN1_OCTET_STRING *msg;
- const ASN1_INTEGER *nonce;
-
- OPENSSL_assert(req != NULL);
- if (ret)
- TS_VERIFY_CTX_cleanup(ret);
- else
- if (!(ret = TS_VERIFY_CTX_new())) return NULL;
-
- /* Setting flags. */
- ret->flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE);
-
- /* Setting policy. */
- if ((policy = TS_REQ_get_policy_id(req)) != NULL)
- {
- if (!(ret->policy = OBJ_dup(policy))) goto err;
- }
- else
- ret->flags &= ~TS_VFY_POLICY;
-
- /* Setting md_alg, imprint and imprint_len. */
- imprint = TS_REQ_get_msg_imprint(req);
- md_alg = TS_MSG_IMPRINT_get_algo(imprint);
- if (!(ret->md_alg = X509_ALGOR_dup(md_alg))) goto err;
- msg = TS_MSG_IMPRINT_get_msg(imprint);
- ret->imprint_len = ASN1_STRING_length(msg);
- if (!(ret->imprint = OPENSSL_malloc(ret->imprint_len))) goto err;
- memcpy(ret->imprint, ASN1_STRING_data(msg), ret->imprint_len);
-
- /* Setting nonce. */
- if ((nonce = TS_REQ_get_nonce(req)) != NULL)
- {
- if (!(ret->nonce = ASN1_INTEGER_dup(nonce))) goto err;
- }
- else
- ret->flags &= ~TS_VFY_NONCE;
-
- return ret;
+{
+ TS_VERIFY_CTX *ret = ctx;
+ ASN1_OBJECT *policy;
+ TS_MSG_IMPRINT *imprint;
+ X509_ALGOR *md_alg;
+ ASN1_OCTET_STRING *msg;
+ const ASN1_INTEGER *nonce;
+
+ OPENSSL_assert(req != NULL);
+ if (ret)
+ TS_VERIFY_CTX_cleanup(ret);
+ else if (!(ret = TS_VERIFY_CTX_new()))
+ return NULL;
+
+ /* Setting flags. */
+ ret->flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE);
+
+ /* Setting policy. */
+ if ((policy = TS_REQ_get_policy_id(req)) != NULL) {
+ if (!(ret->policy = OBJ_dup(policy)))
+ goto err;
+ } else
+ ret->flags &= ~TS_VFY_POLICY;
+
+ /* Setting md_alg, imprint and imprint_len. */
+ imprint = TS_REQ_get_msg_imprint(req);
+ md_alg = TS_MSG_IMPRINT_get_algo(imprint);
+ if (!(ret->md_alg = X509_ALGOR_dup(md_alg)))
+ goto err;
+ msg = TS_MSG_IMPRINT_get_msg(imprint);
+ ret->imprint_len = ASN1_STRING_length(msg);
+ if (!(ret->imprint = OPENSSL_malloc(ret->imprint_len)))
+ goto err;
+ memcpy(ret->imprint, ASN1_STRING_data(msg), ret->imprint_len);
+
+ /* Setting nonce. */
+ if ((nonce = TS_REQ_get_nonce(req)) != NULL) {
+ if (!(ret->nonce = ASN1_INTEGER_dup(nonce)))
+ goto err;
+ } else
+ ret->flags &= ~TS_VFY_NONCE;
+
+ return ret;
err:
- if (ctx)
- TS_VERIFY_CTX_cleanup(ctx);
- else
- TS_VERIFY_CTX_free(ret);
- return NULL;
- }
+ if (ctx)
+ TS_VERIFY_CTX_cleanup(ctx);
+ else
+ TS_VERIFY_CTX_free(ret);
+ return NULL;
+}