1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-07 02:10:05 +00:00

Fix compilation with openssl 1.1.0.

This commit is contained in:
ly1217
2018-05-13 23:48:36 -07:00
parent c4a6722937
commit 1fe121082d
8 changed files with 87 additions and 85 deletions

View File

@@ -24,16 +24,16 @@ blocktx_generate_encrypt_key (unsigned char *session_key, int sk_len,
}
int
blocktx_encrypt_init (EVP_CIPHER_CTX *ctx,
blocktx_encrypt_init (EVP_CIPHER_CTX **ctx,
const unsigned char *key,
const unsigned char *iv)
{
int ret;
/* Prepare CTX for encryption. */
EVP_CIPHER_CTX_init (ctx);
*ctx = EVP_CIPHER_CTX_new ();
ret = EVP_EncryptInit_ex (ctx,
ret = EVP_EncryptInit_ex (*ctx,
EVP_aes_256_cbc(), /* cipher mode */
NULL, /* engine, NULL for default */
key, /* derived key */
@@ -45,16 +45,16 @@ blocktx_encrypt_init (EVP_CIPHER_CTX *ctx,
}
int
blocktx_decrypt_init (EVP_CIPHER_CTX *ctx,
blocktx_decrypt_init (EVP_CIPHER_CTX **ctx,
const unsigned char *key,
const unsigned char *iv)
{
int ret;
/* Prepare CTX for decryption. */
EVP_CIPHER_CTX_init (ctx);
*ctx = EVP_CIPHER_CTX_new();
ret = EVP_DecryptInit_ex (ctx,
ret = EVP_DecryptInit_ex (*ctx,
EVP_aes_256_cbc(), /* cipher mode */
NULL, /* engine, NULL for default */
key, /* derived key */
@@ -138,7 +138,7 @@ static int
handle_frame_content (struct evbuffer *buf, FrameParser *parser)
{
char *frame;
EVP_CIPHER_CTX ctx;
EVP_CIPHER_CTX *ctx;
char *out;
int outlen, outlen2;
int ret = 0;
@@ -158,7 +158,7 @@ handle_frame_content (struct evbuffer *buf, FrameParser *parser)
evbuffer_remove (input, frame, parser->enc_frame_len);
if (EVP_DecryptUpdate (&ctx,
if (EVP_DecryptUpdate (ctx,
(unsigned char *)out, &outlen,
(unsigned char *)frame,
parser->enc_frame_len) == 0) {
@@ -167,7 +167,7 @@ handle_frame_content (struct evbuffer *buf, FrameParser *parser)
goto out;
}
if (EVP_DecryptFinal_ex (&ctx, (unsigned char *)(out + outlen), &outlen2) == 0)
if (EVP_DecryptFinal_ex (ctx, (unsigned char *)(out + outlen), &outlen2) == 0)
{
seaf_warning ("Failed to decrypt frame content.\n");
ret = -1;
@@ -180,7 +180,7 @@ out:
g_free (frame);
g_free (out);
parser->enc_frame_len = 0;
EVP_CIPHER_CTX_cleanup (&ctx);
EVP_CIPHER_CTX_free (ctx);
return ret;
}
@@ -222,7 +222,7 @@ handle_frame_fragment_content (struct evbuffer *buf, FrameParser *parser)
out = g_malloc (fragment_len + ENC_BLOCK_SIZE);
if (EVP_DecryptUpdate (&parser->ctx,
if (EVP_DecryptUpdate (parser->ctx,
(unsigned char *)out, &outlen,
(unsigned char *)fragment, fragment_len) == 0) {
seaf_warning ("Failed to decrypt frame fragment.\n");
@@ -237,7 +237,7 @@ handle_frame_fragment_content (struct evbuffer *buf, FrameParser *parser)
parser->remain -= fragment_len;
if (parser->remain <= 0) {
if (EVP_DecryptFinal_ex (&parser->ctx,
if (EVP_DecryptFinal_ex (parser->ctx,
(unsigned char *)out,
&outlen) == 0) {
seaf_warning ("Failed to decrypt frame fragment.\n");
@@ -249,7 +249,7 @@ handle_frame_fragment_content (struct evbuffer *buf, FrameParser *parser)
if (ret < 0)
goto out;
EVP_CIPHER_CTX_cleanup (&parser->ctx);
EVP_CIPHER_CTX_free (parser->ctx);
parser->enc_init = FALSE;
parser->enc_frame_len = 0;
}
@@ -258,7 +258,7 @@ out:
g_free (fragment);
g_free (out);
if (ret < 0) {
EVP_CIPHER_CTX_cleanup (&parser->ctx);
EVP_CIPHER_CTX_free (parser->ctx);
parser->enc_init = FALSE;
parser->enc_frame_len = 0;
}