Send RsDiscReply information of the connected friend to himself too, when there is only one ssl id available. The reason is, that the signers of the gpg key has to be transfered. The friend skips the own RsDiscReply informations, but imports the gpg key.

Reload all gpg keys in AuthGPGimpl::LoadCertificateFromString, when new signatures are added - not only the key was imported.
Changed parameters of RsPeers and AuthGPG from "std::string" to "const std::string&"

Recompile of the GUI needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3753 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-11-06 16:40:18 +00:00
parent a32bcbb635
commit c19c8b5532
6 changed files with 133 additions and 143 deletions

View file

@ -377,15 +377,6 @@ RsDiscReply *p3disc::createDiscReply(const std::string &to, const std::string &a
return NULL;
}
peerConnectState detailAbout;
if (mConnMgr->getFriendNetStatus(aboutGpgId, detailAbout) && detailAbout.visState & RS_VIS_STATE_NODISC)
{
#ifdef P3DISC_DEBUG
std::cerr << "p3disc::createDiscReply() don't send info about this peer because he has no disc enabled." << std::endl;
#endif
return NULL;
}
// Construct a message
RsDiscReply *di = new RsDiscReply();
@ -406,8 +397,9 @@ RsDiscReply *p3disc::createDiscReply(const std::string &to, const std::string &a
std::cerr << "p3disc::createDiscReply() Found Child SSL Id:" << *sslChildIt;
std::cerr << std::endl;
#endif
if(to != *sslChildIt) // We don't send info to a peer about itself, but we allow sending info
{ // about peers with the same GPG id.
if(sslChilds.size() == 1 || to != *sslChildIt) // We don't send info to a peer about itself, when there are more than one ssl children,
{ // but we allow sending info about peers with the same GPG id. When there is only one ssl child,
// we must send it to transfer the signers of the gpg key. The receiver is skipping the own id.
peerConnectState detail;
if (!mConnMgr->getFriendNetStatus(*sslChildIt, detail)
|| detail.visState & RS_VIS_STATE_NODISC)