diff options
| author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2020-07-28 06:29:12 +0000 |
|---|---|---|
| committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2020-07-28 06:29:12 +0000 |
| commit | 241522286abcc2b6860715dcc6e59593d24bae99 (patch) | |
| tree | 271ef6e545e17aa2fb0b35f858df3de7ab99d839 /sysutils/rsyncrypto/files/patch-crypto.cpp | |
| parent | Update to the 20200724 snapshot of GCC 9.3.1. (diff) | |
Allow to build against pre-1.1.0 versions of OpenSSL which are still
used in FreeBSD 11.x and would be supported until September 30, 2021.
PR: 248168
Notes
Notes:
svn path=/head/; revision=543578
Diffstat (limited to 'sysutils/rsyncrypto/files/patch-crypto.cpp')
| -rw-r--r-- | sysutils/rsyncrypto/files/patch-crypto.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sysutils/rsyncrypto/files/patch-crypto.cpp b/sysutils/rsyncrypto/files/patch-crypto.cpp new file mode 100644 index 000000000000..1a6d439b2298 --- /dev/null +++ b/sysutils/rsyncrypto/files/patch-crypto.cpp @@ -0,0 +1,16 @@ +--- crypto.cpp.orig 2016-11-11 20:23:00 UTC ++++ crypto.cpp +@@ -155,9 +155,13 @@ std::unique_ptr<key> decrypt_header( file_t fromfd, RS + unsigned char *buff=filemap.get_uc()+sizeof(HEADER_ENCRYPTION_VERSION); + auto_array<unsigned char> decrypted(new unsigned char[headsize]); + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ if( (prv->p==nullptr || prv->q==nullptr) ) { ++#else + const BIGNUM *p, *q; + RSA_get0_factors(prv, &p, &q); + if( (p==nullptr || q==nullptr) ) { ++#endif + // This is not a private key! + throw rscerror("Neither AES session key nor RSA private key present - cannot decrypt using only public key"); + } |
