summaryrefslogtreecommitdiff
path: root/net-misc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-03-05 09:25:57 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-03-05 09:25:57 +0000
commit6d691ad5b6239929063441bbd14c489e92e7396e (patch)
treee294f87b1ce66397fee1273bd6c7131aeb586f51 /net-misc
parentd99093fb4bb5652015c06274d64083daa2439e4f (diff)
gentoo resync : 05.03.2021
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/Manifest.gzbin55091 -> 55083 bytes
-rw-r--r--net-misc/mstpd/Manifest2
-rw-r--r--net-misc/mstpd/mstpd-0.0.9.ebuild2
-rw-r--r--net-misc/netkit-bootparamd/Manifest2
-rw-r--r--net-misc/netkit-bootparamd/netkit-bootparamd-0.17-r4.ebuild4
-rw-r--r--net-misc/openntpd/Manifest2
-rw-r--r--net-misc/openntpd/openntpd-6.8_p1-r1.ebuild2
-rw-r--r--net-misc/openssh/Manifest12
-rw-r--r--net-misc/openssh/files/openssh-8.5_p1-GSSAPI-dns.patch354
-rw-r--r--net-misc/openssh/files/openssh-8.5_p1-X509-glue-13.0.patch73
-rw-r--r--net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-X509-glue.patch325
-rw-r--r--net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-glue.patch242
-rw-r--r--net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-sctp-glue.patch18
-rw-r--r--net-misc/openssh/openssh-8.5_p1.ebuild515
-rw-r--r--net-misc/remmina/Manifest5
-rw-r--r--net-misc/remmina/remmina-1.4.10-r1.ebuild99
-rw-r--r--net-misc/remmina/remmina-1.4.10.ebuild98
-rw-r--r--net-misc/remmina/remmina-1.4.11.ebuild2
18 files changed, 1548 insertions, 209 deletions
diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz
index 8f7d1386e393..a0901b3134b7 100644
--- a/net-misc/Manifest.gz
+++ b/net-misc/Manifest.gz
Binary files differ
diff --git a/net-misc/mstpd/Manifest b/net-misc/mstpd/Manifest
index 3a26b0e0a314..884eaad17630 100644
--- a/net-misc/mstpd/Manifest
+++ b/net-misc/mstpd/Manifest
@@ -1,3 +1,3 @@
DIST mstpd-0.0.9.tar.gz 113711 BLAKE2B 93ff0213a634fcbbb613c79227d737c3961f4de669e0ac2c7351fa1c22842669edc652ba0deb24917a44df5a465a4e905a98e46ab7ccc7e4ebfd13039e6acfe0 SHA512 1d4a926d8437b7c41c69d2a047718181ca6245f3150e4aeb631f437edaaafe0c40b29802a6c9ea38c9f1dfb1b94149934b473f550358be10bb796295fa632e1e
-EBUILD mstpd-0.0.9.ebuild 724 BLAKE2B ac89c8db9a9ef8d325045414d5514acbd7640201d6eb937b19205271818eaa2468e55df99870d09ad24ffed78b1e8b9af5cf5d7a5d08b772198de5374b518c00 SHA512 abd8ac4c7cadb4203b4ec0894cb86bf4d96cad7534081f0a819104910b36f50495c8c656cc341095f64d20580ee7cc406f05a444433a9a5eac9c17144b400192
+EBUILD mstpd-0.0.9.ebuild 729 BLAKE2B cca9badbe108e0d74a10fb149717062f0fb1b60ae50f8fab487fae0f5b6950226a370e826698c1cc5670f1a50fe0cfa5d81f14765011fb886d7a916b24ec1470 SHA512 a428af51cd76eb9a7a498839a6a006c23fc27f02edbb9e7e95d7c280be33394a115eef6b8493f4dad66c3420e7ab706ec980374b8d583fa282dba4bc1d94d5e9
MISC metadata.xml 444 BLAKE2B 6bbeee7e910599d9bbd586074b2b38f9a84b08d4b6a29961e4d0a9349a4d2a58d672125210eb7e3604a930983a86befe4ba855a75147fc4f507b8a98777785af SHA512 32ca1da084fde5cbcc37b8c474320f7d73db0a33f191c3f3e5d99b8cfd84bc71c6168238d402c0fd2ab00cb9b79faaa62e1ec6a88da75a3a2b2c499b999189c4
diff --git a/net-misc/mstpd/mstpd-0.0.9.ebuild b/net-misc/mstpd/mstpd-0.0.9.ebuild
index 32a39f6deb2b..b2fe4865477e 100644
--- a/net-misc/mstpd/mstpd-0.0.9.ebuild
+++ b/net-misc/mstpd/mstpd-0.0.9.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/mstpd/mstpd/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~x86"
src_prepare() {
default
diff --git a/net-misc/netkit-bootparamd/Manifest b/net-misc/netkit-bootparamd/Manifest
index f8e65f09a323..c03594b92bcc 100644
--- a/net-misc/netkit-bootparamd/Manifest
+++ b/net-misc/netkit-bootparamd/Manifest
@@ -3,5 +3,5 @@ AUX 0.17-libtirpc.patch 455 BLAKE2B 2adcdb678d54f486dc4c2b4efa37851c334331d95293
AUX bootparamd.confd 29 BLAKE2B a2697cebfe9e2c7a9617b2624b70d0615b4ad920d034dbd0f5a5dc66a8183e802747015befa07e9a310c5618dba770c263307c157fd6f6402ebaa570c9fd4a79 SHA512 4f2e6cfef21053bc3a37fada11e77338de57a9e034963c9e91bdc8d6829df29e6b5d69eda3531e67ea3c03599f22da28bb3f7f64a282cc6a2e63927236c1765e
AUX bootparamd.initd 502 BLAKE2B ebc4d4c3381c1003924c402415aea4ad820e24f38520b4f0bc41643dc3f24642e8010907ae1451f7286607ab387d256e9e74f43ca53c5f3677e876956d0a686f SHA512 9326e3a3dfca43cd7233a289b1f58c22db22aabc2136cba2d61a4bdab17652f9d031e4eddc877126aa09e08e048e63ba9fcf4219f9dbbf55d6787e03d5ee2548
DIST netkit-bootparamd_0.17.orig.tar.gz 13934 BLAKE2B d828175594b0aae60c5284d4f02c73b4bb91cee2601dc52c6cbfb21e02779825a03567de7dbcc945246104889b7b4bc74f0429b508bda082a365a1d605e213e5 SHA512 fc237c72efd0c7a671c179ee4596f64e13a7a637441d32c9e82e81f4133d987f468c98b00611fbada1f7d6e5fa791c9b513978bfc7a58efe7d93102a2d3b4dca
-EBUILD netkit-bootparamd-0.17-r4.ebuild 1452 BLAKE2B 54bf24bdb77a6e0c93ab084382f41979a271a0b8cbb4805a118781e96072faf16d6af70a0a6225af0c90265b3d1325868f4baee7b0f0ba59af93103fc06acf3b SHA512 e5dc4aad3c38d127c94a3ce96b93a9f5486f2bf0a01a5012d25be3be988325d53978691f5133956dc50b2820b5b71ce3a9c7471b586895fe66e65ab035fa9b3f
+EBUILD netkit-bootparamd-0.17-r4.ebuild 1455 BLAKE2B 8f37551bf585a8eb851ff177548536e6c655c88b962bb61a700461a3e81abcd913dc74a88ce8d5d7429fea7a73953b4c9150e74ecffe834a82970c73711cf9a3 SHA512 342611e76ec7cce48dfcef1d0c309774eb49c9af25dc78573c7e500247510767d8f5fc5a139961e2e60e37205bbefed8f8c1b961b1c37abdab96cb0e5f9f3c8b
MISC metadata.xml 267 BLAKE2B 117291980857ff3d1fb5993ffbc23b682a4487e52c9cf0eab1bbc8fa68b22a440c267163d0079215ada1ca39144bc3c23c1d52416bb4bbec32f53ce9bfab0566 SHA512 102416c4ad8f95e8d8ab03a05996df109427c8ef5c9618a572484c8d34e5e8a33437c0b9f8c1a11ce0ecf42a1e893da38bb10451474777799da7fceec8c152d5
diff --git a/net-misc/netkit-bootparamd/netkit-bootparamd-0.17-r4.ebuild b/net-misc/netkit-bootparamd/netkit-bootparamd-0.17-r4.ebuild
index 63c9f4c0496e..1211f35aa210 100644
--- a/net-misc/netkit-bootparamd/netkit-bootparamd-0.17-r4.ebuild
+++ b/net-misc/netkit-bootparamd/netkit-bootparamd-0.17-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -9,7 +9,7 @@ DESCRIPTION="Netkit - bootparamd"
HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/"
SRC_URI="mirror://debian/pool/main/n/${PN}/${PN}_${PV}.orig.tar.gz"
-LICENSE="BSD"
+LICENSE="BSD GPL-2"
SLOT="0"
KEYWORDS="amd64 ~hppa ~mips ppc sparc x86"
IUSE="+libtirpc"
diff --git a/net-misc/openntpd/Manifest b/net-misc/openntpd/Manifest
index f257af080011..446e5b30e2c4 100644
--- a/net-misc/openntpd/Manifest
+++ b/net-misc/openntpd/Manifest
@@ -5,6 +5,6 @@ AUX openntpd.service-20080406-r4 196 BLAKE2B 7b55400bbc6b706f57eeb61370fea232237
DIST openntpd-6.2p3.tar.gz 447586 BLAKE2B f81db876c01572f06b8fc24aabe8954b15287496e8c39c1ae81231ef01676fbe8c69c5cf517279e45510b6b1b5f4c5d0d09d7ce5fc220c7bf36763cf67623519 SHA512 56a04bfd8b161b365607673ac80086ff53ae943938fa49bf52edbc541432eca30730a46a4af581fe26ce3bbceb144cb25982a38959b7a3f9304c727fe60f9f50
DIST openntpd-6.8p1.tar.gz 443997 BLAKE2B 5b86c79ff2f822aba652da92325ad18803233c8b1548203c82603b99d2c41dce012dfb2be67828cc892559f323b764cc1711202fd85bc1d5d755b5e677406b98 SHA512 200056bedb9c757aae1ce5d3f6655175ec058cb479429fe4704955f3a3fa15e8a9cb578ae4898ddb4cfc08c9742bbab6a7c92b5e569f06a148e40c448360b58f
EBUILD openntpd-6.2_p3-r2.ebuild 1876 BLAKE2B 19b8f6bfaed7a095ff3401fc487877ca0badaa069b37482805e8b50053b701fa1c747894d9fb4c0b6984241f430e6aca442cbf77a2f91ca8b1ff5b7be66ec36b SHA512 8aa659e9a7ebfbd917a7facf394afb552a4eef2c7ab1f248109cfad92d4931a91bc7c38b440721751c013ea5e391b5400464d519cdd16e57eff8bb65b87eafe7
-EBUILD openntpd-6.8_p1-r1.ebuild 1757 BLAKE2B 2c5cc2cbb75d3858950f48a3bb2c4dcadfe53fca534f42e26d6e8e2e811708e811cc08a093bb9d29be918479050068c8f2c5139e3c6a10f773fa1a82d4aad147 SHA512 4dbd2d9e068bea32494ff38fadf0eac212c0bdedb10cf68c99b6261920d1b23e473973fccc076b74d505fa708c4a4c71d989d1b8067ac13705c512264dd32464
+EBUILD openntpd-6.8_p1-r1.ebuild 1763 BLAKE2B 9225ea51bb5ebaf34d3456b474d61fc29ebcaff153d3ef8d0f1945391580b312cd260aed404cc23f0b17a5c5509d0068c335dcfb08e9a6ce6e315bec7b09db6a SHA512 8bc095b4a4ba25ed0c4cde951f4d8c47693e61a0fe982627d9db8b8d865bc1a0ec660ee0c1ea99ff2d6bbc217951538a1b06e2daf8624590163ad4ca1c8115ef
EBUILD openntpd-6.8_p1.ebuild 1749 BLAKE2B eabbbaa5d63fd9cd7f54da01bc71dea295172b57830d7a367eca13d10a22ad547ffe35e0517959a3ea866483cdf35fda8a1267b84dbb4648677d5e002784300d SHA512 d4405468d57a9f255ae3428bf292ad5689dba8621bd96cb2e8ab2824a7c736cc59cd1759173aa6dd5afe7a0a775d84932472a9ec0cde8b9262cd4d29ad622b67
MISC metadata.xml 828 BLAKE2B 252026b498239d4105cf5a36f898f7587f046d6f533089d7b52116af656c85d340802f8d6e3b95ccb5263f7795e84248e1fbf2f644213c0fb54b7fdab33df79a SHA512 83fe295d82756146bc8b705e02564553079e0292601b2ef38ba46f05a2388bc77d13a0576de6b30937814a708570247c657f4605767fe93a7ca6c49e0c96cabe
diff --git a/net-misc/openntpd/openntpd-6.8_p1-r1.ebuild b/net-misc/openntpd/openntpd-6.8_p1-r1.ebuild
index f19f0bd6c07b..49bc5ddd4cc9 100644
--- a/net-misc/openntpd/openntpd-6.8_p1-r1.ebuild
+++ b/net-misc/openntpd/openntpd-6.8_p1-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://openbsd/OpenNTPD/${MY_P}.tar.gz"
LICENSE="BSD GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
IUSE="constraints libressl selinux"
DEPEND="
diff --git a/net-misc/openssh/Manifest b/net-misc/openssh/Manifest
index 5930fe9e7e5c..3865d4279c1f 100644
--- a/net-misc/openssh/Manifest
+++ b/net-misc/openssh/Manifest
@@ -12,6 +12,11 @@ AUX openssh-8.4_p1-hpn-14.22-X509-glue.patch 4462 BLAKE2B ca35715fd95ec872e39964
AUX openssh-8.4_p1-hpn-14.22-glue.patch 3335 BLAKE2B f5b179aaa82c17f820cdc057de4dbb832bb944668a35d37dc9ca6a390a5d3537026f816e7cb73f9474baa77f81b459af7933d0349eba9585aa9f50139f1d588c SHA512 9b1dff1150230353e7fae31a737b9d1090d3a2017ca04fdc510043fbfb962790b489204e7195f9feff0f4f16732d61ee5804b212776addee6caf7409bb9af017
AUX openssh-8.4_p1-hpn-14.22-libressl.patch 794 BLAKE2B d204e6030a5cef333065d1c76a75a1e9d2a1a621b910fa6a2d85dc69d236abfa4448030cfb25c3965bf8851609af8f6d5217d04515c4d0ac699a6ce7be6395b6 SHA512 afeabef3df3d4a0f5dd0370477a9eff5e04abad3053e81bd88396956857669fac438474ebacb31dd41da4bb68aeff70dc9ca69f20cdb95c87ecb98d4e5fa2c37
AUX openssh-8.4_p1-hpn-14.22-sctp-glue.patch 733 BLAKE2B 3262f5293611579202b31540eb4ff6bf24be5bd09a93d10f693b173b61eff371cce0be4ecea2ba873c7d5b250a73c032684345b53a41c369f2a5663ad15ecd41 SHA512 b39a5d76558af51db0e9b1daeaaab3d906a4c941886f8016fb7e5e89177fcd5c81904cb5b3c4d0d5935240bee43d4433ad42495f1aa21771e90013ab7726b6fe
+AUX openssh-8.5_p1-GSSAPI-dns.patch 11631 BLAKE2B 9ed39b04f320612f166b091979a21e7765d19afc3947a95dd3019da25eefcad32fcf2a3f17813441fce87cc03a28e0a52ac1aad3ac4b5b7ecdf3f4f8c391ba4a SHA512 d28f7df54af4cc998e1978a6c0fcb28f88affaad4a347084e429549bc0f74347dd8ad79c0ced0ca5a739e2c3cc19f6516aeb678f3a9709c40f1d0fa16d93b9e4
+AUX openssh-8.5_p1-X509-glue-13.0.patch 2773 BLAKE2B f6bfe7a9986a0804eacb83bd61718b2fb5c52b26740441878cadadcd4773abb7a9f441f9263a704c13de5e25c614d989010b6806bde43b767ae892e68733087d SHA512 27894c3a76ce7483585975b41e7b3a64b8e896daaaf958738f8cd4081d4ff0884d945beb11f9e2ae12b87532d9a30bd642e4442db3ced2cf8747c60459752aec
+AUX openssh-8.5_p1-hpn-15.1-X509-glue.patch 11216 BLAKE2B 88060a94be8eba6b9b01296f1109f930df38d8596dc3500a8ab40f660a159884783a4ea0be362fb52a86eac1e88e903a7eae4cd6fd293922d73acc9a75eee150 SHA512 7e9799c7ab5cf97e791cb1c2aa0370199e91eeaa01e685c0d164f47fcddbf0fc7f55a9fd7ccba79ee861259d0ebd56d083b77cd0b65472fe9bcc83ceb4f2ad0e
+AUX openssh-8.5_p1-hpn-15.1-glue.patch 8744 BLAKE2B 90358656ee0e9ea1dfc7117dc585b296e125b5567fb8e9b12b7da2f00d02a1aa40da4a8fb64158f5ebb0abbd9ed54310f974d389a0ec3e9cface8dd9e1ae9d03 SHA512 8167b35e5daccc6f48af48c17bf01eae54dbff0aa651333e745fda044131746f313cec324275bf5e83592eea53726207763eaccbfb9bbb00fae3247a94eb8322
+AUX openssh-8.5_p1-hpn-15.1-sctp-glue.patch 728 BLAKE2B a9e6000b45fd228fa3623ca9abe6f99efc8e50020cd9584ea8b23e5491eb78253f65adf4ec990cae177874a89d785fa45fec05accae8a97921f804f7581a5ba4 SHA512 a6913dc0cffc5184b38d12f5146085ac6f592350f427bd994ddfa93c0eea041c674e47a80b84cffca9fe72ff5efa7b6797d1eb39addf6b842a6cfc21de4fc3ad
AUX sshd-r1.confd 774 BLAKE2B df3f3f28cb4d35b49851399b52408c42e242ae3168ff3fc79add211903567da370cfe86a267932ca9cf13c3afbc38a8f1b53e753a31670ee61bf8ba8747832f8 SHA512 3a69752592126024319a95f1c1747af508fd639c86eca472106c5d6c23d5eeaa441ca74740d4b1aafaa0db759d38879e3c1cee742b08d6166ebc58cddac1e2fe
AUX sshd-r1.initd 2675 BLAKE2B 47e87cec2d15b90aae362ce0c8e8ba08dada9ebc244e28be1fe67d24deb00675d3d9b8fef40def8a9224a3e2d15ab717574a3d837e099133c1cf013079588b55 SHA512 257d6437162b76c4a3a648ecc5d4739ca7eaa60b192fde91422c6c05d0de6adfa9635adc24d57dc3da6beb92b1b354ffe8fddad3db453efb610195d5509a4e27
AUX sshd.pam_include.2 156 BLAKE2B 91ebefbb1264fe3fe98df0a72ac22a4cd8a787b3b391af5769798e0b0185f0a588bc089d229c76138fd2db39fbe6bd33924f0d53e0513074d9c2d7abf88dcb78 SHA512 d3f7e6ca8c9f2b5060ebccb259316bb59c9a7e158e8ef9466765a20db263a4043a590811f1a3ab072b718dbd70898bc69b77e0b19603d7f394b5ac1bd0a4a56c
@@ -21,8 +26,15 @@ AUX sshd_at.service 177 BLAKE2B 0e78184f58cb4c68fb834953fac3ce01f9e39e9eb1a84c03
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.5p1+x509-13.0.diff.gz 996872 BLAKE2B 136937e4e65e5e73d1d1b596ae6188f359daa8e95aafd57fab8cf947b59fde573ff4e6259781d1a0fd89718d14469ca4aed01bae6f37cc16df109c673fa2c73c SHA512 2276b0ac577162f7f6a56115637636a6eaaa8b3cc06e5ef053ec06e00a7c3459efe8de8dbc5f55c9f6a192534e2f7c8c7064fcdbf56d28b628bb301c5072802c
+DIST openssh-8.5p1-sctp-1.2.patch.xz 7692 BLAKE2B 298bf5e2004fd864bdbb6d6f354d1fbcb7052a9caaf8e39863b840a7af8e31f87790f6aa10ae84df177d450bb34a43c4a3aa87d7472e2505d727757c016ce92b SHA512 84990f95e22c90dbc4d04d47ea88b761ff1d0101018661ff2376ac2a726b5fca43f1b5f5d926ccbe1c8d0143ac36b104616bd1a6b5dcdba4addf48a5dd196e2b
+DIST openssh-8.5p1.tar.gz 1779733 BLAKE2B f4e4bd39e2dd275d4811e06ca994f2239ad27c804b003c74cc26f9dffae28f1b4006fc618580f0dc9c45f0b7361c24728c23688b45f41cb8a15cf6206c3f15c3 SHA512 af9c34d89170a30fc92a63973e32c766ed4a6d254bb210e317c000d46913e78d0c60c7befe62d993d659be000b828b9d4d3832fc40df1c3d33850aaa6293846f
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
+DIST openssh-8_4_P1-hpn-AES-CTR-15.1.diff 29966 BLAKE2B 79dea4e16ffdda329131eb48a3c3dd40e167e5c6fa4dd2beb6c67e7e4f17a45c6645e84dcdc97baae90215a802cd1d723dfd88c981b1db826f61fca0a4e92ae1 SHA512 cdb7aa5737a1527d83ffa747d17ae997a64b7bc16e198d0721b690e5932446d30ba4129c122be2a457f261be7a11d944ef49ba2450ce90f552daab508b0c980b
+DIST openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 51327 BLAKE2B 6879df5bfb4c07c44b41620bd49433591711edb08ad6b5c09af8a5f754ca09f3ff6a066ffac3210fdad6dee47710221dca0a3dc47b919498ec6939b42a073418 SHA512 1e6471e88783acf764186577a767ea7c2071bcab1b803c18288f70166d87471703b332dae3bdcaf4318039089caebfba46e5b6da218912eff1103bd03d736a60
+DIST openssh-8_4_P1-hpn-PeakTput-15.1.diff 2429 BLAKE2B fc2140f4036ef57b7093696680b6e157c78bb431af9bc9e75f223c2b13693f0ec2ad214fbf6b2ba0059cbf3690a93235559f07b46dabd056d65ae1fc9d7418f0 SHA512 99801a743da8f108dcf883bc216f2abd3fc3071617566b83eb07b6627ed657cccf0ea93ea2a70eff1050a34a0e635e732665c5583e8aa35968fdeb839f837b63
EBUILD openssh-8.4_p1-r3.ebuild 17822 BLAKE2B 33429fc7138dafc13940b6956af610fc15e4d16efd2cc8b318e510365c86c96b73de3961d8506e072ca2972a0e97fa7155af457e310c307d339f451657affbec SHA512 0d37ad65c202611424972d3cb2d5cd43bc57ef2cbf96165fae3a053c45c512c59d060430155292148702df079a60f569e508fdfdccfafc2dbb8fc4c3f2aacb86
+EBUILD openssh-8.5_p1.ebuild 17660 BLAKE2B 34032e2de622eb96b713f38d183a2cc71d6f56e6f1890d2dc2757c8705c70073748103e8658728d48dd8dc1599e8f3d8fb55552df5b56e5010b7f41bbbade999 SHA512 a9cbc9f4063334c19f749ab10a7c9475bf00ec615954203cce6a470fe96b262b53219f7b51f9404223d0fc7229f15e378d6563abe4b9a52403089a394b182935
MISC metadata.xml 2101 BLAKE2B fabe0e83b78f80666415646d7b85b296c8026f5e7465705555d03237a289208238e182919e75bec29d1113a5b7483a66b53a421e8881533af5d25c79521d9a08 SHA512 b9eb68f11fa10e763f529da88e252a94ccd89b41e857f39bf7c887ddc38c1bfd4aa9e9383a69c506080531f396ad5fdd9e1f811529a04864447a7b3e833c0e9f
diff --git a/net-misc/openssh/files/openssh-8.5_p1-GSSAPI-dns.patch b/net-misc/openssh/files/openssh-8.5_p1-GSSAPI-dns.patch
new file mode 100644
index 000000000000..eec66ade4b4e
--- /dev/null
+++ b/net-misc/openssh/files/openssh-8.5_p1-GSSAPI-dns.patch
@@ -0,0 +1,354 @@
+--- a/auth.c 2021-03-02 04:31:47.000000000 -0600
++++ b/auth.c 2021-03-04 11:22:44.590041696 -0600
+@@ -727,119 +727,6 @@ fakepw(void)
+ return (&fake);
+ }
+
+-/*
+- * Returns the remote DNS hostname as a string. The returned string must not
+- * be freed. NB. this will usually trigger a DNS query the first time it is
+- * called.
+- * This function does additional checks on the hostname to mitigate some
+- * attacks on legacy rhosts-style authentication.
+- * XXX is RhostsRSAAuthentication vulnerable to these?
+- * XXX Can we remove these checks? (or if not, remove RhostsRSAAuthentication?)
+- */
+-
+-static char *
+-remote_hostname(struct ssh *ssh)
+-{
+- struct sockaddr_storage from;
+- socklen_t fromlen;
+- struct addrinfo hints, *ai, *aitop;
+- char name[NI_MAXHOST], ntop2[NI_MAXHOST];
+- const char *ntop = ssh_remote_ipaddr(ssh);
+-
+- /* Get IP address of client. */
+- fromlen = sizeof(from);
+- memset(&from, 0, sizeof(from));
+- if (getpeername(ssh_packet_get_connection_in(ssh),
+- (struct sockaddr *)&from, &fromlen) == -1) {
+- debug("getpeername failed: %.100s", strerror(errno));
+- return xstrdup(ntop);
+- }
+-
+- ipv64_normalise_mapped(&from, &fromlen);
+- if (from.ss_family == AF_INET6)
+- fromlen = sizeof(struct sockaddr_in6);
+-
+- debug3("Trying to reverse map address %.100s.", ntop);
+- /* Map the IP address to a host name. */
+- if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name),
+- NULL, 0, NI_NAMEREQD) != 0) {
+- /* Host name not found. Use ip address. */
+- return xstrdup(ntop);
+- }
+-
+- /*
+- * if reverse lookup result looks like a numeric hostname,
+- * someone is trying to trick us by PTR record like following:
+- * 1.1.1.10.in-addr.arpa. IN PTR 2.3.4.5
+- */
+- memset(&hints, 0, sizeof(hints));
+- hints.ai_socktype = SOCK_DGRAM; /*dummy*/
+- hints.ai_flags = AI_NUMERICHOST;
+- if (getaddrinfo(name, NULL, &hints, &ai) == 0) {
+- logit("Nasty PTR record \"%s\" is set up for %s, ignoring",
+- name, ntop);
+- freeaddrinfo(ai);
+- return xstrdup(ntop);
+- }
+-
+- /* Names are stored in lowercase. */
+- lowercase(name);
+-
+- /*
+- * Map it back to an IP address and check that the given
+- * address actually is an address of this host. This is
+- * necessary because anyone with access to a name server can
+- * define arbitrary names for an IP address. Mapping from
+- * name to IP address can be trusted better (but can still be
+- * fooled if the intruder has access to the name server of
+- * the domain).
+- */
+- memset(&hints, 0, sizeof(hints));
+- hints.ai_family = from.ss_family;
+- hints.ai_socktype = SOCK_STREAM;
+- if (getaddrinfo(name, NULL, &hints, &aitop) != 0) {
+- logit("reverse mapping checking getaddrinfo for %.700s "
+- "[%s] failed.", name, ntop);
+- return xstrdup(ntop);
+- }
+- /* Look for the address from the list of addresses. */
+- for (ai = aitop; ai; ai = ai->ai_next) {
+- if (getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop2,
+- sizeof(ntop2), NULL, 0, NI_NUMERICHOST) == 0 &&
+- (strcmp(ntop, ntop2) == 0))
+- break;
+- }
+- freeaddrinfo(aitop);
+- /* If we reached the end of the list, the address was not there. */
+- if (ai == NULL) {
+- /* Address not found for the host name. */
+- logit("Address %.100s maps to %.600s, but this does not "
+- "map back to the address.", ntop, name);
+- return xstrdup(ntop);
+- }
+- return xstrdup(name);
+-}
+-
+-/*
+- * Return the canonical name of the host in the other side of the current
+- * connection. The host name is cached, so it is efficient to call this
+- * several times.
+- */
+-
+-const char *
+-auth_get_canonical_hostname(struct ssh *ssh, int use_dns)
+-{
+- static char *dnsname;
+-
+- if (!use_dns)
+- return ssh_remote_ipaddr(ssh);
+- else if (dnsname != NULL)
+- return dnsname;
+- else {
+- dnsname = remote_hostname(ssh);
+- return dnsname;
+- }
+-}
+
+ /* These functions link key/cert options to the auth framework */
+
+--- a/canohost.c 2021-03-02 04:31:47.000000000 -0600
++++ b/canohost.c 2021-03-04 11:22:54.854211183 -0600
+@@ -202,3 +202,117 @@ get_local_port(int sock)
+ {
+ return get_sock_port(sock, 1);
+ }
++
++/*
++ * Returns the remote DNS hostname as a string. The returned string must not
++ * be freed. NB. this will usually trigger a DNS query the first time it is
++ * called.
++ * This function does additional checks on the hostname to mitigate some
++ * attacks on legacy rhosts-style authentication.
++ * XXX is RhostsRSAAuthentication vulnerable to these?
++ * XXX Can we remove these checks? (or if not, remove RhostsRSAAuthentication?)
++ */
++
++static char *
++remote_hostname(struct ssh *ssh)
++{
++ struct sockaddr_storage from;
++ socklen_t fromlen;
++ struct addrinfo hints, *ai, *aitop;
++ char name[NI_MAXHOST], ntop2[NI_MAXHOST];
++ const char *ntop = ssh_remote_ipaddr(ssh);
++
++ /* Get IP address of client. */
++ fromlen = sizeof(from);
++ memset(&from, 0, sizeof(from));
++ if (getpeername(ssh_packet_get_connection_in(ssh),
++ (struct sockaddr *)&from, &fromlen) == -1) {
++ debug("getpeername failed: %.100s", strerror(errno));
++ return xstrdup(ntop);
++ }
++
++ ipv64_normalise_mapped(&from, &fromlen);
++ if (from.ss_family == AF_INET6)
++ fromlen = sizeof(struct sockaddr_in6);
++
++ debug3("Trying to reverse map address %.100s.", ntop);
++ /* Map the IP address to a host name. */
++ if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name),
++ NULL, 0, NI_NAMEREQD) != 0) {
++ /* Host name not found. Use ip address. */
++ return xstrdup(ntop);
++ }
++
++ /*
++ * if reverse lookup result looks like a numeric hostname,
++ * someone is trying to trick us by PTR record like following:
++ * 1.1.1.10.in-addr.arpa. IN PTR 2.3.4.5
++ */
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_socktype = SOCK_DGRAM; /*dummy*/
++ hints.ai_flags = AI_NUMERICHOST;
++ if (getaddrinfo(name, NULL, &hints, &ai) == 0) {
++ logit("Nasty PTR record \"%s\" is set up for %s, ignoring",
++ name, ntop);
++ freeaddrinfo(ai);
++ return xstrdup(ntop);
++ }
++
++ /* Names are stored in lowercase. */
++ lowercase(name);
++
++ /*
++ * Map it back to an IP address and check that the given
++ * address actually is an address of this host. This is
++ * necessary because anyone with access to a name server can
++ * define arbitrary names for an IP address. Mapping from
++ * name to IP address can be trusted better (but can still be
++ * fooled if the intruder has access to the name server of
++ * the domain).
++ */
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = from.ss_family;
++ hints.ai_socktype = SOCK_STREAM;
++ if (getaddrinfo(name, NULL, &hints, &aitop) != 0) {
++ logit("reverse mapping checking getaddrinfo for %.700s "
++ "[%s] failed.", name, ntop);
++ return xstrdup(ntop);
++ }
++ /* Look for the address from the list of addresses. */
++ for (ai = aitop; ai; ai = ai->ai_next) {
++ if (getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop2,
++ sizeof(ntop2), NULL, 0, NI_NUMERICHOST) == 0 &&
++ (strcmp(ntop, ntop2) == 0))
++ break;
++ }
++ freeaddrinfo(aitop);
++ /* If we reached the end of the list, the address was not there. */
++ if (ai == NULL) {
++ /* Address not found for the host name. */
++ logit("Address %.100s maps to %.600s, but this does not "
++ "map back to the address.", ntop, name);
++ return xstrdup(ntop);
++ }
++ return xstrdup(name);
++}
++
++/*
++ * Return the canonical name of the host in the other side of the current
++ * connection. The host name is cached, so it is efficient to call this
++ * several times.
++ */
++
++const char *
++auth_get_canonical_hostname(struct ssh *ssh, int use_dns)
++{
++ static char *dnsname;
++
++ if (!use_dns)
++ return ssh_remote_ipaddr(ssh);
++ else if (dnsname != NULL)
++ return dnsname;
++ else {
++ dnsname = remote_hostname(ssh);
++ return dnsname;
++ }
++}
+diff --git a/readconf.c b/readconf.c
+index 724974b7..97a1ffd8 100644
+--- a/readconf.c
++++ b/readconf.c
+@@ -161,6 +161,7 @@ typedef enum {
+ oClearAllForwardings, oNoHostAuthenticationForLocalhost,
+ oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout,
+ oAddressFamily, oGssAuthentication, oGssDelegateCreds,
++ oGssTrustDns,
+ oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
+ oSendEnv, oSetEnv, oControlPath, oControlMaster, oControlPersist,
+ oHashKnownHosts,
+@@ -206,9 +207,11 @@ static struct {
+ #if defined(GSSAPI)
+ { "gssapiauthentication", oGssAuthentication },
+ { "gssapidelegatecredentials", oGssDelegateCreds },
++ { "gssapitrustdns", oGssTrustDns },
+ # else
+ { "gssapiauthentication", oUnsupported },
+ { "gssapidelegatecredentials", oUnsupported },
++ { "gssapitrustdns", oUnsupported },
+ #endif
+ #ifdef ENABLE_PKCS11
+ { "pkcs11provider", oPKCS11Provider },
+@@ -1083,6 +1086,10 @@ parse_time:
+ intptr = &options->gss_deleg_creds;
+ goto parse_flag;
+
++ case oGssTrustDns:
++ intptr = &options->gss_trust_dns;
++ goto parse_flag;
++
+ case oBatchMode:
+ intptr = &options->batch_mode;
+ goto parse_flag;
+@@ -2183,6 +2190,7 @@ initialize_options(Options * options)
+ options->challenge_response_authentication = -1;
+ options->gss_authentication = -1;
+ options->gss_deleg_creds = -1;
++ options->gss_trust_dns = -1;
+ options->password_authentication = -1;
+ options->kbd_interactive_authentication = -1;
+ options->kbd_interactive_devices = NULL;
+@@ -2340,6 +2348,8 @@ fill_default_options(Options * options)
+ options->gss_authentication = 0;
+ if (options->gss_deleg_creds == -1)
+ options->gss_deleg_creds = 0;
++ if (options->gss_trust_dns == -1)
++ options->gss_trust_dns = 0;
+ if (options->password_authentication == -1)
+ options->password_authentication = 1;
+ if (options->kbd_interactive_authentication == -1)
+diff --git a/readconf.h b/readconf.h
+index 2fba866e..da3ce87a 100644
+--- a/readconf.h
++++ b/readconf.h
+@@ -42,6 +42,7 @@ typedef struct {
+ /* Try S/Key or TIS, authentication. */
+ int gss_authentication; /* Try GSS authentication */
+ int gss_deleg_creds; /* Delegate GSS credentials */
++ int gss_trust_dns; /* Trust DNS for GSS canonicalization */
+ int password_authentication; /* Try password
+ * authentication. */
+ int kbd_interactive_authentication; /* Try keyboard-interactive auth. */
+diff --git a/ssh_config.5 b/ssh_config.5
+index f8119189..e0fd0d76 100644
+--- a/ssh_config.5
++++ b/ssh_config.5
+@@ -783,6 +783,16 @@ The default is
+ Forward (delegate) credentials to the server.
+ The default is
+ .Cm no .
++Note that this option applies to protocol version 2 connections using GSSAPI.
++.It Cm GSSAPITrustDns
++Set to
++.Dq yes to indicate that the DNS is trusted to securely canonicalize
++the name of the host being connected to. If
++.Dq no, the hostname entered on the
++command line will be passed untouched to the GSSAPI library.
++The default is
++.Dq no .
++This option only applies to protocol version 2 connections using GSSAPI.
+ .It Cm HashKnownHosts
+ Indicates that
+ .Xr ssh 1
+diff --git a/sshconnect2.c b/sshconnect2.c
+index 059c9480..ab6f6832 100644
+--- a/sshconnect2.c
++++ b/sshconnect2.c
+@@ -770,6 +770,13 @@ userauth_gssapi(struct ssh *ssh)
+ OM_uint32 min;
+ int r, ok = 0;
+ gss_OID mech = NULL;
++ const char *gss_host;
++
++ if (options.gss_trust_dns) {
++ extern const char *auth_get_canonical_hostname(struct ssh *ssh, int use_dns);
++ gss_host = auth_get_canonical_hostname(ssh, 1);
++ } else
++ gss_host = authctxt->host;
+
+ /* Try one GSSAPI method at a time, rather than sending them all at
+ * once. */
+@@ -784,7 +791,7 @@ userauth_gssapi(struct ssh *ssh)
+ elements[authctxt->mech_tried];
+ /* My DER encoding requires length<128 */
+ if (mech->length < 128 && ssh_gssapi_check_mechanism(&gssctxt,
+- mech, authctxt->host)) {
++ mech, gss_host)) {
+ ok = 1; /* Mechanism works */
+ } else {
+ authctxt->mech_tried++;
diff --git a/net-misc/openssh/files/openssh-8.5_p1-X509-glue-13.0.patch b/net-misc/openssh/files/openssh-8.5_p1-X509-glue-13.0.patch
new file mode 100644
index 000000000000..71b27f284af4
--- /dev/null
+++ b/net-misc/openssh/files/openssh-8.5_p1-X509-glue-13.0.patch
@@ -0,0 +1,73 @@
+diff -ur a/openssh-8.5p1+x509-13.0.diff b/openssh-8.5p1+x509-13.0.diff
+--- a/openssh-8.5p1+x509-13.0.diff 2021-03-03 12:26:21.021212996 -0800
++++ b/openssh-8.5p1+x509-13.0.diff 2021-03-03 18:20:06.476490271 -0800
+@@ -46675,12 +46675,11 @@
+
+ install-files:
+ $(MKDIR_P) $(DESTDIR)$(bindir)
+-@@ -380,6 +364,8 @@
++@@ -380,6 +364,7 @@
+ $(MKDIR_P) $(DESTDIR)$(mandir)/$(mansubdir)5
+ $(MKDIR_P) $(DESTDIR)$(mandir)/$(mansubdir)8
+ $(MKDIR_P) $(DESTDIR)$(libexecdir)
+ + $(MKDIR_P) $(DESTDIR)$(sshcadir)
+-+ $(MKDIR_P) $(DESTDIR)$(piddir)
+ $(MKDIR_P) -m 0755 $(DESTDIR)$(PRIVSEP_PATH)
+ $(INSTALL) -m 0755 $(STRIP_OPT) ssh$(EXEEXT) $(DESTDIR)$(bindir)/ssh$(EXEEXT)
+ $(INSTALL) -m 0755 $(STRIP_OPT) scp$(EXEEXT) $(DESTDIR)$(bindir)/scp$(EXEEXT)
+@@ -63967,7 +63966,7 @@
+ - echo "putty interop tests not enabled"
+ - exit 0
+ -fi
+-+$REGRESS_INTEROP_PUTTY || { echo "putty interop tests are not enabled" >&1; exit 1; }
+++$REGRESS_INTEROP_PUTTY || { echo "putty interop tests are not enabled" >&1; exit 0; }
+
+ for c in aes 3des aes128-ctr aes192-ctr aes256-ctr chacha20 ; do
+ verbose "$tid: cipher $c"
+@@ -63982,7 +63981,7 @@
+ - echo "putty interop tests not enabled"
+ - exit 0
+ -fi
+-+$REGRESS_INTEROP_PUTTY || { echo "putty interop tests are not enabled" >&1; exit 1; }
+++$REGRESS_INTEROP_PUTTY || { echo "putty interop tests are not enabled" >&1; exit 0; }
+
+ for k in dh-gex-sha1 dh-group1-sha1 dh-group14-sha1 ecdh ; do
+ verbose "$tid: kex $k"
+@@ -63997,7 +63996,7 @@
+ - echo "putty interop tests not enabled"
+ - exit 0
+ -fi
+-+$REGRESS_INTEROP_PUTTY || { echo "putty interop tests are not enabled" >&1; exit 1; }
+++$REGRESS_INTEROP_PUTTY || { echo "putty interop tests are not enabled" >&1; exit 0; }
+
+ if [ "`${SSH} -Q compression`" = "none" ]; then
+ comp="0"
+@@ -64129,9 +64128,9 @@
+
+ +# cross-project configuration
+ +if test "$sshd_type" = "pkix" ; then
+-+ unset_arg=''
+++ unset_arg=
+ +else
+-+ unset_arg=none
+++ unset_arg=
+ +fi
+ +
+ cat > $OBJ/sshd_config.i << _EOF
+@@ -122238,16 +122237,6 @@
+ +int asnmprintf(char **, size_t, int *, const char *, ...)
+ __attribute__((format(printf, 4, 5)));
+ void msetlocale(void);
+-diff -ruN openssh-8.5p1/version.h openssh-8.5p1+x509-13.0/version.h
+---- openssh-8.5p1/version.h 2021-03-02 12:31:47.000000000 +0200
+-+++ openssh-8.5p1+x509-13.0/version.h 2021-03-03 19:07:00.000000000 +0200
+-@@ -2,5 +2,4 @@
+-
+- #define SSH_VERSION "OpenSSH_8.5"
+-
+--#define SSH_PORTABLE "p1"
+--#define SSH_RELEASE SSH_VERSION SSH_PORTABLE
+-+#define SSH_RELEASE PACKAGE_STRING ", " SSH_VERSION "p1"
+ diff -ruN openssh-8.5p1/version.m4 openssh-8.5p1+x509-13.0/version.m4
+ --- openssh-8.5p1/version.m4 1970-01-01 02:00:00.000000000 +0200
+ +++ openssh-8.5p1+x509-13.0/version.m4 2021-03-03 19:07:00.000000000 +0200
diff --git a/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-X509-glue.patch b/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-X509-glue.patch
new file mode 100644
index 000000000000..e2d4ce826ea7
--- /dev/null
+++ b/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-X509-glue.patch
@@ -0,0 +1,325 @@
+diff -ur a/openssh-8_4_P1-hpn-AES-CTR-15.1.diff b/openssh-8_4_P1-hpn-AES-CTR-15.1.diff
+--- a/openssh-8_4_P1-hpn-AES-CTR-15.1.diff 2021-03-03 12:57:01.975827879 -0800
++++ b/openssh-8_4_P1-hpn-AES-CTR-15.1.diff 2021-03-03 18:25:21.929305944 -0800
+@@ -3,9 +3,9 @@
+ --- a/Makefile.in
+ +++ b/Makefile.in
+ @@ -46,7 +46,7 @@ CFLAGS=@CFLAGS@
+- CFLAGS_NOPIE=@CFLAGS_NOPIE@
+- CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
+- PICFLAG=@PICFLAG@
++ LD=@LD@
++ CFLAGS=@CFLAGS@ $(CFLAGS_EXTRA)
++ CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ @LDAP_CPPFLAGS@ $(PATHS) @DEFS@
+ -LIBS=@LIBS@
+ +LIBS=@LIBS@ -lpthread
+ K5LIBS=@K5LIBS@
+@@ -803,8 +803,8 @@
+ ssh_packet_set_connection(struct ssh *ssh, int fd_in, int fd_out)
+ {
+ struct session_state *state;
+-- const struct sshcipher *none = cipher_by_name("none");
+-+ struct sshcipher *none = cipher_by_name("none");
++- const struct sshcipher *none = cipher_none();
+++ struct sshcipher *none = cipher_none();
+ int r;
+
+ if (none == NULL) {
+@@ -894,24 +894,24 @@
+ intptr = &options->compression;
+ multistate_ptr = multistate_compression;
+ @@ -2062,6 +2068,7 @@ initialize_options(Options * options)
+- options->hostbased_accepted_algos = NULL;
+- options->pubkey_accepted_algos = NULL;
+- options->known_hosts_command = NULL;
++ options->revoked_host_keys = NULL;
++ options->fingerprint_hash = -1;
++ options->update_hostkeys = -1;
+ + options->disable_multithreaded = -1;
+ }
+
+ /*
+ @@ -2247,6 +2254,10 @@ fill_default_options(Options * options)
++ options->update_hostkeys = 0;
+ if (options->sk_provider == NULL)
+ options->sk_provider = xstrdup("$SSH_SK_PROVIDER");
+- #endif
+ + if (options->update_hostkeys == -1)
+ + options->update_hostkeys = 0;
+ + if (options->disable_multithreaded == -1)
+ + options->disable_multithreaded = 0;
+
+- /* Expand KEX name lists */
+- all_cipher = cipher_alg_list(',', 0);
++ /* expand KEX and etc. name lists */
++ { char *all;
+ diff --git a/readconf.h b/readconf.h
+ index d6a15550..d2d20548 100644
+ --- a/readconf.h
+@@ -950,9 +950,9 @@
+ /* Portable-specific options */
+ sUsePAM,
+ + sDisableMTAES,
+- /* Standard Options */
+- sPort, sHostKeyFile, sLoginGraceTime,
+- sPermitRootLogin, sLogFacility, sLogLevel,
++ /* X.509 Standard Options */
++ sHostbasedAlgorithms,
++ sPubkeyAlgorithms,
+ @@ -672,6 +676,7 @@ static struct {
+ { "authorizedprincipalsfile", sAuthorizedPrincipalsFile, SSHCFG_ALL },
+ { "kexalgorithms", sKexAlgorithms, SSHCFG_GLOBAL },
+diff -ur a/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff b/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff
+--- a/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 2021-03-03 19:05:28.942903961 -0800
++++ b/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 2021-03-03 20:36:34.702362020 -0800
+@@ -157,6 +157,36 @@
+ + Allan Jude provided the code for the NoneMac and buffer normalization.
+ + This work was financed, in part, by Cisco System, Inc., the National
+ + Library of Medicine, and the National Science Foundation.
++diff --git a/auth2.c b/auth2.c
++--- a/auth2.c 2021-03-03 20:34:51.312051369 -0800
+++++ b/auth2.c 2021-03-03 20:35:15.797888115 -0800
++@@ -229,16 +229,17 @@
++ double delay;
++
++ digest_alg = ssh_digest_maxbytes();
++- len = ssh_digest_bytes(digest_alg);
++- hash = xmalloc(len);
+++ if (len = ssh_digest_bytes(digest_alg) > 0) {
+++ hash = xmalloc(len);
++
++- (void)snprintf(b, sizeof b, "%llu%s",
++- (unsigned long long)options.timing_secret, user);
++- if (ssh_digest_memory(digest_alg, b, strlen(b), hash, len) != 0)
++- fatal_f("ssh_digest_memory");
++- /* 0-4.2 ms of delay */
++- delay = (double)PEEK_U32(hash) / 1000 / 1000 / 1000 / 1000;
++- freezero(hash, len);
+++ (void)snprintf(b, sizeof b, "%llu%s",
+++ (unsigned long long)options.timing_secret, user);
+++ if (ssh_digest_memory(digest_alg, b, strlen(b), hash, len) != 0)
+++ fatal_f("ssh_digest_memory");
+++ /* 0-4.2 ms of delay */
+++ delay = (double)PEEK_U32(hash) / 1000 / 1000 / 1000 / 1000;
+++ freezero(hash, len);
+++ }
++ debug3_f("user specific delay %0.3lfms", delay/1000);
++ return MIN_FAIL_DELAY_SECONDS + delay;
++ }
+ diff --git a/channels.c b/channels.c
+ index e4917f3c..e0db582e 100644
+ --- a/channels.c
+@@ -209,14 +239,14 @@
+ static void
+ channel_pre_open(struct ssh *ssh, Channel *c,
+ fd_set *readset, fd_set *writeset)
+-@@ -2179,22 +2206,31 @@ channel_check_window(struct ssh *ssh, Channel *c)
++@@ -2179,21 +2206,31 @@ channel_check_window(struct ssh *ssh, Channel *c)
+
+ if (c->type == SSH_CHANNEL_OPEN &&
+ !(c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD)) &&
+ - ((c->local_window_max - c->local_window >
+ - c->local_maxpacket*3) ||
+-+ ((ssh_packet_is_interactive(ssh) &&
+-+ c->local_window_max - c->local_window > c->local_maxpacket*3) ||
+++ ((ssh_packet_is_interactive(ssh) &&
+++ c->local_window_max - c->local_window > c->local_maxpacket*3) ||
+ c->local_window < c->local_window_max/2) &&
+ c->local_consumed > 0) {
+ + u_int addition = 0;
+@@ -234,10 +264,12 @@
+ SSH2_MSG_CHANNEL_WINDOW_ADJUST)) != 0 ||
+ (r = sshpkt_put_u32(ssh, c->remote_id)) != 0 ||
+ - (r = sshpkt_put_u32(ssh, c->local_consumed)) != 0 ||
++- (r = sshpkt_send(ssh)) != 0)
++- fatal_fr(r, "channel %d", c->self);
+ + (r = sshpkt_put_u32(ssh, c->local_consumed + addition)) != 0 ||
+- (r = sshpkt_send(ssh)) != 0) {
+- fatal_fr(r, "channel %i", c->self);
+- }
+++ (r = sshpkt_send(ssh)) != 0) {
+++ fatal_fr(r, "channel %i", c->self);
+++ }
+ debug2("channel %d: window %d sent adjust %d", c->self,
+ - c->local_window, c->local_consumed);
+ - c->local_window += c->local_consumed;
+@@ -384,20 +416,38 @@
+ index dec8e7e9..3c11558e 100644
+ --- a/compat.c
+ +++ b/compat.c
+-@@ -150,6 +150,13 @@ compat_banner(struct ssh *ssh, const char *version)
+- debug_f("match: %s pat %s compat 0x%08x",
++@@ -43,7 +43,7 @@
++ static u_int
++ compat_datafellows(const char *version)
++ {
++- int i;
+++ int i, bugs = 0;
++ static struct {
++ char *pat;
++ int bugs;
++@@ -147,11 +147,19 @@
++ if (match_pattern_list(version, check[i].pat, 0) == 1) {
++ debug("match: %s pat %s compat 0x%08x",
+ version, check[i].pat, check[i].bugs);
+- ssh->compat = check[i].bugs;
+-+ /* Check to see if the remote side is OpenSSH and not HPN */
+-+ if (strstr(version, "OpenSSH") != NULL) {
+-+ if (strstr(version, "hpn") == NULL) {
+-+ ssh->compat |= SSH_BUG_LARGEWINDOW;
+-+ debug("Remote is NON-HPN aware");
+-+ }
+-+ }
+- return;
++- return check[i].bugs;
+++ bugs |= check[i].bugs;
+ }
+ }
++- debug("no match: %s", version);
++- return 0;
+++ /* Check to see if the remote side is OpenSSH and not HPN */
+++ if (strstr(version, "OpenSSH") != NULL) {
+++ if (strstr(version, "hpn") == NULL) {
+++ bugs |= SSH_BUG_LARGEWINDOW;
+++ debug("Remote is NON-HPN aware");
+++ }
+++ }
+++ if (bugs == 0)
+++ debug("no match: %s", version);
+++ return bugs;
++ }
++
++ char *
+ diff --git a/compat.h b/compat.h
+ index 66db42cc..d4e811e4 100644
+ --- a/compat.h
+@@ -456,7 +506,7 @@
+ @@ -888,6 +888,10 @@ kex_choose_conf(struct ssh *ssh)
+ int nenc, nmac, ncomp;
+ u_int mode, ctos, need, dh_need, authlen;
+- int r, first_kex_follows;
++ int r, first_kex_follows = 0;
+ + int auth_flag = 0;
+ +
+ + auth_flag = packet_authentication_state(ssh);
+@@ -1033,19 +1083,6 @@
+
+ /* File to read commands from */
+ FILE* infile;
+-diff --git a/ssh-keygen.c b/ssh-keygen.c
+-index a12b79a5..8b839219 100644
+---- a/ssh-keygen.c
+-+++ b/ssh-keygen.c
+-@@ -2999,7 +2999,7 @@ do_download_sk(const char *skprovider, const char *device)
+- freezero(pin, strlen(pin));
+- error("Unable to load resident keys: %s", ssh_err(r));
+- return -1;
+-- }
+-+ }
+- if (nkeys == 0)
+- logit("No keys to download");
+- if (pin != NULL)
+ diff --git a/ssh.c b/ssh.c
+ index f34ca0d7..d7d134f7 100644
+ --- a/ssh.c
+@@ -1091,7 +1128,7 @@
+ + else
+ + options.hpn_buffer_size = 2 * 1024 * 1024;
+ +
+-+ if (ssh->compat & SSH_BUG_LARGEWINDOW) {
+++ if (ssh_compat_fellows(ssh, SSH_BUG_LARGEWINDOW)) {
+ + debug("HPN to Non-HPN Connection");
+ + } else {
+ + int sock, socksize;
+@@ -1331,6 +1368,26 @@
+ /* Bind the socket to the desired port. */
+ if (bind(listen_sock, ai->ai_addr, ai->ai_addrlen) == -1) {
+ error("Bind to port %s on %s failed: %.200s.",
++@@ -1625,12 +1625,13 @@
++ if (ssh_digest_update(ctx, sshbuf_ptr(server_cfg),
++ sshbuf_len(server_cfg)) != 0)
++ fatal_f("ssh_digest_update");
++- len = ssh_digest_bytes(digest_alg);
++- hash = xmalloc(len);
++- if (ssh_digest_final(ctx, hash, len) != 0)
++- fatal_f("ssh_digest_final");
++- options.timing_secret = PEEK_U64(hash);
++- freezero(hash, len);
+++ if (len = ssh_digest_bytes(digest_alg) > 0) {
+++ hash = xmalloc(len);
+++ if (ssh_digest_final(ctx, hash, len) != 0)
+++ fatal_f("ssh_digest_final");
+++ options.timing_secret = PEEK_U64(hash);
+++ freezero(hash, len);
+++ }
++ ssh_digest_free(ctx);
++ ctx = NULL;
++ return;
+ @@ -1746,6 +1753,19 @@ main(int ac, char **av)
+ /* Fill in default values for those options not explicitly set. */
+ fill_default_server_options(&options);
+@@ -1401,14 +1458,3 @@
+ # Example of overriding settings on a per-user basis
+ #Match User anoncvs
+ # X11Forwarding no
+-diff --git a/version.h b/version.h
+-index c2f9c55b..f2e7fa80 100644
+---- a/version.h
+-+++ b/version.h
+-@@ -3,4 +3,5 @@
+- #define SSH_VERSION "OpenSSH_8.4"
+-
+- #define SSH_PORTABLE "p1"
+--#define SSH_RELEASE SSH_VERSION SSH_PORTABLE
+-+#define SSH_HPN "-hpn15v1"
+-+#define SSH_RELEASE SSH_VERSION SSH_PORTABLE SSH_HPN
+diff -ur a/openssh-8_4_P1-hpn-PeakTput-15.1.diff b/openssh-8_4_P1-hpn-PeakTput-15.1.diff
+--- a/openssh-8_4_P1-hpn-PeakTput-15.1.diff 2021-03-03 12:57:01.975827879 -0800
++++ b/openssh-8_4_P1-hpn-PeakTput-15.1.diff 2021-03-03 18:25:21.930305937 -0800
+@@ -12,9 +12,9 @@
+ static long stalled; /* how long we have been stalled */
+ static int bytes_per_second; /* current speed in bytes per second */
+ @@ -127,6 +129,7 @@ refresh_progress_meter(int force_update)
++ off_t bytes_left;
+ int cur_speed;
+- int hours, minutes, seconds;
+- int file_len;
++ int len;
+ + off_t delta_pos;
+
+ if ((!force_update && !alarm_fired && !win_resized) || !can_output())
+@@ -33,12 +33,12 @@
+ @@ -166,7 +173,7 @@ refresh_progress_meter(int force_update)
+
+ /* filename */
+- buf[0] = '\0';
+-- file_len = win_size - 36;
+-+ file_len = win_size - 45;
+- if (file_len > 0) {
+- buf[0] = '\r';
+- snmprintf(buf+1, sizeof(buf)-1, &file_len, "%-*s",
++ if (win_size > 36) {
++- int file_len = win_size - 36;
+++ int file_len = win_size - 45;
++ snmprintf(buf+1, sizeof(buf)-1, &file_len, "%-*s ",
++ file_len, file);
++ }
+ @@ -191,6 +198,15 @@ refresh_progress_meter(int force_update)
+ (off_t)bytes_per_second);
+ strlcat(buf, "/s ", win_size);
+@@ -63,15 +63,3 @@
+ }
+
+ /*ARGSUSED*/
+-diff --git a/ssh-keygen.c b/ssh-keygen.c
+-index a12b79a5..76b22338 100644
+---- a/ssh-keygen.c
+-+++ b/ssh-keygen.c
+-@@ -2987,7 +2987,6 @@ do_download_sk(const char *skprovider, const char *device)
+-
+- if (skprovider == NULL)
+- fatal("Cannot download keys without provider");
+--
+- pin = read_passphrase("Enter PIN for authenticator: ", RP_ALLOW_STDIN);
+- if (!quiet) {
+- printf("You may need to touch your authenticator "
diff --git a/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-glue.patch b/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-glue.patch
new file mode 100644
index 000000000000..ec6e687271cf
--- /dev/null
+++ b/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-glue.patch
@@ -0,0 +1,242 @@
+diff -ur a/openssh-8_4_P1-hpn-AES-CTR-15.1.diff b/openssh-8_4_P1-hpn-AES-CTR-15.1.diff
+--- a/openssh-8_4_P1-hpn-AES-CTR-15.1.diff 2021-03-03 11:08:18.300474672 -0800
++++ b/openssh-8_4_P1-hpn-AES-CTR-15.1.diff 2021-03-03 11:18:42.408298903 -0800
+@@ -894,9 +894,9 @@
+ intptr = &options->compression;
+ multistate_ptr = multistate_compression;
+ @@ -2062,6 +2068,7 @@ initialize_options(Options * options)
+- options->update_hostkeys = -1;
+- options->hostbased_key_types = NULL;
+- options->pubkey_key_types = NULL;
++ options->hostbased_accepted_algos = NULL;
++ options->pubkey_accepted_algos = NULL;
++ options->known_hosts_command = NULL;
+ + options->disable_multithreaded = -1;
+ }
+
+diff -ur a/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff b/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff
+--- a/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 2021-03-03 11:08:18.300474672 -0800
++++ b/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 2021-03-03 12:53:24.117319233 -0800
+@@ -209,7 +209,7 @@
+ static void
+ channel_pre_open(struct ssh *ssh, Channel *c,
+ fd_set *readset, fd_set *writeset)
+-@@ -2179,25 +2206,34 @@ channel_check_window(struct ssh *ssh, Channel *c)
++@@ -2179,22 +2206,31 @@ channel_check_window(struct ssh *ssh, Channel *c)
+
+ if (c->type == SSH_CHANNEL_OPEN &&
+ !(c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD)) &&
+@@ -229,22 +229,19 @@
+ + debug("Channel: Window growth to %d by %d bytes", c->local_window_max, addition);
+ + }
+ if (!c->have_remote_id)
+- fatal(":%s: channel %d: no remote id",
+- __func__, c->self);
++ fatal_f("channel %d: no remote id", c->self);
+ if ((r = sshpkt_start(ssh,
+ SSH2_MSG_CHANNEL_WINDOW_ADJUST)) != 0 ||
+ (r = sshpkt_put_u32(ssh, c->remote_id)) != 0 ||
+ - (r = sshpkt_put_u32(ssh, c->local_consumed)) != 0 ||
+ + (r = sshpkt_put_u32(ssh, c->local_consumed + addition)) != 0 ||
+ (r = sshpkt_send(ssh)) != 0) {
+- fatal("%s: channel %i: %s", __func__,
+- c->self, ssh_err(r));
++ fatal_fr(r, "channel %i", c->self);
+ }
+- debug2("channel %d: window %d sent adjust %d",
+- c->self, c->local_window,
+-- c->local_consumed);
++ debug2("channel %d: window %d sent adjust %d", c->self,
++- c->local_window, c->local_consumed);
+ - c->local_window += c->local_consumed;
+-+ c->local_consumed + addition);
+++ c->local_window, c->local_consumed + addition);
+ + c->local_window += c->local_consumed + addition;
+ c->local_consumed = 0;
+ }
+@@ -387,18 +384,18 @@
+ index dec8e7e9..3c11558e 100644
+ --- a/compat.c
+ +++ b/compat.c
+-@@ -150,6 +150,13 @@ compat_datafellows(const char *version)
+- debug("match: %s pat %s compat 0x%08x",
++@@ -150,6 +150,13 @@ compat_banner(struct ssh *ssh, const char *version)
++ debug_f("match: %s pat %s compat 0x%08x",
+ version, check[i].pat, check[i].bugs);
+- datafellows = check[i].bugs; /* XXX for now */
++ ssh->compat = check[i].bugs;
+ + /* Check to see if the remote side is OpenSSH and not HPN */
+ + if (strstr(version, "OpenSSH") != NULL) {
+ + if (strstr(version, "hpn") == NULL) {
+-+ datafellows |= SSH_BUG_LARGEWINDOW;
+++ ssh->compat |= SSH_BUG_LARGEWINDOW;
+ + debug("Remote is NON-HPN aware");
+ + }
+ + }
+- return check[i].bugs;
++ return;
+ }
+ }
+ diff --git a/compat.h b/compat.h
+@@ -431,9 +428,9 @@
+ --- a/digest-openssl.c
+ +++ b/digest-openssl.c
+ @@ -61,6 +61,7 @@ const struct ssh_digest digests[] = {
+- { SSH_DIGEST_SHA256, "SHA256", 32, EVP_sha256 },
++ { SSH_DIGEST_SHA256, "SHA256", 32, EVP_sha256 },
+ { SSH_DIGEST_SHA384, "SHA384", 48, EVP_sha384 },
+- { SSH_DIGEST_SHA512, "SHA512", 64, EVP_sha512 },
++ { SSH_DIGEST_SHA512, "SHA512", 64, EVP_sha512 },
+ + { SSH_DIGEST_NULL, "NONEMAC", 0, EVP_md_null},
+ { -1, NULL, 0, NULL },
+ };
+@@ -536,18 +533,10 @@
+ if (state->rekey_limit)
+ *max_blocks = MINIMUM(*max_blocks,
+ state->rekey_limit / enc->block_size);
+-@@ -966,6 +975,24 @@ ssh_set_newkeys(struct ssh *ssh, int mode)
++@@ -966,6 +975,16 @@ ssh_set_newkeys(struct ssh *ssh, int mode)
+ return 0;
+ }
+
+-+/* this supports the forced rekeying required for the NONE cipher */
+-+int rekey_requested = 0;
+-+void
+-+packet_request_rekeying(void)
+-+{
+-+ rekey_requested = 1;
+-+}
+-+
+ +/* used to determine if pre or post auth when rekeying for aes-ctr
+ + * and none cipher switch */
+ +int
+@@ -561,20 +550,6 @@
+ #define MAX_PACKETS (1U<<31)
+ static int
+ ssh_packet_need_rekeying(struct ssh *ssh, u_int outbound_packet_len)
+-@@ -992,6 +1019,13 @@ ssh_packet_need_rekeying(struct ssh *ssh, u_int outbound_packet_len)
+- if (state->p_send.packets == 0 && state->p_read.packets == 0)
+- return 0;
+-
+-+ /* used to force rekeying when called for by the none
+-+ * cipher switch methods -cjr */
+-+ if (rekey_requested == 1) {
+-+ rekey_requested = 0;
+-+ return 1;
+-+ }
+-+
+- /* Time-based rekeying */
+- if (state->rekey_interval != 0 &&
+- (int64_t)state->rekey_time + state->rekey_interval <= monotime())
+ @@ -1330,7 +1364,7 @@ ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
+ struct session_state *state = ssh->state;
+ int len, r, ms_remain;
+@@ -622,9 +597,9 @@
+ /* Format of the configuration file:
+
+ @@ -165,6 +166,8 @@ typedef enum {
+- oHashKnownHosts,
+ oTunnel, oTunnelDevice,
+ oLocalCommand, oPermitLocalCommand, oRemoteCommand,
++ oDisableMTAES,
+ + oTcpRcvBufPoll, oTcpRcvBuf, oHPNDisabled, oHPNBufferSize,
+ + oNoneEnabled, oNoneMacEnabled, oNoneSwitch,
+ oVisualHostKey,
+@@ -778,9 +753,9 @@
+ int ip_qos_bulk; /* IP ToS/DSCP/class for bulk traffic */
+ SyslogFacility log_facility; /* Facility for system logging. */
+ @@ -115,7 +119,11 @@ typedef struct {
+-
+ int enable_ssh_keysign;
+ int64_t rekey_limit;
++ int disable_multithreaded; /*disable multithreaded aes-ctr*/
+ + int none_switch; /* Use none cipher */
+ + int none_enabled; /* Allow none cipher to be used */
+ + int nonemac_enabled; /* Allow none MAC to be used */
+@@ -888,9 +863,9 @@
+ + options->hpn_buffer_size = CHAN_TCP_WINDOW_DEFAULT;
+ + }
+ +
++ if (options->disable_multithreaded == -1)
++ options->disable_multithreaded = 0;
+ if (options->ip_qos_interactive == -1)
+- options->ip_qos_interactive = IPTOS_DSCP_AF21;
+- if (options->ip_qos_bulk == -1)
+ @@ -511,6 +564,8 @@ typedef enum {
+ sPasswordAuthentication, sKbdInteractiveAuthentication,
+ sListenAddress, sAddressFamily,
+@@ -1091,7 +1066,7 @@
+ }
+
+ +static void
+-+hpn_options_init(void)
+++hpn_options_init(struct ssh *ssh)
+ +{
+ + /*
+ + * We need to check to see if what they want to do about buffer
+@@ -1116,7 +1091,7 @@
+ + else
+ + options.hpn_buffer_size = 2 * 1024 * 1024;
+ +
+-+ if (datafellows & SSH_BUG_LARGEWINDOW) {
+++ if (ssh->compat & SSH_BUG_LARGEWINDOW) {
+ + debug("HPN to Non-HPN Connection");
+ + } else {
+ + int sock, socksize;
+@@ -1186,7 +1161,7 @@
+ + c->dynamic_window = 1;
+ + debug("Enabled Dynamic Window Scaling");
+ + }
+- debug3("%s: channel_new: %d", __func__, c->self);
++ debug3_f("channel_new: %d", c->self);
+
+ channel_send_open(ssh, c->self);
+ @@ -2078,6 +2160,13 @@ ssh_session2(struct ssh *ssh, struct passwd *pw)
+@@ -1198,7 +1173,7 @@
+ + * might open channels that use the hpn buffer sizes. We can't send a
+ + * window of -1 (the default) to the server as it breaks things.
+ + */
+-+ hpn_options_init();
+++ hpn_options_init(ssh);
+ +
+ /* XXX should be pre-session */
+ if (!options.control_persist)
+@@ -1297,11 +1272,10 @@
+ xxx_host = host;
+ xxx_hostaddr = hostaddr;
+
+-@@ -482,6 +493,34 @@ ssh_userauth2(struct ssh *ssh, const char *local_user,
+-
++@@ -482,6 +493,33 @@ ssh_userauth2(struct ssh *ssh, const char *local_user,
+ if (!authctxt.success)
+ fatal("Authentication failed.");
+-+
++
+ + /*
+ + * If the user wants to use the none cipher, do it post authentication
+ + * and only if the right conditions are met -- both of the NONE commands
+@@ -1329,9 +1303,9 @@
+ + }
+ + }
+ +
+- debug("Authentication succeeded (%s).", authctxt.method->name);
+- }
+-
++ #ifdef WITH_OPENSSL
++ if (options.disable_multithreaded == 0) {
++ /* if we are using aes-ctr there can be issues in either a fork or sandbox
+ diff --git a/sshd.c b/sshd.c
+ index 8aa7f3df..d0e3f1b0 100644
+ --- a/sshd.c
+@@ -1397,9 +1371,9 @@
+ + if (options.nonemac_enabled == 1)
+ + debug("WARNING: None MAC enabled");
+ +
+- myproposal[PROPOSAL_KEX_ALGS] = compat_kex_proposal(
++ myproposal[PROPOSAL_KEX_ALGS] = compat_kex_proposal(ssh,
+ options.kex_algorithms);
+- myproposal[PROPOSAL_ENC_ALGS_CTOS] = compat_cipher_proposal(
++ myproposal[PROPOSAL_ENC_ALGS_CTOS] = compat_cipher_proposal(ssh,
+ diff --git a/sshd_config b/sshd_config
+ index 19b7c91a..cdd889b2 100644
+ --- a/sshd_config
diff --git a/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-sctp-glue.patch b/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-sctp-glue.patch
new file mode 100644
index 000000000000..d4835d1209b5
--- /dev/null
+++ b/net-misc/openssh/files/openssh-8.5_p1-hpn-15.1-sctp-glue.patch
@@ -0,0 +1,18 @@
+diff -ur a/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff b/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff
+--- a/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 2021-03-03 15:36:29.211246123 -0800
++++ b/openssh-8_4_P1-hpn-DynWinNoneSwitch-15.1.diff 2021-03-03 15:36:53.607089097 -0800
+@@ -1401,14 +1401,3 @@
+ # Example of overriding settings on a per-user basis
+ #Match User anoncvs
+ # X11Forwarding no
+-diff --git a/version.h b/version.h
+-index c2f9c55b..f2e7fa80 100644
+---- a/version.h
+-+++ b/version.h
+-@@ -3,4 +3,5 @@
+- #define SSH_VERSION "OpenSSH_8.4"
+-
+- #define SSH_PORTABLE "p1"
+--#define SSH_RELEASE SSH_VERSION SSH_PORTABLE
+-+#define SSH_HPN "-hpn15v1"
+-+#define SSH_RELEASE SSH_VERSION SSH_PORTABLE SSH_HPN
diff --git a/net-misc/openssh/openssh-8.5_p1.ebuild b/net-misc/openssh/openssh-8.5_p1.ebuild
new file mode 100644
index 000000000000..a5b7915c25d5
--- /dev/null
+++ b/net-misc/openssh/openssh-8.5_p1.ebuild
@@ -0,0 +1,515 @@
+# 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.4_P1"
+
+HPN_VER="15.1"
+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="13.0" 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/project/hpnssh/Patches/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.5.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? ( !prefix-guest? ( >=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.5_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
+ use X509 && eapply "${FILESDIR}"/${PN}-8.5_p1-hpn-${HPN_VER}-X509-glue.patch
+ use sctp && eapply "${FILESDIR}"/${PN}-8.5_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
+
+ # use replacement, RPF_ECHO_ON doesn't exist here
+ [[ ${CHOST} == *-darwin* ]] && export ac_cv_func_readpassphrase=no
+
+ 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
+ )
+
+ if use elibc_musl; then
+ # stackprotect is broken on musl x86 and ppc
+ if use x86 || use ppc; then
+ myconf+=( --without-stackprotect )
+ fi
+
+ # musl defines bogus values for UTMP_FILE and WTMP_FILE
+ # https://bugs.gentoo.org/753230
+ myconf+=( --disable-utmp --disable-wtmp )
+ fi
+
+ # 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
+
+ rmdir "${ED}"/var/empty || die
+
+ 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/remmina/Manifest b/net-misc/remmina/Manifest
index 305e89835a28..9ba1650cc9a8 100644
--- a/net-misc/remmina/Manifest
+++ b/net-misc/remmina/Manifest
@@ -1,8 +1,5 @@
-DIST Remmina-v1.4.10.tar.gz 2072202 BLAKE2B 38b6a3cca9b5956a252d4d4433910d46d0d36a2232a2a107b1e556f118f3b1a6d3c02b0bea26a39a52d572c1380dbb5bdac1acd8d6ba07c97b9acc9a64a9142f SHA512 89fed0b0ed17ac1db57a1d9ad33b80f4d17f6cfb4ff7db9b6434d9d4dabf708971e4d93dd573dbf606d1899311e564f159a656223d66bc4a9d7a15a29b5b5963
DIST Remmina-v1.4.11.tar.gz 2176470 BLAKE2B 1d0923e520716f1cf0d1d153dab6eb3d22ef2fb53b8b51f8cd65672c9a92e7bbcc254915a0a7e269dc478aa2d39a15ab388056dc8c435997c2f0a8f257e589bd SHA512 9b26002451d297e49c63e6ce39a51d434eb18f78b3c2ef8770e2ded319ead4478a4f1ad4d4fefa19ddf3390d740bc34ce27d0c0eb0c24e39a2d792f6f66079b5
DIST Remmina-v1.4.12.tar.gz 2338965 BLAKE2B 86ec07a2c5ff0957cc3d855a4cc86c9675aa474110d7d40d202817f01c4d5815c008a5f0f78802e9b3ef14b3590d58ccbb124e2b6c6f0b14ea8c8592a4d8bd50 SHA512 7ae8031ff64c113b0ed792c6ba56c42918ccce5a30fe0255f730ef7a5a712dc500495e591598fd6cc553c09c6d5a2457e33f4dc1019403e89b25cc02e491515d
-EBUILD remmina-1.4.10-r1.ebuild 2532 BLAKE2B 8f81ab82ed4a7376650ffb1f58aa3c585200fdb035c0f45932703d7fa35ddb91bf1d8885825d8938d094429a18f7ff393b7b335d3c2ae7addeaeb409d46f29e8 SHA512 a70677a1ff8074fc13cd340a9ffcdc7569ac8b5fad6cdb77c4c26ab9a323408a4f2a024d1684ae9fde318044cfd1c74439c14af4299122876ab07abf3ce64dfd
-EBUILD remmina-1.4.10.ebuild 2500 BLAKE2B 966b7a8753277b7b2494582eda605c337a13456afdb907195f730f5cddbbde7701edb6edfadd08383a8cb32134be815fa67bc62ab93628e980bcbef8658189fb SHA512 52b13e1bc91d55a991eb3967b5a676ee82debe3856153058d5ec222d1bc5c59ff04b772ae1439a2b9cbc890d3d9ebdb19ab3cbe7c0086a77d86c392bafa33fc5
-EBUILD remmina-1.4.11.ebuild 2652 BLAKE2B 0103f7a9d0b75622b40d5daeff43e20ccd679bcc6ccaacf2d5772f8b3ea5d70a5c57b534d30437d6123dcbcf08ac1924e24396ea904698f0a6a7836a93ad76f2 SHA512 23caa92477f40deb41e0265625545aaa4797a26b3700007cebcee783af9cb9ec1f30c2afd5dbdb2bf15946660e8ced7b0f324dcfc73ab1875832ac619caf41ff
+EBUILD remmina-1.4.11.ebuild 2650 BLAKE2B e448869af8e1fce64129253bf6848f90aae98343af2609518c7e81eb8da1e753615a73d741041d5c526815e6a9ce8b215f594b49fd3950bfb22bbbbf61473b9b SHA512 fac8dca8e02d1cd01b0889714aa5cc3f08b0d1795fb828c72b7b1c4206213bc6938f84728d0bbf04c5c57e67c4f563ec8a08b440caad1b40c67210a59d4411dc
EBUILD remmina-1.4.12.ebuild 2652 BLAKE2B 0103f7a9d0b75622b40d5daeff43e20ccd679bcc6ccaacf2d5772f8b3ea5d70a5c57b534d30437d6123dcbcf08ac1924e24396ea904698f0a6a7836a93ad76f2 SHA512 23caa92477f40deb41e0265625545aaa4797a26b3700007cebcee783af9cb9ec1f30c2afd5dbdb2bf15946660e8ced7b0f324dcfc73ab1875832ac619caf41ff
MISC metadata.xml 1084 BLAKE2B e4bb4c696f1ef71959b779ccad19d3ee380a6e846e42b1e02caf2a772df07d168bb9623b8f29cfdcc7fb37f60523e6c1fc471f016ea3437c18b3e7512a4bcad4 SHA512 c0b50eca7d4cdd6dfa201aabec7c195b7dca44938ee627919a000bdc47fc95acd4107936a61399fab2c78dfcd3b97ce06753e97fc6bb21015758afe91337a346
diff --git a/net-misc/remmina/remmina-1.4.10-r1.ebuild b/net-misc/remmina/remmina-1.4.10-r1.ebuild
deleted file mode 100644
index 42c9eab621b2..000000000000
--- a/net-misc/remmina/remmina-1.4.10-r1.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake optfeature xdg
-
-MY_P="${PN^}-v${PV}"
-
-DESCRIPTION="A GTK+ RDP, SPICE, VNC, XDMCP and SSH client"
-HOMEPAGE="https://remmina.org/"
-SRC_URI="https://gitlab.com/Remmina/Remmina/-/archive/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2+-with-openssl-exception"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="appindicator crypt cups examples gnome-keyring kwallet libressl nls spice ssh rdp telemetry telepathy vnc webkit zeroconf"
-
-DEPEND="
- app-emulation/spice-protocol
- dev-libs/glib:2
- dev-libs/json-glib
- dev-libs/libsodium:=
- net-libs/libsoup
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libxkbfile
- appindicator? ( dev-libs/libappindicator:3 )
- crypt? ( dev-libs/libgcrypt:0= )
- rdp? ( >=net-misc/freerdp-2.0.0_rc4_p1129[X]
- <net-misc/freerdp-3[X]
- cups? ( net-print/cups:= ) )
- gnome-keyring? ( app-crypt/libsecret )
- kwallet? ( kde-frameworks/kwallet )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- spice? ( net-misc/spice-gtk[gtk3] )
- ssh? ( net-libs/libssh:0=[sftp]
- x11-libs/vte:2.91 )
- telepathy? ( net-libs/telepathy-glib )
- vnc? ( net-libs/libvncserver[jpeg] )
- webkit? ( net-libs/webkit-gtk:4 )
- zeroconf? ( >=net-dns/avahi-0.8-r2[dbus,gtk] )
-"
-BDEPEND="
- dev-util/intltool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-
-RDEPEND="
- ${DEPEND}
- virtual/freedesktop-icon-theme
-"
-
-DOCS=( AUTHORS CHANGELOG.md README.md THANKS.md )
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- xdg_environment_reset
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_APPINDICATOR=$(usex appindicator)
- -DWITH_GCRYPT=$(usex crypt)
- -DWITH_EXAMPLES=$(usex examples)
- -DWITH_LIBSECRET=$(usex gnome-keyring)
- -DWITH_KF5WALLET=$(usex kwallet)
- -DWITH_GETTEXT=$(usex nls)
- -DWITH_TRANSLATIONS=$(usex nls)
- -DWITH_FREERDP=$(usex rdp)
- -DWITH_CUPS=$(usex cups)
- -DWITH_SPICE=$(usex spice)
- -DWITH_LIBSSH=$(usex ssh)
- -DWITH_VTE=$(usex ssh)
- -DWITH_TELEPATHY=$(usex telepathy)
- -DWITH_LIBVNCSERVER=$(usex vnc)
- -DWITH_WWW=$(usex webkit)
- -DWITH_AVAHI=$(usex zeroconf)
- -DWITH_NEWS=$(usex telemetry)
- -DWITH_ICON_CACHE=OFF
- -DWITH_UPDATE_DESKTOP_DB=OFF
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "To get additional features, some optional runtime dependencies"
- elog "may be installed:"
- elog ""
- optfeature "encrypted VNC connections" net-libs/libvncserver[gcrypt]
- optfeature "XDMCP support" x11-base/xorg-server[xephyr]
-}
diff --git a/net-misc/remmina/remmina-1.4.10.ebuild b/net-misc/remmina/remmina-1.4.10.ebuild
deleted file mode 100644
index 9d4bfcf14a13..000000000000
--- a/net-misc/remmina/remmina-1.4.10.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake optfeature xdg
-
-MY_P="${PN^}-v${PV}"
-
-DESCRIPTION="A GTK+ RDP, SPICE, VNC, XDMCP and SSH client"
-HOMEPAGE="https://remmina.org/"
-SRC_URI="https://gitlab.com/Remmina/Remmina/-/archive/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2+-with-openssl-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="appindicator crypt cups examples gnome-keyring kwallet libressl nls spice ssh rdp telemetry telepathy vnc webkit zeroconf"
-
-DEPEND="
- dev-libs/glib:2
- dev-libs/json-glib
- dev-libs/libsodium:=
- net-libs/libsoup
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libxkbfile
- appindicator? ( dev-libs/libappindicator:3 )
- crypt? ( dev-libs/libgcrypt:0= )
- rdp? ( >=net-misc/freerdp-2.0.0_rc4_p1129[X]
- <net-misc/freerdp-3[X]
- cups? ( net-print/cups:= ) )
- gnome-keyring? ( app-crypt/libsecret )
- kwallet? ( kde-frameworks/kwallet )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- spice? ( net-misc/spice-gtk[gtk3] )
- ssh? ( net-libs/libssh:0=[sftp]
- x11-libs/vte:2.91 )
- telepathy? ( net-libs/telepathy-glib )
- vnc? ( net-libs/libvncserver[jpeg] )
- webkit? ( net-libs/webkit-gtk:4 )
- zeroconf? ( >=net-dns/avahi-0.8-r2[dbus,gtk] )
-"
-BDEPEND="
- dev-util/intltool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-
-RDEPEND="
- ${DEPEND}
- virtual/freedesktop-icon-theme
-"
-
-DOCS=( AUTHORS CHANGELOG.md README.md THANKS.md )
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- xdg_environment_reset
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_APPINDICATOR=$(usex appindicator)
- -DWITH_GCRYPT=$(usex crypt)
- -DWITH_EXAMPLES=$(usex examples)
- -DWITH_LIBSECRET=$(usex gnome-keyring)
- -DWITH_KF5WALLET=$(usex kwallet)
- -DWITH_GETTEXT=$(usex nls)
- -DWITH_TRANSLATIONS=$(usex nls)
- -DWITH_FREERDP=$(usex rdp)
- -DWITH_CUPS=$(usex cups)
- -DWITH_SPICE=$(usex spice)
- -DWITH_LIBSSH=$(usex ssh)
- -DWITH_VTE=$(usex ssh)
- -DWITH_TELEPATHY=$(usex telepathy)
- -DWITH_LIBVNCSERVER=$(usex vnc)
- -DWITH_WWW=$(usex webkit)
- -DWITH_AVAHI=$(usex zeroconf)
- -DWITH_NEWS=$(usex telemetry)
- -DWITH_ICON_CACHE=OFF
- -DWITH_UPDATE_DESKTOP_DB=OFF
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "To get additional features, some optional runtime dependencies"
- elog "may be installed:"
- elog ""
- optfeature "encrypted VNC connections" net-libs/libvncserver[gcrypt]
- optfeature "XDMCP support" x11-base/xorg-server[xephyr]
-}
diff --git a/net-misc/remmina/remmina-1.4.11.ebuild b/net-misc/remmina/remmina-1.4.11.ebuild
index 3ce94b27c5dc..e4a5d8b14f74 100644
--- a/net-misc/remmina/remmina-1.4.11.ebuild
+++ b/net-misc/remmina/remmina-1.4.11.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://gitlab.com/Remmina/Remmina/-/archive/v${PV}/${MY_P}.tar.gz"
LICENSE="GPL-2+-with-openssl-exception"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="appindicator crypt cups examples gnome-keyring kwallet libressl nls spice ssh rdp telemetry telepathy vnc webkit zeroconf"
DEPEND="