From 2891d29af8907ce881662f4a02844926d7a293c7 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 31 Dec 2018 13:43:35 +0000 Subject: gentoo resync : 31.12.2018 --- sys-fs/dmg2img/Manifest | 6 +- sys-fs/dmg2img/dmg2img-1.6.5.ebuild | 35 ---- sys-fs/dmg2img/dmg2img-1.6.6.ebuild | 35 ---- sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild | 39 ++++ sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch | 202 +++++++++++++++++++++ 5 files changed, 243 insertions(+), 74 deletions(-) delete mode 100644 sys-fs/dmg2img/dmg2img-1.6.5.ebuild delete mode 100644 sys-fs/dmg2img/dmg2img-1.6.6.ebuild create mode 100644 sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild create mode 100644 sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch (limited to 'sys-fs/dmg2img') diff --git a/sys-fs/dmg2img/Manifest b/sys-fs/dmg2img/Manifest index 5dee5c9a81a2..0d3125023411 100644 --- a/sys-fs/dmg2img/Manifest +++ b/sys-fs/dmg2img/Manifest @@ -1,7 +1,5 @@ -DIST dmg2img-1.6.5.tar.gz 23442 BLAKE2B d5504436ae95b0b6122924e6e950d8ca6c851912449c1f47307b34c50eae8446613ddfba2b046aa4b0638301d19809ebae33aa651ead4308dadd644a48a2c2f1 SHA512 31528a23986848a8ab319768a8254db6b0035324cbac8328ef865b98ab2cddfd606da19a27202c4ef53cdc5dda75aca489859f82115a5dde6fe9b1f20cd6bd46 -DIST dmg2img-1.6.6.tar.gz 23115 BLAKE2B ba942c2d5f12af901520acf60c8925cc38762dce60b250580d63efdc26ddb381619322a4c7ae92ebbb95783cfac9babca43d83c58e1af60dd07669f842df7715 SHA512 3bfea079f2bec24a56146314fe9135f92dae934e01edbc8435b0aff88d17ff8c3626e533435fad41ccee5d75a6262230ae87c75147744a1bf6625b656fc75713 +AUX dmg2img-1.6.7-openssl11.patch 7080 BLAKE2B 9815c1c0b3c23f2dae7da65e380ee4a2f2c460ddfa1c5e8e153c2b5b1213139d2052957b40f9c15042b750ed2c7318c36acc6de470b9da66a93550eb913964f4 SHA512 1addd0d349ad21c0fae423fe558583d9457aa2bcdf4f8fe16d408e703437faaa5b1324f38dfb66e9f3d811e89181fc0378978ffc852e87675fde0e416fccb136 DIST dmg2img-1.6.7.tar.gz 23238 BLAKE2B d4dc8da2974bc296e8aba21de816413df797322c6194e4ece3d0900d64fcd33084b29be6172a45bdc3f515c2e10544f107be2c7f0e6b7d247cf5d6bc5ad03e2f SHA512 4c42841c5cdbf868b6038648a6c83e78d4b7f2010f7065d7b3f4c2c04d13af9489716c1dfa867aff5f3c3b3eef96dc3fc0610eff13fec139265f37f468e339e6 -EBUILD dmg2img-1.6.5.ebuild 660 BLAKE2B 59d03d4196c800e7ec3289c68445c776036a94c797b04dcfb4b43de65328bd3e6903c3f34f2d9a9de2ec4c205b990ce3df32bb8ce3a0cbd35cecb730a22e6166 SHA512 24b8a380d574417196b895c264d51f2806666911e1ccb20cf3a773e216935ac5e93f0615eaf5864213439c1f480b855cc3c714c83d6c47e876402451b321b75a -EBUILD dmg2img-1.6.6.ebuild 663 BLAKE2B 27da57b4e2e2c63c00352e665853af8fb8def684229348d9492c8bb32e57b52f14df37983737ff65e0b120061509baba3fe8d5eac6a5042501e77d29cce81c1e SHA512 ed1bff42a9b43b941685e88d03144743a20ce5ef00720eff5d0ee2159185dda5101ef40b1755e8ee9c7bb0c0ab727b00ca14eb95290fc3b5ea25856c97895f8d +EBUILD dmg2img-1.6.7-r1.ebuild 712 BLAKE2B b44b7eb1499da8afdf2b7d5126a2799832a3820bf2ef7d7cbcc308f9e870509434478baccc3a0a48d5d77ced47523ac6b7e5659109aabecb8d5797d416532bcc SHA512 fc6f938e199c2d85a268958197b751c9cd86cc3cfe4bd46ab966ab8928eb6cf1b2738b11e6000656c0db67b15507774448caeed7b5e0bb8e7a58b233f463a862 EBUILD dmg2img-1.6.7.ebuild 663 BLAKE2B 27da57b4e2e2c63c00352e665853af8fb8def684229348d9492c8bb32e57b52f14df37983737ff65e0b120061509baba3fe8d5eac6a5042501e77d29cce81c1e SHA512 ed1bff42a9b43b941685e88d03144743a20ce5ef00720eff5d0ee2159185dda5101ef40b1755e8ee9c7bb0c0ab727b00ca14eb95290fc3b5ea25856c97895f8d MISC metadata.xml 446 BLAKE2B 3600c0ef451adcf401547ce76a13372182ea3c40c8670ace741f8a342dfc9cc3be3a6910a5e93883e3d77b55709ac996d8a1380724fae8da5f02efbdea637da0 SHA512 412c28e15abe2581fa29247d58b239a140171b018bcdfd5b437cb1991239eff33ce4bee9ecb14dada6bf74105f13ae230dc6dc46e1906952b81cb7491d3e9449 diff --git a/sys-fs/dmg2img/dmg2img-1.6.5.ebuild b/sys-fs/dmg2img/dmg2img-1.6.5.ebuild deleted file mode 100644 index 914a2e834b4b..000000000000 --- a/sys-fs/dmg2img/dmg2img-1.6.5.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=4 -inherit toolchain-funcs - -DESCRIPTION="Converts Apple DMG files to standard HFS+ images" -HOMEPAGE="http://vu1tur.eu.org/tools" -SRC_URI="http://vu1tur.eu.org/tools/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -RDEPEND="dev-libs/openssl - app-arch/bzip2 - sys-libs/zlib" -DEPEND="${RDEPEND} - sys-apps/sed" - -src_prepare() { - sed -i -e 's:-s:$(LDFLAGS):g' Makefile || die "sed failed" -} - -src_compile() { - tc-export CC - emake CFLAGS="${CFLAGS}" -} - -src_install() { - dobin dmg2img vfdecrypt - dodoc README - doman vfdecrypt.1 -} diff --git a/sys-fs/dmg2img/dmg2img-1.6.6.ebuild b/sys-fs/dmg2img/dmg2img-1.6.6.ebuild deleted file mode 100644 index a212ddf78d63..000000000000 --- a/sys-fs/dmg2img/dmg2img-1.6.6.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit toolchain-funcs - -DESCRIPTION="Converts Apple DMG files to standard HFS+ images" -HOMEPAGE="http://vu1tur.eu.org/tools" -SRC_URI="http://vu1tur.eu.org/tools/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -RDEPEND="dev-libs/openssl:0= - app-arch/bzip2 - sys-libs/zlib" -DEPEND="${RDEPEND} - sys-apps/sed" - -src_prepare() { - sed -i -e 's:-s:$(LDFLAGS):g' Makefile || die "sed failed" -} - -src_compile() { - tc-export CC - emake CFLAGS="${CFLAGS}" -} - -src_install() { - dobin dmg2img vfdecrypt - dodoc README - doman vfdecrypt.1 -} diff --git a/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild b/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild new file mode 100644 index 000000000000..bf3ba7ee1f50 --- /dev/null +++ b/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit toolchain-funcs + +DESCRIPTION="Converts Apple DMG files to standard HFS+ images" +HOMEPAGE="http://vu1tur.eu.org/tools" +SRC_URI="http://vu1tur.eu.org/tools/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +RDEPEND="dev-libs/openssl:0= + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-openssl11.patch #674168 +) + +src_prepare() { + default + sed -i -e 's:-s:$(LDFLAGS):g' Makefile || die "sed failed" +} + +src_compile() { + tc-export CC + emake CFLAGS="${CFLAGS}" +} + +src_install() { + dobin dmg2img vfdecrypt + dodoc README + doman vfdecrypt.1 +} diff --git a/sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch b/sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch new file mode 100644 index 000000000000..53b73038ade1 --- /dev/null +++ b/sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch @@ -0,0 +1,202 @@ +diff --git a/old/vfdecrypt.c b/vfdecrypt.c +index 56d3530..b1a36d3 100644 +--- a/old/vfdecrypt.c ++++ b/vfdecrypt.c +@@ -183,7 +183,7 @@ void adjust_v2_header_byteorder(cencrypted_v2_pwheader *pwhdr) { + pwhdr->encrypted_keyblob_size = htonl(pwhdr->encrypted_keyblob_size); + } + +-HMAC_CTX hmacsha1_ctx; ++HMAC_CTX *hmacsha1_ctx; + AES_KEY aes_decrypt_key; + int CHUNK_SIZE=4096; // default + +@@ -196,9 +196,9 @@ void compute_iv(uint32_t chunk_no, uint8_t *iv) { + unsigned int mdLen; + + chunk_no = OSSwapHostToBigInt32(chunk_no); +- HMAC_Init_ex(&hmacsha1_ctx, NULL, 0, NULL, NULL); +- HMAC_Update(&hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t)); +- HMAC_Final(&hmacsha1_ctx, mdResult, &mdLen); ++ HMAC_Init_ex(hmacsha1_ctx, NULL, 0, NULL, NULL); ++ HMAC_Update(hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t)); ++ HMAC_Final(hmacsha1_ctx, mdResult, &mdLen); + memcpy(iv, mdResult, CIPHER_BLOCKSIZE); + } + +@@ -212,52 +212,75 @@ void decrypt_chunk(uint8_t *ctext, uint8_t *ptext, uint32_t chunk_no) { + /* DES3-EDE unwrap operation loosely based on to RFC 2630, section 12.6 + * wrapped_key has to be 40 bytes in length. */ + int apple_des3_ede_unwrap_key(uint8_t *wrapped_key, int wrapped_key_len, uint8_t *decryptKey, uint8_t *unwrapped_key) { +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + uint8_t *TEMP1, *TEMP2, *CEKICV; + uint8_t IV[8] = { 0x4a, 0xdd, 0xa2, 0x2c, 0x79, 0xe8, 0x21, 0x05 }; + int outlen, tmplen, i; + +- EVP_CIPHER_CTX_init(&ctx); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ ctx = EVP_CIPHER_CTX_new(); ++#else ++ ctx = malloc(sizeof(*ctx)); ++#endif ++ if (!ctx) { ++ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n"); ++ return(-1); ++ } ++ ++ EVP_CIPHER_CTX_init(ctx); + /* result of the decryption operation shouldn't be bigger than ciphertext */ + TEMP1 = malloc(wrapped_key_len); + TEMP2 = malloc(wrapped_key_len); + CEKICV = malloc(wrapped_key_len); + /* uses PKCS#7 padding for symmetric key operations by default */ +- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV); ++ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV); + +- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) { ++ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) { + fprintf(stderr, "internal error (1) during key unwrap operation!\n"); + return(-1); + } +- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) { ++ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) { + fprintf(stderr, "internal error (2) during key unwrap operation!\n"); + return(-1); + } + outlen += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ EVP_CIPHER_CTX_reset(ctx); ++#else ++ EVP_CIPHER_CTX_cleanup(ctx); ++#endif + + /* reverse order of TEMP3 */ + for(i = 0; i < outlen; i++) TEMP2[i] = TEMP1[outlen - i - 1]; + +- EVP_CIPHER_CTX_init(&ctx); ++ EVP_CIPHER_CTX_init(ctx); + /* uses PKCS#7 padding for symmetric key operations by default */ +- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2); +- if(!EVP_DecryptUpdate(&ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) { ++ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2); ++ if(!EVP_DecryptUpdate(ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) { + fprintf(stderr, "internal error (3) during key unwrap operation!\n"); + return(-1); + } +- if(!EVP_DecryptFinal_ex(&ctx, CEKICV + outlen, &tmplen)) { ++ if(!EVP_DecryptFinal_ex(ctx, CEKICV + outlen, &tmplen)) { + fprintf(stderr, "internal error (4) during key unwrap operation!\n"); + return(-1); + } + + outlen += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ EVP_CIPHER_CTX_reset(ctx); ++#else ++ EVP_CIPHER_CTX_cleanup(ctx); ++#endif + + memcpy(unwrapped_key, CEKICV+4, outlen-4); + free(TEMP1); + free(TEMP2); + free(CEKICV); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ EVP_CIPHER_CTX_free(ctx); ++#else ++ free(ctx); ++#endif + return(0); + } + +@@ -279,31 +302,46 @@ int unwrap_v1_header(char *passphrase, cencrypted_v1_header *header, uint8_t *ae + int unwrap_v2_header(char *passphrase, cencrypted_v2_pwheader *header, uint8_t *aes_key, uint8_t *hmacsha1_key) { + /* derived key is a 3DES-EDE key */ + uint8_t derived_key[192/8]; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + uint8_t *TEMP1; + int outlen, tmplen; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ ctx = EVP_CIPHER_CTX_new(); ++#else ++ ctx = malloc(sizeof(*ctx)); ++#endif ++ if (!ctx) { ++ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n"); ++ return(-1); ++ } ++ + PKCS5_PBKDF2_HMAC_SHA1(passphrase, strlen(passphrase), (unsigned char*)header->kdf_salt, 20, + PBKDF2_ITERATION_COUNT, sizeof(derived_key), derived_key); + + print_hex(derived_key, 192/8); + +- EVP_CIPHER_CTX_init(&ctx); ++ EVP_CIPHER_CTX_init(ctx); + /* result of the decryption operation shouldn't be bigger than ciphertext */ + TEMP1 = malloc(header->encrypted_keyblob_size); + /* uses PKCS#7 padding for symmetric key operations by default */ +- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv); ++ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv); + +- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) { ++ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) { + fprintf(stderr, "internal error (1) during key unwrap operation!\n"); + return(-1); + } +- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) { ++ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) { + fprintf(stderr, "internal error (2) during key unwrap operation!\n"); + return(-1); + } + outlen += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ EVP_CIPHER_CTX_free(ctx); ++#else ++ EVP_CIPHER_CTX_cleanup(ctx); ++ free(ctx); ++#endif + memcpy(aes_key, TEMP1, 16); + memcpy(hmacsha1_key, TEMP1, 20); + +@@ -446,8 +484,21 @@ int main(int argc, char *argv[]) { + CHUNK_SIZE = v2header.blocksize; + } + +- HMAC_CTX_init(&hmacsha1_ctx); +- HMAC_Init_ex(&hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ hmacsha1_ctx = HMAC_CTX_new(); ++#else ++ hmacsha1_ctx = malloc(sizeof(*hmacsha1_ctx)); ++#endif ++ if (!hmacsha1_ctx) { ++ fprintf(stderr, "Out of memory: HMAC CTX!\n"); ++ exit(1); ++ } ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ HMAC_CTX_reset(hmacsha1_ctx); ++#else ++ HMAC_CTX_init(hmacsha1_ctx); ++#endif ++ HMAC_Init_ex(hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL); + AES_set_decrypt_key(aes_key, CIPHER_KEY_LENGTH * 8, &aes_decrypt_key); + + if (verbose >= 1) { +@@ -472,5 +523,11 @@ int main(int argc, char *argv[]) { + } + + if (verbose) fprintf(stderr, "%"PRIX32" chunks written\n", chunk_no); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ HMAC_CTX_free(hmacsha1_ctx); ++#else ++ HMAC_CTX_cleanup(hmacsha1_ctx); ++ free(hmacsha1_ctx); ++#endif + return(0); + } -- cgit v1.2.3