X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fevp_locl.h;h=936824a85132db2d1a6aaa2f182821e9e3f7150f;hp=7f3526f1ba438605ade48b881592ff3774079500;hb=8c8cf0d96240663749897b44898b3964fa3363e0;hpb=aa6bb1352b1026b20a23b49da4efdcf171926eb0;ds=sidebyside diff --git a/crypto/evp/evp_locl.h b/crypto/evp/evp_locl.h index 7f3526f1ba..936824a851 100644 --- a/crypto/evp/evp_locl.h +++ b/crypto/evp/evp_locl.h @@ -1,7 +1,7 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the OpenSSL license (the "License"). You may not use + * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -19,6 +19,10 @@ struct evp_md_ctx_st { EVP_PKEY_CTX *pctx; /* Update function: usually copied from EVP_MD */ int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); + + /* Provider ctx */ + void *provctx; + EVP_MD *fetched_digest; } /* EVP_MD_CTX */ ; struct evp_cipher_ctx_st { @@ -41,6 +45,16 @@ struct evp_cipher_ctx_st { unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */ } /* EVP_CIPHER_CTX */ ; +struct evp_mac_ctx_st { + const EVP_MAC *meth; /* Method structure */ + void *data; /* Individual method data */ +} /* EVP_MAC_CTX */; + +struct evp_kdf_ctx_st { + const EVP_KDF_METHOD *kmeth; + EVP_KDF_IMPL *impl; /* Algorithm-specific data */ +} /* EVP_KDF_CTX */ ; + int PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, ASN1_TYPE *param, const EVP_CIPHER *c, const EVP_MD *md, @@ -59,8 +73,20 @@ struct evp_Encode_Ctx_st { unsigned char enc_data[80]; /* number read on current line */ int line_num; - int expect_nl; + unsigned int flags; }; typedef struct evp_pbe_st EVP_PBE_CTL; DEFINE_STACK_OF(EVP_PBE_CTL) + +int is_partially_overlapping(const void *ptr1, const void *ptr2, int len); + +#include +#include + +void *evp_generic_fetch(OPENSSL_CTX *ctx, int operation_id, + const char *algorithm, const char *properties, + void *(*new_method)(int nid, const OSSL_DISPATCH *fns, + OSSL_PROVIDER *prov), + int (*upref_method)(void *), + void (*free_method)(void *));