diff --git a/srcpkgs/attic/patches/openssl.diff b/srcpkgs/attic/patches/openssl.diff new file mode 100644 index 00000000000..c289a1dc267 --- /dev/null +++ b/srcpkgs/attic/patches/openssl.diff @@ -0,0 +1,59 @@ +--- attic/crypto.pyx ++++ attic/crypto.pyx +@@ -23,8 +23,9 @@ cdef extern from "openssl/evp.h": + pass + const EVP_MD *EVP_sha256() + const EVP_CIPHER *EVP_aes_256_ctr() +- void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a) +- void EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a) ++ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new() ++ const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *a) ++ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a) + + int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, + const unsigned char *key, const unsigned char *iv) +@@ -84,16 +85,16 @@ def get_random_bytes(n): + cdef class AES: + """A thin wrapper around the OpenSSL EVP cipher API + """ +- cdef EVP_CIPHER_CTX ctx ++ cdef EVP_CIPHER_CTX * ctx + + def __cinit__(self, key, iv=None): +- EVP_CIPHER_CTX_init(&self.ctx) +- if not EVP_EncryptInit_ex(&self.ctx, EVP_aes_256_ctr(), NULL, NULL, NULL): ++ self.ctx = EVP_CIPHER_CTX_new(); ++ if not EVP_EncryptInit_ex(self.ctx, EVP_aes_256_ctr(), NULL, NULL, NULL): + raise Exception('EVP_EncryptInit_ex failed') + self.reset(key, iv) + + def __dealloc__(self): +- EVP_CIPHER_CTX_cleanup(&self.ctx) ++ EVP_CIPHER_CTX_free(self.ctx) + + def reset(self, key=None, iv=None): + cdef const unsigned char *key2 = NULL +@@ -102,12 +103,12 @@ cdef class AES: + key2 = key + if iv: + iv2 = iv +- if not EVP_EncryptInit_ex(&self.ctx, NULL, NULL, key2, iv2): ++ if not EVP_EncryptInit_ex(self.ctx, NULL, NULL, key2, iv2): + raise Exception('EVP_EncryptInit_ex failed') + + @property + def iv(self): +- return self.ctx.iv[:16] ++ return EVP_CIPHER_CTX_iv(self.ctx)[:16] + + def encrypt(self, data): + cdef int inl = len(data) +@@ -116,7 +117,7 @@ cdef class AES: + if not out: + raise MemoryError + try: +- if not EVP_EncryptUpdate(&self.ctx, out, &outl, data, inl): ++ if not EVP_EncryptUpdate(self.ctx, out, &outl, data, inl): + raise Exception('EVP_EncryptUpdate failed') + return out[:inl] + finally: diff --git a/srcpkgs/attic/template b/srcpkgs/attic/template index 1b08972b359..153c0341edc 100644 --- a/srcpkgs/attic/template +++ b/srcpkgs/attic/template @@ -1,11 +1,11 @@ # Template file for 'attic' pkgname=attic version=0.16 -revision=19 +revision=20 wrksrc="Attic-$version" build_style=python3-module hostmakedepends="python3-setuptools python3-Cython python3-Sphinx" -makedepends="python3-devel libressl-devel acl-devel" +makedepends="python3-devel openssl-devel acl-devel" depends="python3-msgpack python3-llfuse" short_desc="Deduplicating backup program for efficient and secure backups" maintainer="Leah Neukirchen "