From 0563363cf922141eccd4268f6eb03f885835f65e Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Mon, 21 May 2018 10:31:44 +0800 Subject: conn_info: add host and port --- src/fqterm/fqterm_frame.cpp | 4 ++++ src/protocol/connect_info.h | 2 ++ src/protocol/fqterm_ssh_socket.cpp | 10 +++++++--- src/protocol/fqterm_telnet_socket.cpp | 8 ++++++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/fqterm/fqterm_frame.cpp b/src/fqterm/fqterm_frame.cpp index 95227c4..eef3558 100644 --- a/src/fqterm/fqterm_frame.cpp +++ b/src/fqterm/fqterm_frame.cpp @@ -726,6 +726,8 @@ void FQTermFrame::conn_info() switch (info->proto) { case PROTO_TELNET: txt = "protocol: Telnet"; + txt.append(QString("\nHost: %1\nPort: %2") + .arg(info->hostname).arg(info->port)); break; case PROTO_LOCAL: txt = "protocol: Local"; @@ -733,6 +735,8 @@ void FQTermFrame::conn_info() case PROTO_SSH: txt = QString("protocol: SSH %1") .arg(info->ssh_proto_info.proto_version); + txt.append(QString("\nHost: %1\nPort: %2") + .arg(info->hostname).arg(info->port)); if (info->ssh_proto_info.proto_version == 2) txt.append(ssh2_info(info)); break; diff --git a/src/protocol/connect_info.h b/src/protocol/connect_info.h index 0111a39..faf5862 100644 --- a/src/protocol/connect_info.h +++ b/src/protocol/connect_info.h @@ -10,6 +10,8 @@ enum protocol typedef struct { + char hostname[256]; + int port; enum protocol proto; struct { diff --git a/src/protocol/fqterm_ssh_socket.cpp b/src/protocol/fqterm_ssh_socket.cpp index c0b8099..0fb4a4d 100644 --- a/src/protocol/fqterm_ssh_socket.cpp +++ b/src/protocol/fqterm_ssh_socket.cpp @@ -254,9 +254,13 @@ int FQTermSSHSocket::chooseVersion(const QString &ver) { return -1; } -void FQTermSSHSocket::connectToHost(const QString &host_name, quint16 port) { - ssh_socket_state_ = BeforeSession; - private_socket_->connectToHost(host_name, port); +void FQTermSSHSocket::connectToHost(const QString &host_name, quint16 port) +{ + ssh_socket_state_ = BeforeSession; + private_socket_->connectToHost(host_name, port); + strncpy(conn_info.hostname, host_name.toLatin1().constData(), + sizeof(conn_info.hostname)); + conn_info.port = port; } void FQTermSSHSocket::writeData() diff --git a/src/protocol/fqterm_telnet_socket.cpp b/src/protocol/fqterm_telnet_socket.cpp index 170edb9..a11bbe6 100644 --- a/src/protocol/fqterm_telnet_socket.cpp +++ b/src/protocol/fqterm_telnet_socket.cpp @@ -33,8 +33,12 @@ void FQTermTelnetSocket::setProxy(int nProxyType, bool bAuth, strProxyPwd); } -void FQTermTelnetSocket::connectToHost(const QString &host, quint16 port) { - private_socket_->connectToHost(host, port); +void FQTermTelnetSocket::connectToHost(const QString &host, quint16 port) +{ + private_socket_->connectToHost(host, port); + strncpy(conn_info.hostname, host.toLatin1().constData(), + sizeof(conn_info.hostname)); + conn_info.port = port; } void FQTermTelnetSocket::close() { -- cgit v1.2.3