make peer details work for GPG key in the network view gui

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2010 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
joss17 2010-01-13 21:11:02 +00:00
parent 77b3c0afd0
commit 41600dc3cf
13 changed files with 472 additions and 486 deletions

View file

@ -912,7 +912,9 @@ bool AuthGPG::getPGPDetails(std::string id, RsPeerDetails &d)
d.trustLvl = it->second.trustLvl;
d.validLvl = it->second.validLvl;
d.ownsign = it->second.ownsign;
d.signers = it->second.signers;
d.gpgSigners = it->second.signers;
std::cerr << "AuthGPG::getPGPDetails() get details for : " << id << std::endl;
std::cerr << "AuthGPG::getPGPDetails() Name : " << it->second.name << std::endl;
return true;
} else {
return false;
@ -926,8 +928,7 @@ bool AuthGPG::decryptText(gpgme_data_t CIPHER, gpgme_data_t PLAIN) {
if (GPG_ERR_NO_ERROR != (ERR = gpgme_op_decrypt (CTX, CIPHER, PLAIN)))
{
ProcessPGPmeError(ERR);
std::cerr << "AuthGPG::decryptText() Error decrypting text.";
std::cerr << std::endl;
std::cerr << "AuthGPG::decryptText() Error decrypting text." << std::endl;
return false;
}

View file

@ -86,7 +86,7 @@ class RsPeerDetails
std::string fpr; /* pgp fingerprint */
std::string authcode;
std::list<std::string> signers;
std::list<std::string> gpgSigners;
uint32_t trustLvl;
uint32_t validLvl;
@ -140,6 +140,7 @@ virtual bool getPeerDetails(std::string id, RsPeerDetails &d) = 0;
/* Using PGP Ids */
virtual std::string getPGPOwnId() = 0;
virtual std::string getPGPId(std::string ssl_id) = 0;
virtual bool getPGPFriendList(std::list<std::string> &ids) = 0;
virtual bool getPGPAllList(std::list<std::string> &ids) = 0;
virtual bool getPGPDetails(std::string id, RsPeerDetails &d) = 0;

View file

@ -314,7 +314,7 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
d.email = authDetail.email;
d.location = authDetail.location;
d.org = authDetail.org;
d.signers = authDetail.signers;
d.gpgSigners = authDetail.signers;
d.issuer = authDetail.issuer;
@ -552,13 +552,12 @@ bool p3Peers::getPGPAllList(std::list<std::string> &ids)
bool p3Peers::getPGPDetails(std::string id, RsPeerDetails &d)
{
#ifdef P3PEERS_DEBUG
std::cerr << "p3Peers::getPgpDetails()";
std::cerr << "p3Peers::getPgpDetails() called for id : " << id;
std::cerr << std::endl;
#endif
/* get from mAuthMgr */
AuthGPG::getAuthGPG()->getPGPDetails(id, d);
return true;
return AuthGPG::getAuthGPG()->getPGPDetails(id, d);
}
std::string p3Peers::getPGPOwnId()
@ -572,6 +571,16 @@ std::string p3Peers::getPGPOwnId()
return AuthGPG::getAuthGPG()->PGPOwnId();
}
std::string p3Peers::getPGPId(std::string ssl_id)
{
#ifdef P3PEERS_DEBUG
std::cerr << "p3Peers::getPGPId()";
std::cerr << std::endl;
#endif
/* get from mAuthMgr */
return AuthSSL::getAuthSSL()->getGPGId(ssl_id);
}
@ -970,8 +979,8 @@ std::ostream &operator<<(std::ostream &out, const RsPeerDetails &detail)
out << std::endl;
std::list<std::string>::const_iterator it;
for(it = detail.signers.begin();
it != detail.signers.end(); it++)
for(it = detail.gpgSigners.begin();
it != detail.gpgSigners.end(); it++)
{
out << "\t" << *it;
out << std::endl;

View file

@ -55,6 +55,7 @@ virtual bool getPeerDetails(std::string id, RsPeerDetails &d);
/* Using PGP Ids */
virtual std::string getPGPOwnId();
virtual std::string getPGPId(std::string ssl_id);
virtual bool getPGPFriendList(std::list<std::string> &ids);
virtual bool getPGPAllList(std::list<std::string> &ids);
virtual bool getPGPDetails(std::string id, RsPeerDetails &d);

View file

@ -500,7 +500,7 @@ void p3disc::sendPeerDetails(std::string to, std::string about)
RsPeerDetails pd ;
std::string name = rsPeers->getPeerName(about) ;
if(rsPeers->getPeerDetails(to,pd))
for(std::list<std::string>::const_iterator it(pd.signers.begin());it!=pd.signers.end();++it)
for(std::list<std::string>::const_iterator it(pd.gpgSigners.begin());it!=pd.gpgSigners.end();++it)
if(*it == name)
{
di->discFlags |= P3DISC_FLAGS_PEER_TRUSTS_ME;