p3LinkMgr remove address age check in wrong place

The age check was causing some address were ignored during connect attempt,
  this was disastrous expecially for sporadic users which completely
  lost capability to connect to any node, even if the IPs neve changes!

Old addresses triagin is handled elsewhere so ignoring them in connect attempt
  only generate very counter-intuitive situations for the user, as
  addressed still listed in potential address list were never attempted.
This commit is contained in:
Gioacchino Mazzurco 2019-05-03 02:17:16 +02:00
parent 8300e65cad
commit 2975fa5446
No known key found for this signature in database
GPG key ID: A1FBCA3872E87051
3 changed files with 17 additions and 39 deletions

View file

@ -182,7 +182,7 @@ virtual bool getLocalAddress(struct sockaddr_storage &addr) = 0;
virtual void getFriendList(std::list<RsPeerId> &ssl_peers) = 0; // ONLY used by p3peers.cc USE p3PeerMgr instead.
virtual bool getFriendNetStatus(const RsPeerId &id, peerConnectState &state) = 0; // ONLY used by p3peers.cc
virtual bool checkPotentialAddr(const struct sockaddr_storage &addr, rstime_t age)=0;
virtual bool checkPotentialAddr(const sockaddr_storage& addr) = 0;
/************* DEPRECIATED FUNCTIONS (TO REMOVE) ********/
virtual int addFriend(const RsPeerId &ssl_id, bool isVisible) = 0;
@ -269,7 +269,8 @@ int removeFriend(const RsPeerId &ssl_id);
void printPeerLists(std::ostream &out);
virtual bool checkPotentialAddr(const struct sockaddr_storage &addr, rstime_t age);
virtual bool checkPotentialAddr(const sockaddr_storage& addr);
protected:
/* THESE CAN PROBABLY BE REMOVED */
//bool shutdown(); /* blocking shutdown call */
@ -302,7 +303,8 @@ void locked_ConnectAttempt_ProxyAddress(peerConnectState *peer, const uint32_t
bool locked_ConnectAttempt_Complete(peerConnectState *peer);
bool locked_CheckPotentialAddr(const struct sockaddr_storage &addr, rstime_t age);
bool locked_CheckPotentialAddr(const sockaddr_storage& addr);
bool addAddressIfUnique(std::list<peerConnectAddress> &addrList, peerConnectAddress &pca, bool pushFront);