diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-01-31 16:00:27 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-01-31 16:00:27 +0000 |
commit | 1db00cc6e94b90c08090bb5b8c406622946c4ae5 (patch) | |
tree | c34bf820c2809fb7e08ed5564df2a25cf759516f /sys-fs/lessfs/files/lessfs-1.7.0-openssl11.patch | |
parent | 693cc9b6e847a01c1bb692153021aaf9fb0fab25 (diff) |
gentoo resync 31.01.2019
Diffstat (limited to 'sys-fs/lessfs/files/lessfs-1.7.0-openssl11.patch')
-rw-r--r-- | sys-fs/lessfs/files/lessfs-1.7.0-openssl11.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sys-fs/lessfs/files/lessfs-1.7.0-openssl11.patch b/sys-fs/lessfs/files/lessfs-1.7.0-openssl11.patch new file mode 100644 index 000000000000..45f24eba3b15 --- /dev/null +++ b/sys-fs/lessfs/files/lessfs-1.7.0-openssl11.patch @@ -0,0 +1,72 @@ +--- lessfs-1.7.0/lib_crypto.c.org 2011-09-30 20:13:08.000000000 +0200 ++++ lessfs-1.7.0/lib_crypto.c 2018-09-26 13:16:08.995599693 +0200 +@@ -78,7 +78,7 @@ unsigned char *safepassword() + DAT *lfsencrypt(unsigned char *unenc, unsigned long size) + { + unsigned char *safepasswd; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + DAT *encoded; + int olen, tlen; + +@@ -86,19 +86,24 @@ DAT *lfsencrypt(unsigned char *unenc, un + + pthread_mutex_lock(&crypto_mutex); + safepasswd = safepassword(); +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit(&ctx, EVP_bf_cbc(), safepasswd, config->iv); ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ die_cryptoerr("can't allocate memory for new ctx"); ++ } ++ EVP_EncryptInit(ctx, EVP_bf_cbc(), safepasswd, config->iv); + encoded = s_malloc(sizeof(DAT)); + encoded->data = s_malloc(8 + size); //Blowfish can grow 64 bits + +- if (EVP_EncryptUpdate(&ctx, encoded->data, &olen, unenc, size) != 1) { ++ if (EVP_EncryptUpdate(ctx, encoded->data, &olen, unenc, size) != 1) { ++ EVP_CIPHER_CTX_free(ctx); + die_cryptoerr("error in encrypt update\n"); + } + +- if (EVP_EncryptFinal(&ctx, encoded->data + olen, &tlen) != 1) { ++ if (EVP_EncryptFinal(ctx, encoded->data + olen, &tlen) != 1) { ++ EVP_CIPHER_CTX_free(ctx); + die_cryptoerr("error in encrypt final\n"); + } +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + encoded->size = olen + tlen; + if (encoded->size > 8 + size) { + die_cryptoerr +@@ -123,20 +128,24 @@ DAT *lfsdecrypt(DAT * data) + decrypted->data = s_malloc(data->size); + safepasswd = safepassword(); + +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_DecryptInit(&ctx, EVP_bf_cbc(), safepasswd, config->iv); ++ EVP_CIPHER_CTX *ctx; ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) ++ die_cryptoerr("can't allocate memory for new ctx"); ++ EVP_DecryptInit(ctx, EVP_bf_cbc(), safepasswd, config->iv); + + if (EVP_DecryptUpdate +- (&ctx, decrypted->data, &olen, data->data, data->size) != 1) { ++ (ctx, decrypted->data, &olen, data->data, data->size) != 1) { ++ EVP_CIPHER_CTX_free(ctx); + die_cryptoerr("Unexpected fatal error while decrypting.\n"); + } + +- if (EVP_DecryptFinal(&ctx, decrypted->data + olen, &tlen) != 1) { ++ if (EVP_DecryptFinal(ctx, decrypted->data + olen, &tlen) != 1) { ++ EVP_CIPHER_CTX_free(ctx); + die_cryptoerr("Unexpected fatal error in decrypt final.\n"); + } + olen += tlen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + decrypted->size = olen; + s_free(safepasswd); + pthread_mutex_unlock(&crypto_mutex); |