From bbdc978d00ca1bae9741aab45f064281a375cedb Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 16 Jan 2014 19:57:08 +0000 Subject: [PATCH] improved display/fixed bugs in security item git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7021 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- libretroshare/src/pqi/authssl.cc | 10 +++++++++- retroshare-gui/src/gui/NewsFeed.cpp | 3 +++ retroshare-gui/src/gui/feeds/SecurityItem.cpp | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libretroshare/src/pqi/authssl.cc b/libretroshare/src/pqi/authssl.cc index 9a1405ca9..e1bb637f8 100644 --- a/libretroshare/src/pqi/authssl.cc +++ b/libretroshare/src/pqi/authssl.cc @@ -1407,7 +1407,15 @@ bool AuthSSLimpl::FailedCertificate(X509 *x509, const std::string& gpgid, rs_sprintf_append(ip_address, "%s:%u", rs_inet_ntoa(addr.sin_addr).c_str(), ntohs(addr.sin_port)); uint32_t auth_diagnostic = 0 ; - bool authed = (x509 != NULL && AuthX509WithGPG(x509,auth_diagnostic)) ; + bool authed ; + + if(x509 == NULL) + { + auth_diagnostic = RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_NOT_VALID ; + authed = false ; + } + else + authed = AuthX509WithGPG(x509,auth_diagnostic) ; if(authed) LocalStoreCert(x509); diff --git a/retroshare-gui/src/gui/NewsFeed.cpp b/retroshare-gui/src/gui/NewsFeed.cpp index b9974d4e8..4e9a6634e 100644 --- a/retroshare-gui/src/gui/NewsFeed.cpp +++ b/retroshare-gui/src/gui/NewsFeed.cpp @@ -145,6 +145,9 @@ void NewsFeed::updateDisplay() break; case RS_FEED_ITEM_SEC_CONNECT_ATTEMPT: + case RS_FEED_ITEM_SEC_WRONG_SIGNATURE: + case RS_FEED_ITEM_SEC_BAD_CERTIFICATE: + case RS_FEED_ITEM_SEC_INTERNAL_ERROR: if (Settings->getMessageFlags() & RS_MESSAGE_CONNECT_ATTEMPT) { MessageComposer::sendConnectAttemptMsg(fi.mId1, fi.mId2, QString::fromUtf8(fi.mId3.c_str())); } diff --git a/retroshare-gui/src/gui/feeds/SecurityItem.cpp b/retroshare-gui/src/gui/feeds/SecurityItem.cpp index 45c79d516..47a9fb552 100644 --- a/retroshare-gui/src/gui/feeds/SecurityItem.cpp +++ b/retroshare-gui/src/gui/feeds/SecurityItem.cpp @@ -131,7 +131,7 @@ void SecurityItem::updateItemStatic() requestLabel->hide(); break; case RS_FEED_ITEM_SEC_BAD_CERTIFICATE: - title = tr("Certificate is invalid."); + title = tr("Certificate is invalid. This peer is probably not who he claims to be."); requestLabel->hide(); break; case RS_FEED_ITEM_SEC_INTERNAL_ERROR: