mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-08-03 20:04:20 -04:00
added new feed item types and logic to show connection attempts from forged certificates (e.g. bad signature, bad certificate)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7018 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
3bb98a2424
commit
613f822133
6 changed files with 187 additions and 130 deletions
|
@ -214,6 +214,7 @@ void NewsFeed::updateDisplay()
|
|||
addFeedItemFilesNew(fi);
|
||||
break;
|
||||
default:
|
||||
std::cerr << "(EE) Unknown type " << std::hex << fi.mType << std::dec << " in news feed." << std::endl;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
@ -557,12 +558,12 @@ void NewsFeed::addFeedItemPeerNew(RsFeedItem &fi)
|
|||
void NewsFeed::addFeedItemSecurityConnectAttempt(RsFeedItem &fi)
|
||||
{
|
||||
/* make new widget */
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, SEC_TYPE_CONNECT_ATTEMPT, false);
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, fi.mType, false);
|
||||
|
||||
/* store */
|
||||
|
||||
/* add to layout */
|
||||
addFeedItemIfUnique(pi, SEC_TYPE_CONNECT_ATTEMPT, fi.mId2, false);
|
||||
addFeedItemIfUnique(pi, fi.mType, fi.mId2, false);
|
||||
|
||||
#ifdef NEWS_DEBUG
|
||||
std::cerr << "NewsFeed::addFeedItemSecurityConnectAttempt()";
|
||||
|
@ -573,12 +574,12 @@ void NewsFeed::addFeedItemSecurityConnectAttempt(RsFeedItem &fi)
|
|||
void NewsFeed::addFeedItemSecurityAuthDenied(RsFeedItem &fi)
|
||||
{
|
||||
/* make new widget */
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, SEC_TYPE_AUTH_DENIED, false);
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, fi.mType, false);
|
||||
|
||||
/* store */
|
||||
|
||||
/* add to layout */
|
||||
addFeedItemIfUnique(pi, SEC_TYPE_AUTH_DENIED, fi.mId2, false);
|
||||
addFeedItemIfUnique(pi, RS_FEED_ITEM_SEC_AUTH_DENIED, fi.mId2, false);
|
||||
|
||||
#ifdef NEWS_DEBUG
|
||||
std::cerr << "NewsFeed::addFeedItemSecurityAuthDenied()";
|
||||
|
@ -589,12 +590,12 @@ void NewsFeed::addFeedItemSecurityAuthDenied(RsFeedItem &fi)
|
|||
void NewsFeed::addFeedItemSecurityUnknownIn(RsFeedItem &fi)
|
||||
{
|
||||
/* make new widget */
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, SEC_TYPE_UNKNOWN_IN, false);
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, RS_FEED_ITEM_SEC_UNKNOWN_IN, false);
|
||||
|
||||
/* store */
|
||||
|
||||
/* add to layout */
|
||||
addFeedItemIfUnique(pi, SEC_TYPE_UNKNOWN_IN, fi.mId2, false);
|
||||
addFeedItemIfUnique(pi, RS_FEED_ITEM_SEC_UNKNOWN_IN, fi.mId2, false);
|
||||
|
||||
#ifdef NEWS_DEBUG
|
||||
std::cerr << "NewsFeed::addFeedItemSecurityUnknownIn()";
|
||||
|
@ -605,12 +606,12 @@ void NewsFeed::addFeedItemSecurityUnknownIn(RsFeedItem &fi)
|
|||
void NewsFeed::addFeedItemSecurityUnknownOut(RsFeedItem &fi)
|
||||
{
|
||||
/* make new widget */
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, SEC_TYPE_UNKNOWN_OUT, false);
|
||||
SecurityItem *pi = new SecurityItem(this, NEWSFEED_SECLIST, fi.mId1, fi.mId2, fi.mId3, fi.mId4, RS_FEED_ITEM_SEC_UNKNOWN_OUT, false);
|
||||
|
||||
/* store */
|
||||
|
||||
/* add to layout */
|
||||
addFeedItemIfUnique(pi, SEC_TYPE_UNKNOWN_OUT, fi.mId2, false);
|
||||
addFeedItemIfUnique(pi, RS_FEED_ITEM_SEC_UNKNOWN_OUT, fi.mId2, false);
|
||||
|
||||
#ifdef NEWS_DEBUG
|
||||
std::cerr << "NewsFeed::addFeedItemSecurityUnknownOut()";
|
||||
|
|
|
@ -116,25 +116,37 @@ void SecurityItem::updateItemStatic()
|
|||
|
||||
switch(mType)
|
||||
{
|
||||
case SEC_TYPE_CONNECT_ATTEMPT:
|
||||
case RS_FEED_ITEM_SEC_CONNECT_ATTEMPT:
|
||||
title = tr("Connect Attempt");
|
||||
requestLabel->show();
|
||||
avatar->setDefaultAvatar(":images/avatar_request.png");
|
||||
break;
|
||||
case SEC_TYPE_AUTH_DENIED:
|
||||
case RS_FEED_ITEM_SEC_AUTH_DENIED:
|
||||
title = tr("Connection refused by remote peer");
|
||||
requestLabel->hide();
|
||||
avatar->setDefaultAvatar(":images/avatar_refused.png");
|
||||
break;
|
||||
case SEC_TYPE_UNKNOWN_IN:
|
||||
case RS_FEED_ITEM_SEC_UNKNOWN_IN:
|
||||
title = tr("Unknown (Incoming) Connect Attempt");
|
||||
requestLabel->hide();
|
||||
avatar->setDefaultAvatar(":images/avatar_request_unknown.png");
|
||||
break;
|
||||
case SEC_TYPE_UNKNOWN_OUT:
|
||||
case RS_FEED_ITEM_SEC_UNKNOWN_OUT:
|
||||
title = tr("Unknown (Outgoing) Connect Attempt");
|
||||
requestLabel->hide();
|
||||
break;
|
||||
case RS_FEED_ITEM_SEC_WRONG_SIGNATURE:
|
||||
title = tr("Certificate has wrong signature!! Probably a forged certificate.");
|
||||
requestLabel->hide();
|
||||
break;
|
||||
case RS_FEED_ITEM_SEC_BAD_CERTIFICATE:
|
||||
title = tr("Certificate is invalid.");
|
||||
requestLabel->hide();
|
||||
break;
|
||||
case RS_FEED_ITEM_SEC_INTERNAL_ERROR:
|
||||
title = tr("Certificate caused an internal error.");
|
||||
requestLabel->hide();
|
||||
break;
|
||||
default:
|
||||
title = tr("Unknown Security Issue");
|
||||
requestLabel->hide();
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
#include "ui_SecurityItem.h"
|
||||
#include <stdint.h>
|
||||
|
||||
const uint32_t SEC_TYPE_CONNECT_ATTEMPT = 0x0001; /* failed Connect Attempt */
|
||||
const uint32_t SEC_TYPE_AUTH_DENIED = 0x0002; /* failed outgoing attempt */
|
||||
const uint32_t SEC_TYPE_UNKNOWN_IN = 0x0003; /* failed incoming with unknown peer */
|
||||
const uint32_t SEC_TYPE_UNKNOWN_OUT = 0x0004; /* failed outgoing with unknown peer */
|
||||
//const uint32_t SEC_TYPE_CONNECT_ATTEMPT = 0x0001; /* failed Connect Attempt */
|
||||
//const uint32_t SEC_TYPE_AUTH_DENIED = 0x0002; /* failed outgoing attempt */
|
||||
//const uint32_t SEC_TYPE_UNKNOWN_IN = 0x0003; /* failed incoming with unknown peer */
|
||||
//const uint32_t SEC_TYPE_UNKNOWN_OUT = 0x0004; /* failed outgoing with unknown peer */
|
||||
|
||||
class FeedHolder;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue