From 5819e780bce7131a9a243fe487d2fa6a34ec8a46 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Mon, 21 May 2018 20:04:40 +0800 Subject: warn SSH1 --- src/fqterm/fqterm_window.cpp | 7 +++++++ src/fqterm/fqterm_window.h | 2 +- src/protocol/fqterm_ssh_socket.cpp | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/fqterm/fqterm_window.cpp b/src/fqterm/fqterm_window.cpp index c59fcd3..bd44e70 100644 --- a/src/fqterm/fqterm_window.cpp +++ b/src/fqterm/fqterm_window.cpp @@ -678,6 +678,13 @@ void FQTermWindow::requestUserPwd(QString *user, QString *pwd, bool *isOK) { *isOK = (login.exec() == QDialog::Accepted); } +void FQTermWindow::warnInsecure(const QString &msg, bool *isOK) +{ + QMessageBox mb(QMessageBox::Warning, "FQTerm", msg, + QMessageBox::Yes | QMessageBox::No, this); + *isOK = (mb.exec() == QMessageBox::Yes); +} + void FQTermWindow::ZmodemState(int type, int value, const char *status) { QString strMsg; //to be completed diff --git a/src/fqterm/fqterm_window.h b/src/fqterm/fqterm_window.h index 984d476..377af4f 100644 --- a/src/fqterm/fqterm_window.h +++ b/src/fqterm/fqterm_window.h @@ -182,7 +182,7 @@ signals: void sessionUpdated(); void requestUserPwd(QString *userName, QString *password, bool *isOK); - void warnInsecure(const QString &msg, bool *isOK) {} + void warnInsecure(const QString &msg, bool *isOK); void TelnetState(int); void ZmodemState(int, int, const char *); diff --git a/src/protocol/fqterm_ssh_socket.cpp b/src/protocol/fqterm_ssh_socket.cpp index c61fe25..d6c2e61 100644 --- a/src/protocol/fqterm_ssh_socket.cpp +++ b/src/protocol/fqterm_ssh_socket.cpp @@ -192,6 +192,12 @@ void FQTermSSHSocket::socketReadyRead() { FQ_TRACE("sshsocket", 3) << "SSH version chosen: " << version; if (version == 1) { + bool isok; + emit warnInsecure(tr("You are using the insecure SSH1 connection, continue?"), &isok); + if (!isok) { + handleError(tr("Closed by user because of the insecure SSH1 connection.")); + return; + } init(1); ssh_version_ = 1; socketWriteBlock(V1STR, strlen(V1STR)); -- cgit v1.2.3