summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-05-21 20:04:40 +0800
committerIru Cai <mytbk920423@gmail.com>2018-05-21 20:39:27 +0800
commit5819e780bce7131a9a243fe487d2fa6a34ec8a46 (patch)
tree2b97c40ba905d4901f3d6c21305da2a6324ae2dd
parent2e14cc5f2d09b6e0f435a7c63447e7d09996c561 (diff)
downloadfqterm-5819e780bce7131a9a243fe487d2fa6a34ec8a46.tar.xz
warn SSH1
-rw-r--r--src/fqterm/fqterm_window.cpp7
-rw-r--r--src/fqterm/fqterm_window.h2
-rw-r--r--src/protocol/fqterm_ssh_socket.cpp6
3 files changed, 14 insertions, 1 deletions
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));