summaryrefslogtreecommitdiff
path: root/app-crypt
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/Manifest.gzbin23678 -> 23679 bytes
-rw-r--r--app-crypt/gnupg/Manifest2
-rw-r--r--app-crypt/gnupg/gnupg-2.2.6.ebuild130
-rw-r--r--app-crypt/libnitrokey/Manifest2
-rw-r--r--app-crypt/libnitrokey/libnitrokey-3.3.ebuild50
-rw-r--r--app-crypt/md6sum/Manifest2
-rw-r--r--app-crypt/md6sum/md6sum-1.0-r2.ebuild4
-rw-r--r--app-crypt/mit-krb5/Manifest4
-rw-r--r--app-crypt/mit-krb5/files/CVE-2018-5729-5730.patch297
-rw-r--r--app-crypt/mit-krb5/files/mit-krb5-libressl-version-check.patch31
-rw-r--r--app-crypt/mit-krb5/mit-krb5-1.16-r1.ebuild156
-rw-r--r--app-crypt/mit-krb5/mit-krb5-1.16-r2.ebuild158
-rw-r--r--app-crypt/nitrokey-app/Manifest4
-rw-r--r--app-crypt/nitrokey-app/nitrokey-app-1.3.ebuild44
-rw-r--r--app-crypt/nitrokey-app/nitrokey-app-9999.ebuild13
-rw-r--r--app-crypt/pinentry/Manifest2
-rw-r--r--app-crypt/pinentry/pinentry-1.1.0-r1.ebuild100
-rw-r--r--app-crypt/pius/Manifest2
-rw-r--r--app-crypt/pius/pius-2.2.1.ebuild4
-rw-r--r--app-crypt/pkcrack/Manifest2
-rw-r--r--app-crypt/pkcrack/pkcrack-1.2.2-r1.ebuild6
21 files changed, 1001 insertions, 12 deletions
diff --git a/app-crypt/Manifest.gz b/app-crypt/Manifest.gz
index de6fda8235c4..f63005cbdbc9 100644
--- a/app-crypt/Manifest.gz
+++ b/app-crypt/Manifest.gz
Binary files differ
diff --git a/app-crypt/gnupg/Manifest b/app-crypt/gnupg/Manifest
index 4ce93e278904..4062003edf88 100644
--- a/app-crypt/gnupg/Manifest
+++ b/app-crypt/gnupg/Manifest
@@ -11,6 +11,7 @@ DIST gnupg-2.2.1.tar.bz2 6537959 BLAKE2B 4ec500110358a9e5c7d01157e3e9b29a6c70842
DIST gnupg-2.2.3.tar.bz2 6547069 BLAKE2B a5ac44f696cce2ffbac72b80f0efcd19fe09934fe00d3fe90c0a5be5618b40b686fa9fe3e78a451e72835342afa75f4316b7ea34d3ff9fe602e621111876cc4b SHA512 c73df3c6f7ce65bd9867a39d10f93548496bf596ba0901737fc0063b370fd2d834c0b912e5aa07ff31067bc9c1263acc9d314c6bfaf7c889b72c8d46087810cb
DIST gnupg-2.2.4.tar.bz2 6571487 BLAKE2B ec678470e574fdc9f057cc727cbb902ce525f76adae740722731e318032707d0f72873628024c2070a72c21321f2b8da16153edeafcb4ddeba72de59ff5c73bd SHA512 3d5c93b7662433103e9549d066a6b1a0c09d595851fab712d2ee844a55157e952a8a2dd5deff70fa8dd6817481f81c3fe5135603bca03206857310d04c1067a8
DIST gnupg-2.2.5.tar.bz2 6584756 BLAKE2B d19358caf65627243c37afbf348acb2ea91f785272f318aed9e95e097c34cf3b3b1a223919a86e3ff09c045cb0b56d8aed7c746ed1223dd6a6aa072d24c44bce SHA512 675d2acc2ba95d14b14f4c83364663d88c982332fb4c35a4cf32af19a6bd4453ad89905c80d45007adb50c01816247df84d1f525e94bb668b962a84815e49bf1
+DIST gnupg-2.2.6.tar.bz2 6605028 BLAKE2B 2de6f8d32e551a8af5c41b7e6220a43645472b3b7f25b168a54343c4279f412d5d8f7a5142451504192259b3fe4a3e3242d12520dadc385f466dd701a803073a SHA512 ad0861c86c1886f701ae05e7cd439449cf0684a7bf461ca2b729c5e93833ee36f8438cd4d7f73a4c60e57060f3d8f4890a809b2bbc31b083f9f61d2f66ccacc4
EBUILD gnupg-1.4.21.ebuild 3345 BLAKE2B 611a2e3c8d3a47337a17891ce9df00d0aca121f827169ea1aec9cb8c44b3f38858e1c8d39d08985f71790127bbbe64b16f0293b368d8dc627700fc1cc31983d7 SHA512 14a708c00e98c76fa6ef1f2d878f84f63d8e110f85b35b9c40b6da80525af685df09ea83eb1dd1fce1fe3016b9e12a46c02c91f11ea78496c12301acbf04d257
EBUILD gnupg-2.1.15.ebuild 4570 BLAKE2B c88be887786ba1823e7950828039432d08c51053886ac187b3e0d86470e67fd9731b940ae54f25f46c7484d0fcf52db485f1368b56ccc9aa66baa99f0510a3f0 SHA512 385f5c40a42559e3b686d16dedc2ca442dd0a075514184e67eef97624cc419bd0bfc7f7ca6fdd3dc549cb4e3beafce656b725adcf201d27b151dab6456346875
EBUILD gnupg-2.1.20-r1.ebuild 3102 BLAKE2B 7e63763d5989d876aec29eec09fe9bda9a83a26a0bdda97bb1c2a2bf95b7e7c2d6a727b068b8e6dedc7b07c747486c1f00badf603c03a5ec97cee6747b4138ec SHA512 68eafca6339bab0f118c5ff9119a984ee2b7432942929d429a430c053da568ed7729d13a507d073bebc8a273e74eb40f66585ef84cc9b83181f2ea5d6990d615
@@ -21,4 +22,5 @@ EBUILD gnupg-2.2.4-r1.ebuild 3206 BLAKE2B 084fd1814201be6c963a2adc262e4a8c137950
EBUILD gnupg-2.2.4-r2.ebuild 3271 BLAKE2B 1437957efa7c625fc0a4c2eab776645043dfc80651424cd6f72dc1eab7cd530d30313a89baa1bba546ec5addad19c30aea1ceb2afc7252418ce0bbc2fe15e101 SHA512 b39114f09d04fd2fe3657171e703fad10f18687ac70315f15fd3e125a7979324533849fd743c8404e5fcc4d2b1ede9d2749d054c287757afaebf9a0891da8fbc
EBUILD gnupg-2.2.4.ebuild 3202 BLAKE2B 15937df613d5f8c91cf186643983659f431c8f25dbcf0d69db6dc4f02145d587c81cd6a1a62053d492fbe59f2efa921147e72e588f3da52c0a94d7b8e27cc95e SHA512 180a4dec88ac9b800db26cca8a98dba57f8624d08c2167221e90b16ad873f2c113385b98a1abe716ac3eb752d159f8f5cd95a2c69d4150ffa03cf34b7534ee79
EBUILD gnupg-2.2.5-r1.ebuild 3300 BLAKE2B cb86c9046d36d8a41f8ffa2f37ed138c3e455daee643832fee76fb2fdc29ce1d32ee8f2a9d526c5d20fa0135e5a8512864d070d94929c401114f8a88f58618ad SHA512 39e7fb187c217d28b7516e5337ec316ad69d8d96882df99f88250e7da671abcb794d1fed28e90da809a2473e9e7bc764ea1365b318f6a7c4e5e0e5694f3a3cee
+EBUILD gnupg-2.2.6.ebuild 3219 BLAKE2B 1f481af4f31c3298ea6aa3a233c6ca183698957636490bf92737558b936798ae0c06110bc1e9d37f7975fe1a69974a6d06cdfc9e2d9e2c378e5ab644bee9ce2d SHA512 8a8320f58a40f6dd2504346d91474568c40c6527d018e48dacfec81723697dc204d399fa1e7caaef598528132d8d0d8e268590fcb859ba4aeeae72c7b35ef119
MISC metadata.xml 1198 BLAKE2B 745e725cf4c88e72dae88f6c2030ec755a79c449c68caaf0fbd1af6f996791500ae9490127cc50cc165180f754de1c71216e89fb899329c0b108810a866612cf SHA512 cd4ad4996e1c641bf8b6815a72f90427fa3c20864fe440157068ebb38300228e907ccf34fca2fd9ba821eeadee741c0cf8d8b09ce60c965f340e64c4fae3c069
diff --git a/app-crypt/gnupg/gnupg-2.2.6.ebuild b/app-crypt/gnupg/gnupg-2.2.6.ebuild
new file mode 100644
index 000000000000..badbebb0518f
--- /dev/null
+++ b/app-crypt/gnupg/gnupg-2.2.6.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit systemd toolchain-funcs
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb wks-server"
+
+COMMON_DEPEND_LIBS="
+ >=dev-libs/npth-1.2
+ >=dev-libs/libassuan-2.5.0
+ >=dev-libs/libgcrypt-1.7.3
+ >=dev-libs/libgpg-error-1.24
+ >=dev-libs/libksba-1.3.4
+ >=net-misc/curl-7.10
+ ssl? ( >=net-libs/gnutls-3.0:0= )
+ sys-libs/zlib
+ ldap? ( net-nds/openldap )
+ bzip2? ( app-arch/bzip2 )
+ readline? ( sys-libs/readline:0= )
+ smartcard? ( usb? ( virtual/libusb:0 ) )
+ tofu? ( >=dev-db/sqlite-3.7 )
+ virtual/mta
+ "
+COMMON_DEPEND_BINS="app-crypt/pinentry
+ !app-crypt/dirmngr"
+
+# Existence of executables is checked during configuration.
+DEPEND="${COMMON_DEPEND_LIBS}
+ ${COMMON_DEPEND_BINS}
+ nls? ( sys-devel/gettext )
+ doc? ( sys-apps/texinfo )"
+
+RDEPEND="${COMMON_DEPEND_LIBS}
+ ${COMMON_DEPEND_BINS}
+ selinux? ( sec-policy/selinux-gpg )
+ nls? ( virtual/libintl )"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=(
+ ChangeLog NEWS README THANKS TODO VERSION
+ doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
+)
+
+src_configure() {
+ local myconf=()
+
+ if use smartcard; then
+ myconf+=(
+ --enable-scdaemon
+ $(use_enable usb ccid-driver)
+ )
+ else
+ myconf+=( --disable-scdaemon )
+ fi
+
+ if use elibc_SunOS || use elibc_AIX; then
+ myconf+=( --disable-symcryptrun )
+ else
+ myconf+=( --enable-symcryptrun )
+ fi
+
+ # glib fails and picks up clang's internal stdint.h causing weird errors
+ [[ ${CC} == *clang ]] && \
+ export gl_cv_absolute_stdint_h=/usr/include/stdint.h
+
+ econf \
+ "${myconf[@]}" \
+ $(use_enable bzip2) \
+ $(use_enable ssl gnutls) \
+ $(use_enable nls) \
+ $(use_enable tofu) \
+ $(use_enable wks-server wks-tools) \
+ $(use_with ldap) \
+ $(use_with readline) \
+ --enable-gpg \
+ --enable-gpgsm \
+ --enable-large-secmem \
+ --enable-all-tests \
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+}
+
+src_compile() {
+ default
+
+ use doc && emake -C doc html
+}
+
+src_test() {
+ #Bug: 638574
+ use tofu && export TESTFLAGS=--parallel
+ default
+}
+
+src_install() {
+ default
+
+ use tools &&
+ dobin \
+ tools/{convert-from-106,gpg-check-pattern} \
+ tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
+ tools/make-dns-cert
+
+ dosym gpg /usr/bin/gpg2
+ dosym gpgv /usr/bin/gpgv2
+ echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
+ echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
+
+ dodir /etc/env.d
+ echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
+
+ use doc && dodoc doc/gnupg.html/* doc/*.png
+
+ systemd_douserunit doc/examples/systemd-user/*.{service,socket}
+}
diff --git a/app-crypt/libnitrokey/Manifest b/app-crypt/libnitrokey/Manifest
index 60277f0dbbee..e7d606f5fdaa 100644
--- a/app-crypt/libnitrokey/Manifest
+++ b/app-crypt/libnitrokey/Manifest
@@ -1,2 +1,4 @@
+DIST libnitrokey-3.3.tar.gz 76581 BLAKE2B 1a662fb94184355dc5cae2f8e3109fc82a96aed06c726e04c4fcfef3aef0423150ac1f4647e4bf3585de7805e70cd67534d72f1255c9f80b57afa2aec36fc9d3 SHA512 fe3b6c7bdeb78f736fe7aa7475880a293c516119ac049ff47ddbaba626f2d70addee4d0cd3a38ea706b94717f51c4fb56f687d5a9bb9f10895836c5adc98b11b
+EBUILD libnitrokey-3.3.ebuild 1145 BLAKE2B 01a32d7b4498ede0e645ed6747e5d2901bacfe8602d598be4b92ff7952597f430b4b68123d60d8dc4277af4bba88b3598e0dd52fe645862d0b470ef0c9c4fc74 SHA512 bd3ddfb326baf091cdd4062819e2cc5635c4aaeb1f4b9436465f89e1cbb58289ca9ca061a6c938ef711604879dbcdb32e475d22184f5480b0c42b67bc1499fb1
EBUILD libnitrokey-9999.ebuild 1145 BLAKE2B 01a32d7b4498ede0e645ed6747e5d2901bacfe8602d598be4b92ff7952597f430b4b68123d60d8dc4277af4bba88b3598e0dd52fe645862d0b470ef0c9c4fc74 SHA512 bd3ddfb326baf091cdd4062819e2cc5635c4aaeb1f4b9436465f89e1cbb58289ca9ca061a6c938ef711604879dbcdb32e475d22184f5480b0c42b67bc1499fb1
MISC metadata.xml 397 BLAKE2B ec7996ade24566ed79175f047e18c18a7c51e3946c65c4b3cd986d3fe6372ed2a79ca13b6e2d0a21b5e907a2f8e27e7061ad9ce893ffbd93ead06c8814f4d00c SHA512 457d69deef3f3bcca1ac0b0a15d20ca03bf012523a03c311c5be065ad50a43ef5d7e0d7fb949a6a63f3198c35313d83e0e7a8ef882c1095234f93a2dd8be416e
diff --git a/app-crypt/libnitrokey/libnitrokey-3.3.ebuild b/app-crypt/libnitrokey/libnitrokey-3.3.ebuild
new file mode 100644
index 000000000000..32cf1940ee3a
--- /dev/null
+++ b/app-crypt/libnitrokey/libnitrokey-3.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+inherit cmake-utils udev
+
+DESCRIPTION="Support library for the Nitrokey"
+HOMEPAGE="https://github.com/Nitrokey/libnitrokey"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Nitrokey/libnitrokey.git"
+
+ # Disable pulling in bundled dependencies
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/Nitrokey/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/hidapi:=
+ virtual/udev"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ test? ( >=dev-cpp/catch-2.2.0 )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_UDEVRULESDIR="$(get_udevdir)"/rules.d
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ -DBUILD_SHARED_LIBS=ON
+
+ # actual hardware tests
+ # 1. require a connected Nitrokey
+ # 2. may kill data on your Nitrokey
+ # hence the main testsuite is disabled
+ -DCOMPILE_TESTS=OFF
+ -DCOMPILE_OFFLINE_TESTS=$(usex test)
+ )
+ cmake-utils_src_configure
+}
diff --git a/app-crypt/md6sum/Manifest b/app-crypt/md6sum/Manifest
index f557b94b986c..3bfe24a7cd9e 100644
--- a/app-crypt/md6sum/Manifest
+++ b/app-crypt/md6sum/Manifest
@@ -2,5 +2,5 @@ AUX md6sum-1.0-cflags.patch 791 BLAKE2B 9db97a022d784d0e1dce6090f3d9e9831b57609f
AUX md6sum-1.0-format-security.patch 620 BLAKE2B 5864e943d0ba267c5e9995d2572d0e8663b94c3d17acfbc6f85cd1cb9474df26091bb2727968cac73a06a558b27b569040cea11fddbc2fb5324a78d0eedfbdf1 SHA512 b1ec3b1479ce58e9e2aa4a43982b61932d7ed099d1246dd00e7d6f183b1087dda7c446a63ceea06006ee905a167bd3cb7485d208d95a7860768b680670f0fd88
AUX md6sum-1.0-ldflags.patch 427 BLAKE2B e7ecbab2d65cdad2bd45f2fd024081dd807a994a312090276db77b7cb7bd2c4636871ef3c2466e5ce137627949e16585cb8699e6ca25f5fb826bcca2a6e37153 SHA512 2ed3dc38eef78f365bd8e03e22264488c6a0d089c30f827e90ca5dd5ada9ad061e0c1a736c3ccc81c05fd172ffc8140034d703993233e5e3f8877cfb298fa1a1
DIST md6sum-1.0.tar.gz 125626 BLAKE2B 19217592cfa65d16fad684448813adc6cda96c6ee8bfd01617c0a5f04b9ed5efb78aade64358deb535a2c9221c6a033b9d5486aee6438b5b6398f0e0096abf2c SHA512 8253a68dd036dd98b22c39a35a75f9bbdc4018ea63dc8f7823c831090d19f2f92a727458b4dc35388e494dbf496b9f5de693a1cfb3e5a8ca8441f31f0e817d46
-EBUILD md6sum-1.0-r2.ebuild 429 BLAKE2B af0b8cfd2fef2b89ad139a62a39232af7a93c6785589f6310699efbc65cb69ae5b638c1c662f539dba6d2daddbb049ff093e8c57cfbb84bcdb5c9d98c0496894 SHA512 bf2cf213c35fe4768836bd81fba9962bf76e3aca9ec5f3d023cb752f25b311f35a5db6d3222d5667b3454d7439fe866f42f592583c98b8fd128f9025606a11c0
+EBUILD md6sum-1.0-r2.ebuild 430 BLAKE2B a98c24322ae462ce08c64a088c7472b8fb85ff25a820d6953a5fb396400746f94238273363c4df4636d0376993e62b6361146792f7f7553ebdec8cb8c2dbba75 SHA512 4a4fb6256b142e5ec92ad2527fe2127f1d92bea7f56c6b4c60f9f2b04c7c15a4c4ba943f5c5cb4dfd277f7d0e0a501bcf8b862915a50b1f3cb9a2e8f9dbebf6e
MISC metadata.xml 316 BLAKE2B db383f2d08311259f00b79ee57ae9497c9a6f3693da97f18e4891760e42360b9e6f31116422e814f0680387bca1981dad3d89ed8a3d92e9df4e98c434ebe2811 SHA512 c6ae22608f860eaf81fcabca3750fe7a1b24249c5d6eb8aa33867c4a8fba5f1ac6203f298667db39dba9fa9164109bc59267f31e6d9435cd40a242c0055fa3a2
diff --git a/app-crypt/md6sum/md6sum-1.0-r2.ebuild b/app-crypt/md6sum/md6sum-1.0-r2.ebuild
index 0447b87fa2ed..93020816bfd6 100644
--- a/app-crypt/md6sum/md6sum-1.0-r2.ebuild
+++ b/app-crypt/md6sum/md6sum-1.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="A C implementation of MD6"
-HOMEPAGE="http://groups.csail.mit.edu/cis/md6"
+HOMEPAGE="https://groups.csail.mit.edu/cis/md6"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="MIT"
diff --git a/app-crypt/mit-krb5/Manifest b/app-crypt/mit-krb5/Manifest
index f79cdae7b3da..525b44b1b318 100644
--- a/app-crypt/mit-krb5/Manifest
+++ b/app-crypt/mit-krb5/Manifest
@@ -1,9 +1,11 @@
+AUX CVE-2018-5729-5730.patch 11896 BLAKE2B 324bbd80acf4a2520909fc26f90f67cec06148ee0effecc43fbadd6c6445b57ee17eae57864c92a5ce0cdc3dbfb0540758910133195fd2078d334bc6e209a452 SHA512 b59ba6cb5d40cca6c8f539c028ba24c2fa6bd1750133545e912f519b91043d426cecf782209c373598fd895c6294e44fc2bc27af34c033ff367bdfb2cb4f91c4
AUX kpropd.xinetd 194 BLAKE2B cfc40af2e75b0ce5a71e0dfdcfe076d13d996b25d2cb50d4282bc88d7b33b317a202d57df0bb4a2b47113f0d38cb508614e122e4a3bb7dfd2397e2daa3178396 SHA512 c9bbd13f2fadfd2a925bfae834ba61f227cd4386b4c4466b5227d93c792f4549778ef4d6e08353372df99804459277c71f61b41ec71f3afcc600d73c5705f72f
AUX mit-krb5-1.12_warn_cflags.patch 448 BLAKE2B cd9793866173b394bab3497d19653ca3296924cc49aaf540499b149254265af1d995b4d7493b76185ce35d123e70827cb5fcb221efc6499b86a346cfad7478ab SHA512 42364d9cd8c0a6fd28ae661eeac4d0dd3f2001fe290bf9731ee99c2c786a6488805fc93057d59e201e2cef1e5280af4c170187aa5603f4cf542906abc0fccc2b
AUX mit-krb5-1.14.2-redeclared-ttyname.patch 660 BLAKE2B 8fb59ad5ed7b0896272f4bf10e8e15a1c848047dbe6a7735930657422888530691f681949d72b4b0924a8983ec392282736eae57dd72c8548ee960fc85909c53 SHA512 90a2adedcdca4e2079daaa613e2d4f08e948ccfaf56aba19a08b4cbe2257a6a60dcfd5bbc4b19ca64f584759b1a374d1894729a423e636bfec1969a675a1628e
AUX mit-krb5-1.14.4-disable-nls.patch 1247 BLAKE2B a24c425a21bed40c7b563658207f324d1dccade9b8aec4d4124e2a2d0007d81e314765d23fe3e4be2bf857fa67bf3da06aead99ffb21afe635bbb1d7bb2c89cf SHA512 5fecc719c5c8a1f5c971443d42561615b8fb8c6b99b735a633c7479f109cfb6852eee5179e267a1e2576e52faf2311395ddabdb47f749b573ead3ddd86714e2e
AUX mit-krb5-1.15.2-fix-pkinit.patch 3196 BLAKE2B 6fdf17bb1ad096bc2745c3c908fbc913de3d4d7176c060cb51d911b256e82f67a73d9204044f5227c7d3d1cb1f76dbc31b2845738c4f97dd0a199990a9e09f0f SHA512 d7b3f33f25e610b24f2854892d75016dfa5b5e34fac24600df80b91194f5fe2e6dbc35ea3a9a772e0dcdf7659263a56230e767fe393d32796c61b3bd5bb2de69
AUX mit-krb5-config_LDFLAGS.patch 466 BLAKE2B 2dd4f1cfc20bea229d08201d66e3de71472dccfa45dee9b260c51578187e706b864c0b4ff81c0c5a09fd29401c2abdbe334441ca075208299b02d5e1d49aff94 SHA512 9a1ca9b33e7708346eda78d199fdc51f0d7bd08d3d65ea15a19955a6155ab71b8ee0c8989859d6dff293a141f197ea19394a91b3b641181140a289b743e0f0e7
+AUX mit-krb5-libressl-version-check.patch 1123 BLAKE2B ca8bad504949c8dcbffe5f9906a38287a2483ffef8b0326cf361f7a07c44787aa0972a24a832aa4da9a1450fa41035bf216c55e1aafb8a890cc8d88f1e210e88 SHA512 cec03ab3577fd8f96f34e51e9380622b09ac5964687b2e8e45e066d16846a9add71c3fd44f6de305ee5c5be5a27a07e4758b6752afdd8a70149b3f191be609f8
AUX mit-krb5kadmind.confd 76 BLAKE2B ca69357a77ddaf67e2f9c104b17d49af5da9891b13bd855f8b04d54bfb6ccf07ae8c5cb694f65a47646675c844c8f8c7224e8487081df678c73c554498259516 SHA512 dbf968800959f0463899031e823f003e9ece90132f452ebf03df08caf0e6a6e6ca2cfdee91491d269cfa24bef19e72dd33c7d818a4bb13ef85edfb6f0e8299f3
AUX mit-krb5kadmind.initd-r2 612 BLAKE2B ba2a70a7c123d63b9c58f4ec31c3c2366949e6971ff4f203cb38e1efb5a69991533291e118066e680d880c5221168c8eb5b047ec70dac857888330978d1e5a9b SHA512 3791af603380277a9d2632a01a86f96f68c9eb38a2c9574cca462fe9a01bef60f24785051d0215a8d71dd5022f1404e281929278e2bfd31603a0415dd9df6a98
AUX mit-krb5kadmind.service 137 BLAKE2B fcbb450a9bd39407801c93d7ffe050eadb27adbfe3165f27fe9a6ad1b18464153109bdab61a85a6a908dbb8e57b14d577165d9144a6f311d90167d01a92de748 SHA512 65a507b84e8280a9e417e32f8667941f52802f1afe9de513718db5a414ba84569b95a5c4d84eb9d39c232901c4ae1f674e6c95ea2c6895dc0c495b78ec04a026
@@ -19,5 +21,7 @@ DIST krb5-1.15.2.tar.gz 9380755 BLAKE2B 3f5d00a70bf44ef077872bde282e4753e82acb70
DIST krb5-1.16.tar.gz 9474479 BLAKE2B 0c5caa0a0d2308a447d47ab94d7b8dc92a67ad78b3bac1678c3f3ece3905f27feda5a23d28b3c13ebd64d1760726888c759fb19da82ad960c6f84a433b753873 SHA512 7e162467b95dad2b6aaa11686d08a00f1cc4eb08247fca8f0e5a8bcaa5f9f7b42cdf00db69c5c6111bdf9eb8063d53cef3bb207ce5d6a287615ca10b710153f9
EBUILD mit-krb5-1.15.2-r1.ebuild 3913 BLAKE2B f4559c0b17ef398ac7168763d2e2225d8b1b061a61384313c93d69db9f680461008b48f4e66ed64f672fe1e6e32825a874084954e03b1dfa228ead6bb6d1e89c SHA512 b4da2e82b91b1fec83d94dcad8b2787f07f9b0bc1421519ce6a3b1545ecf30e14817debe67a9dd98ddb88b666b337be18b286b3d866e51664599b1e07f13eeae
EBUILD mit-krb5-1.15.2.ebuild 3856 BLAKE2B 7b3d059b5bd6e68ba99bc896ae8435543a6128e4e7f9dc29e73a02cb145228a54c1f7eeca92bc3aec49582e1e0c24f9620089a8abe917b59a152b2608d0b5a25 SHA512 dc2d6fb486e95100a02a4b2f32fb93279b022195d82810e2a794f6d813f5c31f95b68b3449e2b885bc9a3658cb1d18acd76d76fa13907baa817215534531148b
+EBUILD mit-krb5-1.16-r1.ebuild 4255 BLAKE2B 00ccf28de187059c3b4f864e56782557ae79ef064dd90178491dd1d6ebfe5dd6706766e569f7800d841f10ea0ff62db5f609c4a14ac0abbfe7eda210962826fe SHA512 d73f5a9cde6cf3bbca2ccf1ad81a0efc7e3c3d27e329dfa76fe9eb32979bcfc77162ddf5de85f84e84af183cad23eaf44334498bf00f161add4c4c448db6b41a
+EBUILD mit-krb5-1.16-r2.ebuild 4353 BLAKE2B eabe3a5b76175736da4a74091257e30c91210c9897a64772eb022d3fd02af5131119f11ffafc9353f2c80f2f0893cde25fdad8cce711c11bae22a2544661be2a SHA512 455b0c557ae3402ce8a8b1850214f4412d33a94d593b7083cd9ef68c7c4554507428d14275cd0601395222d63a12fbab2d84a21c3ff13dd25199be666000a72b
EBUILD mit-krb5-1.16.ebuild 4190 BLAKE2B 906b1ae21a3d91d86fb3993eb076890812f3dee319fe2ae8599e2f728758e75c27374092f8157d70e5720d8615b0d5d6cd59294f831c4582319e294a7cf53d67 SHA512 0f91fb7d2364068b6917413ee317a1d8287f2be5c3f30889ae4c568cab61b37ae8e852010bd00fb61c7a0be2f9272a99f52f23709a063ce04d8f76a8bce4c2f0
MISC metadata.xml 828 BLAKE2B f317440eac9d164e0640cb059dee0c3bdcfeaeb2d0e346d962f09b7152224efc10084611768663b84c67fdf73c9d89481370fe0b70ffe14aa10a360f60bd00f6 SHA512 c0f45699280d49b91eab24de6cbb28900170c3c4526b8c6ef0f6a996d3e53abd49911ce4f6ce7b28c69d37e86cc9e5b830977b9640809734e7fccf078886685c
diff --git a/app-crypt/mit-krb5/files/CVE-2018-5729-5730.patch b/app-crypt/mit-krb5/files/CVE-2018-5729-5730.patch
new file mode 100644
index 000000000000..114cfe688e73
--- /dev/null
+++ b/app-crypt/mit-krb5/files/CVE-2018-5729-5730.patch
@@ -0,0 +1,297 @@
+diff --git a/src/lib/kadm5/srv/svr_principal.c b/src/lib/kadm5/srv/svr_principal.c
+index 2420f2c2be..a59a65e8f6 100644
+--- a/src/lib/kadm5/srv/svr_principal.c
++++ b/src/lib/kadm5/srv/svr_principal.c
+@@ -330,6 +330,13 @@ kadm5_create_principal_3(void *server_handle,
+ return KADM5_BAD_MASK;
+ if((mask & ~ALL_PRINC_MASK))
+ return KADM5_BAD_MASK;
++ if (mask & KADM5_TL_DATA) {
++ for (tl_data_tail = entry->tl_data; tl_data_tail != NULL;
++ tl_data_tail = tl_data_tail->tl_data_next) {
++ if (tl_data_tail->tl_data_type < 256)
++ return KADM5_BAD_TL_TYPE;
++ }
++ }
+
+ /*
+ * Check to see if the principal exists
+diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
+index 535a1f309e..8b8420faa9 100644
+--- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
++++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
+@@ -141,7 +141,7 @@ extern int set_ldap_error (krb5_context ctx, int st, int op);
+ #define UNSTORE16_INT(ptr, val) (val = load_16_be(ptr))
+ #define UNSTORE32_INT(ptr, val) (val = load_32_be(ptr))
+
+-#define KDB_TL_USER_INFO 0x7ffe
++#define KDB_TL_USER_INFO 0xff
+
+ #define KDB_TL_PRINCTYPE 0x01
+ #define KDB_TL_PRINCCOUNT 0x02
+diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
+index 88a1704950..b7c9212cb2 100644
+--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
++++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
+@@ -651,6 +651,107 @@ update_ldap_mod_auth_ind(krb5_context context, krb5_db_entry *entry,
+ return ret;
+ }
+
++static krb5_error_code
++check_dn_in_container(krb5_context context, const char *dn,
++ char *const *subtrees, unsigned int ntrees)
++{
++ unsigned int i;
++ size_t dnlen = strlen(dn), stlen;
++
++ for (i = 0; i < ntrees; i++) {
++ if (subtrees[i] == NULL || *subtrees[i] == '\0')
++ return 0;
++ stlen = strlen(subtrees[i]);
++ if (dnlen >= stlen &&
++ strcasecmp(dn + dnlen - stlen, subtrees[i]) == 0 &&
++ (dnlen == stlen || dn[dnlen - stlen - 1] == ','))
++ return 0;
++ }
++
++ k5_setmsg(context, EINVAL, _("DN is out of the realm subtree"));
++ return EINVAL;
++}
++
++static krb5_error_code
++check_dn_exists(krb5_context context,
++ krb5_ldap_server_handle *ldap_server_handle,
++ const char *dn, krb5_boolean nonkrb_only)
++{
++ krb5_error_code st = 0, tempst;
++ krb5_ldap_context *ldap_context = context->dal_handle->db_context;
++ LDAP *ld = ldap_server_handle->ldap_handle;
++ LDAPMessage *result = NULL, *ent;
++ char *attrs[] = { "krbticketpolicyreference", "krbprincipalname", NULL };
++ char **values;
++
++ LDAP_SEARCH_1(dn, LDAP_SCOPE_BASE, 0, attrs, IGNORE_STATUS);
++ if (st != LDAP_SUCCESS)
++ return set_ldap_error(context, st, OP_SEARCH);
++
++ ent = ldap_first_entry(ld, result);
++ CHECK_NULL(ent);
++
++ values = ldap_get_values(ld, ent, "krbticketpolicyreference");
++ if (values != NULL)
++ ldap_value_free(values);
++
++ values = ldap_get_values(ld, ent, "krbprincipalname");
++ if (values != NULL) {
++ ldap_value_free(values);
++ if (nonkrb_only) {
++ st = EINVAL;
++ k5_setmsg(context, st, _("ldap object is already kerberized"));
++ goto cleanup;
++ }
++ }
++
++cleanup:
++ ldap_msgfree(result);
++ return st;
++}
++
++static krb5_error_code
++validate_xargs(krb5_context context,
++ krb5_ldap_server_handle *ldap_server_handle,
++ const xargs_t *xargs, const char *standalone_dn,
++ char *const *subtrees, unsigned int ntrees)
++{
++ krb5_error_code st;
++
++ if (xargs->dn != NULL) {
++ /* The supplied dn must be within a realm container. */
++ st = check_dn_in_container(context, xargs->dn, subtrees, ntrees);
++ if (st)
++ return st;
++ /* The supplied dn must exist without Kerberos attributes. */
++ st = check_dn_exists(context, ldap_server_handle, xargs->dn, TRUE);
++ if (st)
++ return st;
++ }
++
++ if (xargs->linkdn != NULL) {
++ /* The supplied linkdn must be within a realm container. */
++ st = check_dn_in_container(context, xargs->linkdn, subtrees, ntrees);
++ if (st)
++ return st;
++ /* The supplied linkdn must exist. */
++ st = check_dn_exists(context, ldap_server_handle, xargs->linkdn,
++ FALSE);
++ if (st)
++ return st;
++ }
++
++ if (xargs->containerdn != NULL && standalone_dn != NULL) {
++ /* standalone_dn (likely composed using containerdn) must be within a
++ * container. */
++ st = check_dn_in_container(context, standalone_dn, subtrees, ntrees);
++ if (st)
++ return st;
++ }
++
++ return 0;
++}
++
+ krb5_error_code
+ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry,
+ char **db_args)
+@@ -662,12 +763,12 @@ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry,
+ LDAPMessage *result=NULL, *ent=NULL;
+ char **subtreelist = NULL;
+ char *user=NULL, *subtree=NULL, *principal_dn=NULL;
+- char **values=NULL, *strval[10]={NULL}, errbuf[1024];
++ char *strval[10]={NULL}, errbuf[1024];
+ char *filtuser=NULL;
+ struct berval **bersecretkey=NULL;
+ LDAPMod **mods=NULL;
+ krb5_boolean create_standalone=FALSE;
+- krb5_boolean krb_identity_exists=FALSE, establish_links=FALSE;
++ krb5_boolean establish_links=FALSE;
+ char *standalone_principal_dn=NULL;
+ krb5_tl_data *tl_data=NULL;
+ krb5_key_data **keys=NULL;
+@@ -860,24 +961,6 @@ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry,
+ * any of the subtrees
+ */
+ if (xargs.dn_from_kbd == TRUE) {
+- /* make sure the DN falls in the subtree */
+- int dnlen=0, subtreelen=0;
+- char *dn=NULL;
+- krb5_boolean outofsubtree=TRUE;
+-
+- if (xargs.dn != NULL) {
+- dn = xargs.dn;
+- } else if (xargs.linkdn != NULL) {
+- dn = xargs.linkdn;
+- } else if (standalone_principal_dn != NULL) {
+- /*
+- * Even though the standalone_principal_dn is constructed
+- * within this function, there is the containerdn input
+- * from the user that can become part of the it.
+- */
+- dn = standalone_principal_dn;
+- }
+-
+ /* Get the current subtree list if we haven't already done so. */
+ if (subtreelist == NULL) {
+ st = krb5_get_subtree_info(ldap_context, &subtreelist, &ntrees);
+@@ -885,81 +968,10 @@ krb5_ldap_put_principal(krb5_context context, krb5_db_entry *entry,
+ goto cleanup;
+ }
+
+- for (tre=0; tre<ntrees; ++tre) {
+- if (subtreelist[tre] == NULL || strlen(subtreelist[tre]) == 0) {
+- outofsubtree = FALSE;
+- break;
+- } else {
+- dnlen = strlen (dn);
+- subtreelen = strlen(subtreelist[tre]);
+- if ((dnlen >= subtreelen) && (strcasecmp((dn + dnlen - subtreelen), subtreelist[tre]) == 0)) {
+- outofsubtree = FALSE;
+- break;
+- }
+- }
+- }
+-
+- if (outofsubtree == TRUE) {
+- st = EINVAL;
+- k5_setmsg(context, st, _("DN is out of the realm subtree"));
++ st = validate_xargs(context, ldap_server_handle, &xargs,
++ standalone_principal_dn, subtreelist, ntrees);
++ if (st)
+ goto cleanup;
+- }
+-
+- /*
+- * dn value will be set either by dn, linkdn or the standalone_principal_dn
+- * In the first 2 cases, the dn should be existing and in the last case we
+- * are supposed to create the ldap object. so the below should not be
+- * executed for the last case.
+- */
+-
+- if (standalone_principal_dn == NULL) {
+- /*
+- * If the ldap object is missing, this results in an error.
+- */
+-
+- /*
+- * Search for krbprincipalname attribute here.
+- * This is to find if a kerberos identity is already present
+- * on the ldap object, in which case adding a kerberos identity
+- * on the ldap object should result in an error.
+- */
+- char *attributes[]={"krbticketpolicyreference", "krbprincipalname", NULL};
+-
+- ldap_msgfree(result);
+- result = NULL;
+- LDAP_SEARCH_1(dn, LDAP_SCOPE_BASE, 0, attributes, IGNORE_STATUS);
+- if (st == LDAP_SUCCESS) {
+- ent = ldap_first_entry(ld, result);
+- if (ent != NULL) {
+- if ((values=ldap_get_values(ld, ent, "krbticketpolicyreference")) != NULL) {
+- ldap_value_free(values);
+- }
+-
+- if ((values=ldap_get_values(ld, ent, "krbprincipalname")) != NULL) {
+- krb_identity_exists = TRUE;
+- ldap_value_free(values);
+- }
+- }
+- } else {
+- st = set_ldap_error(context, st, OP_SEARCH);
+- goto cleanup;
+- }
+- }
+- }
+-
+- /*
+- * If xargs.dn is set then the request is to add a
+- * kerberos principal on a ldap object, but if
+- * there is one already on the ldap object this
+- * should result in an error.
+- */
+-
+- if (xargs.dn != NULL && krb_identity_exists == TRUE) {
+- st = EINVAL;
+- snprintf(errbuf, sizeof(errbuf),
+- _("ldap object is already kerberized"));
+- k5_setmsg(context, st, "%s", errbuf);
+- goto cleanup;
+ }
+
+ if (xargs.linkdn != NULL) {
+diff --git a/src/tests/t_kdb.py b/src/tests/t_kdb.py
+index 217f2cdc3b..6e563b1032 100755
+--- a/src/tests/t_kdb.py
++++ b/src/tests/t_kdb.py
+@@ -203,6 +203,12 @@ def ldap_add(dn, objectclass, attrs=[]):
+ # in the test LDAP server.
+ realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=cn=krb5', 'princ1'],
+ expected_code=1, expected_msg='DN is out of the realm subtree')
++# Check that the DN container check is a hierarchy test, not a simple
++# suffix match (CVE-2018-5730). We expect this operation to fail
++# either way (because "xcn" isn't a valid DN tag) but the container
++# check should happen before the DN is parsed.
++realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=xcn=t1,cn=krb5', 'princ1'],
++ expected_code=1, expected_msg='DN is out of the realm subtree')
+ realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=cn=t2,cn=krb5', 'princ1'])
+ realm.run([kadminl, 'getprinc', 'princ1'], expected_msg='Principal: princ1')
+ realm.run([kadminl, 'ank', '-randkey', '-x', 'dn=cn=t2,cn=krb5', 'again'],
+@@ -226,6 +232,11 @@ def ldap_add(dn, objectclass, attrs=[]):
+ 'princ3'])
+ realm.run([kadminl, 'modprinc', '-x', 'containerdn=cn=t2,cn=krb5', 'princ3'],
+ expected_code=1, expected_msg='containerdn option not supported')
++# Verify that containerdn is checked when linkdn is also supplied
++# (CVE-2018-5730).
++realm.run([kadminl, 'ank', '-randkey', '-x', 'containerdn=cn=krb5',
++ '-x', 'linkdn=cn=t2,cn=krb5', 'princ4'], expected_code=1,
++ expected_msg='DN is out of the realm subtree')
+
+ # Create and modify a ticket policy.
+ kldaputil(['create_policy', '-maxtktlife', '3hour', '-maxrenewlife', '6hour',
diff --git a/app-crypt/mit-krb5/files/mit-krb5-libressl-version-check.patch b/app-crypt/mit-krb5/files/mit-krb5-libressl-version-check.patch
new file mode 100644
index 000000000000..5c979cfd1ef7
--- /dev/null
+++ b/app-crypt/mit-krb5/files/mit-krb5-libressl-version-check.patch
@@ -0,0 +1,31 @@
+--- src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
++++ src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+@@ -191,7 +191,7 @@ pkinit_pkcs11_code_to_text(int err);
+ (*_x509_pp) = PKCS7_cert_from_signer_info(_p7,_si)
+ #endif
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ /* 1.1 standardizes constructor and destructor names, renaming
+ * EVP_MD_CTX_{create,destroy} and deprecating ASN1_STRING_data. */
+@@ -3059,7 +3059,7 @@ cleanup:
+ return retval;
+ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+
+ /*
+ * We need to decode DomainParameters from RFC 3279 section 2.3.3. We would
+--- src/plugins/preauth/pkinit/pkinit_crypto_openssl.h
++++ src/plugins/preauth/pkinit/pkinit_crypto_openssl.h
+@@ -46,7 +46,7 @@
+ #include <openssl/asn1.h>
+ #include <openssl/pem.h>
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ #include <openssl/asn1t.h>
+ #else
+ #include <openssl/asn1_mac.h>
diff --git a/app-crypt/mit-krb5/mit-krb5-1.16-r1.ebuild b/app-crypt/mit-krb5/mit-krb5-1.16-r1.ebuild
new file mode 100644
index 000000000000..c1f7a7820634
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.16-r1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd versionator
+
+MY_P="${P/mit-}"
+P_DIR=$(get_version_component_range 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="https://web.mit.edu/kerberos/www/"
+SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +keyutils libressl nls openldap +pkinit selinux +threads test xinetd"
+
+# Test suite require network access
+RESTRICT="test"
+
+CDEPEND="
+ !!app-crypt/heimdal
+ >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
+ )
+ keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ pkinit? (
+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+ )
+ xinetd? ( sys-apps/xinetd )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${CDEPEND}
+ ${PYTHON_DEPS}
+ virtual/yacc
+ doc? ( virtual/latex-base )
+ test? (
+ ${PYTHON_DEPS}
+ dev-lang/tcl:0
+ dev-util/dejagnu
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/krb5-config
+)
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+ eapply -p2 "${FILESDIR}/${PN}-config_LDFLAGS.patch"
+ eapply "${FILESDIR}/${PN}-libressl-version-check.patch"
+
+ # Make sure we always use the system copies.
+ rm -rf util/{et,ss,verto}
+ sed -i 's:^[[:space:]]*util/verto$::' configure.in || die
+
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ # QA
+ append-flags -fno-strict-aliasing
+ append-flags -fno-strict-overflow
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use keyutils || export ac_cv_header_keyutils_h=no
+ ECONF_SOURCE=${S} \
+ WARN_CFLAGS="set" \
+ econf \
+ $(use_with openldap ldap) \
+ "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+ $(use_enable nls) \
+ $(use_enable pkinit) \
+ $(use_enable threads thread-support) \
+ --without-hesiod \
+ --enable-shared \
+ --with-system-et \
+ --with-system-ss \
+ --enable-dns-for-realm \
+ --enable-kdc-lookaside-cache \
+ --with-system-verto \
+ --disable-rpath
+}
+
+multilib_src_compile() {
+ emake -j1
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+ install
+}
+
+multilib_src_install_all() {
+ # default database dir
+ keepdir /var/lib/krb5kdc
+
+ cd ..
+ dodoc README
+
+ if use doc; then
+ dodoc -r doc/html
+ docinto pdf
+ dodoc doc/pdf/*.pdf
+ fi
+
+ newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+ newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+ newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+ newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+ newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+ newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+ systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
+
+ insinto /etc
+ newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+ insinto /var/lib/krb5kdc
+ newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+ if use openldap ; then
+ insinto /etc/openldap/schema
+ doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/kpropd.xinetd" kpropd
+ fi
+}
diff --git a/app-crypt/mit-krb5/mit-krb5-1.16-r2.ebuild b/app-crypt/mit-krb5/mit-krb5-1.16-r2.ebuild
new file mode 100644
index 000000000000..feec00d8627d
--- /dev/null
+++ b/app-crypt/mit-krb5/mit-krb5-1.16-r2.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd versionator
+
+MY_P="${P/mit-}"
+P_DIR=$(get_version_component_range 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="https://web.mit.edu/kerberos/www/"
+SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc +keyutils libressl nls openldap +pkinit selinux +threads test xinetd"
+
+# Test suite require network access
+RESTRICT="test"
+
+CDEPEND="
+ !!app-crypt/heimdal
+ >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
+ )
+ keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
+ nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ pkinit? (
+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+ )
+ xinetd? ( sys-apps/xinetd )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20140508-r1
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${CDEPEND}
+ ${PYTHON_DEPS}
+ virtual/yacc
+ doc? ( virtual/latex-base )
+ test? (
+ ${PYTHON_DEPS}
+ dev-lang/tcl:0
+ dev-util/dejagnu
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/krb5-config
+)
+
+src_prepare() {
+ eapply -p2 "${FILESDIR}/CVE-2018-5729-5730.patch"
+ eapply "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+ eapply -p2 "${FILESDIR}/${PN}-config_LDFLAGS.patch"
+ eapply "${FILESDIR}/${PN}-libressl-version-check.patch"
+
+ # Make sure we always use the system copies.
+ rm -rf util/{et,ss,verto}
+ sed -i 's:^[[:space:]]*util/verto$::' configure.in || die
+
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ # QA
+ append-flags -fno-strict-aliasing
+ append-flags -fno-strict-overflow
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use keyutils || export ac_cv_header_keyutils_h=no
+ ECONF_SOURCE=${S} \
+ WARN_CFLAGS="set" \
+ econf \
+ $(use_with openldap ldap) \
+ "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+ $(use_enable nls) \
+ $(use_enable pkinit) \
+ $(use_enable threads thread-support) \
+ --without-hesiod \
+ --enable-shared \
+ --with-system-et \
+ --with-system-ss \
+ --enable-dns-for-realm \
+ --enable-kdc-lookaside-cache \
+ --with-system-verto \
+ --disable-rpath
+}
+
+multilib_src_compile() {
+ emake -j1
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+ install
+}
+
+multilib_src_install_all() {
+ # default database dir
+ keepdir /var/lib/krb5kdc
+
+ cd ..
+ dodoc README
+
+ if use doc; then
+ dodoc -r doc/html
+ docinto pdf
+ dodoc doc/pdf/*.pdf
+ fi
+
+ newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+ newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+ newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+ newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+ newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+ newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+ systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
+
+ insinto /etc
+ newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+ insinto /var/lib/krb5kdc
+ newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+ if use openldap ; then
+ insinto /etc/openldap/schema
+ doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/kpropd.xinetd" kpropd
+ fi
+}
diff --git a/app-crypt/nitrokey-app/Manifest b/app-crypt/nitrokey-app/Manifest
index f0cac2bfa50b..45c5b2ef62ab 100644
--- a/app-crypt/nitrokey-app/Manifest
+++ b/app-crypt/nitrokey-app/Manifest
@@ -1,4 +1,6 @@
DIST nitrokey-app-0.6.3.tar.gz 769503 BLAKE2B 97b4f9951cb1ca1e3da1a2af32756b72a9a9e1f8b55d087115a6a95fe26a7aabde6c9503330f43308c3824211524dd1780e104ae6e28e3d60c38cc1b4158edeb SHA512 23960b0ca740a4c9520a3d7043f396ffb6fb730ef28ad44b299aadbb0b7d2fa1a182c38a88fd684fe664c2079c5a03c5a6b8e6ceb7f8ca69a37fb64ef64237a6
+DIST nitrokey-app-1.3.tar.gz 1132479 BLAKE2B 96a20ed4156137e13c0b0eb3f69edd537cf2a236781ba55d295b797a2a273ef3a412f27c2302c035569756146acb006752dd91d9176377f142e2a8c8108ef4a1 SHA512 b78830dee0957601b2e2de97ef267154e9b3444e9ef49e307f7aad5810e4184f1b5d5a278711431cac098e51217eda30d27425cd6a83040fb16bc27d6b1aec5b
EBUILD nitrokey-app-0.6.3.ebuild 723 BLAKE2B 568bdb73d8a109ae377ba3f189ebd5c1760a13f886394f9421d7ee22ab9537a58aefe5adcb1b2204cd388edb4ba6865d0a96dfdcff575126602be61cf999d867 SHA512 11c36ae01ed31273939bf775b12d29063d9a08c9dd3d26a270f814b75c03e18863c10f702a0f7f6e00ee7b198e027d4fee31aa142b973e5fc08048fab0336c8a
-EBUILD nitrokey-app-9999.ebuild 728 BLAKE2B fe94fdd87a6db5279e20cddd1ba4e787d03d6bfc2e794df9b4064c7761f41428ac7a785c0131d32928c9fa38d09c828f6c4614823da6406d73258bcda5d5ee64 SHA512 39c6a50773b1469897048521059804e7c225f963dfb656d00da63cb79138c2abd3041678003c0669835e059abf342eeec56f86fb6493cd8aa81e71463315e25c
+EBUILD nitrokey-app-1.3.ebuild 887 BLAKE2B 2acf4bab7849cef1d2a406640e165e57890d53f5f4d4a36cc3ee5ac6ef489fd538fa28446b36010861c4718f38fa766f0ceb667a0122a3c6e4b5a97b9234fb33 SHA512 d2918ed30023c9cb6be2e9c65c26f0e999e1f57904b67b419e98ef6989e87b286df3800e8f393f9ba34bc0a51c17688b2b749c480d68ea0e6af9cfc8674c1fdb
+EBUILD nitrokey-app-9999.ebuild 887 BLAKE2B 2acf4bab7849cef1d2a406640e165e57890d53f5f4d4a36cc3ee5ac6ef489fd538fa28446b36010861c4718f38fa766f0ceb667a0122a3c6e4b5a97b9234fb33 SHA512 d2918ed30023c9cb6be2e9c65c26f0e999e1f57904b67b419e98ef6989e87b286df3800e8f393f9ba34bc0a51c17688b2b749c480d68ea0e6af9cfc8674c1fdb
MISC metadata.xml 399 BLAKE2B 622fa027d3ed6c95ea87e6c533289af1b66229f76bc163b490a8c5a819373c85d21ab22505c9a159a7598fdc17b1bfc7d01ff6217d3d8f8e64ef38f2d68d710e SHA512 fa204891e67b5c6f1ac7082fe49f52ae287f6aed77dd1fd8972770c7a5ddb7f2af71f543a3888c9f572dfb04197f98486a75ecba5960506274c634782af110ab
diff --git a/app-crypt/nitrokey-app/nitrokey-app-1.3.ebuild b/app-crypt/nitrokey-app/nitrokey-app-1.3.ebuild
new file mode 100644
index 000000000000..42f38fdb6fd0
--- /dev/null
+++ b/app-crypt/nitrokey-app/nitrokey-app-1.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+inherit cmake-utils gnome2-utils
+
+DESCRIPTION="Cross platform personalization tool for the Nitrokey"
+HOMEPAGE="https://github.com/Nitrokey/nitrokey-app"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Nitrokey/nitrokey-app"
+
+ # Disable pulling in bundled dependencies
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/Nitrokey/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="
+ app-crypt/libnitrokey:=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/cppcodec
+ virtual/pkgconfig"
+
+pkg_postinst(){
+ gnome2_icon_cache_update
+}
+
+pkg_postrm(){
+ gnome2_icon_cache_update
+}
diff --git a/app-crypt/nitrokey-app/nitrokey-app-9999.ebuild b/app-crypt/nitrokey-app/nitrokey-app-9999.ebuild
index deb598f36ae3..42f38fdb6fd0 100644
--- a/app-crypt/nitrokey-app/nitrokey-app-9999.ebuild
+++ b/app-crypt/nitrokey-app/nitrokey-app-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-inherit cmake-utils
+inherit cmake-utils gnome2-utils
DESCRIPTION="Cross platform personalization tool for the Nitrokey"
HOMEPAGE="https://github.com/Nitrokey/nitrokey-app"
@@ -25,9 +25,20 @@ SLOT="0"
RDEPEND="
app-crypt/libnitrokey:=
+ dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
+ dev-qt/qtsvg:5
dev-qt/qtwidgets:5"
DEPEND="
${RDEPEND}
+ dev-libs/cppcodec
virtual/pkgconfig"
+
+pkg_postinst(){
+ gnome2_icon_cache_update
+}
+
+pkg_postrm(){
+ gnome2_icon_cache_update
+}
diff --git a/app-crypt/pinentry/Manifest b/app-crypt/pinentry/Manifest
index 54945141ebef..2e5e0a25e3ac 100644
--- a/app-crypt/pinentry/Manifest
+++ b/app-crypt/pinentry/Manifest
@@ -4,6 +4,8 @@ AUX pinentry-1.0.0-build.patch 6634 BLAKE2B f5bd7f10e62ea603add875e14a69f30fbc6a
AUX pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch 1900 BLAKE2B b9e7aa8f87615d4780af3361dd85907bf249891c108d51c001b44a5b55c697573c314e20fa2d8ec3df95c71b3aabfd2099e4efce4a0fdc3265fc483e785c3c23 SHA512 0b35900e4641c72c6b28b19bd252ffcabe14669e037c710a1057157fac0b65c709711a5667b66fd07afb433fc1c67509ec84eaddb822213d3ddc4ff7b549967e
AUX pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch 1606 BLAKE2B bebea23f44a0512dad873f693a8343a47684c983ca37faba908bee62a7f87d1eaf2a097672df45fcfabb28911b55bc3b02177f910137f50d9c97a6939a1f7047 SHA512 15e6b86015bbf9f199bfa9e68f2a1b9f3fc14105313e1dbfb303d76b1949092ec2671b8d2a90fa8b05e0196da81e9f20875656dc11fdd96b48a14d79e4becdf7
DIST pinentry-1.0.0.tar.bz2 436930 BLAKE2B 949be8de8504a42cd5bd6ffebe331a825db7ff3c2ccc5fc554155b7621fddf9df957aa92063eb1a06c6964826a296bf60a4cc46cf2886552e37703a62042f35a SHA512 f109236707c51871b5020ef807a551366461fafcfbe09bf8cda19d4b163a42cf622562b905ceb41429f1d648b3f3d27807538709da6a135b67f9888709eccd62
+DIST pinentry-1.1.0.tar.bz2 467702 BLAKE2B cf43555848ab0dc60756fca123aba7599ebb1bfe0458b973ed9d84479f8de9ee69ef309b518b40aa340434d64d37793cf97c94f78f99820bc5c71ecd2aac7a49 SHA512 5012672925bcb5f683358c259e55e4b87c67cf063ad52c759308933733025c33f7ce08e5b8019ffc101cbf7ef30499040ef2fd34a7611698e65e1593f80948cd
EBUILD pinentry-1.0.0-r2.ebuild 2886 BLAKE2B 27f6057b0d5d0d474397660d755c90ab8dc025a80d5573e44c71093839efee3c0a126fb5dc10fb53083946c46989cdb63aa1baf6e75f40c2e3aef6bae558bfef SHA512 32cc1cc04357afe5f0b84f1bd75af877e1b849d3a4fc70d194e627a32da883a05037d36d15b25cea67d2963563402c13d125a928278f9326fda8463b5951eb3a
EBUILD pinentry-1.0.0-r3.ebuild 2958 BLAKE2B 350c3f20934857f72ce46dad5d8a047f5b04c10dbf4f398e346a5b1339a81fa1263296859a240fe717970840ed81b2f271a902d3e26b5d93f108bbdf3117cc20 SHA512 10c088dd6cd0efab43430856615cd795986c127765fbb47c0d324085aac9474da85bd317a8ec23aecc05fafba19f14392ccbf59b1820590223be0eb57855a2a6
+EBUILD pinentry-1.1.0-r1.ebuild 2812 BLAKE2B ae22cbfaddbba62ebc6ea4cd28d701fc54d466f2918c2021f145bf7cb5d50cf488cbdc8ae5144413831253c6ca7689a9136f90535966ae2bc00810ecfded4d0e SHA512 64d205410bba1137d660e6a9ac77e5366e655787b53bdf8d3a4567350be2ed9e9ffaea4711faffa8469dbc5bb5d2f2e2a1a4316afbc96c713a726226b906fc95
MISC metadata.xml 352 BLAKE2B 75bb4d471f7b82b6cfe614d5c2ed226df087792ed84803ce4b011c5ad0a5a1548a87c6ab4c17ffeef53eb64bdea262fda4f89d27c38950ff1ced736b38d7df59 SHA512 3817eb6ad931ab0ee363ed7f8612b08a44c0d02e7abb9d0734452c289350c9909ca4208acad01c54a3f1b260417c400f4692e37b34113c6d618680d41796e2d0
diff --git a/app-crypt/pinentry/pinentry-1.1.0-r1.ebuild b/app-crypt/pinentry/pinentry-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..2e72ca450419
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-1.1.0-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic qmake-utils toolchain-funcs
+
+DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="https://gnupg.org/aegypten2/index.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
+
+CDEPEND="
+ app-eselect/eselect-pinentry
+ >=dev-libs/libassuan-2.1
+ >=dev-libs/libgcrypt-1.6.3
+ >=dev-libs/libgpg-error-1.17
+ caps? ( sys-libs/libcap )
+ gnome-keyring? ( app-crypt/libsecret )
+ gtk? ( x11-libs/gtk+:2 )
+ ncurses? ( sys-libs/ncurses:0= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
+"
+DEPEND="${CDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+RDEPEND="${CDEPEND}
+ gnome-keyring? ( app-crypt/gcr )
+"
+
+REQUIRED_USE="
+ gtk? ( !static )
+ qt5? ( !static )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
+ "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
+
+ export QTLIB="$(qt5_get_libdir)"
+
+ econf \
+ --enable-pinentry-tty \
+ $(use_with caps libcap) \
+ $(use_enable emacs pinentry-emacs) \
+ $(use_enable gnome-keyring libsecret) \
+ $(use_enable gnome-keyring pinentry-gnome3) \
+ $(use_enable gtk pinentry-gtk2) \
+ $(use_enable ncurses pinentry-curses) \
+ $(use_enable ncurses fallback-curses) \
+ $(use_enable qt5 pinentry-qt) \
+ MOC="$(qt5_get_bindir)"/moc
+}
+
+src_install() {
+ default
+ rm -f "${ED}"/usr/bin/pinentry || die
+
+ use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
+}
+
+pkg_postinst() {
+ if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
+ elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
+ elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
+ elog "The soft resource limit for memory locking specifies the limit an"
+ elog "unprivileged process may lock into memory. You can also use POSIX"
+ elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
+ elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
+ elog "your users."
+ fi
+
+ eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+ eselect pinentry update ifunset
+}
diff --git a/app-crypt/pius/Manifest b/app-crypt/pius/Manifest
index 7197836abab0..01ae4122e875 100644
--- a/app-crypt/pius/Manifest
+++ b/app-crypt/pius/Manifest
@@ -1,5 +1,5 @@
DIST pius-2.2.1.tar.bz2 39466 BLAKE2B e88f607cfe7261fc2a0177154ec05626b159cf83b84eb87c7f3f86947a07278a6d7de01bff549affafd5072d330a5a9e7a91caea5e8b522bceefd3264cc9c9e1 SHA512 6380ca3edb045ab25669e1dbf29a9e209f8de2b41b930b81c94a45dc5921bedeebbdc8fb17b494845228353598f882aeefee5ee7dc16b7cc86297e8a333de6ae
DIST pius-2.2.4.tar.bz2 40578 BLAKE2B e7989631813658ff888c72b825269482ff33296abf0b9780ecb24df4628c499087a7591372ef96449b4899b1bcd730b0c75411bcd3c8839c57d3d4b5de374862 SHA512 3a178d30d98d0ed7ddf6819578a54ccfb9719f77c1f6385e3b254e28cd890817f328685c02cc464d4d592961c28ba314ca3175056b412dcdb301b851d874eb60
-EBUILD pius-2.2.1.ebuild 490 BLAKE2B 87acafa5c445b69e41403c35ebbd58c002108155fb9bafc639a4cb9c06fe2f708ddc33bb78f8c506df79799491b1af6dace90d32d4be7eb485f1540156456845 SHA512 828b38f435ba0328352c42740e792f01aa96f5043871a28125f608bb06be2b447b039765017d6ecbc5ced9477c0bf66ed6ac85ea82608d228bbfb89fdc938c25
+EBUILD pius-2.2.1.ebuild 491 BLAKE2B 61ece77e1bb6e0112561fa0cd104e855e0cbdfdbe2880d99454ffa8c44848dce2cfa7e162622ff86c38314c8bf2bcd1ef25ae62a744486aa68677302dfcb9906 SHA512 562dceeaa4fdaa16cbaa34f5e86db4c827d713048f3799746a988f9b10530e0b5a3431435d419aeb0485ac7da98f5b29eb5193b550de74a0ef2e94e1fb86e34b
EBUILD pius-2.2.4.ebuild 491 BLAKE2B 61ece77e1bb6e0112561fa0cd104e855e0cbdfdbe2880d99454ffa8c44848dce2cfa7e162622ff86c38314c8bf2bcd1ef25ae62a744486aa68677302dfcb9906 SHA512 562dceeaa4fdaa16cbaa34f5e86db4c827d713048f3799746a988f9b10530e0b5a3431435d419aeb0485ac7da98f5b29eb5193b550de74a0ef2e94e1fb86e34b
MISC metadata.xml 689 BLAKE2B 40ea626d106920eaf8d0e2ae15637e54f9f81933c222b058834f69e9ec1cef52c634fb176f1a6b8d48f4c0f664092cfcf2ee1f58bdec84f591410323eb0a4914 SHA512 77e117dc545213fdc376935a62d22a0b1db1aaa05fc5fc6ae83e0ffba49693411a451485c519c1bf1a17a829833a90d78472754600ed4dd5f779a772cc480218
diff --git a/app-crypt/pius/pius-2.2.1.ebuild b/app-crypt/pius/pius-2.2.1.ebuild
index f9560268c5a0..927947b3642a 100644
--- a/app-crypt/pius/pius-2.2.1.ebuild
+++ b/app-crypt/pius/pius-2.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
DESCRIPTION="A tool for signing and email all UIDs on a set of PGP keys"
-HOMEPAGE="http://www.phildev.net/pius/"
+HOMEPAGE="https://www.phildev.net/pius/"
SRC_URI="https://github.com/jaymzh/pius/releases/download/v${PV}/pius-${PV}.tar.bz2"
LICENSE="GPL-2"
diff --git a/app-crypt/pkcrack/Manifest b/app-crypt/pkcrack/Manifest
index 4fb557b22366..d3072f582553 100644
--- a/app-crypt/pkcrack/Manifest
+++ b/app-crypt/pkcrack/Manifest
@@ -1,3 +1,3 @@
DIST pkcrack-1.2.2.tar.gz 174208 BLAKE2B fed476a9d681bb9e565d05ef636f58d6643c4f8897725c56b66e64123e9435f9bf28e550f0249794e81e9f968683ab81c19baa1ee51478e1b91509e8e318725a SHA512 5c64fb9ae09dedc70fb20cd689f432059fcd64f689072b529b4045c3241760fee273ee921da081bc08be2e0594d27101c5d89d99cb2b84e16f80c011419b7200
-EBUILD pkcrack-1.2.2-r1.ebuild 1106 BLAKE2B 53164131436ef72bce89590136dfad14d182b04b13623e3f50858f65be20f86ca0f2ca926e641558bcb05a2c0a2ab7cc3495891e8b81c6e438661c897ab47fac SHA512 942eb9364bf578ee31383efbd7a353514acb98d67cd2afaeb6ef9bb8c120f07506dfd3bfa632b807efa6379d3f99aa2be6661b35c61dcaa6d5d70578a435afa1
+EBUILD pkcrack-1.2.2-r1.ebuild 1108 BLAKE2B 4aea9ef44695b89bf44baa0a795689e479610a308e34ba7a92a8d6dadfaf90acd76c5a44fc39c06b414bf571be6c67f81ace4c2b0ec1436ef75852b8ab231ce2 SHA512 1dd51a17e71b6f47fa04561f1235bc5628a77132a88812283b26a51593d6048d68cda2ba139af2ed9f08f9f8bb2e041f3bf5c7beecb9da5f4a9aabcaa2b91f57
MISC metadata.xml 370 BLAKE2B 1d584e6fa52911c3d0f099c44193eeb00261e2f46f99dd2924744e9f4ce4af84bddc72b85415f85e3ca5ad11612914bcc022e494b9c4c00a5e95f8c1b5f1d72d SHA512 39a268538a1a2d5932b5295c4727c8769e4648cb94905ccead6b3941a7e8752b3992403f7623497267334f697478dc0db355e42bf2857b415f8ae06baa99d492
diff --git a/app-crypt/pkcrack/pkcrack-1.2.2-r1.ebuild b/app-crypt/pkcrack/pkcrack-1.2.2-r1.ebuild
index 8fdb5148d939..251eb649d276 100644
--- a/app-crypt/pkcrack/pkcrack-1.2.2-r1.ebuild
+++ b/app-crypt/pkcrack/pkcrack-1.2.2-r1.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit toolchain-funcs
DESCRIPTION="PkZip cipher breaker"
-HOMEPAGE="http://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html"
-SRC_URI="http://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack/${P}.tar.gz"
+HOMEPAGE="https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html"
+SRC_URI="https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack/${P}.tar.gz"
LICENSE="pkcrack"
SLOT="0"