Ad a friend right upon connection when necessary. Removed two core mutex to do that, it might be dangerous, we will see

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2037 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
joss17 2010-01-14 01:33:56 +00:00
parent 8d002a1566
commit e2cc7213a3
4 changed files with 23 additions and 18 deletions

View file

@ -2185,10 +2185,10 @@ int AuthSSL::VerifyX509Callback(int preverify_ok, X509_STORE_CTX *ctx)
//sslcert *cert = NULL;
std::string certId;
getX509id(X509_STORE_CTX_get_current_cert(ctx), certId);
if (!mConnMgr->isFriend(certId)) {
//we've got a new ssl id
preverify_ok = false;
}
// if (!mConnMgr->isFriend(certId)) {
// //we've got a new ssl id
// preverify_ok = false;
// }
//is the connection was initiated by us, then it was for a specific peer id wich is stored is in the context
//check that the peerid in the context is the same as the cert one
@ -2211,13 +2211,13 @@ int AuthSSL::VerifyX509Callback(int preverify_ok, X509_STORE_CTX *ctx)
}
}
//just to be sure
//Add, even if it might already be added
mConnMgr->addFriend(certId, getX509CNString(X509_STORE_CTX_get_current_cert(ctx)->cert_info->issuer));
//set location
mConnMgr->setLocation(certId, getX509LocString(X509_STORE_CTX_get_current_cert(ctx)->cert_info->subject));
//Cgheck if peer isn't already connected
//Check if peer isn't already connected
peerConnectState detail;
if (mConnMgr->getFriendNetStatus(certId, detail)) {
if (detail.state & RS_PEER_CONNECTED && detail.connecttype & RS_NET_CONN_TUNNEL) {