forked from qt-creator/qt-creator
SSH: Remove bogus compatibility check.
All host keys can be used with all HMACs.
Change-Id: I71055d3085d13683e53491ac9a9d98734dd6e7e5
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
(cherry picked from commit 0aadfbd453
)
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -252,27 +252,7 @@ void SshKeyExchange::determineHashingAlgorithm(const SshKeyExchangeInit &kexInit
|
||||
const QList<QByteArray> &serverCapabilities = serverToClient
|
||||
? kexInit.macAlgorithmsServerToClient.names
|
||||
: kexInit.macAlgorithmsClientToServer.names;
|
||||
const QList<QByteArray> commonAlgos = SshCapabilities::commonCapabilities(
|
||||
SshCapabilities::MacAlgorithms, serverCapabilities);
|
||||
const QByteArray hashAlgo = hashAlgoForKexAlgo();
|
||||
foreach (const QByteArray &potentialAlgo, commonAlgos) {
|
||||
if (potentialAlgo == hashAlgo
|
||||
|| !m_kexAlgoName.startsWith(SshCapabilities::EcdhKexNamePrefix)) {
|
||||
*algo = potentialAlgo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (algo->isEmpty()) {
|
||||
throw SshServerException(SSH_DISCONNECT_KEY_EXCHANGE_FAILED,
|
||||
"Invalid combination of key exchange and hashing algorithms.",
|
||||
QCoreApplication::translate("SshConnection",
|
||||
"Server requested invalid combination of key exchange and hashing algorithms. "
|
||||
"Key exchange algorithm list was: %1.\nHashing algorithm list was %2.")
|
||||
.arg(QString::fromLocal8Bit(kexInit.keyAlgorithms.names.join(", ")))
|
||||
.arg(QString::fromLocal8Bit(serverCapabilities.join(", "))));
|
||||
|
||||
}
|
||||
*algo = SshCapabilities::findBestMatch(SshCapabilities::MacAlgorithms, serverCapabilities);
|
||||
}
|
||||
|
||||
void SshKeyExchange::checkHostKey(const QByteArray &hostKey)
|
||||
|
Reference in New Issue
Block a user