diff options
Diffstat (limited to 'sys-apps/ipmitool')
-rw-r--r-- | sys-apps/ipmitool/Manifest | 6 | ||||
-rw-r--r-- | sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch | 145 | ||||
-rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.14-r1.ebuild | 82 | ||||
-rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild | 6 |
4 files changed, 152 insertions, 87 deletions
diff --git a/sys-apps/ipmitool/Manifest b/sys-apps/ipmitool/Manifest index f3e7d31f058d..16f344d81c9d 100644 --- a/sys-apps/ipmitool/Manifest +++ b/sys-apps/ipmitool/Manifest @@ -1,12 +1,10 @@ +AUX ipmitool-1.8.18-openssl-1.1.patch 3838 BLAKE2B 4664bdf8c5ec0f40389f9773043cec0821b5a6e031f7d5cd6be7cd5195f45e9bb5fff5ed9da1d01ca5b510601be8054763236f65b180891b65db8b7ffa68ff0a SHA512 361d52bb966a8dfaa3592d8ca2f0e7083030b81b1ed84667d5bb1c68671a810802e2d4e77808fa9d44e45a04f74998cc6c6ac5182a169f175adc328636073418 AUX ipmitool-1.8.9-ipmievd.confd 518 BLAKE2B 98d9a8e5de576242e81aa7dbfcfde7063b25448c5a50780d4e70410c1fba4adcca81abfcd48ea1a5cf5a55006c59678bc112bb86422571b82a0fb8c517f3292f SHA512 6253f218b22fc98768d3a26aec60da8b80229f3f4e2137cf6b34cefb465a420400e451fb07e6f3f626d88904644e4e2bddd280e01bf6d6cacd06cf6b59f20fe4 AUX ipmitool-1.8.9-ipmievd.initd 584 BLAKE2B 6632466d88006f6623ae81722b2f2726ede5b99141f794829c1cff5808bbb2851e29858beb96b40061de019be08f8179d90f8008b74221cd058a34586b3f5680 SHA512 5d42774486a0edaf1dcece16fbad0cca531a91559ba8dd4259f05787e1964fbfec4d11c9427dbe8cb46ba0cc1a447120bfa82254aac4850d9acc632834daa669 -DIST ipmitool-1.8.14.tar.gz 917886 BLAKE2B 6b6753f1320f38f6dc302607113d586ef42176b50ec5b71415b7d8c00f7363bee137103058653e081dec0cd686e88a832bef653874e5e13b00b21ab3c03a7db2 SHA512 1376a0d4209e4622f9b0e27d3f3d67d552be936ded92e4e894d2b04871717a585075b54bbb9b91d62b58483ee9b94b5c64e2ecdfcef3c3f818fa6f035fb34216 DIST ipmitool-1.8.17.tar.gz 976189 BLAKE2B 62ca530b2a9fdc0e8071d02b7f903530f223bdf07d75278eb9dafeb167b9ec347b0fbf199e2e7cf8f258463abfc8887c8b9b4df80509758ae8588ca73bbaf68a SHA512 929cf0087d3d712caf845eb62771aa96d034c2222170850b0d8bfdbb41d0b0aee05c14aa48e82368f4494606781c6639ada348fd086907c21b817d95dd36a3f6 DIST ipmitool-1.8.18.tar.gz 995313 BLAKE2B 4aee2b1488a8a97348954dd1555baf3d576d70f22fd17f11ba6147595b07ef52059ac8ab6775afa0ad956355eefbf3e2b0300cf87bb373d2f82b585de807412d SHA512 274d424fff079f7628c0f9fe06580937cb9717c809a71b2f5ef97266c6b6c89983b662fbb1f090e2f94861f1799677c8fc6536013828a8a5e6cb239af53e45ab -DIST ipmitool_1.8.14-4.debian.tar.xz 16452 BLAKE2B a0a036a6ee6c2c7c450fe5400892db66b2525b895277dfdff633877306257ac7f6a684a39eb3f50ab46d7239d61612e29742e70ec924eb28b76d2e8408d49df5 SHA512 f7b464d9167e2c92b9536fee1e0cb66da11f6cdc6f86d7adb3ad5c239f3c1850663ddfd9571561502904daff52b3a57b633c389de697da42e7bfafe8c67a60a9 DIST ipmitool_1.8.17-1.debian.tar.xz 18252 BLAKE2B 6219d81b6b54354e8e412850fc1ee673e2dead153076d55c67fad0518e7230642934a52ba0abea29d8b1f47eb7beef10cbe25a7b8a4df158d4b44b1f1e229f4d SHA512 e1133262020e8fabe47e7aa308956078bc9fb3bb7033413230f1cf76aca1d4733bac64e52039365f24fe54a1bf8e271071bdaa1722720fca62f1c9e8888777a8 DIST ipmitool_1.8.18-1.debian.tar.xz 19140 BLAKE2B 255c4da005946f3b118a127f96fc5daad02a170ea079d7a765a0c7650e1eb7e50ad49b31fca95312b49e5a524e04a8a21215cafb1a8451e5b2af2aaec22cda75 SHA512 8aede337d07987decfd032898f194d32730eced443630ac3956676533d693fb2d17a175ef14218cbcd55da44f6b17714f676a912a1d5124a15a995e01d2828ef -EBUILD ipmitool-1.8.14-r1.ebuild 2436 BLAKE2B 2829543abb0f54aac58f754f8e9de2268c5d100509b53bf86b40aadbe5f8e5d43286a0fe477f1a30b9b7c65c7c79265a08b304f134298923d01b1cf57777d2c1 SHA512 ef4b9f236a6426482b3133d32dcdb31beb1ae7a32e0abc867c91e1509069186e9c35b62c764939b063fea7e27818568f6f30e72f4b10416660c708de2f8930df EBUILD ipmitool-1.8.17-r1.ebuild 2443 BLAKE2B 4204805a6f363de5f658168821d8293b20ec61f68447c31c3448c28701e6246bc0cff63a78acbe655bb0ae529a637dda89b917b2f9a949ed43630f248990c97c SHA512 8824e25c00e9b9406fddec2caa638fabbcc1a1d8207a7784e2b6bf7d8c59bc6a668edeaf199a3a347d4be2e046b4efc5ab5198c242fdf9395ee825d6e2df8f2d -EBUILD ipmitool-1.8.18-r1.ebuild 2518 BLAKE2B e06321a6e8321ceba81c3cfb82b451b507518f8412d97814d2970b33ea899fb91586736a398b4f98041a419f70125b66cb80061a62a6ead01b5274244c01e7e4 SHA512 e3be9bbc0426f973fa1efad262791066ef369b742b7e135be2cbeded53b71ca318bf561dc19566be8494d6099bfeab136d943a13cc764e07d60bef0af9f282f2 +EBUILD ipmitool-1.8.18-r1.ebuild 2569 BLAKE2B 58352bf57941a9044b897f57802b7e565f284842783d3225a5cce0a4d0a282420cc847a7f1e06e97c73aa426063d106281b8b98cf7e131cce0e920419b8fce56 SHA512 adea900dc23c6fafcfe12b9de5029a4a596a0295291da439cf045a07c421cb98b520616fb87ed0da6641840cc32866acaf900f862f4875a60c46bdca93ac2ef8 MISC metadata.xml 570 BLAKE2B 2211290e4ac3a12d1a05528925d3c69534073c2624023244ed263aa312de28e5cfd76ff284870777508fd6818fcde18f9d740f9499cc5819078aaa84f46fd07a SHA512 16820cee9cff78b0137cbfcd179cdf78a503c583e8ca3e2ebf13094e21419770eb94205371b61c74c2e75f351d95ed74e6eaf060d748554c6602552ffa9151b8 diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch b/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch new file mode 100644 index 000000000000..9e5a876f00a3 --- /dev/null +++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch @@ -0,0 +1,145 @@ +Taken from various upstream commits: + +https://github.com/ipmitool/ipmitool/commit/b57487e360916ab3eaa50aa6d021c73b6337a4a0 +https://github.com/ipmitool/ipmitool/commit/77fe5635037ebaf411cae46cf5045ca819b5c145 +https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717 +https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717 + +--- ipmitool-1.8.18/src/plugins/lanplus/lanplus_crypt_impl.c ++++ ipmitool-1.8.18/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -164,11 +164,7 @@ + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); +- ++ EVP_CIPHER_CTX *ctx = NULL; + + *bytes_written = 0; + +@@ -182,6 +178,14 @@ + printbuf(input, input_length, "encrypting this data"); + } + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + /* + * The default implementation adds a whole block of padding if the input +@@ -191,28 +195,28 @@ + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + *bytes_written = 0; +- return; + } + else + { + uint32_t tmplen; + +- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + } + + +@@ -239,11 +243,7 @@ + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); +- ++ EVP_CIPHER_CTX *ctx = NULL; + + if (verbose >= 5) + { +@@ -252,12 +252,20 @@ + printbuf(input, input_length, "decrypting this data"); + } + +- + *bytes_written = 0; + + if (input_length == 0) + return; + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); ++ + /* + * The default implementation adds a whole block of padding if the input + * data is perfectly aligned. We would like to keep that from happening. +@@ -266,33 +274,33 @@ + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); + *bytes_written = 0; +- return; + } + else + { + uint32_t tmplen; + +- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + char buffer[1000]; + ERR_error_string(ERR_get_error(), buffer); + lprintf(LOG_DEBUG, "the ERR error %s", buffer); + lprintf(LOG_DEBUG, "ERROR: decrypt final failed"); + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + + if (verbose >= 5) + { diff --git a/sys-apps/ipmitool/ipmitool-1.8.14-r1.ebuild b/sys-apps/ipmitool/ipmitool-1.8.14-r1.ebuild deleted file mode 100644 index fa7af5d6aa1f..000000000000 --- a/sys-apps/ipmitool/ipmitool-1.8.14-r1.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=4 -inherit eutils - -DESCRIPTION="Utility for controlling IPMI enabled devices." -HOMEPAGE="http://ipmitool.sf.net/" -DEBIAN_PR="4.debian" -DEBIAN_P="${P/-/_}" -DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz - https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz" -#IUSE="freeipmi openipmi status" -IUSE="openipmi static" -SLOT="0" -KEYWORDS="amd64 hppa ~ia64 ppc x86" -LICENSE="BSD" - -RDEPEND="dev-libs/openssl - sys-libs/readline" -DEPEND="${RDEPEND} - openipmi? ( sys-libs/openipmi ) - virtual/os-headers" - #freeipmi? ( sys-libs/freeipmi ) -# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi ) -# but it doesn't actually need either. - -src_prepare() { - [ -d "${S}"/debian ] && mv "${S}"/debian{,.package} - ln -s "${WORKDIR}"/debian "${S}" - for p in $(cat debian/patches/series) ; do - epatch debian/patches/$p - done -} - -src_configure() { - # - LIPMI and BMC are the Solaris libs - # - OpenIPMI is unconditionally enabled in the configure as there is compat - # code that is used if the library itself is not available - # FreeIPMI does build now, but is disabled until the other arches keyword it - # `use_enable freeipmi intf-free` \ - # --enable-ipmievd is now unconditional - econf \ - $(use_enable static) \ - --enable-ipmishell \ - --enable-intf-lan \ - --enable-intf-lanplus \ - --enable-intf-open \ - --enable-intf-serial \ - --disable-intf-bmc \ - --disable-intf-dummy \ - --disable-intf-free \ - --disable-intf-imb \ - --disable-intf-lipmi \ - --disable-internal-md5 \ - --with-kerneldir=/usr --bindir=/usr/sbin \ - || die "econf failed" - # Fix linux/ipmi.h to compile properly. This is a hack since it doesn't - # include the below file to define some things. - echo "#include <asm/byteorder.h>" >>config.h -} - -src_compile() { - emake || die "emake failed" -} - -src_install() { - emake DESTDIR="${D}" PACKAGE="${PF}" install || die "emake install failed" - - into /usr - dosbin contrib/bmclanconf - rm -f "${D}"/usr/share/doc/${PF}/COPYING - docinto contrib - cd "${S}"/contrib - dodoc collect_data.sh create_rrds.sh create_webpage_compact.sh create_webpage.sh README - - newinitd "${FILESDIR}"/${PN}-1.8.9-ipmievd.initd ipmievd - newconfd "${FILESDIR}"/${PN}-1.8.9-ipmievd.confd ipmievd - # TODO: init script for contrib/bmc-snmp-proxy - # TODO: contrib/exchange-bmc-os-info -} diff --git a/sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild index 62f5859016f1..6c26d8e0980c 100644 --- a/sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild +++ b/sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -29,6 +29,10 @@ DEPEND="${RDEPEND} # ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi ) # but it doesn't actually need either. +PATCHES=( + "${FILESDIR}"/${P}-openssl-1.1.patch +) + src_prepare() { default [ -d "${S}"/debian ] && mv "${S}"/debian{,.package} |