mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-08-03 11:54:30 -04:00
Merge branch 'master' into extra_locators_merge
This commit is contained in:
commit
1dd707710b
241 changed files with 20454 additions and 3066 deletions
|
@ -67,7 +67,7 @@ p3HistoryMgr::~p3HistoryMgr()
|
|||
|
||||
/***** p3HistoryMgr *****/
|
||||
|
||||
//void p3HistoryMgr::addMessage(bool incoming, const RsPeerId &chatPeerId, const RsPeerId &peerId, const RsChatMsgItem *chatItem)
|
||||
//void p3HistoryMgr::addMessage(bool incoming, const RsPeerId &chatPeerId, const RsPeerId &msgPeerId, const RsChatMsgItem *chatItem)
|
||||
void p3HistoryMgr::addMessage(const ChatMessage& cm)
|
||||
{
|
||||
uint32_t addMsgId = 0;
|
||||
|
@ -84,48 +84,48 @@ void p3HistoryMgr::addMessage(const ChatMessage& cm)
|
|||
RsStackMutex stack(mHistoryMtx); /********** STACK LOCKED MTX ******/
|
||||
|
||||
|
||||
RsPeerId peerId; // id of sending peer
|
||||
RsPeerId chatPeerId; // id of chat endpoint
|
||||
std::string peerName; //name of sending peer
|
||||
RsPeerId msgPeerId; // id of sending peer
|
||||
RsPeerId chatPeerId; // id of chat endpoint
|
||||
std::string peerName; //name of sending peer
|
||||
|
||||
bool enabled = false;
|
||||
if (cm.chat_id.isBroadcast() && mPublicEnable == true) {
|
||||
peerName = rsPeers->getPeerName(cm.broadcast_peer_id);
|
||||
enabled = true;
|
||||
bool enabled = false;
|
||||
if (cm.chat_id.isBroadcast() && mPublicEnable == true) {
|
||||
peerName = rsPeers->getPeerName(cm.broadcast_peer_id);
|
||||
enabled = true;
|
||||
}
|
||||
if (cm.chat_id.isPeerId() && mPrivateEnable == true) {
|
||||
msgPeerId = cm.incoming ? cm.chat_id.toPeerId() : rsPeers->getOwnId();
|
||||
peerName = rsPeers->getPeerName(msgPeerId);
|
||||
enabled = true;
|
||||
}
|
||||
if (cm.chat_id.isLobbyId() && mLobbyEnable == true) {
|
||||
peerName = cm.lobby_peer_gxs_id.toStdString();
|
||||
enabled = true;
|
||||
}
|
||||
if (cm.chat_id.isPeerId() && mPrivateEnable == true) {
|
||||
peerId = cm.incoming ? cm.chat_id.toPeerId() : rsPeers->getOwnId();
|
||||
peerName = rsPeers->getPeerName(peerId);
|
||||
enabled = true;
|
||||
}
|
||||
if (cm.chat_id.isLobbyId() && mLobbyEnable == true) {
|
||||
peerName = cm.lobby_peer_gxs_id.toStdString();
|
||||
enabled = true;
|
||||
}
|
||||
|
||||
if(cm.chat_id.isDistantChatId())
|
||||
{
|
||||
DistantChatPeerInfo dcpinfo;
|
||||
if (rsMsgs->getDistantChatStatus(cm.chat_id.toDistantChatId(), dcpinfo))
|
||||
peerName = cm.chat_id.toPeerId().toStdString();
|
||||
enabled = true;
|
||||
}
|
||||
if(cm.chat_id.isDistantChatId())
|
||||
{
|
||||
DistantChatPeerInfo dcpinfo;
|
||||
if (rsMsgs->getDistantChatStatus(cm.chat_id.toDistantChatId(), dcpinfo))
|
||||
peerName = cm.chat_id.toPeerId().toStdString();
|
||||
enabled = true;
|
||||
}
|
||||
|
||||
if(enabled == false)
|
||||
return;
|
||||
if(enabled == false)
|
||||
return;
|
||||
|
||||
if(!chatIdToVirtualPeerId(cm.chat_id, chatPeerId))
|
||||
return;
|
||||
if(!chatIdToVirtualPeerId(cm.chat_id, chatPeerId))
|
||||
return;
|
||||
|
||||
RsHistoryMsgItem* item = new RsHistoryMsgItem;
|
||||
item->chatPeerId = chatPeerId;
|
||||
item->incoming = cm.incoming;
|
||||
item->peerId = peerId;
|
||||
item->peerName = peerName;
|
||||
item->sendTime = cm.sendTime;
|
||||
item->recvTime = cm.recvTime;
|
||||
item->incoming = cm.incoming;
|
||||
item->msgPeerId = msgPeerId;
|
||||
item->peerName = peerName;
|
||||
item->sendTime = cm.sendTime;
|
||||
item->recvTime = cm.recvTime;
|
||||
|
||||
item->message = cm.msg ;
|
||||
item->message = cm.msg ;
|
||||
//librs::util::ConvertUtf16ToUtf8(chatItem->message, item->message);
|
||||
|
||||
std::map<RsPeerId, std::map<uint32_t, RsHistoryMsgItem*> >::iterator mit = mMessages.find(item->chatPeerId);
|
||||
|
@ -138,7 +138,7 @@ void p3HistoryMgr::addMessage(const ChatMessage& cm)
|
|||
uint32_t limit;
|
||||
if (chatPeerId.isNull())
|
||||
limit = mPublicSaveCount;
|
||||
else if (cm.chat_id.isLobbyId())
|
||||
else if (cm.chat_id.isLobbyId())
|
||||
limit = mLobbySaveCount;
|
||||
else
|
||||
limit = mPrivateSaveCount;
|
||||
|
@ -424,7 +424,7 @@ static void convertMsg(const RsHistoryMsgItem* item, HistoryMsg &msg)
|
|||
msg.msgId = item->msgId;
|
||||
msg.chatPeerId = item->chatPeerId;
|
||||
msg.incoming = item->incoming;
|
||||
msg.peerId = item->peerId;
|
||||
msg.peerId = item->msgPeerId;
|
||||
msg.peerName = item->peerName;
|
||||
msg.sendTime = item->sendTime;
|
||||
msg.recvTime = item->recvTime;
|
||||
|
|
|
@ -57,6 +57,7 @@ static struct RsLog::logInfo p3connectzoneInfo = {RsLog::Default, "p3connect"};
|
|||
|
||||
/****
|
||||
* #define LINKMGR_DEBUG 1
|
||||
* #define LINKMGR_DEBUG_LOG 1
|
||||
* #define LINKMGR_DEBUG_CONNFAIL 1
|
||||
* #define LINKMGR_DEBUG_ACTIONS 1
|
||||
* #define LINKMGR_DEBUG_LINKTYPE 1
|
||||
|
@ -621,7 +622,9 @@ bool p3LinkMgrIMPL::connectAttempt(const RsPeerId &id, struct sockaddr_storage &
|
|||
|
||||
}
|
||||
|
||||
#ifdef LINKMGR_DEBUG_LOG
|
||||
rslog(RSL_WARNING, p3connectzone, "p3LinkMgrIMPL::connectAttempt() called id: " + id.toStdString());
|
||||
#endif
|
||||
|
||||
it->second.lastattempt = time(NULL);
|
||||
it->second.inConnAttempt = true;
|
||||
|
@ -824,7 +827,9 @@ bool p3LinkMgrIMPL::connectResult(const RsPeerId &id, bool success, bool isIncom
|
|||
out += " FAILED ATTEMPT (Not Connected)";
|
||||
}
|
||||
}
|
||||
#ifdef LINKMGR_DEBUG_LOG
|
||||
rslog(RSL_WARNING, p3connectzone, out);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -2060,8 +2065,9 @@ bool p3LinkMgrIMPL::locked_ConnectAttempt_Complete(peerConnectState *peer)
|
|||
|
||||
int p3LinkMgrIMPL::addFriend(const RsPeerId &id, bool isVisible)
|
||||
{
|
||||
#ifdef LINKMGR_DEBUG_LOG
|
||||
rslog(RSL_WARNING, p3connectzone, "p3LinkMgr::addFriend() id: " + id.toStdString());
|
||||
|
||||
#endif
|
||||
{
|
||||
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/
|
||||
|
||||
|
|
|
@ -987,8 +987,8 @@ bool p3NetMgrIMPL::checkNetAddress()
|
|||
bool addrChanged = false;
|
||||
bool validAddr = false;
|
||||
|
||||
struct sockaddr_storage prefAddr;
|
||||
struct sockaddr_storage oldAddr;
|
||||
sockaddr_storage prefAddr;
|
||||
sockaddr_storage oldAddr;
|
||||
|
||||
if (mNetMode & RS_NET_MODE_TRY_LOOPBACK)
|
||||
{
|
||||
|
@ -996,7 +996,7 @@ bool p3NetMgrIMPL::checkNetAddress()
|
|||
std::cerr << "p3NetMgrIMPL::checkNetAddress() LOOPBACK ... forcing to 127.0.0.1";
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
sockaddr_storage_ipv4_aton(prefAddr, "127.0.0.1");
|
||||
sockaddr_storage_ipv4_aton(prefAddr, "127.0.0.1");
|
||||
validAddr = true;
|
||||
}
|
||||
else
|
||||
|
@ -1012,7 +1012,7 @@ bool p3NetMgrIMPL::checkNetAddress()
|
|||
std::vector<sockaddr_storage> addrs;
|
||||
if (getLocalAddresses(addrs))
|
||||
{
|
||||
for (auto it = addrs.begin(); it!=addrs.end(); ++it)
|
||||
for (auto it = addrs.begin(); it != addrs.end(); ++it)
|
||||
{
|
||||
sockaddr_storage& addr(*it);
|
||||
if( sockaddr_storage_isValidNet(addr) &&
|
||||
|
@ -1060,8 +1060,8 @@ bool p3NetMgrIMPL::checkNetAddress()
|
|||
|
||||
{
|
||||
RS_STACK_MUTEX(mNetMtx);
|
||||
|
||||
oldAddr = mLocalAddr;
|
||||
|
||||
sockaddr_storage_copy(mLocalAddr, oldAddr);
|
||||
addrChanged = !sockaddr_storage_sameip(prefAddr, mLocalAddr);
|
||||
|
||||
#ifdef NETMGR_DEBUG_TICK
|
||||
|
@ -1087,7 +1087,7 @@ bool p3NetMgrIMPL::checkNetAddress()
|
|||
|
||||
// update address.
|
||||
sockaddr_storage_copyip(mLocalAddr, prefAddr);
|
||||
mNetFlags.mLocalAddr = mLocalAddr;
|
||||
sockaddr_storage_copy(mLocalAddr, mNetFlags.mLocalAddr);
|
||||
|
||||
if(sockaddr_storage_isLoopbackNet(mLocalAddr))
|
||||
{
|
||||
|
@ -1129,9 +1129,13 @@ bool p3NetMgrIMPL::checkNetAddress()
|
|||
* are the same (modify server)... this mismatch can
|
||||
* occur when the local port is changed....
|
||||
*/
|
||||
if (sockaddr_storage_sameip(mLocalAddr, mExtAddr))
|
||||
if (sockaddr_storage_sameip(mLocalAddr, mExtAddr) && sockaddr_storage_port(mLocalAddr) != sockaddr_storage_port(mExtAddr))
|
||||
{
|
||||
#ifdef NETMGR_DEBUG_RESET
|
||||
std::cerr << "p3NetMgrIMPL::checkNetAddress() local and external ports are not the same. Setting external port to " << sockaddr_storage_port(mLocalAddr) << std::endl;
|
||||
#endif
|
||||
sockaddr_storage_setport(mExtAddr, sockaddr_storage_port(mLocalAddr));
|
||||
addrChanged = true;
|
||||
}
|
||||
|
||||
// ensure that address family is set, otherwise windows Barfs.
|
||||
|
|
|
@ -74,6 +74,7 @@ static struct RsLog::logInfo p3peermgrzoneInfo = {RsLog::Default, "p3peermgr"};
|
|||
|
||||
/****
|
||||
* #define PEER_DEBUG 1
|
||||
* #define PEER_DEBUG_LOG 1
|
||||
***/
|
||||
|
||||
#define MAX_AVAIL_PERIOD 230 //times a peer stay in available state when not connected
|
||||
|
@ -909,8 +910,9 @@ bool p3PeerMgrIMPL::addFriend(const RsPeerId& input_id, const RsPgpId& input_gpg
|
|||
RsPeerId id = input_id ;
|
||||
RsPgpId gpg_id = input_gpg_id ;
|
||||
|
||||
#ifdef PEER_DEBUG_LOG
|
||||
rslog(RSL_WARNING, p3peermgrzone, "p3PeerMgr::addFriend() id: " + id.toStdString());
|
||||
|
||||
#endif
|
||||
{
|
||||
RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/
|
||||
|
||||
|
@ -1237,11 +1239,11 @@ bool p3PeerMgrIMPL::UpdateOwnAddress( const sockaddr_storage& pLocalAddr,
|
|||
sockaddr_storage_copy(pExtAddr, extAddr);
|
||||
sockaddr_storage_ipv6_to_ipv4(extAddr);
|
||||
|
||||
#ifdef PEER_DEBUG
|
||||
//#ifdef PEER_DEBUG
|
||||
std::cerr << "p3PeerMgrIMPL::UpdateOwnAddress("
|
||||
<< sockaddr_storage_tostring(localAddr) << ", "
|
||||
<< sockaddr_storage_tostring(extAddr) << ")" << std::endl;
|
||||
#endif
|
||||
//#endif
|
||||
|
||||
if( rsBanList &&
|
||||
!rsBanList->isAddressAccepted(localAddr,
|
||||
|
@ -1472,21 +1474,25 @@ bool p3PeerMgrIMPL::setLocalAddress( const RsPeerId &id,
|
|||
return changed;
|
||||
}
|
||||
|
||||
bool p3PeerMgrIMPL::setExtAddress(const RsPeerId &id, const struct sockaddr_storage &addr)
|
||||
bool p3PeerMgrIMPL::setExtAddress( const RsPeerId &id,
|
||||
const sockaddr_storage &addr )
|
||||
{
|
||||
bool changed = false;
|
||||
uint32_t check_res = 0 ;
|
||||
bool changed = false;
|
||||
uint32_t check_res = 0;
|
||||
|
||||
if(rsBanList!=NULL && !rsBanList->isAddressAccepted(addr,RSBANLIST_CHECKING_FLAGS_BLACKLIST,&check_res))
|
||||
{
|
||||
std::cerr << "(SS) trying to set external contact address for peer " << id << " to a banned address " << sockaddr_storage_iptostring(addr )<< std::endl;
|
||||
return false ;
|
||||
}
|
||||
if( rsBanList!=NULL && !rsBanList->isAddressAccepted(
|
||||
addr, RSBANLIST_CHECKING_FLAGS_BLACKLIST, &check_res) )
|
||||
{
|
||||
std::cerr << "(SS) trying to set external contact address for peer "
|
||||
<< id << " to a banned address "
|
||||
<< sockaddr_storage_iptostring(addr) << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (id == AuthSSL::getAuthSSL()->OwnId())
|
||||
{
|
||||
{
|
||||
RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/
|
||||
RS_STACK_MUTEX(mPeerMtx);
|
||||
if (!sockaddr_storage_same(mOwnState.serveraddr, addr))
|
||||
{
|
||||
mOwnState.serveraddr = addr;
|
||||
|
@ -1499,7 +1505,7 @@ bool p3PeerMgrIMPL::setExtAddress(const RsPeerId &id, const struct sockaddr_s
|
|||
return changed;
|
||||
}
|
||||
|
||||
RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/
|
||||
RS_STACK_MUTEX(mPeerMtx);
|
||||
/* check if it is a friend */
|
||||
std::map<RsPeerId, peerState>::iterator it;
|
||||
if (mFriendList.end() == (it = mFriendList.find(id)))
|
||||
|
@ -1507,7 +1513,9 @@ bool p3PeerMgrIMPL::setExtAddress(const RsPeerId &id, const struct sockaddr_s
|
|||
if (mOthersList.end() == (it = mOthersList.find(id)))
|
||||
{
|
||||
#ifdef PEER_DEBUG
|
||||
std::cerr << "p3PeerMgrIMPL::setLocalAddress() cannot add addres info : peer id not found in friend list id: " << id << std::endl;
|
||||
std::cerr << "p3PeerMgrIMPL::setLocalAddress() cannot add addres "
|
||||
<< "info : peer id not found in friend list id: " << id
|
||||
<< std::endl;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
@ -2058,7 +2066,7 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list<RsItem *>& saveData)
|
|||
RsPeerNetItem *item = new RsPeerNetItem();
|
||||
item->clear();
|
||||
|
||||
item->peerId = getOwnId();
|
||||
item->nodePeerId = getOwnId();
|
||||
item->pgpId = mOwnState.gpg_id;
|
||||
item->location = mOwnState.location;
|
||||
|
||||
|
@ -2109,7 +2117,7 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list<RsItem *>& saveData)
|
|||
item = new RsPeerNetItem();
|
||||
item->clear();
|
||||
|
||||
item->peerId = it->first;
|
||||
item->nodePeerId = it->first;
|
||||
item->pgpId = (it->second).gpg_id;
|
||||
item->location = (it->second).location;
|
||||
item->netMode = (it->second).netMode;
|
||||
|
@ -2309,7 +2317,7 @@ bool p3PeerMgrIMPL::loadList(std::list<RsItem *>& load)
|
|||
RsPeerNetItem *pitem = dynamic_cast<RsPeerNetItem *>(*it);
|
||||
if (pitem)
|
||||
{
|
||||
RsPeerId peer_id = pitem->peerId ;
|
||||
RsPeerId peer_id = pitem->nodePeerId ;
|
||||
RsPgpId peer_pgp_id = pitem->pgpId ;
|
||||
|
||||
if (peer_id == ownId)
|
||||
|
@ -2336,7 +2344,7 @@ bool p3PeerMgrIMPL::loadList(std::list<RsItem *>& load)
|
|||
/* ************* */
|
||||
// permission flags is used as a mask for the existing perms, so we set it to 0xffff
|
||||
addFriend(peer_id, peer_pgp_id, pitem->netMode, pitem->vs_disc, pitem->vs_dht, pitem->lastContact, RS_NODE_PERM_ALL);
|
||||
setLocation(pitem->peerId, pitem->location);
|
||||
setLocation(pitem->nodePeerId, pitem->location);
|
||||
}
|
||||
|
||||
if (pitem->netMode == RS_NET_MODE_HIDDEN)
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
class PQInterface;
|
||||
class RSTrafficClue;
|
||||
class RsBwRates;
|
||||
class RsItem;
|
||||
struct RsItem;
|
||||
class RsRawItem;
|
||||
|
||||
class SearchModule
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include <stddef.h> // for NULL
|
||||
|
||||
class RsItem;
|
||||
struct RsItem;
|
||||
|
||||
/***
|
||||
#define LOOPBACK_DEBUG 1
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "pqi/pqi_base.h" // for NetInterface (ptr only), PQInterface
|
||||
#include "retroshare/rstypes.h" // for RsPeerId
|
||||
|
||||
class RsItem;
|
||||
struct RsItem;
|
||||
|
||||
class pqiloopback: public PQInterface
|
||||
{
|
||||
|
|
|
@ -45,6 +45,7 @@ static std::list<RsPeerId> waitingIds;
|
|||
|
||||
/****
|
||||
*#define PGRP_DEBUG 1
|
||||
*#define PGRP_DEBUG_LOG 1
|
||||
****/
|
||||
|
||||
#define DEFAULT_DOWNLOAD_KB_RATE (200.0)
|
||||
|
@ -420,7 +421,9 @@ int pqipersongrp::addPeer(const RsPeerId& id)
|
|||
sm -> pqi = pqip;
|
||||
|
||||
// reset it to start it working.
|
||||
#ifdef PGRP_DEBUG_LOG
|
||||
pqioutput(PQL_WARNING, pqipersongrpzone, "pqipersongrp::addPeer() => reset() called to initialise new person");
|
||||
#endif
|
||||
pqip -> reset();
|
||||
pqip -> listen();
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ const int PQISSL_UDP_FLAG = 0x02;
|
|||
|
||||
//#define PQISSL_DEBUG 1
|
||||
//#define PQISSL_LOG_DEBUG 1
|
||||
|
||||
//#define PQISSL_LOG_DEBUG2 1
|
||||
|
||||
static const int PQISSL_MAX_READ_ZERO_COUNT = 20;
|
||||
static const time_t PQISSL_MAX_READ_ZERO_TIME = 15; // 15 seconds of no data => reset. (atm HeartBeat pkt sent 5 secs)
|
||||
|
@ -238,7 +238,9 @@ int pqissl::reset_locked()
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef PQISSL_LOG_DEBUG2
|
||||
rslog(RSL_ALERT, pqisslzone, outLog);
|
||||
#endif
|
||||
|
||||
// notify people of problem!
|
||||
// but only if we really shut something down.
|
||||
|
@ -585,12 +587,12 @@ int pqissl::Delay_Connection()
|
|||
int pqissl::Initiate_Connection()
|
||||
{
|
||||
#ifdef PQISSL_DEBUG
|
||||
std::cout << __PRETTY_FUNCTION__ << std::endl;
|
||||
std::cerr << __PRETTY_FUNCTION__ << " "
|
||||
<< sockaddr_storage_tostring(remote_addr) << std::endl;
|
||||
#endif
|
||||
|
||||
int err;
|
||||
sockaddr_storage addr = remote_addr;
|
||||
|
||||
sockaddr_storage addr; sockaddr_storage_copy(remote_addr, addr);
|
||||
|
||||
if(waiting != WAITING_DELAY)
|
||||
{
|
||||
|
@ -638,13 +640,6 @@ int pqissl::Initiate_Connection()
|
|||
return -1;
|
||||
}
|
||||
|
||||
{
|
||||
std::string out;
|
||||
rs_sprintf(out, "pqissl::Initiate_Connection() Connecting To: %s via: ", PeerId().toStdString().c_str());
|
||||
out += sockaddr_storage_tostring(addr);
|
||||
rslog(RSL_WARNING, pqisslzone, out);
|
||||
}
|
||||
|
||||
if (sockaddr_storage_isnull(addr))
|
||||
{
|
||||
rslog(RSL_WARNING, pqisslzone, "pqissl::Initiate_Connection() Invalid (0.0.0.0) Remote Address, Aborting Connect.");
|
||||
|
@ -721,6 +716,12 @@ int pqissl::Initiate_Connection()
|
|||
//std::cerr << "Setting Connect Timeout " << mConnectTimeout << " Seconds into Future " << std::endl;
|
||||
|
||||
sockaddr_storage_ipv4_to_ipv6(addr);
|
||||
#ifdef PQISSL_DEBUG
|
||||
std::cerr << __PRETTY_FUNCTION__ << " Connecting To: "
|
||||
<< PeerId().toStdString() <<" via: "
|
||||
<< sockaddr_storage_tostring(addr) << std::endl;
|
||||
#endif
|
||||
|
||||
if (0 != (err = unix_connect(osock, addr)))
|
||||
{
|
||||
switch (errno)
|
||||
|
@ -730,11 +731,13 @@ int pqissl::Initiate_Connection()
|
|||
sockfd = osock;
|
||||
return 0;
|
||||
default:
|
||||
#ifdef PQISSL_DEBUG
|
||||
std::cerr << __PRETTY_FUNCTION__ << " Failure connect "
|
||||
<< sockaddr_storage_tostring(addr)
|
||||
<< " returns: "
|
||||
<< err << " -> errno: " << errno << " "
|
||||
<< socket_errorType(errno) << std::endl;
|
||||
#endif
|
||||
|
||||
net_internal_close(osock);
|
||||
osock = -1;
|
||||
|
@ -777,10 +780,14 @@ bool pqissl::CheckConnectionTimeout()
|
|||
std::string out;
|
||||
rs_sprintf(out, "pqissl::Basic_Connection_Complete() Connection Timed Out. Peer: %s Period: %lu", PeerId().toStdString().c_str(), mConnectTimeout);
|
||||
|
||||
#ifdef PQISSL_LOG_DEBUG2
|
||||
rslog(RSL_WARNING, pqisslzone, out);
|
||||
#endif
|
||||
/* as sockfd is valid, this should close it all up */
|
||||
|
||||
#ifdef PQISSL_LOG_DEBUG2
|
||||
rslog(RSL_ALERT, pqisslzone, "pqissl::Basic_Connection_Complete() -> calling reset()");
|
||||
#endif
|
||||
reset_locked();
|
||||
return true;
|
||||
}
|
||||
|
@ -919,7 +926,9 @@ int pqissl::Basic_Connection_Complete()
|
|||
{
|
||||
std::string out;
|
||||
rs_sprintf(out, "pqissl::Basic_Connection_Complete() TCP Connection Complete: cert: %s on osock: ", PeerId().toStdString().c_str(), sockfd);
|
||||
#ifdef PQISSL_LOG_DEBUG2
|
||||
rslog(RSL_WARNING, pqisslzone, out);
|
||||
#endif
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -60,8 +60,10 @@ static struct RsLog::logInfo pqissllistenzoneInfo = {RsLog::Default, "p3peermgr"
|
|||
|
||||
|
||||
pqissllistenbase::pqissllistenbase(const sockaddr_storage &addr, p3PeerMgr *pm)
|
||||
: laddr(addr), mPeerMgr(pm), active(false)
|
||||
: mPeerMgr(pm), active(false)
|
||||
{
|
||||
sockaddr_storage_copy(addr, laddr);
|
||||
|
||||
if (!(AuthSSL::getAuthSSL()-> active()))
|
||||
{
|
||||
pqioutput(PQL_ALERT, pqissllistenzone,
|
||||
|
@ -117,8 +119,10 @@ int pqissllistenbase::setuplisten()
|
|||
reinterpret_cast<uint8_t*>(&no), sizeof(no));
|
||||
if (err) std::cerr << __PRETTY_FUNCTION__
|
||||
<< ": Error setting IPv6 socket dual stack" << std::endl;
|
||||
#ifdef DEBUG_LISTENNER
|
||||
else std::cerr << __PRETTY_FUNCTION__
|
||||
<< ": Success setting IPv6 socket dual stack" << std::endl;
|
||||
#endif
|
||||
#endif // IPV6_V6ONLY
|
||||
|
||||
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
|
@ -208,26 +212,20 @@ int pqissllistenbase::setuplisten()
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef OPEN_UNIVERSAL_PORT
|
||||
struct sockaddr_storage tmpaddr = laddr;
|
||||
if (!mPeerMgr->isHidden())
|
||||
{
|
||||
tmpaddr.ss_family = PF_INET6;
|
||||
sockaddr_storage_zeroip(tmpaddr);
|
||||
}
|
||||
struct sockaddr_storage tmpaddr;
|
||||
sockaddr_storage_copy(laddr, tmpaddr);
|
||||
sockaddr_storage_ipv4_to_ipv6(tmpaddr);
|
||||
if (!mPeerMgr->isHidden()) sockaddr_storage_zeroip(tmpaddr);
|
||||
|
||||
if (0 != (err = rs_bind(lsock, tmpaddr)))
|
||||
#else
|
||||
if (0 != (err = universal_bind(lsock, laddr)))
|
||||
#endif
|
||||
{
|
||||
std::string out = "pqissllistenbase::setuplisten() Cannot Bind to Local Address!\n";
|
||||
showSocketError(out);
|
||||
pqioutput(PQL_ALERT, pqissllistenzone, out);
|
||||
std::cerr << out << std::endl;
|
||||
std::cerr << "laddr: " << sockaddr_storage_tostring(laddr) << std::endl;
|
||||
#ifdef OPEN_UNIVERSAL_PORT
|
||||
if (!mPeerMgr->isHidden()) std::cerr << "Zeroed tmpaddr: " << sockaddr_storage_tostring(tmpaddr) << std::endl;
|
||||
#endif
|
||||
std::cerr << out << std::endl
|
||||
<< "tmpaddr: " << sockaddr_storage_tostring(tmpaddr)
|
||||
<< std::endl;
|
||||
print_stacktrace();
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ static struct RsLog::logInfo pqisslproxyzoneInfo = {RsLog::Default, "pqisslproxy
|
|||
#define pqisslproxyzone &pqisslproxyzoneInfo
|
||||
|
||||
// #define PROXY_DEBUG 1
|
||||
// #define PROXY_DEBUG_LOG 1
|
||||
|
||||
#define PROXY_STATE_FAILED 0
|
||||
#define PROXY_STATE_INIT 1
|
||||
|
@ -593,8 +594,9 @@ bool pqisslproxy::connect_parameter(uint32_t type, const std::string &value)
|
|||
{
|
||||
std::string out;
|
||||
rs_sprintf(out, "pqisslproxy::connect_parameter() Peer: %s DOMAIN_ADDRESS: %s", PeerId().toStdString().c_str(), value.c_str());
|
||||
#ifdef PROXY_DEBUG_LOG
|
||||
rslog(RSL_WARNING, pqisslproxyzone, out);
|
||||
|
||||
#endif
|
||||
mDomainAddress = value;
|
||||
#ifdef PROXY_DEBUG
|
||||
std::cerr << out << std::endl;
|
||||
|
@ -615,8 +617,9 @@ bool pqisslproxy::connect_parameter(uint32_t type, uint32_t value)
|
|||
{
|
||||
std::string out;
|
||||
rs_sprintf(out, "pqisslproxy::connect_parameter() Peer: %s REMOTE_PORT: %lu", PeerId().toStdString().c_str(), value);
|
||||
#ifdef PROXY_DEBUG_LOG
|
||||
rslog(RSL_WARNING, pqisslproxyzone, out);
|
||||
|
||||
#endif
|
||||
mRemotePort = value;
|
||||
#ifdef PROXY_DEBUG
|
||||
std::cerr << out << std::endl;
|
||||
|
|
|
@ -227,6 +227,15 @@ int pqissludp::Initiate_Connection()
|
|||
return -1;
|
||||
}
|
||||
|
||||
if(!sockaddr_storage_ipv6_to_ipv4(remote_addr))
|
||||
{
|
||||
std::cerr << __PRETTY_FUNCTION__ << "Error: remote_addr is not "
|
||||
<< "valid IPv4!" << std::endl;
|
||||
sockaddr_storage_dump(remote_addr);
|
||||
print_stacktrace();
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
mTimeoutTS = time(NULL) + mConnectTimeout;
|
||||
//std::cerr << "Setting Connect Timeout " << mConnectTimeout << " Seconds into Future " << std::endl;
|
||||
//std::cerr << " Connect Period is:" << mConnectPeriod << std::endl;
|
||||
|
@ -254,32 +263,22 @@ int pqissludp::Initiate_Connection()
|
|||
struct sockaddr_in proxyaddr;
|
||||
struct sockaddr_in remoteaddr;
|
||||
|
||||
bool nonIpV4 = false;
|
||||
if(!sockaddr_storage_ipv6_to_ipv4(remote_addr))
|
||||
{
|
||||
nonIpV4 = true;
|
||||
std::cerr << __PRETTY_FUNCTION__ << "Error: remote_addr is not "
|
||||
<< "valid IPv4!" << std::endl;
|
||||
sockaddr_storage_dump(remote_addr);
|
||||
}
|
||||
if(!sockaddr_storage_ipv6_to_ipv4(mConnectSrcAddr))
|
||||
{
|
||||
nonIpV4 = true;
|
||||
std::cerr << __PRETTY_FUNCTION__ << "Error: mConnectSrcAddr is "
|
||||
<< "not valid IPv4!" << std::endl;
|
||||
sockaddr_storage_dump(mConnectSrcAddr);
|
||||
print_stacktrace();
|
||||
return -EINVAL;
|
||||
}
|
||||
if(!sockaddr_storage_ipv6_to_ipv4(mConnectProxyAddr))
|
||||
{
|
||||
nonIpV4 = true;
|
||||
std::cerr << __PRETTY_FUNCTION__ << "Error: mConnectProxyAddr "
|
||||
<< "is not valid IPv4!" << std::endl;
|
||||
sockaddr_storage_dump(mConnectProxyAddr);
|
||||
}
|
||||
if(!nonIpV4)
|
||||
{
|
||||
print_stacktrace();
|
||||
return -EINVAL;
|
||||
|
||||
}
|
||||
|
||||
struct sockaddr_in *rap = (struct sockaddr_in *) &remote_addr;
|
||||
|
@ -301,7 +300,6 @@ int pqissludp::Initiate_Connection()
|
|||
err = tou_connect_via_relay(sockfd, &srcaddr, &proxyaddr, &remoteaddr);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*** It seems that the UDP Layer sees x 1.2 the traffic of the SSL layer.
|
||||
* We need to compensate somewhere... we drop the maximum traffic to 75% of limit
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include "retroshare/rstypes.h" // for RsPeerId
|
||||
#include "util/rsthreads.h" // for RsMutex
|
||||
|
||||
class RsItem;
|
||||
struct RsItem;
|
||||
class RsSerialiser;
|
||||
|
||||
struct PartialPacketRecord
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue