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:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user