diff --git a/libretroshare/src/pqi/p3connmgr.cc b/libretroshare/src/pqi/p3connmgr.cc index 7abf5c503..bcdb3de90 100644 --- a/libretroshare/src/pqi/p3connmgr.cc +++ b/libretroshare/src/pqi/p3connmgr.cc @@ -2116,7 +2116,9 @@ std::list p3ConnectMgr::saveList(bool &cleanup) RsPeerStunItem *sitem = new RsPeerStunItem(); std::list::iterator sit; - for(sit = mStunList.begin(); sit != mStunList.end(); sit++) + uint32_t count = 0; + for(sit = mStunList.begin(); (sit != mStunList.end()) && + (count < RS_STUN_LIST_MIN); sit++, count++) { sitem->stunList.ids.push_back(*sit); } diff --git a/libretroshare/src/pqi/pqi_base.h b/libretroshare/src/pqi/pqi_base.h index ed7b3dc7f..4aa3c5413 100644 --- a/libretroshare/src/pqi/pqi_base.h +++ b/libretroshare/src/pqi/pqi_base.h @@ -41,7 +41,7 @@ #define PQI_MIN_PORT 1024 -#define PQI_MAX_PORT 16000 +#define PQI_MAX_PORT 50000 #define PQI_DEFAULT_PORT 7812 int getPQIsearchId(); diff --git a/libretroshare/src/services/p3disc.cc b/libretroshare/src/services/p3disc.cc index eb28d08ae..a4a37c3d3 100644 --- a/libretroshare/src/services/p3disc.cc +++ b/libretroshare/src/services/p3disc.cc @@ -326,6 +326,7 @@ void p3disc::sendOwnDetails(std::string to) di -> contact_tf = 0; /* construct disc flags */ + di -> discFlags = 0; if (!(detail.visState & RS_VIS_STATE_NODISC)) { di->discFlags |= P3DISC_FLAGS_USE_DISC; @@ -545,7 +546,8 @@ void p3disc::recvPeerFriendMsg(RsDiscReply *item) flags |= RS_NET_FLAGS_EXTERNAL_ADDR; } - if (loaded) + /* only valid certs, and not ourselves */ + if ((loaded) && (peerId != mConnMgr->getOwnId())) { mConnMgr->peerStatus(peerId, item->laddr, item->saddr, type, flags, RS_CB_DISC);