|
52 | 52 | #include "feeds/SecurityIpItem.h" |
53 | 53 | #include "feeds/WireNotifyGroupItem.h" |
54 | 54 | #include "feeds/WireNotifyPostItem.h" |
| 55 | +#include "feeds/TLSItem.h" |
55 | 56 |
|
56 | 57 | #include "settings/rsettingswin.h" |
57 | 58 | #include "settings/rsharesettings.h" |
@@ -203,7 +204,7 @@ void NewsFeed::handleEvent_main_thread(std::shared_ptr<const RsEvent> event) |
203 | 204 | { |
204 | 205 | RsFeedTypeFlags flags = (RsFeedTypeFlags)Settings->getNewsFeedFlags(); |
205 | 206 |
|
206 | | - if(event->mType == RsEventType::AUTHSSL_CONNECTION_AUTENTICATION && (!!(flags & RsFeedTypeFlags::RS_FEED_TYPE_SECURITY))) |
| 207 | + if(event->mType == RsEventType::AUTHSSL_CONNECTION_AUTENTICATION && (!!(flags & (RsFeedTypeFlags::RS_FEED_TYPE_SECURITY | RsFeedTypeFlags::RS_FEED_TYPE_TLS_ATTEMPT)))) |
207 | 208 | handleSecurityEvent(event); |
208 | 209 |
|
209 | 210 | if(event->mType == RsEventType::FRIEND_LIST && (!!(flags & RsFeedTypeFlags::RS_FEED_TYPE_PEER))) |
@@ -479,6 +480,32 @@ void NewsFeed::handleSecurityEvent(std::shared_ptr<const RsEvent> event) |
479 | 480 | auto& e(*pe); |
480 | 481 | RsFeedTypeFlags flags = (RsFeedTypeFlags)Settings->getNewsFeedFlags(); |
481 | 482 |
|
| 483 | + // 1 - treat the case of unknown PeerID |
| 484 | + |
| 485 | + if(e.mSslId.isNull()) |
| 486 | + { |
| 487 | +// if(!(flags & RsFeedTypeFlags::RS_FEED_TYPE_TLS_ATTEMPT)) |
| 488 | +// return; |
| 489 | + |
| 490 | + auto item = new TLSItem(this,NEWSFEED_TLSLIST); |
| 491 | + FeedItem *feedItem = ui->feedWidget->findFeedItem(item->uniqueIdentifier()); |
| 492 | + |
| 493 | + if(feedItem) |
| 494 | + { |
| 495 | + dynamic_cast<TLSItem*>(feedItem)->addIPEntry(e.mLocator.host()+":"+std::to_string(e.mLocator.port())); |
| 496 | + delete item; |
| 497 | + } |
| 498 | + else |
| 499 | + { |
| 500 | + item->addIPEntry(e.mLocator.host()+":"+std::to_string(e.mLocator.port())); |
| 501 | + addFeedItem(item); |
| 502 | + } |
| 503 | + |
| 504 | + return; |
| 505 | + } |
| 506 | + |
| 507 | + // 2 - if the peer Id is known, use the dedicated item. |
| 508 | + |
482 | 509 | if(e.mErrorCode == RsAuthSslError::PEER_REFUSED_CONNECTION && (!!(flags & RsFeedTypeFlags::RS_FEED_TYPE_SECURITY_IP))) |
483 | 510 | { |
484 | 511 | addFeedItemIfUnique(new PeerItem(this, NEWSFEED_PEERLIST, e.mSslId, PEER_TYPE_HELLO, false), true ); |
|
0 commit comments