improved gui message for known peers that are not friends

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7066 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2014-01-28 21:33:17 +00:00
parent 08f442d65b
commit 730554d397
4 changed files with 18 additions and 8 deletions

View File

@ -60,6 +60,7 @@ const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_NOT_VALID = 0x02 ;
const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_ISSUER_UNKNOWN = 0x03 ; const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_ISSUER_UNKNOWN = 0x03 ;
const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_MALLOC_ERROR = 0x04 ; const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_MALLOC_ERROR = 0x04 ;
const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_WRONG_SIGNATURE = 0x05 ; const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_WRONG_SIGNATURE = 0x05 ;
const uint32_t RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_MISSING = 0x06 ;
/**** /****
* #define AUTHSSL_DEBUG 1 * #define AUTHSSL_DEBUG 1
@ -1411,7 +1412,7 @@ bool AuthSSLimpl::FailedCertificate(X509 *x509, const std::string& gpgid,
if(x509 == NULL) if(x509 == NULL)
{ {
auth_diagnostic = RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_NOT_VALID ; auth_diagnostic = RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_MISSING ;
authed = false ; authed = false ;
} }
else else
@ -1429,6 +1430,8 @@ bool AuthSSLimpl::FailedCertificate(X509 *x509, const std::string& gpgid,
switch(auth_diagnostic) switch(auth_diagnostic)
{ {
case RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_MISSING: RsServer::notify()->AddFeedItem(RS_FEED_ITEM_SEC_MISSING_CERTIFICATE, gpgid, sslid, sslcn, ip_address);
break ;
case RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_NOT_VALID: RsServer::notify()->AddFeedItem(RS_FEED_ITEM_SEC_BAD_CERTIFICATE, gpgid, sslid, sslcn, ip_address); case RS_SSL_HANDSHAKE_DIAGNOSTIC_CERTIFICATE_NOT_VALID: RsServer::notify()->AddFeedItem(RS_FEED_ITEM_SEC_BAD_CERTIFICATE, gpgid, sslid, sslcn, ip_address);
break ; break ;
case RS_SSL_HANDSHAKE_DIAGNOSTIC_ISSUER_UNKNOWN: RsServer::notify()->AddFeedItem(RS_FEED_ITEM_SEC_UNKNOWN_IN , gpgid, sslid, sslcn, ip_address); case RS_SSL_HANDSHAKE_DIAGNOSTIC_ISSUER_UNKNOWN: RsServer::notify()->AddFeedItem(RS_FEED_ITEM_SEC_UNKNOWN_IN , gpgid, sslid, sslcn, ip_address);

View File

@ -83,6 +83,7 @@ const uint32_t RS_FEED_ITEM_SEC_UNKNOWN_OUT = RS_FEED_TYPE_SECURITY | 0x000
const uint32_t RS_FEED_ITEM_SEC_WRONG_SIGNATURE = RS_FEED_TYPE_SECURITY | 0x0005; const uint32_t RS_FEED_ITEM_SEC_WRONG_SIGNATURE = RS_FEED_TYPE_SECURITY | 0x0005;
const uint32_t RS_FEED_ITEM_SEC_BAD_CERTIFICATE = RS_FEED_TYPE_SECURITY | 0x0006; const uint32_t RS_FEED_ITEM_SEC_BAD_CERTIFICATE = RS_FEED_TYPE_SECURITY | 0x0006;
const uint32_t RS_FEED_ITEM_SEC_INTERNAL_ERROR = RS_FEED_TYPE_SECURITY | 0x0007; const uint32_t RS_FEED_ITEM_SEC_INTERNAL_ERROR = RS_FEED_TYPE_SECURITY | 0x0007;
const uint32_t RS_FEED_ITEM_SEC_MISSING_CERTIFICATE = RS_FEED_TYPE_SECURITY | 0x0008;
const uint32_t RS_FEED_ITEM_CHAN_NEW = RS_FEED_TYPE_CHAN | 0x0001; const uint32_t RS_FEED_ITEM_CHAN_NEW = RS_FEED_TYPE_CHAN | 0x0001;
const uint32_t RS_FEED_ITEM_CHAN_UPDATE = RS_FEED_TYPE_CHAN | 0x0002; const uint32_t RS_FEED_ITEM_CHAN_UPDATE = RS_FEED_TYPE_CHAN | 0x0002;

View File

@ -147,6 +147,7 @@ void NewsFeed::updateDisplay()
case RS_FEED_ITEM_SEC_CONNECT_ATTEMPT: case RS_FEED_ITEM_SEC_CONNECT_ATTEMPT:
case RS_FEED_ITEM_SEC_WRONG_SIGNATURE: case RS_FEED_ITEM_SEC_WRONG_SIGNATURE:
case RS_FEED_ITEM_SEC_BAD_CERTIFICATE: case RS_FEED_ITEM_SEC_BAD_CERTIFICATE:
case RS_FEED_ITEM_SEC_MISSING_CERTIFICATE:
case RS_FEED_ITEM_SEC_INTERNAL_ERROR: case RS_FEED_ITEM_SEC_INTERNAL_ERROR:
if (Settings->getMessageFlags() & RS_MESSAGE_CONNECT_ATTEMPT) { if (Settings->getMessageFlags() & RS_MESSAGE_CONNECT_ATTEMPT) {
MessageComposer::sendConnectAttemptMsg(fi.mId1, fi.mId2, QString::fromUtf8(fi.mId3.c_str())); MessageComposer::sendConnectAttemptMsg(fi.mId1, fi.mId2, QString::fromUtf8(fi.mId3.c_str()));

View File

@ -130,6 +130,11 @@ void SecurityItem::updateItemStatic()
title = tr("Certificate has wrong signature!! This peer is not who he claims to be."); title = tr("Certificate has wrong signature!! This peer is not who he claims to be.");
requestLabel->hide(); requestLabel->hide();
break; break;
case RS_FEED_ITEM_SEC_MISSING_CERTIFICATE:
title = tr("Peer/location not in friendlist (PGP id=")+QString::fromStdString(mGpgId)+")";
avatar->setDefaultAvatar(":images/avatar_request_unknown.png");
requestLabel->show();
break;
case RS_FEED_ITEM_SEC_BAD_CERTIFICATE: case RS_FEED_ITEM_SEC_BAD_CERTIFICATE:
{ {
RsPeerDetails details ; RsPeerDetails details ;