commit:     6c78ffd4871e513b3c7ef6599503b446929b7ace
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  6 13:48:26 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Feb  6 13:48:26 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c78ffd4

net-misc/openssh: security cleanup (#763048)

Bug: https://bugs.gentoo.org/763048
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 net-misc/openssh/Manifest                 |  13 -
 net-misc/openssh/openssh-8.1_p1-r5.ebuild | 471 ---------------------------
 net-misc/openssh/openssh-8.2_p1-r8.ebuild | 486 ----------------------------
 net-misc/openssh/openssh-8.3_p1-r6.ebuild | 511 ------------------------------
 4 files changed, 1481 deletions(-)

diff --git a/net-misc/openssh/Manifest b/net-misc/openssh/Manifest
index 173d930cac0..5b21cbdc99a 100644
--- a/net-misc/openssh/Manifest
+++ b/net-misc/openssh/Manifest
@@ -1,19 +1,6 @@
-DIST openssh-8.1_p1-glibc-2.31-patches.tar.xz 1752 BLAKE2B 
ccab53069c0058be7ba787281f5a1775d169a9dcda6f78742eb8cb3cce4ebe3a4c506c75a8ac142700669cf04b7475e35f6a06a4499d3d076e4e88e4fc59f3e6
 SHA512 
270d532fc7f4ec10c5ee56677f8280dec47a96e73f8032713b212cfad64a58ef142a7f49b7981dca80cbf0dd99753ef7a93b6af164cad9492fa224d546c27f14
-DIST openssh-8.1p1+x509-12.3.diff.gz 689934 BLAKE2B 
57a302a25bec1d630b9c36f74ab490e11c97f9bcbaf8f527e46ae7fd5bade19feb3d8853079870b5c08b70a55e289cf4bf7981c11983973fa588841aeb21e650
 SHA512 
8d7c321423940f5a78a51a25ad5373f5db17a4a8ca7e85041e503998e0823ad22068bc652e907e9f5787858d45ce438a4bba18240fa72e088eb10b903e96b192
-DIST openssh-8.1p1-sctp-1.2.patch.xz 7672 BLAKE2B 
f1aa0713fcb114d8774bd8d524d106401a9d7c2c73a05fbde200ccbdd2562b3636ddd2d0bc3eae9f04b4d7c729c3dafd814ae8c530a76c4a0190fae71d1edcd2
 SHA512 
2bffab0bbae5a4c1875e0cc229bfd83d8565bd831309158cd489d8b877556c69b936243888a181bd9ff302e19f2c174156781574294d260b6384c464d003d566
-DIST openssh-8.1p1.tar.gz 1625894 BLAKE2B 
d525be921a6f49420a58df5ac434d43a0c85e0f6bf8428ecebf04117c50f473185933e6e4485e506ac614f71887a513b9962d7b47969ba785da8e3a38f767322
 SHA512 
b987ea4ffd4ab0c94110723860273b06ed8ffb4d21cbd99ca144a4722dc55f4bf86f6253d500386b6bee7af50f066e2aa2dd095d50746509a10e11221d39d925
-DIST openssh-8.2p1+x509-12.4.3.diff.gz 806905 BLAKE2B 
8e0f0f3eeb2aafd9fc9e6eca80c0b51ffedbed9dfc46ff73bb1becd28f6ac013407d03107b59da05d9d56edbf283eef20891086867b79efd8aab81c3e9a4a32f
 SHA512 
51117d7e4df2ff78c4fdfd08c2bb8f1739b1db064df65bab3872e1a956c277a4736c511794aa399061058fea666a76ee07bb50d83a0d077b7fa572d02c030b91
-DIST openssh-8.2p1-sctp-1.2.patch.xz 7668 BLAKE2B 
717487cffd235a5dfa2d9d3f2c1983f410d400b0d23f71a9b74406ac3d2f448d76381a3b7a3244942bff4e6bdc3bc78d148b9949c78dc297d99c7330179f8176
 SHA512 
a5fbd827e62e91b762062a29c7bc3bf569a202bdc8c91da7d77566ff8bb958b5b9fb6f8d45df586e0d7ac07a83de6e82996e9c5cdd6b3bf43336c420d3099305
-DIST openssh-8.2p1.tar.gz 1701197 BLAKE2B 
8b95cdebc87e8d14f655ed13c12b91b122adf47161071aa81d0763f81b12fe4bc3d409c260783d995307d4e4ed2d16080fd74b15e4dc6dcc5648d7e66720c3ed
 SHA512 
c4db64e52a3a4c410de9de49f9cb104dd493b10250af3599b92457dd986277b3fd99a6f51cec94892fd1be5bd0369c5757262ea7805f0de464b245c3d34c120a
-DIST openssh-8.3p1+x509-12.5.1.diff.gz 803054 BLAKE2B 
ec88959b4e3328e70d6f136f3d5bebced2e555de3ea40f55c535ca8a30a0eed84d177ad966e5bda46e1fc61d42141b13e96d068f5abfd069ae81b131dfb5a66c
 SHA512 
28166a1a1aeff0c65f36263c0009e82cda81fc8f4efe3d11fabd0312d199a4f935476cf7074fbce68787d2fec0fd42f00fef383bf856a5767ce9d0ca6bbc8ef0
-DIST openssh-8.3p1-sctp-1.2.patch.xz 7668 BLAKE2B 
abbc65253d842c09a04811bdbafc175c5226996cdd190812b47ce9646853cd5c1b21d733e719b481cce9c7f4dc00894b6d6be732e311850963df23b9dc55a0e6
 SHA512 
4e0cc1707663f902dfbf331a431325da78759cc757a4aaae33e0c7f64f21830ec805168d8ae4d47a65a20c235fa534679e288f922df2b24655b7d1ee9a3bf014
-DIST openssh-8.3p1.tar.gz 1706358 BLAKE2B 
0b53d92caa4a0f4cb40eee671ac889753d320b7c8e44df159a81dd8163c3663f07fa648f5dc506fb27d31893acf9701b997598c50bf204acf54172d72825a4d8
 SHA512 
b5232f7c85bf59ae2ff9d17b030117012e257e3b8c0d5ac60bb139a85b1fbf298b40f2e04203a2e13ca7273053ed668b9dedd54d3a67a7cb8e8e58c0228c5f40
 DIST openssh-8.4p1+x509-12.6.diff.gz 857479 BLAKE2B 
ac8c3e8c1087ca571e5459c9826903410ff2d45de60151d9bd8e59da15805b75752f8f3ffc231c9f8aaa8f2b2c07a97a8296684f885e0d14b54ff5d7bc585588
 SHA512 
e56516b376ecc3e5464895744ce0616cf4446a891fbd3cbcb090d5f61ebc349d74f9c01e855ccd22e574dbfeec0cb2ba7daf582983010ff991243a6371cc5fe3
 DIST openssh-8.4p1-sctp-1.2.patch.xz 7668 BLAKE2B 
2e22d2a90723cea9ef958bd989b8c431fcb08b4dc5bfd3ebbf463ca9546dc37acdc185c35ddf3adbb90bde9b3902bf36524a456061a9bcbdef7a76ece79e2ff4
 SHA512 
90da34b7b86e52df9e0191c99c9d645a4d4671958adebeed46e1149102d4ba8c729eadb79d84fad9feac64aafa0541d2f1f4db8cdfe0af5ba893aac072ef2380
 DIST openssh-8.4p1.tar.gz 1742201 BLAKE2B 
4b1e60d4962095df045c3a31bbf8af725b1c07324c4aa1f6b9a3ddb7e695c98e9aa01655b268f6fd6a400f511b23be91f6b89d07b14a6a2d92f873efb4d9c146
 SHA512 
d65275b082c46c5efe7cf3264fa6794d6e99a36d4a54b50554fc56979d6c0837381587fd5399195e1db680d2a5ad1ef0b99a180eac2b4de5637906cb7a89e9ce
-DIST openssh-8_1_P1-hpn-AES-CTR-14.20.diff 29935 BLAKE2B 
79101c43601e41306c957481c0680a63357d93bededdf12a32229d50acd9c1f46a386cbb91282e9e7d7bb26a9f276f5a675fd2de7662b7cbd073322b172d3bca
 SHA512 
94f011b7e654630e968a378375aa54fa1fde087b4426d0f2225813262e6667a1073814d6a83e9005f97b371c536e462e614bfe726b092ffed8229791592ca221
-DIST openssh-8_1_P1-hpn-DynWinNoneSwitch-14.20.diff 42696 BLAKE2B 
d8ac7fa1a4e4d1877acdedeaee80172da469b5a62d0aaa43d6ed46c578e7893577b9d563835d89ca2044867fc561ad3f562bf504c025cf4c78421cf3d24397e9
 SHA512 
768db7cca8839df4441afcb08457d13d32625b31859da527c3d7f1a92d17a4ec81d6987db00879c394bbe59589e57b10bfd98899a167ffed65ab367b1fd08739
-DIST openssh-8_1_P1-hpn-PeakTput-14.20.diff 2012 BLAKE2B 
e42c43128f1d82b4de1517e6a9219947da03cecb607f1bc45f0728547f17601a6ce2ec819b6434890efd19ceaf4d20cb98183596ab5ee79e104a52cda7db9cdc
 SHA512 
238f9419efd3be80bd700f6ae7e210e522d747c363c4e670364f5191f144ae3aa8d1b1539c0bf87b3de36743aa73e8101c53c0ef1c6472d209569be389e7814d
 DIST openssh-8_3_P1-hpn-AES-CTR-14.22.diff 29963 BLAKE2B 
19b82f4ff820f52dafaa5b3f09f8a0a67f318771c1c7276b9d37e4a6412052c9c53347f880f2d78981af3830432704b9ad74b375241965326530ae23ec8d74a2
 SHA512 
49f2778831dc768850870a1755da9cdd7d3bc83fa87069070f5a1d357ce9bdadeb2506c8ff3c6b055708da12a70e9ede7ed0e8a29fcab441abb55c9d483663be
 DIST openssh-8_3_P1-hpn-DynWinNoneSwitch-14.22.diff 42783 BLAKE2B 
10940c35ae6bdc33e58bc9abd9cd7a551d4ca76a175400acb872906805bd04d384f57e81049b183d7d892ce1b5f7a138e197366369fe12e5c9dc1349850b0582
 SHA512 
c09162b96e0ffadc59c6076507bc843e6f8f2fb372140b84181f5fb2894225b1e05a831d85ba689c35c322b5a99302b9db77c324f978f1a46a16b185b3cb28dd
 DIST openssh-8_3_P1-hpn-PeakTput-14.22.diff 2012 BLAKE2B 
701f46da022e7ecf35b57f41bf5682a37be453c175928d3ff3df09292275e6021f6108a20c02eec9d636e85ee5a8e05b7233ada180edf1209a3dc4b139d58858
 SHA512 
026f65c62e4c05b69661094d41bf338df608e2a9b23ef95588062e3bd68729733dae32adab783609a6eca810ccdcbddee25e7649a534c9a283a03282f73438bb

diff --git a/net-misc/openssh/openssh-8.1_p1-r5.ebuild 
b/net-misc/openssh/openssh-8.1_p1-r5.ebuild
deleted file mode 100644
index e055a207b9d..00000000000
--- a/net-misc/openssh/openssh-8.1_p1-r5.ebuild
+++ /dev/null
@@ -1,471 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit user-info flag-o-matic multilib autotools pam systemd toolchain-funcs
-
-# Make it more portable between straight releases
-# and _p? releases.
-PARCH=${P/_}
-HPN_PV="${PV^^}"
-
-HPN_VER="14.20"
-HPN_PATCHES=(
-       ${PN}-${HPN_PV/./_}-hpn-DynWinNoneSwitch-${HPN_VER}.diff
-       ${PN}-${HPN_PV/./_}-hpn-AES-CTR-${HPN_VER}.diff
-       ${PN}-${HPN_PV/./_}-hpn-PeakTput-${HPN_VER}.diff
-)
-
-SCTP_VER="1.2" SCTP_PATCH="${PARCH}-sctp-${SCTP_VER}.patch.xz"
-X509_VER="12.3" X509_PATCH="${PARCH}+x509-${X509_VER}.diff.gz"
-
-PATCH_SET="openssh-7.9p1-patches-1.0"
-
-DESCRIPTION="Port of OpenBSD's free SSH release"
-HOMEPAGE="https://www.openssh.com/";
-SRC_URI="mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz
-       
https://dev.gentoo.org/~chutzpah/dist/openssh/${P}-glibc-2.31-patches.tar.xz
-       ${SCTP_PATCH:+sctp? ( 
https://dev.gentoo.org/~chutzpah/dist/openssh/${SCTP_PATCH} )}
-       ${HPN_VER:+hpn? ( $(printf 
"mirror://sourceforge/hpnssh/HPN-SSH%%20${HPN_VER/./v}%%20${HPN_PV/_P/p}/%s\n" 
"${HPN_PATCHES[@]}") )}
-       ${X509_PATCH:+X509? ( 
https://roumenpetrov.info/openssh/x509-${X509_VER}/${X509_PATCH} )}
-"
-S="${WORKDIR}/${PARCH}"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 
sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-# Probably want to drop ssl defaulting to on in a future version.
-IUSE="abi_mips_n32 audit bindist debug hpn kerberos kernel_linux ldns libedit 
libressl livecd pam +pie sctp selinux +ssl static test X X509 xmss"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
-       ldns? ( ssl )
-       pie? ( !static )
-       static? ( !kerberos !pam )
-       X509? ( !sctp ssl )
-       test? ( ssl )
-"
-
-LIB_DEPEND="
-       audit? ( sys-process/audit[static-libs(+)] )
-       ldns? (
-               net-libs/ldns[static-libs(+)]
-               !bindist? ( net-libs/ldns[ecdsa,ssl(+)] )
-               bindist? ( net-libs/ldns[-ecdsa,ssl(+)] )
-       )
-       libedit? ( dev-libs/libedit:=[static-libs(+)] )
-       sctp? ( net-misc/lksctp-tools[static-libs(+)] )
-       selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] )
-       ssl? (
-               !libressl? (
-                       || (
-                               (
-                                       >=dev-libs/openssl-1.0.1:0[bindist=]
-                                       <dev-libs/openssl-1.1.0:0[bindist=]
-                               )
-                               >=dev-libs/openssl-1.1.0g:0[bindist=]
-                       )
-                       dev-libs/openssl:0=[static-libs(+)]
-               )
-               libressl? ( dev-libs/libressl:0=[static-libs(+)] )
-       )
-       virtual/libcrypt:=[static-libs(+)]
-       >=sys-libs/zlib-1.2.3:=[static-libs(+)]
-"
-RDEPEND="
-       acct-group/sshd
-       acct-user/sshd
-       !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
-       pam? ( sys-libs/pam )
-       kerberos? ( virtual/krb5 )
-"
-DEPEND="${RDEPEND}
-       virtual/os-headers
-       kernel_linux? ( >=sys-kernel/linux-headers-5.1 )
-       static? ( ${LIB_DEPEND} )
-"
-RDEPEND="${RDEPEND}
-       pam? ( >=sys-auth/pambase-20081028 )
-       userland_GNU? ( !prefix? ( sys-apps/shadow ) )
-       X? ( x11-apps/xauth )
-"
-BDEPEND="
-       virtual/pkgconfig
-       sys-devel/autoconf
-"
-
-pkg_pretend() {
-       # this sucks, but i'd rather have people unable to `emerge -u openssh`
-       # than not be able to log in to their server any more
-       maybe_fail() { [[ -z ${!2} ]] && echo "$1" ; }
-       local fail="
-               $(use hpn && maybe_fail hpn HPN_VER)
-               $(use sctp && maybe_fail sctp SCTP_PATCH)
-               $(use X509 && maybe_fail X509 X509_PATCH)
-       "
-       fail=$(echo ${fail})
-       if [[ -n ${fail} ]] ; then
-               eerror "Sorry, but this version does not yet support features"
-               eerror "that you requested:      ${fail}"
-               eerror "Please mask ${PF} for now and check back later:"
-               eerror " # echo '=${CATEGORY}/${PF}' >> 
/etc/portage/package.mask"
-               die "booooo"
-       fi
-
-       # Make sure people who are using tcp wrappers are notified of its 
removal. #531156
-       if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then
-               ewarn "Sorry, but openssh no longer supports tcp-wrappers, and 
it seems like"
-               ewarn "you're trying to use it.  Update your 
${EROOT}/etc/hosts.{allow,deny} please."
-       fi
-}
-
-src_prepare() {
-       sed -i \
-               -e 
"/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:${EPREFIX}/usr/bin/xauth:" \
-               pathnames.h || die
-
-       # don't break .ssh/authorized_keys2 for fun
-       sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die
-
-       eapply "${FILESDIR}"/${PN}-7.9_p1-include-stdlib.patch
-       eapply "${FILESDIR}"/${PN}-8.1_p1-GSSAPI-dns.patch #165444 integrated 
into gsskex
-       eapply "${FILESDIR}"/${PN}-6.7_p1-openssl-ignore-status.patch
-       eapply "${FILESDIR}"/${PN}-7.5_p1-disable-conch-interop-tests.patch
-       eapply "${FILESDIR}"/${PN}-8.0_p1-fix-putty-tests.patch
-       eapply 
"${FILESDIR}"/${PN}-8.0_p1-deny-shmget-shmat-shmdt-in-preauth-privsep-child.patch
-       eapply "${FILESDIR}"/${PN}-8.1_p1-tests-2020.patch
-
-       [[ -d ${WORKDIR}/patches ]] && eapply "${WORKDIR}"/patches
-
-       local PATCHSET_VERSION_MACROS=()
-
-       if use X509 ; then
-               pushd "${WORKDIR}" &>/dev/null || die
-               eapply "${FILESDIR}/${P}-X509-glue-"${X509_VER}".patch"
-               popd &>/dev/null || die
-
-               eapply "${WORKDIR}"/${X509_PATCH%.*}
-               eapply "${FILESDIR}"/${P}-X509-$(ver_cut 1-2 
${X509_VER})-tests.patch
-
-               # We need to patch package version or any X.509 sshd will 
reject our ssh client
-               # with "userauth_pubkey: could not parse key: string is too 
large [preauth]"
-               # error
-               einfo "Patching package version for X.509 patch set ..."
-               sed -i \
-                       -e "s/^AC_INIT(\[OpenSSH\], 
\[Portable\]/AC_INIT([OpenSSH], [${X509_VER}]/" \
-                       "${S}"/configure.ac || die "Failed to patch package 
version for X.509 patch"
-
-               einfo "Patching version.h to expose X.509 patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE.*/a #define SSH_X509         
      \"-PKIXSSH-${X509_VER}\"" \
-                       "${S}"/version.h || die "Failed to sed-in X.509 patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_X509' )
-       fi
-
-       if use sctp ; then
-               eapply "${WORKDIR}"/${SCTP_PATCH%.*}
-
-               einfo "Patching version.h to expose SCTP patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE/a #define SSH_SCTP        
\"-sctp-${SCTP_VER}\"" \
-                       "${S}"/version.h || die "Failed to sed-in SCTP patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_SCTP' )
-
-               einfo "Disabling know failing test (cfgparse) caused by SCTP 
patch ..."
-               sed -i \
-                       -e "/\t\tcfgparse \\\/d" \
-                       "${S}"/regress/Makefile || die "Failed to disable known 
failing test (cfgparse) caused by SCTP patch"
-       fi
-
-       if use hpn ; then
-               local hpn_patchdir="${T}/${P}-hpn${HPN_VER}"
-               mkdir "${hpn_patchdir}" || die
-               cp $(printf -- "${DISTDIR}/%s\n" "${HPN_PATCHES[@]}") 
"${hpn_patchdir}" || die
-               pushd "${hpn_patchdir}" &>/dev/null || die
-               eapply "${FILESDIR}"/${PN}-8.1_p1-hpn-${HPN_VER}-glue.patch
-               if use X509; then
-               #       einfo "Will disable MT AES cipher due to incompatbility 
caused by X509 patch set"
-               #       # X509 and AES-CTR-MT don't get along, let's just drop 
it
-               #       rm openssh-${HPN_PV//./_}-hpn-AES-CTR-${HPN_VER}.diff 
|| die
-                       eapply 
"${FILESDIR}"/${PN}-8.0_p1-hpn-${HPN_VER}-X509-glue.patch
-               fi
-               use sctp && eapply 
"${FILESDIR}"/${PN}-8.1_p1-hpn-${HPN_VER}-sctp-glue.patch
-               popd &>/dev/null || die
-
-               eapply "${hpn_patchdir}"
-
-               use X509 || eapply 
"${FILESDIR}/openssh-8.0_p1-hpn-version.patch"
-
-               einfo "Patching Makefile.in for HPN patch set ..."
-               sed -i \
-                       -e "/^LIBS=/ s/\$/ -lpthread/" \
-                       "${S}"/Makefile.in || die "Failed to patch Makefile.in"
-
-               einfo "Patching version.h to expose HPN patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE/a #define SSH_HPN         
\"-hpn${HPN_VER//./v}\"" \
-                       "${S}"/version.h || die "Failed to sed-in HPN patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_HPN' )
-
-               if [[ -n "${HPN_DISABLE_MTAES}" ]] ; then
-                       einfo "Disabling known non-working MT AES cipher per 
default ..."
-
-                       cat > "${T}"/disable_mtaes.conf <<- EOF
-
-                       # HPN's Multi-Threaded AES CTR cipher is currently 
known to be broken
-                       # and therefore disabled per default.
-                       DisableMTAES yes
-                       EOF
-                       sed -i \
-                               -e "/^#HPNDisabled.*/r ${T}/disable_mtaes.conf" 
\
-                               "${S}"/sshd_config || die "Failed to disabled 
MT AES ciphers in sshd_config"
-
-                       sed -i \
-                               -e "/AcceptEnv.*_XXX_TEST$/a 
\\\tDisableMTAES\t\tyes" \
-                               "${S}"/regress/test-exec.sh || die "Failed to 
disable MT AES ciphers in test config"
-               fi
-       fi
-
-       if use X509 || use sctp || use hpn ; then
-               einfo "Patching sshconnect.c to use SSH_RELEASE in 
send_client_banner() ..."
-               sed -i \
-                       -e "s/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, 
SSH_VERSION/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE/" \
-                       "${S}"/sshconnect.c || die "Failed to patch 
send_client_banner() to use SSH_RELEASE (sshconnect.c)"
-
-               einfo "Patching sshd.c to use SSH_RELEASE in 
sshd_exchange_identification() ..."
-               sed -i \
-                       -e "s/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, 
SSH_VERSION/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE/" \
-                       "${S}"/sshd.c || die "Failed to patch 
sshd_exchange_identification() to use SSH_RELEASE (sshd.c)"
-
-               einfo "Patching version.h to add our patch sets to SSH_RELEASE 
..."
-               sed -i \
-                       -e "s/^#define SSH_RELEASE.*/#define SSH_RELEASE     
SSH_VERSION SSH_PORTABLE ${PATCHSET_VERSION_MACROS[*]}/" \
-                       "${S}"/version.h || die "Failed to patch SSH_RELEASE 
(version.h)"
-       fi
-
-       sed -i \
-               -e "/#UseLogin no/d" \
-               "${S}"/sshd_config || die "Failed to remove removed UseLogin 
option (sshd_config)"
-
-       eapply_user #473004
-
-       tc-export PKG_CONFIG
-       local sed_args=(
-               -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):"
-               # Disable PATH reset, trust what portage gives us #254615
-               -e 's:^PATH=/:#PATH=/:'
-               # Disable fortify flags ... our gcc does this for us
-               -e 's:-D_FORTIFY_SOURCE=2::'
-       )
-
-       # The -ftrapv flag ICEs on hppa #505182
-       use hppa && sed_args+=(
-               -e '/CFLAGS/s:-ftrapv:-fdisable-this-test:'
-               -e '/OSSH_CHECK_CFLAG_LINK.*-ftrapv/d'
-       )
-       # _XOPEN_SOURCE causes header conflicts on Solaris
-       [[ ${CHOST} == *-solaris* ]] && sed_args+=(
-               -e 's/-D_XOPEN_SOURCE//'
-       )
-       sed -i "${sed_args[@]}" configure{.ac,} || die
-
-       eautoreconf
-}
-
-src_configure() {
-       addwrite /dev/ptmx
-
-       use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG
-       use static && append-ldflags -static
-       use xmss && append-cflags -DWITH_XMSS
-
-       local myconf=(
-               --with-ldflags="${LDFLAGS}"
-               --disable-strip
-               --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run
-               --sysconfdir="${EPREFIX}"/etc/ssh
-               --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc
-               --datadir="${EPREFIX}"/usr/share/openssh
-               --with-privsep-path="${EPREFIX}"/var/empty
-               --with-privsep-user=sshd
-               $(use_with audit audit linux)
-               $(use_with kerberos kerberos5 "${EPREFIX}"/usr)
-               # We apply the sctp patch conditionally, so can't pass 
--without-sctp
-               # unconditionally else we get unknown flag warnings.
-               $(use sctp && use_with sctp)
-               $(use_with ldns ldns "${EPREFIX}"/usr)
-               $(use_with libedit)
-               $(use_with pam)
-               $(use_with pie)
-               $(use_with selinux)
-               $(use_with ssl openssl)
-               $(use_with ssl md5-passwords)
-               $(use_with ssl ssl-engine)
-               $(use_with !elibc_Cygwin hardening) #659210
-       )
-
-       # stackprotect is broken on musl x86 and ppc
-       use elibc_musl && ( use x86 || use ppc ) && myconf+=( 
--without-stackprotect )
-
-       # The seccomp sandbox is broken on x32, so use the older method for 
now. #553748
-       use amd64 && [[ ${ABI} == "x32" ]] && myconf+=( --with-sandbox=rlimit )
-
-       econf "${myconf[@]}"
-}
-
-src_test() {
-       local t skipped=() failed=() passed=()
-       local tests=( interop-tests compat-tests )
-
-       local shell=$(egetshell "${UID}")
-       if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then
-               elog "Running the full OpenSSH testsuite requires a usable 
shell for the 'portage'"
-               elog "user, so we will run a subset only."
-               skipped+=( tests )
-       else
-               tests+=( tests )
-       fi
-
-       # It will also attempt to write to the homedir .ssh.
-       local sshhome=${T}/homedir
-       mkdir -p "${sshhome}"/.ssh
-       for t in "${tests[@]}" ; do
-               # Some tests read from stdin ...
-               HOMEDIR="${sshhome}" HOME="${sshhome}" SUDO="" \
-               emake -k -j1 ${t} </dev/null \
-                       && passed+=( "${t}" ) \
-                       || failed+=( "${t}" )
-       done
-
-       einfo "Passed tests: ${passed[*]}"
-       [[ ${#skipped[@]} -gt 0 ]] && ewarn "Skipped tests: ${skipped[*]}"
-       [[ ${#failed[@]}  -gt 0 ]] && die "Some tests failed: ${failed[*]}"
-}
-
-# Gentoo tweaks to default config files.
-tweak_ssh_configs() {
-       local locale_vars=(
-               # These are language variables that POSIX defines.
-               # 
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
-               LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY 
LC_NUMERIC LC_TIME
-
-               # These are the GNU extensions.
-               # 
https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html
-               LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME 
LC_PAPER LC_TELEPHONE
-       )
-
-       # First the server config.
-       cat <<-EOF >> "${ED}"/etc/ssh/sshd_config
-
-       # Allow client to pass locale environment variables. #367017
-       AcceptEnv ${locale_vars[*]}
-
-       # Allow client to pass COLORTERM to match TERM. #658540
-       AcceptEnv COLORTERM
-       EOF
-
-       # Then the client config.
-       cat <<-EOF >> "${ED}"/etc/ssh/ssh_config
-
-       # Send locale environment variables. #367017
-       SendEnv ${locale_vars[*]}
-
-       # Send COLORTERM to match TERM. #658540
-       SendEnv COLORTERM
-       EOF
-
-       if use pam ; then
-               sed -i \
-                       -e "/^#UsePAM /s:.*:UsePAM yes:" \
-                       -e "/^#PasswordAuthentication 
/s:.*:PasswordAuthentication no:" \
-                       -e "/^#PrintMotd /s:.*:PrintMotd no:" \
-                       -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \
-                       "${ED}"/etc/ssh/sshd_config || die
-       fi
-
-       if use livecd ; then
-               sed -i \
-                       -e '/^#PermitRootLogin/c# Allow root login with 
password on livecds.\nPermitRootLogin Yes' \
-                       "${ED}"/etc/ssh/sshd_config || die
-       fi
-}
-
-src_install() {
-       emake install-nokeys DESTDIR="${D}"
-       fperms 600 /etc/ssh/sshd_config
-       dobin contrib/ssh-copy-id
-       newinitd "${FILESDIR}"/sshd-r1.initd sshd
-       newconfd "${FILESDIR}"/sshd-r1.confd sshd
-
-       if use pam; then
-               newpamd "${FILESDIR}"/sshd.pam_include.2 sshd
-       fi
-
-       tweak_ssh_configs
-
-       doman contrib/ssh-copy-id.1
-       dodoc CREDITS OVERVIEW README* TODO sshd_config
-       use hpn && dodoc HPN-README
-       use X509 || dodoc ChangeLog
-
-       diropts -m 0700
-       dodir /etc/skel/.ssh
-
-       keepdir /var/empty
-
-       systemd_dounit "${FILESDIR}"/sshd.{service,socket}
-       systemd_newunit "${FILESDIR}"/sshd_at.service 'sshd@.service'
-}
-
-pkg_postinst() {
-       if has_version "<${CATEGORY}/${PN}-5.8_p1" ; then
-               elog "Starting with openssh-5.8p1, the server will default to a 
newer key"
-               elog "algorithm (ECDSA).  You are encouraged to manually update 
your stored"
-               elog "keys list as servers update theirs.  See ssh-keyscan(1) 
for more info."
-       fi
-       if has_version "<${CATEGORY}/${PN}-7.0_p1" ; then
-               elog "Starting with openssh-6.7, support for USE=tcpd has been 
dropped by upstream."
-               elog "Make sure to update any configs that you might have.  
Note that xinetd might"
-               elog "be an alternative for you as it supports USE=tcpd."
-       fi
-       if has_version "<${CATEGORY}/${PN}-7.1_p1" ; then #557388 #555518
-               elog "Starting with openssh-7.0, support for ssh-dss keys were 
disabled due to their"
-               elog "weak sizes.  If you rely on these key types, you can 
re-enable the key types by"
-               elog "adding to your sshd_config or ~/.ssh/config files:"
-               elog "  PubkeyAcceptedKeyTypes=+ssh-dss"
-               elog "You should however generate new keys using rsa or 
ed25519."
-
-               elog "Starting with openssh-7.0, the default for 
PermitRootLogin changed from 'yes'"
-               elog "to 'prohibit-password'.  That means password auth for 
root users no longer works"
-               elog "out of the box.  If you need this, please update your 
sshd_config explicitly."
-       fi
-       if has_version "<${CATEGORY}/${PN}-7.6_p1" ; then
-               elog "Starting with openssh-7.6p1, openssh upstream has removed 
ssh1 support entirely."
-               elog "Furthermore, rsa keys with less than 1024 bits will be 
refused."
-       fi
-       if has_version "<${CATEGORY}/${PN}-7.7_p1" ; then
-               elog "Starting with openssh-7.7p1, we no longer patch openssh 
to provide LDAP functionality."
-               elog "Install sys-auth/ssh-ldap-pubkey and use OpenSSH's 
\"AuthorizedKeysCommand\" option"
-               elog "if you need to authenticate against LDAP."
-               elog "See https://wiki.gentoo.org/wiki/SSH/LDAP_migration for 
more details."
-       fi
-       if ! use ssl && has_version "${CATEGORY}/${PN}[ssl]" ; then
-               elog "Be aware that by disabling openssl support in openssh, 
the server and clients"
-               elog "no longer support dss/rsa/ecdsa keys.  You will need to 
generate ed25519 keys"
-               elog "and update all clients/servers that utilize them."
-       fi
-
-       if use hpn && [[ -n "${HPN_DISABLE_MTAES}" ]] ; then
-               elog ""
-               elog "HPN's multi-threaded AES CTR cipher is currently known to 
be broken"
-               elog "and therefore disabled at runtime per default."
-               elog "Make sure your sshd_config is up to date and contains"
-               elog ""
-               elog "  DisableMTAES yes"
-               elog ""
-               elog "Otherwise you maybe unable to connect to this sshd using 
any AES CTR cipher."
-               elog ""
-       fi
-}

diff --git a/net-misc/openssh/openssh-8.2_p1-r8.ebuild 
b/net-misc/openssh/openssh-8.2_p1-r8.ebuild
deleted file mode 100644
index 595226626d7..00000000000
--- a/net-misc/openssh/openssh-8.2_p1-r8.ebuild
+++ /dev/null
@@ -1,486 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit user-info flag-o-matic multilib autotools pam systemd toolchain-funcs
-
-# Make it more portable between straight releases
-# and _p? releases.
-PARCH=${P/_}
-HPN_PV="8.1_P1"
-
-HPN_VER="14.20"
-HPN_PATCHES=(
-       ${PN}-${HPN_PV/./_}-hpn-DynWinNoneSwitch-${HPN_VER}.diff
-       ${PN}-${HPN_PV/./_}-hpn-AES-CTR-${HPN_VER}.diff
-       ${PN}-${HPN_PV/./_}-hpn-PeakTput-${HPN_VER}.diff
-)
-
-SCTP_VER="1.2" SCTP_PATCH="${PARCH}-sctp-${SCTP_VER}.patch.xz"
-X509_VER="12.4.3" X509_PATCH="${PARCH}+x509-${X509_VER}.diff.gz"
-
-DESCRIPTION="Port of OpenBSD's free SSH release"
-HOMEPAGE="https://www.openssh.com/";
-SRC_URI="mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz
-       ${SCTP_PATCH:+sctp? ( 
https://dev.gentoo.org/~chutzpah/dist/openssh/${SCTP_PATCH} )}
-       ${HPN_VER:+hpn? ( $(printf 
"mirror://sourceforge/hpnssh/HPN-SSH%%20${HPN_VER/./v}%%20${HPN_PV/_P/p}/%s\n" 
"${HPN_PATCHES[@]}") )}
-       ${X509_PATCH:+X509? ( 
https://roumenpetrov.info/openssh/x509-${X509_VER}/${X509_PATCH} )}
-"
-S="${WORKDIR}/${PARCH}"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-# Probably want to drop ssl defaulting to on in a future version.
-IUSE="abi_mips_n32 audit bindist debug hpn kerberos kernel_linux ldns libedit 
libressl livecd pam +pie sctp security-key selinux +ssl static test X X509 xmss"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
-       ldns? ( ssl )
-       pie? ( !static )
-       static? ( !kerberos !pam )
-       X509? ( !sctp !security-key ssl !xmss )
-       xmss? ( || ( ssl libressl ) )
-       test? ( ssl )
-"
-
-LIB_DEPEND="
-       audit? ( sys-process/audit[static-libs(+)] )
-       ldns? (
-               net-libs/ldns[static-libs(+)]
-               !bindist? ( net-libs/ldns[ecdsa,ssl(+)] )
-               bindist? ( net-libs/ldns[-ecdsa,ssl(+)] )
-       )
-       libedit? ( dev-libs/libedit:=[static-libs(+)] )
-       sctp? ( net-misc/lksctp-tools[static-libs(+)] )
-       security-key? ( dev-libs/libfido2:=[static-libs(+)] )
-       selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] )
-       ssl? (
-               !libressl? (
-                       || (
-                               (
-                                       >=dev-libs/openssl-1.0.1:0[bindist=]
-                                       <dev-libs/openssl-1.1.0:0[bindist=]
-                               )
-                               >=dev-libs/openssl-1.1.0g:0[bindist=]
-                       )
-                       dev-libs/openssl:0=[static-libs(+)]
-               )
-               libressl? ( dev-libs/libressl:0=[static-libs(+)] )
-       )
-       virtual/libcrypt:=[static-libs(+)]
-       >=sys-libs/zlib-1.2.3:=[static-libs(+)]
-"
-RDEPEND="
-       acct-group/sshd
-       acct-user/sshd
-       !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
-       pam? ( sys-libs/pam )
-       kerberos? ( virtual/krb5 )
-"
-DEPEND="${RDEPEND}
-       virtual/os-headers
-       kernel_linux? ( >=sys-kernel/linux-headers-5.1 )
-       static? ( ${LIB_DEPEND} )
-"
-RDEPEND="${RDEPEND}
-       pam? ( >=sys-auth/pambase-20081028 )
-       userland_GNU? ( !prefix? ( sys-apps/shadow ) )
-       X? ( x11-apps/xauth )
-"
-BDEPEND="
-       virtual/pkgconfig
-       sys-devel/autoconf
-"
-
-pkg_pretend() {
-       # this sucks, but i'd rather have people unable to `emerge -u openssh`
-       # than not be able to log in to their server any more
-       maybe_fail() { [[ -z ${!2} ]] && echo "$1" ; }
-       local fail="
-               $(use hpn && maybe_fail hpn HPN_VER)
-               $(use sctp && maybe_fail sctp SCTP_PATCH)
-               $(use X509 && maybe_fail X509 X509_PATCH)
-       "
-       fail=$(echo ${fail})
-       if [[ -n ${fail} ]] ; then
-               eerror "Sorry, but this version does not yet support features"
-               eerror "that you requested:      ${fail}"
-               eerror "Please mask ${PF} for now and check back later:"
-               eerror " # echo '=${CATEGORY}/${PF}' >> 
/etc/portage/package.mask"
-               die "booooo"
-       fi
-
-       # Make sure people who are using tcp wrappers are notified of its 
removal. #531156
-       if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then
-               ewarn "Sorry, but openssh no longer supports tcp-wrappers, and 
it seems like"
-               ewarn "you're trying to use it.  Update your 
${EROOT}/etc/hosts.{allow,deny} please."
-       fi
-}
-
-src_prepare() {
-       sed -i \
-               -e 
"/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:${EPREFIX}/usr/bin/xauth:" \
-               pathnames.h || die
-
-       # don't break .ssh/authorized_keys2 for fun
-       sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die
-
-       eapply "${FILESDIR}"/${PN}-7.9_p1-include-stdlib.patch
-       eapply "${FILESDIR}"/${PN}-8.2_p1-GSSAPI-dns.patch #165444 integrated 
into gsskex
-       eapply "${FILESDIR}"/${PN}-6.7_p1-openssl-ignore-status.patch
-       eapply "${FILESDIR}"/${PN}-7.5_p1-disable-conch-interop-tests.patch
-       eapply "${FILESDIR}"/${PN}-8.0_p1-fix-putty-tests.patch
-       eapply 
"${FILESDIR}"/${PN}-8.0_p1-deny-shmget-shmat-shmdt-in-preauth-privsep-child.patch
-
-       [[ -d ${WORKDIR}/patches ]] && eapply "${WORKDIR}"/patches
-
-       local PATCHSET_VERSION_MACROS=()
-
-       if use X509 ; then
-               pushd "${WORKDIR}" &>/dev/null || die
-               eapply "${FILESDIR}/${P}-X509-glue-"${X509_VER}".patch"
-               popd &>/dev/null || die
-
-               eapply "${WORKDIR}"/${X509_PATCH%.*}
-               eapply "${FILESDIR}"/${P}-X509-${X509_VER}-tests.patch
-
-               # We need to patch package version or any X.509 sshd will 
reject our ssh client
-               # with "userauth_pubkey: could not parse key: string is too 
large [preauth]"
-               # error
-               einfo "Patching package version for X.509 patch set ..."
-               sed -i \
-                       -e "s/^AC_INIT(\[OpenSSH\], 
\[Portable\]/AC_INIT([OpenSSH], [${X509_VER}]/" \
-                       "${S}"/configure.ac || die "Failed to patch package 
version for X.509 patch"
-
-               einfo "Patching version.h to expose X.509 patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE.*/a #define SSH_X509         
      \"-PKIXSSH-${X509_VER}\"" \
-                       "${S}"/version.h || die "Failed to sed-in X.509 patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_X509' )
-       fi
-
-       if use sctp ; then
-               eapply "${WORKDIR}"/${SCTP_PATCH%.*}
-
-               einfo "Patching version.h to expose SCTP patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE/a #define SSH_SCTP        
\"-sctp-${SCTP_VER}\"" \
-                       "${S}"/version.h || die "Failed to sed-in SCTP patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_SCTP' )
-
-               einfo "Disabling know failing test (cfgparse) caused by SCTP 
patch ..."
-               sed -i \
-                       -e "/\t\tcfgparse \\\/d" \
-                       "${S}"/regress/Makefile || die "Failed to disable known 
failing test (cfgparse) caused by SCTP patch"
-       fi
-
-       if use hpn ; then
-               local hpn_patchdir="${T}/${P}-hpn${HPN_VER}"
-               mkdir "${hpn_patchdir}" || die
-               cp $(printf -- "${DISTDIR}/%s\n" "${HPN_PATCHES[@]}") 
"${hpn_patchdir}" || die
-               pushd "${hpn_patchdir}" &>/dev/null || die
-               eapply "${FILESDIR}"/${P}-hpn-${HPN_VER}-glue.patch
-               eapply "${FILESDIR}"/${P}-hpn-${HPN_VER}-libressl.patch
-               if use X509; then
-               #       einfo "Will disable MT AES cipher due to incompatbility 
caused by X509 patch set"
-               #       # X509 and AES-CTR-MT don't get along, let's just drop 
it
-               #       rm openssh-${HPN_PV//./_}-hpn-AES-CTR-${HPN_VER}.diff 
|| die
-                       eapply "${FILESDIR}"/${P}-hpn-${HPN_VER}-X509-glue.patch
-               fi
-               use sctp && eapply 
"${FILESDIR}"/${P}-hpn-${HPN_VER}-sctp-glue.patch
-               popd &>/dev/null || die
-
-               eapply "${hpn_patchdir}"
-
-               use X509 || eapply 
"${FILESDIR}/openssh-8.0_p1-hpn-version.patch"
-
-               einfo "Patching Makefile.in for HPN patch set ..."
-               sed -i \
-                       -e "/^LIBS=/ s/\$/ -lpthread/" \
-                       "${S}"/Makefile.in || die "Failed to patch Makefile.in"
-
-               einfo "Patching version.h to expose HPN patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE/a #define SSH_HPN         
\"-hpn${HPN_VER//./v}\"" \
-                       "${S}"/version.h || die "Failed to sed-in HPN patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_HPN' )
-
-               if [[ -n "${HPN_DISABLE_MTAES}" ]] ; then
-                       einfo "Disabling known non-working MT AES cipher per 
default ..."
-
-                       cat > "${T}"/disable_mtaes.conf <<- EOF
-
-                       # HPN's Multi-Threaded AES CTR cipher is currently 
known to be broken
-                       # and therefore disabled per default.
-                       DisableMTAES yes
-                       EOF
-                       sed -i \
-                               -e "/^#HPNDisabled.*/r ${T}/disable_mtaes.conf" 
\
-                               "${S}"/sshd_config || die "Failed to disabled 
MT AES ciphers in sshd_config"
-
-                       sed -i \
-                               -e "/AcceptEnv.*_XXX_TEST$/a 
\\\tDisableMTAES\t\tyes" \
-                               "${S}"/regress/test-exec.sh || die "Failed to 
disable MT AES ciphers in test config"
-               fi
-       fi
-
-       if use X509 || use sctp || use hpn ; then
-               einfo "Patching sshconnect.c to use SSH_RELEASE in 
send_client_banner() ..."
-               sed -i \
-                       -e "s/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, 
SSH_VERSION/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE/" \
-                       "${S}"/sshconnect.c || die "Failed to patch 
send_client_banner() to use SSH_RELEASE (sshconnect.c)"
-
-               einfo "Patching sshd.c to use SSH_RELEASE in 
sshd_exchange_identification() ..."
-               sed -i \
-                       -e "s/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, 
SSH_VERSION/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE/" \
-                       "${S}"/sshd.c || die "Failed to patch 
sshd_exchange_identification() to use SSH_RELEASE (sshd.c)"
-
-               einfo "Patching version.h to add our patch sets to SSH_RELEASE 
..."
-               sed -i \
-                       -e "s/^#define SSH_RELEASE.*/#define SSH_RELEASE     
SSH_VERSION SSH_PORTABLE ${PATCHSET_VERSION_MACROS[*]}/" \
-                       "${S}"/version.h || die "Failed to patch SSH_RELEASE 
(version.h)"
-       fi
-
-       sed -i \
-               -e "/#UseLogin no/d" \
-               "${S}"/sshd_config || die "Failed to remove removed UseLogin 
option (sshd_config)"
-
-       eapply_user #473004
-
-       tc-export PKG_CONFIG
-       local sed_args=(
-               -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):"
-               # Disable PATH reset, trust what portage gives us #254615
-               -e 's:^PATH=/:#PATH=/:'
-               # Disable fortify flags ... our gcc does this for us
-               -e 's:-D_FORTIFY_SOURCE=2::'
-       )
-
-       # The -ftrapv flag ICEs on hppa #505182
-       use hppa && sed_args+=(
-               -e '/CFLAGS/s:-ftrapv:-fdisable-this-test:'
-               -e '/OSSH_CHECK_CFLAG_LINK.*-ftrapv/d'
-       )
-       # _XOPEN_SOURCE causes header conflicts on Solaris
-       [[ ${CHOST} == *-solaris* ]] && sed_args+=(
-               -e 's/-D_XOPEN_SOURCE//'
-       )
-       sed -i "${sed_args[@]}" configure{.ac,} || die
-
-       eautoreconf
-}
-
-src_configure() {
-       addwrite /dev/ptmx
-
-       use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG
-       use static && append-ldflags -static
-       use xmss && append-cflags -DWITH_XMSS
-
-       local myconf=(
-               --with-ldflags="${LDFLAGS}"
-               --disable-strip
-               --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run
-               --sysconfdir="${EPREFIX}"/etc/ssh
-               --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc
-               --datadir="${EPREFIX}"/usr/share/openssh
-               --with-privsep-path="${EPREFIX}"/var/empty
-               --with-privsep-user=sshd
-               $(use_with audit audit linux)
-               $(use_with kerberos kerberos5 "${EPREFIX}"/usr)
-               # We apply the sctp patch conditionally, so can't pass 
--without-sctp
-               # unconditionally else we get unknown flag warnings.
-               $(use sctp && use_with sctp)
-               $(use_with ldns ldns "${EPREFIX}"/usr)
-               $(use_with libedit)
-               $(use_with pam)
-               $(use_with pie)
-               $(use_with selinux)
-               $(use_with security-key security-key-builtin)
-               $(use_with ssl openssl)
-               $(use_with ssl md5-passwords)
-               $(use_with ssl ssl-engine)
-               $(use_with !elibc_Cygwin hardening) #659210
-       )
-
-       # stackprotect is broken on musl x86 and ppc
-       use elibc_musl && ( use x86 || use ppc ) && myconf+=( 
--without-stackprotect )
-
-       # The seccomp sandbox is broken on x32, so use the older method for 
now. #553748
-       use amd64 && [[ ${ABI} == "x32" ]] && myconf+=( --with-sandbox=rlimit )
-
-       econf "${myconf[@]}"
-}
-
-src_test() {
-       local t skipped=() failed=() passed=()
-       local tests=( interop-tests compat-tests )
-
-       local shell=$(egetshell "${UID}")
-       if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then
-               elog "Running the full OpenSSH testsuite requires a usable 
shell for the 'portage'"
-               elog "user, so we will run a subset only."
-               skipped+=( tests )
-       else
-               tests+=( tests )
-       fi
-
-       # It will also attempt to write to the homedir .ssh.
-       local sshhome=${T}/homedir
-       mkdir -p "${sshhome}"/.ssh
-       for t in "${tests[@]}" ; do
-               # Some tests read from stdin ...
-               HOMEDIR="${sshhome}" HOME="${sshhome}" SUDO="" \
-               emake -k -j1 ${t} </dev/null \
-                       && passed+=( "${t}" ) \
-                       || failed+=( "${t}" )
-       done
-
-       einfo "Passed tests: ${passed[*]}"
-       [[ ${#skipped[@]} -gt 0 ]] && ewarn "Skipped tests: ${skipped[*]}"
-       [[ ${#failed[@]}  -gt 0 ]] && die "Some tests failed: ${failed[*]}"
-}
-
-# Gentoo tweaks to default config files.
-tweak_ssh_configs() {
-       local locale_vars=(
-               # These are language variables that POSIX defines.
-               # 
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
-               LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY 
LC_NUMERIC LC_TIME
-
-               # These are the GNU extensions.
-               # 
https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html
-               LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME 
LC_PAPER LC_TELEPHONE
-       )
-
-       # First the server config.
-       cat <<-EOF >> "${ED}"/etc/ssh/sshd_config
-
-       # Allow client to pass locale environment variables. #367017
-       AcceptEnv ${locale_vars[*]}
-
-       # Allow client to pass COLORTERM to match TERM. #658540
-       AcceptEnv COLORTERM
-       EOF
-
-       # Then the client config.
-       cat <<-EOF >> "${ED}"/etc/ssh/ssh_config
-
-       # Send locale environment variables. #367017
-       SendEnv ${locale_vars[*]}
-
-       # Send COLORTERM to match TERM. #658540
-       SendEnv COLORTERM
-       EOF
-
-       if use pam ; then
-               sed -i \
-                       -e "/^#UsePAM /s:.*:UsePAM yes:" \
-                       -e "/^#PasswordAuthentication 
/s:.*:PasswordAuthentication no:" \
-                       -e "/^#PrintMotd /s:.*:PrintMotd no:" \
-                       -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \
-                       "${ED}"/etc/ssh/sshd_config || die
-       fi
-
-       if use livecd ; then
-               sed -i \
-                       -e '/^#PermitRootLogin/c# Allow root login with 
password on livecds.\nPermitRootLogin Yes' \
-                       "${ED}"/etc/ssh/sshd_config || die
-       fi
-}
-
-src_install() {
-       emake install-nokeys DESTDIR="${D}"
-       fperms 600 /etc/ssh/sshd_config
-       dobin contrib/ssh-copy-id
-       newinitd "${FILESDIR}"/sshd-r1.initd sshd
-       newconfd "${FILESDIR}"/sshd-r1.confd sshd
-
-       if use pam; then
-               newpamd "${FILESDIR}"/sshd.pam_include.2 sshd
-       fi
-
-       tweak_ssh_configs
-
-       doman contrib/ssh-copy-id.1
-       dodoc CREDITS OVERVIEW README* TODO sshd_config
-       use hpn && dodoc HPN-README
-       use X509 || dodoc ChangeLog
-
-       diropts -m 0700
-       dodir /etc/skel/.ssh
-
-       keepdir /var/empty
-
-       systemd_dounit "${FILESDIR}"/sshd.{service,socket}
-       systemd_newunit "${FILESDIR}"/sshd_at.service 'sshd@.service'
-}
-
-pkg_preinst() {
-       if ! use ssl && has_version "${CATEGORY}/${PN}[ssl]"; then
-               show_ssl_warning=1
-       fi
-}
-
-pkg_postinst() {
-       local old_ver
-       for old_ver in ${REPLACING_VERSIONS}; do
-               if ver_test "${old_ver}" -lt "5.8_p1"; then
-                       elog "Starting with openssh-5.8p1, the server will 
default to a newer key"
-                       elog "algorithm (ECDSA).  You are encouraged to 
manually update your stored"
-                       elog "keys list as servers update theirs.  See 
ssh-keyscan(1) for more info."
-               fi
-               if ver_test "${old_ver}" -lt "7.0_p1"; then
-                       elog "Starting with openssh-6.7, support for USE=tcpd 
has been dropped by upstream."
-                       elog "Make sure to update any configs that you might 
have.  Note that xinetd might"
-                       elog "be an alternative for you as it supports 
USE=tcpd."
-               fi
-               if ver_test "${old_ver}" -lt "7.1_p1"; then #557388 #555518
-                       elog "Starting with openssh-7.0, support for ssh-dss 
keys were disabled due to their"
-                       elog "weak sizes.  If you rely on these key types, you 
can re-enable the key types by"
-                       elog "adding to your sshd_config or ~/.ssh/config 
files:"
-                       elog "  PubkeyAcceptedKeyTypes=+ssh-dss"
-                       elog "You should however generate new keys using rsa or 
ed25519."
-
-                       elog "Starting with openssh-7.0, the default for 
PermitRootLogin changed from 'yes'"
-                       elog "to 'prohibit-password'.  That means password auth 
for root users no longer works"
-                       elog "out of the box.  If you need this, please update 
your sshd_config explicitly."
-               fi
-               if ver_test "${old_ver}" -lt "7.6_p1"; then
-                       elog "Starting with openssh-7.6p1, openssh upstream has 
removed ssh1 support entirely."
-                       elog "Furthermore, rsa keys with less than 1024 bits 
will be refused."
-               fi
-               if ver_test "${old_ver}" -lt "7.7_p1"; then
-                       elog "Starting with openssh-7.7p1, we no longer patch 
openssh to provide LDAP functionality."
-                       elog "Install sys-auth/ssh-ldap-pubkey and use 
OpenSSH's \"AuthorizedKeysCommand\" option"
-                       elog "if you need to authenticate against LDAP."
-                       elog "See 
https://wiki.gentoo.org/wiki/SSH/LDAP_migration for more details."
-               fi
-               if ver_test "${old_ver}" -lt "8.2_p1"; then
-                       ewarn "After upgrading to openssh-8.2p1 please restart 
sshd, otherwise you"
-                       ewarn "will not be able to establish new sessions. 
Restarting sshd over a ssh"
-                       ewarn "connection is generally safe."
-               fi
-       done
-
-       if [[ -n ${show_ssl_warning} ]]; then
-               elog "Be aware that by disabling openssl support in openssh, 
the server and clients"
-               elog "no longer support dss/rsa/ecdsa keys.  You will need to 
generate ed25519 keys"
-               elog "and update all clients/servers that utilize them."
-       fi
-
-       if use hpn && [[ -n "${HPN_DISABLE_MTAES}" ]] ; then
-               elog ""
-               elog "HPN's multi-threaded AES CTR cipher is currently known to 
be broken"
-               elog "and therefore disabled at runtime per default."
-               elog "Make sure your sshd_config is up to date and contains"
-               elog ""
-               elog "  DisableMTAES yes"
-               elog ""
-               elog "Otherwise you maybe unable to connect to this sshd using 
any AES CTR cipher."
-               elog ""
-       fi
-}

diff --git a/net-misc/openssh/openssh-8.3_p1-r6.ebuild 
b/net-misc/openssh/openssh-8.3_p1-r6.ebuild
deleted file mode 100644
index ef9e80ab84f..00000000000
--- a/net-misc/openssh/openssh-8.3_p1-r6.ebuild
+++ /dev/null
@@ -1,511 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit user-info flag-o-matic multilib autotools pam systemd toolchain-funcs
-
-# Make it more portable between straight releases
-# and _p? releases.
-PARCH=${P/_}
-
-# PV to USE for HPN patches
-#HPN_PV="${PV^^}"
-HPN_PV="8.1_P1"
-
-HPN_VER="14.20"
-HPN_PATCHES=(
-       ${PN}-${HPN_PV/./_}-hpn-DynWinNoneSwitch-${HPN_VER}.diff
-       ${PN}-${HPN_PV/./_}-hpn-AES-CTR-${HPN_VER}.diff
-       ${PN}-${HPN_PV/./_}-hpn-PeakTput-${HPN_VER}.diff
-)
-
-SCTP_VER="1.2" SCTP_PATCH="${PARCH}-sctp-${SCTP_VER}.patch.xz"
-X509_VER="12.5.1" X509_PATCH="${PARCH}+x509-${X509_VER}.diff.gz"
-
-DESCRIPTION="Port of OpenBSD's free SSH release"
-HOMEPAGE="https://www.openssh.com/";
-SRC_URI="mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz
-       ${SCTP_PATCH:+sctp? ( 
https://dev.gentoo.org/~chutzpah/dist/openssh/${SCTP_PATCH} )}
-       ${HPN_VER:+hpn? ( $(printf 
"mirror://sourceforge/hpnssh/HPN-SSH%%20${HPN_VER/./v}%%20${HPN_PV/_P/p}/%s\n" 
"${HPN_PATCHES[@]}") )}
-       ${X509_PATCH:+X509? ( 
https://roumenpetrov.info/openssh/x509-${X509_VER}/${X509_PATCH} )}
-"
-S="${WORKDIR}/${PARCH}"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-# Probably want to drop ssl defaulting to on in a future version.
-IUSE="abi_mips_n32 audit bindist debug hpn kerberos kernel_linux ldns libedit 
libressl livecd pam +pie +scp sctp security-key selinux +ssl static test X X509 
xmss"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
-       ldns? ( ssl )
-       pie? ( !static )
-       static? ( !kerberos !pam )
-       X509? ( !sctp !security-key ssl !xmss )
-       xmss? ( || ( ssl libressl ) )
-       test? ( ssl )
-"
-
-LIB_DEPEND="
-       audit? ( sys-process/audit[static-libs(+)] )
-       ldns? (
-               net-libs/ldns[static-libs(+)]
-               !bindist? ( net-libs/ldns[ecdsa,ssl(+)] )
-               bindist? ( net-libs/ldns[-ecdsa,ssl(+)] )
-       )
-       libedit? ( dev-libs/libedit:=[static-libs(+)] )
-       sctp? ( net-misc/lksctp-tools[static-libs(+)] )
-       security-key? ( >=dev-libs/libfido2-1.4.0:=[static-libs(+)] )
-       selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] )
-       ssl? (
-               !libressl? (
-                       || (
-                               (
-                                       >=dev-libs/openssl-1.0.1:0[bindist=]
-                                       <dev-libs/openssl-1.1.0:0[bindist=]
-                               )
-                               >=dev-libs/openssl-1.1.0g:0[bindist=]
-                       )
-                       dev-libs/openssl:0=[static-libs(+)]
-               )
-               libressl? ( dev-libs/libressl:0=[static-libs(+)] )
-       )
-       virtual/libcrypt:=[static-libs(+)]
-       >=sys-libs/zlib-1.2.3:=[static-libs(+)]
-"
-RDEPEND="
-       acct-group/sshd
-       acct-user/sshd
-       !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
-       pam? ( sys-libs/pam )
-       kerberos? ( virtual/krb5 )
-"
-DEPEND="${RDEPEND}
-       virtual/os-headers
-       kernel_linux? ( >=sys-kernel/linux-headers-5.1 )
-       static? ( ${LIB_DEPEND} )
-"
-RDEPEND="${RDEPEND}
-       pam? ( >=sys-auth/pambase-20081028 )
-       userland_GNU? ( !prefix? ( sys-apps/shadow ) )
-       X? ( x11-apps/xauth )
-"
-BDEPEND="
-       virtual/pkgconfig
-       sys-devel/autoconf
-"
-
-pkg_pretend() {
-       # this sucks, but i'd rather have people unable to `emerge -u openssh`
-       # than not be able to log in to their server any more
-       maybe_fail() { [[ -z ${!2} ]] && echo "$1" ; }
-       local fail="
-               $(use hpn && maybe_fail hpn HPN_VER)
-               $(use sctp && maybe_fail sctp SCTP_PATCH)
-               $(use X509 && maybe_fail X509 X509_PATCH)
-       "
-       fail=$(echo ${fail})
-       if [[ -n ${fail} ]] ; then
-               eerror "Sorry, but this version does not yet support features"
-               eerror "that you requested:      ${fail}"
-               eerror "Please mask ${PF} for now and check back later:"
-               eerror " # echo '=${CATEGORY}/${PF}' >> 
/etc/portage/package.mask"
-               die "booooo"
-       fi
-
-       # Make sure people who are using tcp wrappers are notified of its 
removal. #531156
-       if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then
-               ewarn "Sorry, but openssh no longer supports tcp-wrappers, and 
it seems like"
-               ewarn "you're trying to use it.  Update your 
${EROOT}/etc/hosts.{allow,deny} please."
-       fi
-}
-
-src_prepare() {
-       sed -i \
-               -e 
"/_PATH_XAUTH/s:/usr/X11R6/bin/xauth:${EPREFIX}/usr/bin/xauth:" \
-               pathnames.h || die
-
-       # don't break .ssh/authorized_keys2 for fun
-       sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die
-
-       eapply "${FILESDIR}"/${PN}-7.9_p1-include-stdlib.patch
-       eapply "${FILESDIR}"/${PN}-8.2_p1-GSSAPI-dns.patch #165444 integrated 
into gsskex
-       eapply "${FILESDIR}"/${PN}-6.7_p1-openssl-ignore-status.patch
-       eapply "${FILESDIR}"/${PN}-7.5_p1-disable-conch-interop-tests.patch
-       eapply "${FILESDIR}"/${PN}-8.0_p1-fix-putty-tests.patch
-       eapply 
"${FILESDIR}"/${PN}-8.0_p1-deny-shmget-shmat-shmdt-in-preauth-privsep-child.patch
-
-       # workaround for https://bugs.gentoo.org/734984
-       use X509 || eapply "${FILESDIR}"/${PN}-8.3_p1-sha2-include.patch
-
-       [[ -d ${WORKDIR}/patches ]] && eapply "${WORKDIR}"/patches
-
-       local PATCHSET_VERSION_MACROS=()
-
-       if use X509 ; then
-               pushd "${WORKDIR}" &>/dev/null || die
-               eapply "${FILESDIR}/${P}-X509-glue-"${X509_VER}".patch"
-               popd &>/dev/null || die
-
-               eapply "${WORKDIR}"/${X509_PATCH%.*}
-
-               # We need to patch package version or any X.509 sshd will 
reject our ssh client
-               # with "userauth_pubkey: could not parse key: string is too 
large [preauth]"
-               # error
-               einfo "Patching package version for X.509 patch set ..."
-               sed -i \
-                       -e "s/^AC_INIT(\[OpenSSH\], 
\[Portable\]/AC_INIT([OpenSSH], [${X509_VER}]/" \
-                       "${S}"/configure.ac || die "Failed to patch package 
version for X.509 patch"
-
-               einfo "Patching version.h to expose X.509 patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE.*/a #define SSH_X509         
      \"-PKIXSSH-${X509_VER}\"" \
-                       "${S}"/version.h || die "Failed to sed-in X.509 patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_X509' )
-       fi
-
-       if use sctp ; then
-               eapply "${WORKDIR}"/${SCTP_PATCH%.*}
-
-               einfo "Patching version.h to expose SCTP patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE/a #define SSH_SCTP        
\"-sctp-${SCTP_VER}\"" \
-                       "${S}"/version.h || die "Failed to sed-in SCTP patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_SCTP' )
-
-               einfo "Disabling know failing test (cfgparse) caused by SCTP 
patch ..."
-               sed -i \
-                       -e "/\t\tcfgparse \\\/d" \
-                       "${S}"/regress/Makefile || die "Failed to disable known 
failing test (cfgparse) caused by SCTP patch"
-       fi
-
-       if use hpn ; then
-               local hpn_patchdir="${T}/${P}-hpn${HPN_VER}"
-               mkdir "${hpn_patchdir}" || die
-               cp $(printf -- "${DISTDIR}/%s\n" "${HPN_PATCHES[@]}") 
"${hpn_patchdir}" || die
-               pushd "${hpn_patchdir}" &>/dev/null || die
-               eapply "${FILESDIR}"/${P}-hpn-${HPN_VER}-glue.patch
-               eapply "${FILESDIR}"/${PN}-8.2_p1-hpn-${HPN_VER}-libressl.patch
-               if use X509; then
-               #       einfo "Will disable MT AES cipher due to incompatbility 
caused by X509 patch set"
-               #       # X509 and AES-CTR-MT don't get along, let's just drop 
it
-               #       rm openssh-${HPN_PV//./_}-hpn-AES-CTR-${HPN_VER}.diff 
|| die
-
-                       eapply 
"${FILESDIR}"/${PN}-8.2_p1-hpn-${HPN_VER}-X509-glue.patch
-               fi
-               use sctp && eapply 
"${FILESDIR}"/${PN}-8.2_p1-hpn-${HPN_VER}-sctp-glue.patch
-               popd &>/dev/null || die
-
-               eapply "${hpn_patchdir}"
-
-               use X509 || eapply 
"${FILESDIR}/openssh-8.0_p1-hpn-version.patch"
-
-               einfo "Patching Makefile.in for HPN patch set ..."
-               sed -i \
-                       -e "/^LIBS=/ s/\$/ -lpthread/" \
-                       "${S}"/Makefile.in || die "Failed to patch Makefile.in"
-
-               einfo "Patching version.h to expose HPN patch set ..."
-               sed -i \
-                       -e "/^#define SSH_PORTABLE/a #define SSH_HPN         
\"-hpn${HPN_VER//./v}\"" \
-                       "${S}"/version.h || die "Failed to sed-in HPN patch 
version"
-               PATCHSET_VERSION_MACROS+=( 'SSH_HPN' )
-
-               if [[ -n "${HPN_DISABLE_MTAES}" ]] ; then
-                       einfo "Disabling known non-working MT AES cipher per 
default ..."
-
-                       cat > "${T}"/disable_mtaes.conf <<- EOF
-
-                       # HPN's Multi-Threaded AES CTR cipher is currently 
known to be broken
-                       # and therefore disabled per default.
-                       DisableMTAES yes
-                       EOF
-                       sed -i \
-                               -e "/^#HPNDisabled.*/r ${T}/disable_mtaes.conf" 
\
-                               "${S}"/sshd_config || die "Failed to disabled 
MT AES ciphers in sshd_config"
-
-                       sed -i \
-                               -e "/AcceptEnv.*_XXX_TEST$/a 
\\\tDisableMTAES\t\tyes" \
-                               "${S}"/regress/test-exec.sh || die "Failed to 
disable MT AES ciphers in test config"
-               fi
-       fi
-
-       if use X509 || use sctp || use hpn ; then
-               einfo "Patching sshconnect.c to use SSH_RELEASE in 
send_client_banner() ..."
-               sed -i \
-                       -e "s/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, 
SSH_VERSION/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE/" \
-                       "${S}"/sshconnect.c || die "Failed to patch 
send_client_banner() to use SSH_RELEASE (sshconnect.c)"
-
-               einfo "Patching sshd.c to use SSH_RELEASE in 
sshd_exchange_identification() ..."
-               sed -i \
-                       -e "s/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, 
SSH_VERSION/PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE/" \
-                       "${S}"/sshd.c || die "Failed to patch 
sshd_exchange_identification() to use SSH_RELEASE (sshd.c)"
-
-               einfo "Patching version.h to add our patch sets to SSH_RELEASE 
..."
-               sed -i \
-                       -e "s/^#define SSH_RELEASE.*/#define SSH_RELEASE     
SSH_VERSION SSH_PORTABLE ${PATCHSET_VERSION_MACROS[*]}/" \
-                       "${S}"/version.h || die "Failed to patch SSH_RELEASE 
(version.h)"
-       fi
-
-       sed -i \
-               -e "/#UseLogin no/d" \
-               "${S}"/sshd_config || die "Failed to remove removed UseLogin 
option (sshd_config)"
-
-       eapply_user #473004
-
-       # These tests are currently incompatible with PORTAGE_TMPDIR/sandbox
-       sed -e '/\t\tpercent \\/ d' \
-               -i regress/Makefile || die
-
-       tc-export PKG_CONFIG
-       local sed_args=(
-               -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):"
-               # Disable PATH reset, trust what portage gives us #254615
-               -e 's:^PATH=/:#PATH=/:'
-               # Disable fortify flags ... our gcc does this for us
-               -e 's:-D_FORTIFY_SOURCE=2::'
-       )
-
-       # The -ftrapv flag ICEs on hppa #505182
-       use hppa && sed_args+=(
-               -e '/CFLAGS/s:-ftrapv:-fdisable-this-test:'
-               -e '/OSSH_CHECK_CFLAG_LINK.*-ftrapv/d'
-       )
-       # _XOPEN_SOURCE causes header conflicts on Solaris
-       [[ ${CHOST} == *-solaris* ]] && sed_args+=(
-               -e 's/-D_XOPEN_SOURCE//'
-       )
-       sed -i "${sed_args[@]}" configure{.ac,} || die
-
-       eautoreconf
-}
-
-src_configure() {
-       addwrite /dev/ptmx
-
-       use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG
-       use static && append-ldflags -static
-       use xmss && append-cflags -DWITH_XMSS
-
-       if [[ ${CHOST} == *-solaris* ]] ; then
-               # Solaris' glob.h doesn't have things like GLOB_TILDE, configure
-               # doesn't check for this, so force the replacement to be put in
-               # place
-               append-cppflags -DBROKEN_GLOB
-       fi
-
-       local myconf=(
-               --with-ldflags="${LDFLAGS}"
-               --disable-strip
-               --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run
-               --sysconfdir="${EPREFIX}"/etc/ssh
-               --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc
-               --datadir="${EPREFIX}"/usr/share/openssh
-               --with-privsep-path="${EPREFIX}"/var/empty
-               --with-privsep-user=sshd
-               $(use_with audit audit linux)
-               $(use_with kerberos kerberos5 "${EPREFIX}"/usr)
-               # We apply the sctp patch conditionally, so can't pass 
--without-sctp
-               # unconditionally else we get unknown flag warnings.
-               $(use sctp && use_with sctp)
-               $(use_with ldns ldns "${EPREFIX}"/usr)
-               $(use_with libedit)
-               $(use_with pam)
-               $(use_with pie)
-               $(use_with selinux)
-               $(usex X509 '' "$(use_with security-key security-key-builtin)")
-               $(use_with ssl openssl)
-               $(use_with ssl md5-passwords)
-               $(use_with ssl ssl-engine)
-               $(use_with !elibc_Cygwin hardening) #659210
-       )
-
-       # stackprotect is broken on musl x86 and ppc
-       use elibc_musl && ( use x86 || use ppc ) && myconf+=( 
--without-stackprotect )
-
-       # The seccomp sandbox is broken on x32, so use the older method for 
now. #553748
-       use amd64 && [[ ${ABI} == "x32" ]] && myconf+=( --with-sandbox=rlimit )
-
-       econf "${myconf[@]}"
-}
-
-src_test() {
-       local t skipped=() failed=() passed=()
-       local tests=( interop-tests compat-tests )
-
-       local shell=$(egetshell "${UID}")
-       if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then
-               elog "Running the full OpenSSH testsuite requires a usable 
shell for the 'portage'"
-               elog "user, so we will run a subset only."
-               skipped+=( tests )
-       else
-               tests+=( tests )
-       fi
-
-       # It will also attempt to write to the homedir .ssh.
-       local sshhome=${T}/homedir
-       mkdir -p "${sshhome}"/.ssh
-       for t in "${tests[@]}" ; do
-               # Some tests read from stdin ...
-               HOMEDIR="${sshhome}" HOME="${sshhome}" TMPDIR="${T}" \
-                       SUDO="" SSH_SK_PROVIDER="" \
-                       TEST_SSH_UNSAFE_PERMISSIONS=1 \
-                       emake -k -j1 ${t} </dev/null \
-                               && passed+=( "${t}" ) \
-                               || failed+=( "${t}" )
-       done
-
-       einfo "Passed tests: ${passed[*]}"
-       [[ ${#skipped[@]} -gt 0 ]] && ewarn "Skipped tests: ${skipped[*]}"
-       [[ ${#failed[@]}  -gt 0 ]] && die "Some tests failed: ${failed[*]}"
-}
-
-# Gentoo tweaks to default config files.
-tweak_ssh_configs() {
-       local locale_vars=(
-               # These are language variables that POSIX defines.
-               # 
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
-               LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY 
LC_NUMERIC LC_TIME
-
-               # These are the GNU extensions.
-               # 
https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html
-               LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME 
LC_PAPER LC_TELEPHONE
-       )
-
-       # First the server config.
-       cat <<-EOF >> "${ED}"/etc/ssh/sshd_config
-
-       # Allow client to pass locale environment variables. #367017
-       AcceptEnv ${locale_vars[*]}
-
-       # Allow client to pass COLORTERM to match TERM. #658540
-       AcceptEnv COLORTERM
-       EOF
-
-       # Then the client config.
-       cat <<-EOF >> "${ED}"/etc/ssh/ssh_config
-
-       # Send locale environment variables. #367017
-       SendEnv ${locale_vars[*]}
-
-       # Send COLORTERM to match TERM. #658540
-       SendEnv COLORTERM
-       EOF
-
-       if use pam ; then
-               sed -i \
-                       -e "/^#UsePAM /s:.*:UsePAM yes:" \
-                       -e "/^#PasswordAuthentication 
/s:.*:PasswordAuthentication no:" \
-                       -e "/^#PrintMotd /s:.*:PrintMotd no:" \
-                       -e "/^#PrintLastLog /s:.*:PrintLastLog no:" \
-                       "${ED}"/etc/ssh/sshd_config || die
-       fi
-
-       if use livecd ; then
-               sed -i \
-                       -e '/^#PermitRootLogin/c# Allow root login with 
password on livecds.\nPermitRootLogin Yes' \
-                       "${ED}"/etc/ssh/sshd_config || die
-       fi
-}
-
-src_install() {
-       emake install-nokeys DESTDIR="${D}"
-       fperms 600 /etc/ssh/sshd_config
-       dobin contrib/ssh-copy-id
-       newinitd "${FILESDIR}"/sshd-r1.initd sshd
-       newconfd "${FILESDIR}"/sshd-r1.confd sshd
-
-       if use pam; then
-               newpamd "${FILESDIR}"/sshd.pam_include.2 sshd
-       fi
-
-       tweak_ssh_configs
-
-       doman contrib/ssh-copy-id.1
-       dodoc CREDITS OVERVIEW README* TODO sshd_config
-       use hpn && dodoc HPN-README
-       use X509 || dodoc ChangeLog
-
-       diropts -m 0700
-       dodir /etc/skel/.ssh
-
-       # https://bugs.gentoo.org/733802
-       if ! use scp; then
-               rm "${ED}"/usr/{bin/scp,share/man/man1/scp.1} \
-                       || die "failed to remove scp"
-       fi
-
-       keepdir /var/empty
-
-       systemd_dounit "${FILESDIR}"/sshd.{service,socket}
-       systemd_newunit "${FILESDIR}"/sshd_at.service 'sshd@.service'
-}
-
-pkg_preinst() {
-       if ! use ssl && has_version "${CATEGORY}/${PN}[ssl]"; then
-               show_ssl_warning=1
-       fi
-}
-
-pkg_postinst() {
-       local old_ver
-       for old_ver in ${REPLACING_VERSIONS}; do
-               if ver_test "${old_ver}" -lt "5.8_p1"; then
-                       elog "Starting with openssh-5.8p1, the server will 
default to a newer key"
-                       elog "algorithm (ECDSA).  You are encouraged to 
manually update your stored"
-                       elog "keys list as servers update theirs.  See 
ssh-keyscan(1) for more info."
-               fi
-               if ver_test "${old_ver}" -lt "7.0_p1"; then
-                       elog "Starting with openssh-6.7, support for USE=tcpd 
has been dropped by upstream."
-                       elog "Make sure to update any configs that you might 
have.  Note that xinetd might"
-                       elog "be an alternative for you as it supports 
USE=tcpd."
-               fi
-               if ver_test "${old_ver}" -lt "7.1_p1"; then #557388 #555518
-                       elog "Starting with openssh-7.0, support for ssh-dss 
keys were disabled due to their"
-                       elog "weak sizes.  If you rely on these key types, you 
can re-enable the key types by"
-                       elog "adding to your sshd_config or ~/.ssh/config 
files:"
-                       elog "  PubkeyAcceptedKeyTypes=+ssh-dss"
-                       elog "You should however generate new keys using rsa or 
ed25519."
-
-                       elog "Starting with openssh-7.0, the default for 
PermitRootLogin changed from 'yes'"
-                       elog "to 'prohibit-password'.  That means password auth 
for root users no longer works"
-                       elog "out of the box.  If you need this, please update 
your sshd_config explicitly."
-               fi
-               if ver_test "${old_ver}" -lt "7.6_p1"; then
-                       elog "Starting with openssh-7.6p1, openssh upstream has 
removed ssh1 support entirely."
-                       elog "Furthermore, rsa keys with less than 1024 bits 
will be refused."
-               fi
-               if ver_test "${old_ver}" -lt "7.7_p1"; then
-                       elog "Starting with openssh-7.7p1, we no longer patch 
openssh to provide LDAP functionality."
-                       elog "Install sys-auth/ssh-ldap-pubkey and use 
OpenSSH's \"AuthorizedKeysCommand\" option"
-                       elog "if you need to authenticate against LDAP."
-                       elog "See 
https://wiki.gentoo.org/wiki/SSH/LDAP_migration for more details."
-               fi
-               if ver_test "${old_ver}" -lt "8.2_p1"; then
-                       ewarn "After upgrading to openssh-8.2p1 please restart 
sshd, otherwise you"
-                       ewarn "will not be able to establish new sessions. 
Restarting sshd over a ssh"
-                       ewarn "connection is generally safe."
-               fi
-       done
-
-       if [[ -n ${show_ssl_warning} ]]; then
-               elog "Be aware that by disabling openssl support in openssh, 
the server and clients"
-               elog "no longer support dss/rsa/ecdsa keys.  You will need to 
generate ed25519 keys"
-               elog "and update all clients/servers that utilize them."
-       fi
-
-       if use hpn && [[ -n "${HPN_DISABLE_MTAES}" ]] ; then
-               elog ""
-               elog "HPN's multi-threaded AES CTR cipher is currently known to 
be broken"
-               elog "and therefore disabled at runtime per default."
-               elog "Make sure your sshd_config is up to date and contains"
-               elog ""
-               elog "  DisableMTAES yes"
-               elog ""
-               elog "Otherwise you maybe unable to connect to this sshd using 
any AES CTR cipher."
-               elog ""
-       fi
-}

Reply via email to