mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-15 10:54:22 -05:00
get rid of p3authmgr
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2001 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
2917896834
commit
c23407cae3
@ -504,8 +504,8 @@ void CacheStore::locked_storeCacheEntry(const CacheData &data)
|
||||
*
|
||||
********************************* CacheStrapper ********************************/
|
||||
|
||||
CacheStrapper::CacheStrapper(p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:p3Config(CONFIG_TYPE_CACHE), mAuthMgr(am), mConnMgr(cm)
|
||||
CacheStrapper::CacheStrapper(p3ConnectMgr *cm)
|
||||
:p3Config(CONFIG_TYPE_CACHE), mConnMgr(cm)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -832,7 +832,7 @@ bool CacheStrapper::loadList(std::list<RsItem *> load)
|
||||
CacheData cd;
|
||||
|
||||
cd.pid = rscc->pid;
|
||||
cd.pname = mAuthMgr->getName(cd.pid);
|
||||
cd.pname = getAuthSSL()->getName(cd.pid);
|
||||
cd.cid.type = rscc->cachetypeid;
|
||||
cd.cid.subid = rscc->cachesubid;
|
||||
cd.path = rscc->path;
|
||||
|
@ -277,7 +277,7 @@ class p3AuthMgr;
|
||||
class CacheStrapper: public pqiMonitor, public p3Config
|
||||
{
|
||||
public:
|
||||
CacheStrapper(p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
CacheStrapper(p3ConnectMgr *cm);
|
||||
virtual ~CacheStrapper() { return; }
|
||||
|
||||
/************* from pqiMonitor *******************/
|
||||
|
@ -262,8 +262,8 @@ void ftFiMonitor::setSharedDirectories(std::list<SharedDirInfo> dirList)
|
||||
|
||||
|
||||
|
||||
ftCacheStrapper::ftCacheStrapper(p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:CacheStrapper(am, cm)
|
||||
ftCacheStrapper::ftCacheStrapper(p3ConnectMgr *cm)
|
||||
:CacheStrapper(cm)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ virtual bool loadList(std::list<RsItem *> load);
|
||||
class ftCacheStrapper: public CacheStrapper, public ftSearch
|
||||
{
|
||||
public:
|
||||
ftCacheStrapper(p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
ftCacheStrapper(p3ConnectMgr *cm);
|
||||
|
||||
/* overloaded search function */
|
||||
virtual bool search(std::string hash, uint32_t hintflags, FileInfo &info) const;
|
||||
|
@ -55,15 +55,15 @@ const int ftserverzone = 29539;
|
||||
***/
|
||||
|
||||
/* Setup */
|
||||
ftServer::ftServer(p3AuthMgr *authMgr, p3ConnectMgr *connMgr)
|
||||
: mP3iface(NULL),
|
||||
mAuthMgr(authMgr), mConnMgr(connMgr),
|
||||
ftServer::ftServer(p3ConnectMgr *connMgr)
|
||||
: mP3iface(NULL),
|
||||
mConnMgr(connMgr),
|
||||
mCacheStrapper(NULL),
|
||||
mFiStore(NULL), mFiMon(NULL),
|
||||
mFtController(NULL), mFtExtra(NULL),
|
||||
mFtDataplex(NULL), mFtSearch(NULL)
|
||||
{
|
||||
mCacheStrapper = new ftCacheStrapper(authMgr, connMgr);
|
||||
mCacheStrapper = new ftCacheStrapper(connMgr);
|
||||
}
|
||||
|
||||
void ftServer::setConfigDirectory(std::string path)
|
||||
@ -858,7 +858,7 @@ bool ftServer::handleCacheData()
|
||||
data.name = ci->file.name;
|
||||
data.path = ci->file.path;
|
||||
data.pid = ci->PeerId();
|
||||
data.pname = mAuthMgr->getName(ci->PeerId());
|
||||
data.pname = getAuthSSL()->getName(ci->PeerId());
|
||||
mCacheStrapper->recvCacheResponse(data, time(NULL));
|
||||
|
||||
delete ci;
|
||||
|
@ -79,7 +79,7 @@ class ftServer: public RsFiles, public ftDataSend, public RsThread
|
||||
/******************** Setup ************************************/
|
||||
/***************************************************************/
|
||||
|
||||
ftServer(p3AuthMgr *authMgr, p3ConnectMgr *connMgr);
|
||||
ftServer(p3ConnectMgr *connMgr);
|
||||
|
||||
/* Assign important variables */
|
||||
void setConfigDirectory(std::string path);
|
||||
|
@ -156,7 +156,7 @@ HEADERS += dbase/cachestrapper.h \
|
||||
pqi/authssl.h \
|
||||
pqi/authgpg.h \
|
||||
pqi/cleanupxpgp.h \
|
||||
pqi/p3authmgr.h \
|
||||
# pqi/p3authmgr.h \
|
||||
pqi/p3cfgmgr.h \
|
||||
pqi/p3connmgr.h \
|
||||
pqi/p3dhtmgr.h \
|
||||
@ -336,7 +336,7 @@ SOURCES += \
|
||||
pqi/pqissl.cc \
|
||||
pqi/pqissltunnel.cc \
|
||||
pqi/pqistore.cc \
|
||||
pqi/p3authmgr.cc \
|
||||
# pqi/p3authmgr.cc \
|
||||
pqi/p3cfgmgr.cc \
|
||||
pqi/p3connmgr.cc \
|
||||
pqi/p3dhtmgr.cc \
|
||||
|
@ -318,10 +318,10 @@ int GPGAuthMgr::GPGInit(std::string ownId)
|
||||
return 0;
|
||||
}
|
||||
|
||||
mOwnGpgCert.user.name = newKey->uids->name;
|
||||
mOwnGpgCert.user.email = newKey->uids->email;
|
||||
mOwnGpgCert.user.fpr = newKey->subkeys->fpr;
|
||||
mOwnGpgCert.user.id = ownId;
|
||||
mOwnGpgCert.name = newKey->uids->name;
|
||||
mOwnGpgCert.email = newKey->uids->email;
|
||||
mOwnGpgCert.fpr = newKey->subkeys->fpr;
|
||||
mOwnGpgCert.id = ownId;
|
||||
mOwnGpgCert.key = newKey;
|
||||
|
||||
mOwnId = ownId;
|
||||
@ -362,16 +362,16 @@ int GPGAuthMgr::GPGInit(std::string name, std::string comment,
|
||||
return 0;
|
||||
}
|
||||
|
||||
mOwnGpgCert.user.name = name;
|
||||
mOwnGpgCert.user.email = email;
|
||||
mOwnGpgCert.user.fpr = newKey->subkeys->fpr;
|
||||
mOwnGpgCert.user.id = newKey->subkeys->keyid;
|
||||
mOwnGpgCert.name = name;
|
||||
mOwnGpgCert.email = email;
|
||||
mOwnGpgCert.fpr = newKey->subkeys->fpr;
|
||||
mOwnGpgCert.id = newKey->subkeys->keyid;
|
||||
mOwnGpgCert.key = newKey;
|
||||
|
||||
this->passphrase = inPassphrase;
|
||||
setPGPPassword_locked(inPassphrase);
|
||||
|
||||
mOwnId = mOwnGpgCert.user.id;
|
||||
mOwnId = mOwnGpgCert.id;
|
||||
gpgmeKeySelected = true;
|
||||
|
||||
return 1;
|
||||
@ -454,11 +454,11 @@ bool GPGAuthMgr::storeAllKeys_locked()
|
||||
* Don't really need to worry about other ids either.
|
||||
*/
|
||||
gpgme_subkey_t mainsubkey = KEY->subkeys;
|
||||
nu.user.id = mainsubkey->keyid;
|
||||
nu.user.fpr = mainsubkey->fpr;
|
||||
nu.id = mainsubkey->keyid;
|
||||
nu.fpr = mainsubkey->fpr;
|
||||
|
||||
std::cerr << "MAIN KEYID: " << nu.user.id;
|
||||
std::cerr << " FPR: " << nu.user.fpr;
|
||||
std::cerr << "MAIN KEYID: " << nu.id;
|
||||
std::cerr << " FPR: " << nu.fpr;
|
||||
std::cerr << std::endl;
|
||||
|
||||
|
||||
@ -478,8 +478,8 @@ bool GPGAuthMgr::storeAllKeys_locked()
|
||||
*/
|
||||
|
||||
gpgme_user_id_t mainuid = KEY->uids;
|
||||
nu.user.name = mainuid->name;
|
||||
nu.user.email = mainuid->email;
|
||||
nu.name = mainuid->name;
|
||||
nu.email = mainuid->email;
|
||||
gpgme_key_sig_t mainsiglist = mainuid->signatures;
|
||||
while(mainsiglist != NULL)
|
||||
{
|
||||
@ -491,11 +491,11 @@ bool GPGAuthMgr::storeAllKeys_locked()
|
||||
*/
|
||||
|
||||
std::string keyid = mainsiglist->keyid;
|
||||
if (nu.user.signers.end() == std::find(
|
||||
nu.user.signers.begin(),
|
||||
nu.user.signers.end(),keyid))
|
||||
if (nu.signers.end() == std::find(
|
||||
nu.signers.begin(),
|
||||
nu.signers.end(),keyid))
|
||||
{
|
||||
nu.user.signers.push_back(keyid);
|
||||
nu.signers.push_back(keyid);
|
||||
}
|
||||
}
|
||||
mainsiglist = mainsiglist->next;
|
||||
@ -530,17 +530,17 @@ bool GPGAuthMgr::storeAllKeys_locked()
|
||||
* signature notation supplied is GPGME_KEYLIST_MODE_SIG_NOTATION is on
|
||||
*/
|
||||
|
||||
nu.user.trustLvl = KEY->owner_trust;
|
||||
nu.user.ownsign = KEY->can_sign;
|
||||
nu.user.validLvl = mainuid->validity;
|
||||
nu.user.trusted = (mainuid->validity > GPGME_VALIDITY_MARGINAL);
|
||||
nu.trustLvl = KEY->owner_trust;
|
||||
nu.ownsign = KEY->can_sign;
|
||||
nu.validLvl = mainuid->validity;
|
||||
nu.trusted = (mainuid->validity > GPGME_VALIDITY_MARGINAL);
|
||||
|
||||
/* grab a reference, so the key remains */
|
||||
gpgme_key_ref(KEY);
|
||||
nu.key = KEY;
|
||||
|
||||
/* store in map */
|
||||
mKeyList[nu.user.id] = nu;
|
||||
mKeyList[nu.id] = nu;
|
||||
}
|
||||
|
||||
if (GPG_ERR_NO_ERROR != gpgme_op_keylist_end(CTX))
|
||||
@ -575,7 +575,7 @@ bool GPGAuthMgr::updateTrustAllKeys_locked()
|
||||
for(it = mKeyList.begin(); it != mKeyList.end(); it++)
|
||||
{
|
||||
/* check for trust items associated with key */
|
||||
std::string peerid = it->second.user.email;
|
||||
std::string peerid = it->second.email;
|
||||
std::cerr << "Searching GPGme for TrustInfo on: " << peerid;
|
||||
std::cerr << std::endl;
|
||||
|
||||
@ -634,26 +634,26 @@ bool GPGAuthMgr::printAllKeys_locked()
|
||||
certmap::const_iterator it;
|
||||
for(it = mKeyList.begin(); it != mKeyList.end(); it++)
|
||||
{
|
||||
std::cerr << "PGP Key: " << it->second.user.id;
|
||||
std::cerr << "PGP Key: " << it->second.id;
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::cerr << "\tName: " << it->second.user.name;
|
||||
std::cerr << "\tName: " << it->second.name;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\tEmail: " << it->second.user.email;
|
||||
std::cerr << "\tEmail: " << it->second.email;
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::cerr << "\ttrustLvl: " << it->second.user.trustLvl;
|
||||
std::cerr << "\ttrustLvl: " << it->second.trustLvl;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\townsign?: " << it->second.user.ownsign;
|
||||
std::cerr << "\townsign?: " << it->second.ownsign;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\ttrusted/valid: " << it->second.user.trusted;
|
||||
std::cerr << "\ttrusted/valid: " << it->second.trusted;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\tEmail: " << it->second.user.email;
|
||||
std::cerr << "\tEmail: " << it->second.email;
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::list<std::string>::const_iterator sit;
|
||||
for(sit = it->second.user.signers.begin();
|
||||
sit != it->second.user.signers.end(); sit++)
|
||||
for(sit = it->second.signers.begin();
|
||||
sit != it->second.signers.end(); sit++)
|
||||
{
|
||||
std::cerr << "\t\tSigner ID:" << *sit;
|
||||
|
||||
@ -663,7 +663,7 @@ bool GPGAuthMgr::printAllKeys_locked()
|
||||
certmap::const_iterator kit = mKeyList.find(*sit);
|
||||
if (kit != mKeyList.end())
|
||||
{
|
||||
std::cerr << " Name:" << kit->second.user.name;
|
||||
std::cerr << " Name:" << kit->second.name;
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
@ -677,14 +677,14 @@ bool GPGAuthMgr::printOwnKeys_locked()
|
||||
certmap::iterator it;
|
||||
for(it = mKeyList.begin(); it != mKeyList.end(); it++)
|
||||
{
|
||||
if (it->second.user.ownsign)
|
||||
if (it->second.ownsign)
|
||||
{
|
||||
std::cerr << "Own PGP Key: " << it->second.user.id;
|
||||
std::cerr << "Own PGP Key: " << it->second.id;
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::cerr << "\tName: " << it->second.user.name;
|
||||
std::cerr << "\tName: " << it->second.name;
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "\tEmail: " << it->second.user.email;
|
||||
std::cerr << "\tEmail: " << it->second.email;
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
@ -943,30 +943,22 @@ std::string GPGAuthMgr::getPGPName(GPG_id id)
|
||||
|
||||
certmap::iterator it;
|
||||
if (mKeyList.end() != (it = mKeyList.find(id)))
|
||||
return it->second.user.name;
|
||||
return it->second.name;
|
||||
|
||||
return std::string();
|
||||
}
|
||||
|
||||
bool GPGAuthMgr::getDetails(GPG_id id, pqiAuthDetails &details)
|
||||
/**** These Two are common */
|
||||
std::string GPGAuthMgr::getPGPEmail(GPG_id id)
|
||||
{
|
||||
//RsStackMutex stack(pgpMtx); /******* LOCKED ******/
|
||||
if(pgpMtx.trylock())
|
||||
{
|
||||
/* if we cannot find a ssl cert - might be a pgp cert */
|
||||
certmap::iterator it;
|
||||
if (mKeyList.end() != (it = mKeyList.find(id)))
|
||||
{
|
||||
/* what do we want from the gpg mgr */
|
||||
details = it->second.user;
|
||||
pgpMtx.unlock() ;
|
||||
return true;
|
||||
}
|
||||
pgpMtx.unlock() ;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
RsStackMutex stack(pgpMtx); /******* LOCKED ******/
|
||||
|
||||
certmap::iterator it;
|
||||
if (mKeyList.end() != (it = mKeyList.find(id)))
|
||||
return it->second.email;
|
||||
|
||||
return std::string();
|
||||
}
|
||||
|
||||
/**** GPG versions ***/
|
||||
|
||||
@ -1030,7 +1022,7 @@ bool GPGAuthMgr::getPGPAuthenticatedList(std::list<std::string> &ids)
|
||||
certmap::iterator it;
|
||||
for(it = mKeyList.begin(); it != mKeyList.end(); it++)
|
||||
{
|
||||
if (it->second.user.trusted)
|
||||
if (it->second.trusted)
|
||||
{
|
||||
ids.push_back(it->first);
|
||||
}
|
||||
@ -1045,7 +1037,7 @@ bool GPGAuthMgr::getPGPUnknownList(std::list<std::string> &ids)
|
||||
certmap::iterator it;
|
||||
for(it = mKeyList.begin(); it != mKeyList.end(); it++)
|
||||
{
|
||||
if (!(it->second.user.trusted))
|
||||
if (!(it->second.trusted))
|
||||
{
|
||||
ids.push_back(it->first);
|
||||
}
|
||||
@ -1074,7 +1066,7 @@ bool GPGAuthMgr::isPGPAuthenticated(GPG_id id)
|
||||
* which is the 'trusted' flag.
|
||||
*/
|
||||
|
||||
return (it->second.user.trusted);
|
||||
return (it->second.trusted);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -31,13 +31,17 @@
|
||||
#define RS_GPG_AUTH_HEADER
|
||||
|
||||
#include <gpgme.h>
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/evp.h>
|
||||
#include "util/rsthreads.h"
|
||||
#include <string>
|
||||
#include <list>
|
||||
#include <map>
|
||||
|
||||
#define GPG_id std::string
|
||||
|
||||
class AuthGPG;
|
||||
|
||||
/* gpgcert is the identifier for a person.
|
||||
* It is a wrapper class for a GPGme OpenPGP certificate.
|
||||
*/
|
||||
@ -47,7 +51,23 @@ class gpgcert
|
||||
gpgcert();
|
||||
~gpgcert();
|
||||
|
||||
pqiAuthDetails user;
|
||||
std::string id;
|
||||
std::string name;
|
||||
std::string email;
|
||||
// std::string location;
|
||||
// std::string org;
|
||||
//
|
||||
// std::string issuer;
|
||||
|
||||
std::string fpr; /* fingerprint */
|
||||
std::list<std::string> signers;
|
||||
|
||||
uint32_t trustLvl;
|
||||
uint32_t validLvl;
|
||||
|
||||
bool ownsign;
|
||||
bool trusted; // means valid in pgp world.
|
||||
|
||||
gpgme_key_t key;
|
||||
};
|
||||
|
||||
@ -136,7 +156,7 @@ class GPGAuthMgr
|
||||
/* get Details from the Certificates */
|
||||
bool isAuthenticated(std::string id);
|
||||
std::string getPGPName(GPG_id pgp_id);
|
||||
bool getDetails(std::string id, pqiAuthDetails &details);
|
||||
std::string getPGPEmail(GPG_id pgp_id);
|
||||
|
||||
|
||||
/* PGP versions of Certificate Fns */
|
||||
@ -146,7 +166,6 @@ class GPGAuthMgr
|
||||
bool getPGPUnknownList(std::list<std::string> &ids);
|
||||
bool isPGPValid(std::string id);
|
||||
bool isPGPAuthenticated(std::string id);
|
||||
bool getPGPDetails(std::string id, pqiAuthDetails &details);
|
||||
|
||||
/*********************************************************************************/
|
||||
/************************* STAGE 4 ***********************************************/
|
||||
|
@ -790,43 +790,29 @@ GPG_id AuthSSL::getGPGId(SSL_id id) {
|
||||
return getIssuerName(id);
|
||||
}
|
||||
|
||||
bool AuthSSL::getDetails(std::string id, pqiAuthDetails &details)
|
||||
bool AuthSSL::getCertDetails(SSL_id id, sslcert &cert)
|
||||
{
|
||||
#ifdef AUTHSSL_DEBUG
|
||||
std::cerr << "AuthSSL::getDetails() \"" << id << "\"";
|
||||
std::cerr << "AuthSSL::getCertDetails() \"" << id << "\"";
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
sslMtx.lock(); /***** LOCK *****/
|
||||
|
||||
bool valid = false;
|
||||
sslcert *cert = NULL;
|
||||
sslcert *tcert = NULL;
|
||||
if (id == mOwnId)
|
||||
{
|
||||
cert = mOwnCert;
|
||||
cert = *mOwnCert;
|
||||
valid = true;
|
||||
}
|
||||
else if (locked_FindCert(id, &cert))
|
||||
else if (locked_FindCert(id, &tcert))
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
|
||||
if (valid)
|
||||
{
|
||||
/* fill details */
|
||||
details.id = cert->id;
|
||||
details.name = cert->name;
|
||||
details.email = cert->email;
|
||||
details.location= cert->location;
|
||||
details.org = cert->org;
|
||||
details.issuer = cert->issuer;
|
||||
|
||||
details.fpr = cert->fpr;
|
||||
details.signers = cert->signers;
|
||||
|
||||
//details.trustLvl= cert->trustLvl;
|
||||
//details.ownsign = cert->ownsign;
|
||||
//details.trusted = cert->trusted;
|
||||
details.trusted = cert->authed;
|
||||
cert = *tcert;
|
||||
}
|
||||
|
||||
sslMtx.unlock(); /**** UNLOCK ****/
|
||||
@ -2145,8 +2131,7 @@ int pem_passwd_cb(char *buf, int size, int rwflag, void *password)
|
||||
|
||||
static int verify_x509_callback(int preverify_ok, X509_STORE_CTX *ctx)
|
||||
{
|
||||
AuthSSL *authssl = (AuthSSL *) getAuthMgr();
|
||||
return authssl->VerifyX509Callback(preverify_ok, ctx);
|
||||
return getAuthSSL()->VerifyX509Callback(preverify_ok, ctx);
|
||||
|
||||
}
|
||||
|
||||
@ -2258,7 +2243,7 @@ int LoadCheckX509andGetName(const char *cert_file, std::string &userName, std::s
|
||||
bool valid = false;
|
||||
if (x509)
|
||||
{
|
||||
valid = ((AuthSSL *) getAuthMgr())->ValidateCertificate(x509, userId);
|
||||
valid = getAuthSSL()->ValidateCertificate(x509, userId);
|
||||
}
|
||||
|
||||
if (valid)
|
||||
@ -2311,7 +2296,7 @@ int LoadCheckX509andGetIssuerName(const char *cert_file, std::string &issuerName
|
||||
bool valid = false;
|
||||
if (x509)
|
||||
{
|
||||
valid = ((AuthSSL *) getAuthMgr())->ValidateCertificate(x509, userId);
|
||||
valid = getAuthSSL()->ValidateCertificate(x509, userId);
|
||||
}
|
||||
|
||||
if (valid)
|
||||
|
@ -54,7 +54,6 @@
|
||||
|
||||
#include "pqi/pqi_base.h"
|
||||
#include "pqi/pqinetwork.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
|
||||
typedef std::string SSL_id;
|
||||
|
||||
@ -64,6 +63,7 @@ class sslcert
|
||||
{
|
||||
public:
|
||||
sslcert(X509 *x509, std::string id);
|
||||
sslcert();
|
||||
|
||||
/* certificate parameters */
|
||||
std::string id;
|
||||
@ -85,7 +85,7 @@ class sslcert
|
||||
};
|
||||
|
||||
|
||||
class AuthSSL: public p3AuthMgr
|
||||
class AuthSSL
|
||||
{
|
||||
public:
|
||||
|
||||
@ -116,7 +116,7 @@ virtual bool isAuthenticated(std::string id);
|
||||
virtual std::string getName(std::string id);
|
||||
virtual std::string getIssuerName(std::string id);
|
||||
virtual GPG_id getGPGId(SSL_id id);
|
||||
virtual bool getDetails(std::string id, pqiAuthDetails &details);
|
||||
virtual bool getCertDetails(std::string id, sslcert &cert);
|
||||
|
||||
/* first party trust info (dummy) */
|
||||
virtual bool isTrustingMe(std::string id) ;
|
||||
|
@ -1,302 +0,0 @@
|
||||
/*
|
||||
* libretroshare/src/pqi: p3authmgr.cc
|
||||
*
|
||||
* 3P/PQI network interface for RetroShare.
|
||||
*
|
||||
* Copyright 2007-2008 by Robert Fernie.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA.
|
||||
*
|
||||
* Please report all bugs and problems to "retroshare@lunamutt.com".
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <iostream>
|
||||
#include "pqi/p3authmgr.h"
|
||||
|
||||
pqiAuthDetails::pqiAuthDetails()
|
||||
:trustLvl(0), validLvl(0), ownsign(false), trusted(false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
p3DummyAuthMgr::p3DummyAuthMgr()
|
||||
{
|
||||
/* for the truely dummy option */
|
||||
mOwnId = "OWNID";
|
||||
|
||||
pqiAuthDetails ownDetails;
|
||||
ownDetails.id = mOwnId;
|
||||
ownDetails.name = "Youself";
|
||||
ownDetails.email = "me@me.com";
|
||||
ownDetails.location = "here";
|
||||
ownDetails.org = "me.com";
|
||||
|
||||
ownDetails.trustLvl = 6;
|
||||
ownDetails.ownsign = true;
|
||||
ownDetails.trusted = true;
|
||||
|
||||
/* ignoring fpr and signers */
|
||||
|
||||
mPeerList[mOwnId] = ownDetails;
|
||||
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::isTrustingMe(std::string id)
|
||||
{
|
||||
std::cerr << "isTrustingMe is not implemented in p3DummyAuthMgr. Look into authxpgp.cc." << std::endl ;
|
||||
return false ;
|
||||
}
|
||||
void p3DummyAuthMgr::addTrustingPeer(std::string id)
|
||||
{
|
||||
std::cerr << "addTrustingPeer is not implemented in p3DummyAuthMgr. Look into authxpgp.cc." << std::endl ;
|
||||
}
|
||||
|
||||
p3DummyAuthMgr::p3DummyAuthMgr(std::string ownId, std::list<pqiAuthDetails> peers)
|
||||
{
|
||||
mOwnId = ownId;
|
||||
bool addedOwn = false;
|
||||
|
||||
std::list<pqiAuthDetails>::iterator it;
|
||||
for(it = peers.begin(); it != peers.end(); it++)
|
||||
{
|
||||
mPeerList[it->id] = (*it);
|
||||
if (it->id == ownId)
|
||||
{
|
||||
addedOwn = true;
|
||||
}
|
||||
}
|
||||
if (!addedOwn)
|
||||
{
|
||||
pqiAuthDetails ownDetails;
|
||||
ownDetails.id = mOwnId;
|
||||
ownDetails.name = "Youself";
|
||||
ownDetails.email = "me@me.com";
|
||||
ownDetails.location = "here";
|
||||
ownDetails.org = "me.com";
|
||||
|
||||
ownDetails.trustLvl = 6;
|
||||
ownDetails.ownsign = true;
|
||||
ownDetails.trusted = true;
|
||||
|
||||
/* ignoring fpr and signers */
|
||||
|
||||
mPeerList[mOwnId] = ownDetails;
|
||||
}
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr:: active()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int p3DummyAuthMgr::InitAuth(const char *srvr_cert, const char *priv_key,
|
||||
const char *passwd)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::CloseAuth()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int p3DummyAuthMgr::setConfigDirectories(std::string confFile, std::string neighDir)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
std::string p3DummyAuthMgr::OwnId()
|
||||
{
|
||||
return mOwnId;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::getAllList(std::list<std::string> &ids)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
for(it = mPeerList.begin(); it != mPeerList.end(); it++)
|
||||
{
|
||||
ids.push_back(it->first);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::getAuthenticatedList(std::list<std::string> &ids)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
for(it = mPeerList.begin(); it != mPeerList.end(); it++)
|
||||
{
|
||||
if (it->second.trustLvl > 3)
|
||||
{
|
||||
ids.push_back(it->first);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::getUnknownList(std::list<std::string> &ids)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
for(it = mPeerList.begin(); it != mPeerList.end(); it++)
|
||||
{
|
||||
if (it->second.trustLvl <= 3)
|
||||
{
|
||||
ids.push_back(it->first);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::isValid(std::string id)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
return (mPeerList.end() != mPeerList.find(id));
|
||||
}
|
||||
|
||||
|
||||
bool p3DummyAuthMgr::isAuthenticated(std::string id)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
if (mPeerList.end() != (it = mPeerList.find(id)))
|
||||
{
|
||||
return (it->second.trustLvl > 3);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string p3DummyAuthMgr::getName(std::string id)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
if (mPeerList.end() != (it = mPeerList.find(id)))
|
||||
{
|
||||
return it->second.name;
|
||||
}
|
||||
std::string empty("");
|
||||
return empty;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::getDetails(std::string id, pqiAuthDetails &details)
|
||||
{
|
||||
std::map<std::string, pqiAuthDetails>::iterator it;
|
||||
if (mPeerList.end() != (it = mPeerList.find(id)))
|
||||
{
|
||||
details = it->second;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::FinalSaveCertificates()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::CheckSaveCertificates()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::saveCertificates()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::loadCertificates()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::LoadCertificateFromString(std::string pem, std::string &id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string p3DummyAuthMgr::SaveCertificateToString(std::string id)
|
||||
{
|
||||
std::string dummy("CERT STRING");
|
||||
return dummy;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::LoadCertificateFromFile(std::string filename, std::string &id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SaveCertificateToFile(std::string id, std::string filename)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
bool p3DummyAuthMgr::LoadCertificateFromBinary(const uint8_t *ptr, uint32_t len, std::string &id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SaveCertificateToBinary(std::string id, uint8_t **ptr, uint32_t *len)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Signatures */
|
||||
bool p3DummyAuthMgr::AuthCertificate(std::string id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SignCertificate(std::string id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::RevokeCertificate(std::string id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::TrustCertificate(std::string id, bool trust)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SignData(std::string input, std::string &sign)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SignData(const void *data, const uint32_t len, std::string &sign)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SignDataBin(std::string input,
|
||||
unsigned char *sign, unsigned int *signlen)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::SignDataBin(const void *data, const uint32_t len,
|
||||
unsigned char *sign, unsigned int *signlen)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool p3DummyAuthMgr::VerifySignBin(std::string pid,
|
||||
const void *data, const uint32_t len,
|
||||
unsigned char *sign, unsigned int signlen)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1,225 +0,0 @@
|
||||
/*
|
||||
* libretroshare/src/pqi: p3authmgr.h
|
||||
*
|
||||
* 3P/PQI network interface for RetroShare.
|
||||
*
|
||||
* Copyright 2007-2008 by Robert Fernie.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA.
|
||||
*
|
||||
* Please report all bugs and problems to "retroshare@lunamutt.com".
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef RS_GENERIC_AUTH_HEADER
|
||||
#define RS_GENERIC_AUTH_HEADER
|
||||
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <gpgme.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/************** GENERIC AUTHENTICATION MANAGER ***********
|
||||
* Provides a common interface for certificates.
|
||||
*
|
||||
* Initialisation must be done in derived classes
|
||||
*
|
||||
* Key features:
|
||||
* everything indexed by std::string id;
|
||||
* has auth perspective: authed / not authed - different to friends.
|
||||
* load/save certificates as strings or files.
|
||||
*
|
||||
*/
|
||||
|
||||
class p3AuthMgr;
|
||||
extern p3AuthMgr *authMgr;
|
||||
|
||||
p3AuthMgr *getAuthMgr();
|
||||
|
||||
class pqiAuthDetails
|
||||
{
|
||||
public:
|
||||
pqiAuthDetails();
|
||||
|
||||
std::string id;
|
||||
std::string name;
|
||||
std::string email;
|
||||
std::string location;
|
||||
std::string org;
|
||||
|
||||
std::string issuer;
|
||||
|
||||
std::string fpr; /* fingerprint */
|
||||
std::list<std::string> signers;
|
||||
|
||||
uint32_t trustLvl;
|
||||
uint32_t validLvl;
|
||||
|
||||
bool ownsign;
|
||||
bool trusted; // means valid in pgp world.
|
||||
};
|
||||
|
||||
|
||||
class p3AuthMgr
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~p3AuthMgr() { return; }
|
||||
|
||||
/* initialisation -> done by derived classes */
|
||||
virtual bool active() = 0;
|
||||
virtual int InitAuth(const char *srvr_cert, const char *priv_key,
|
||||
const char *passwd) = 0;
|
||||
virtual bool CloseAuth() = 0;
|
||||
virtual int setConfigDirectories(std::string confFile, std::string neighDir) = 0;
|
||||
|
||||
/* get Certificate Ids */
|
||||
|
||||
virtual std::string OwnId() = 0;
|
||||
virtual bool getAllList(std::list<std::string> &ids) = 0;
|
||||
virtual bool getAuthenticatedList(std::list<std::string> &ids) = 0;
|
||||
virtual bool getUnknownList(std::list<std::string> &ids) = 0;
|
||||
|
||||
/* get Details from the Certificates */
|
||||
|
||||
virtual bool isValid(std::string id) = 0;
|
||||
virtual bool isAuthenticated(std::string id) = 0;
|
||||
virtual std::string getName(std::string id) = 0;
|
||||
virtual std::string getIssuerName(std::string id) { return getName(id); } // Default to same id.
|
||||
virtual bool getDetails(std::string id, pqiAuthDetails &details) = 0;
|
||||
|
||||
/* High Level Load/Save Configuration */
|
||||
virtual bool FinalSaveCertificates() = 0;
|
||||
virtual bool CheckSaveCertificates() = 0;
|
||||
virtual bool saveCertificates() = 0;
|
||||
virtual bool loadCertificates() = 0;
|
||||
|
||||
/* first party trust info */
|
||||
virtual bool isTrustingMe(std::string id) = 0;
|
||||
virtual void addTrustingPeer(std::string id) = 0;
|
||||
|
||||
/* Extra Fns for PGP, call std versions if not overloaded */
|
||||
virtual std::string PGPOwnId() { return OwnId(); }
|
||||
virtual bool getPGPAllList(std::list<std::string> &ids) { return getAllList(ids); }
|
||||
virtual bool encryptText(gpgme_data_t PLAIN, gpgme_data_t CIPHER) { return 0; }
|
||||
virtual bool decryptText(gpgme_data_t CIPHER, gpgme_data_t PLAIN) { return 0; }
|
||||
/* Load/Save certificates */
|
||||
|
||||
virtual bool LoadCertificateFromString(std::string pem, std::string &id) = 0;
|
||||
virtual std::string SaveCertificateToString(std::string id) = 0;
|
||||
virtual bool LoadCertificateFromFile(std::string filename, std::string &id) = 0;
|
||||
virtual bool SaveCertificateToFile(std::string id, std::string filename) = 0;
|
||||
|
||||
/* specific OpenSSL ones -> careful with pointers....
|
||||
* save will allocate space,
|
||||
*/
|
||||
virtual bool LoadCertificateFromBinary(const uint8_t *ptr, uint32_t len, std::string &id) = 0;
|
||||
virtual bool SaveCertificateToBinary(std::string id, uint8_t **ptr, uint32_t *len) = 0;
|
||||
|
||||
/* Signatures */
|
||||
virtual bool AuthCertificate(std::string uid) = 0;
|
||||
virtual bool SignCertificate(std::string id) = 0;
|
||||
virtual bool RevokeCertificate(std::string id) = 0;
|
||||
virtual bool TrustCertificate(std::string id, bool trust) = 0;
|
||||
|
||||
/* Sign / Encrypt / Verify Data (TODO) */
|
||||
virtual bool SignData(std::string input, std::string &sign) = 0;
|
||||
virtual bool SignData(const void *data, const uint32_t len, std::string &sign) = 0;
|
||||
virtual bool SignDataBin(std::string input, unsigned char *sign, unsigned int *signlen) = 0;
|
||||
virtual bool SignDataBin(const void *data, const uint32_t len,
|
||||
unsigned char *sign, unsigned int *signlen) = 0;
|
||||
|
||||
virtual bool VerifySignBin(std::string pid,
|
||||
const void *data, const uint32_t len,
|
||||
unsigned char *sign, unsigned int signlen) = 0;
|
||||
|
||||
//virtual bool encryptData(std::string recipientId, std::string plaindata, std::string &result);
|
||||
|
||||
};
|
||||
|
||||
|
||||
class p3DummyAuthMgr: public p3AuthMgr
|
||||
{
|
||||
public:
|
||||
|
||||
p3DummyAuthMgr();
|
||||
p3DummyAuthMgr(std::string ownId, std::list<pqiAuthDetails> peers);
|
||||
|
||||
/* initialisation -> done by derived classes */
|
||||
virtual bool active();
|
||||
virtual int InitAuth(const char *srvr_cert, const char *priv_key,
|
||||
const char *passwd);
|
||||
virtual bool CloseAuth();
|
||||
virtual int setConfigDirectories(std::string confFile, std::string neighDir);
|
||||
|
||||
/* get Certificate Ids */
|
||||
|
||||
virtual std::string OwnId();
|
||||
virtual bool getAllList(std::list<std::string> &ids);
|
||||
virtual bool getAuthenticatedList(std::list<std::string> &ids);
|
||||
virtual bool getUnknownList(std::list<std::string> &ids);
|
||||
|
||||
/* get Details from the Certificates */
|
||||
|
||||
virtual bool isValid(std::string id);
|
||||
virtual bool isAuthenticated(std::string id);
|
||||
virtual std::string getName(std::string id);
|
||||
virtual bool getDetails(std::string id, pqiAuthDetails &details);
|
||||
|
||||
/* High Level Load/Save Configuration */
|
||||
virtual bool FinalSaveCertificates();
|
||||
virtual bool CheckSaveCertificates();
|
||||
virtual bool saveCertificates();
|
||||
virtual bool loadCertificates();
|
||||
|
||||
/* first party trust info */
|
||||
virtual bool isTrustingMe(std::string id) ;
|
||||
virtual void addTrustingPeer(std::string id) ;
|
||||
|
||||
/* Load/Save certificates */
|
||||
virtual bool LoadCertificateFromString(std::string pem, std::string &id);
|
||||
virtual std::string SaveCertificateToString(std::string id);
|
||||
virtual bool LoadCertificateFromFile(std::string filename, std::string &id);
|
||||
virtual bool SaveCertificateToFile(std::string id, std::string filename);
|
||||
|
||||
virtual bool LoadCertificateFromBinary(const uint8_t *ptr, uint32_t len, std::string &id);
|
||||
virtual bool SaveCertificateToBinary(std::string id, uint8_t **ptr, uint32_t *len);
|
||||
/* Signatures */
|
||||
|
||||
virtual bool AuthCertificate(std::string uid);
|
||||
virtual bool SignCertificate(std::string id);
|
||||
virtual bool RevokeCertificate(std::string id);
|
||||
virtual bool TrustCertificate(std::string id, bool trust);
|
||||
|
||||
virtual bool SignData(std::string input, std::string &sign);
|
||||
virtual bool SignData(const void *data, const uint32_t len, std::string &sign);
|
||||
virtual bool SignDataBin(std::string input, unsigned char *sign, unsigned int *signlen);
|
||||
virtual bool SignDataBin(const void *data, const uint32_t len,
|
||||
unsigned char *sign, unsigned int *signlen);
|
||||
|
||||
virtual bool VerifySignBin(std::string pid,
|
||||
const void *data, const uint32_t len,
|
||||
unsigned char *sign, unsigned int signlen);
|
||||
|
||||
std::string mOwnId;
|
||||
std::map<std::string, pqiAuthDetails> mPeerList;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "util/rsdir.h"
|
||||
#include "rsiface/rspeers.h"
|
||||
#include "pqi/p3cfgmgr.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
#include "pqi/pqibin.h"
|
||||
#include "pqi/pqistore.h"
|
||||
#include "pqi/pqinotify.h"
|
||||
@ -40,8 +40,8 @@
|
||||
|
||||
#define CONFIG_DEBUG 1
|
||||
|
||||
p3ConfigMgr::p3ConfigMgr(p3AuthMgr *am, std::string dir, std::string fname, std::string signame)
|
||||
:mAuthMgr(am), basedir(dir), metafname(fname), metasigfname(signame),
|
||||
p3ConfigMgr::p3ConfigMgr(std::string dir, std::string fname, std::string signame)
|
||||
:basedir(dir), metafname(fname), metasigfname(signame),
|
||||
mConfigSaveActive(true)
|
||||
{
|
||||
|
||||
@ -160,7 +160,7 @@ void p3ConfigMgr::saveConfiguration()
|
||||
|
||||
/* sign data */
|
||||
std::string signature;
|
||||
mAuthMgr->SignData(membio->memptr(), membio->memsize(), signature);
|
||||
getAuthSSL()->SignData(membio->memptr(), membio->memsize(), signature);
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
std::cerr << "p3ConfigMgr::saveConfiguration() MetaFile Signature:";
|
||||
@ -274,7 +274,7 @@ void p3ConfigMgr::loadConfiguration()
|
||||
|
||||
/* get signature */
|
||||
std::string signature;
|
||||
mAuthMgr->SignData(membio->memptr(), membio->memsize(), signature);
|
||||
getAuthSSL()->SignData(membio->memptr(), membio->memsize(), signature);
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
std::cerr << "p3ConfigMgr::loadConfiguration() New MetaFile Signature:";
|
||||
|
@ -90,7 +90,6 @@ const uint32_t CONFIG_TYPE_CHANNELS = 0x0103;
|
||||
const uint32_t CONFIG_TYPE_CACHE = 0xff01;
|
||||
|
||||
class p3ConfigMgr;
|
||||
class p3AuthMgr;
|
||||
|
||||
class pqiConfig
|
||||
{
|
||||
@ -138,7 +137,7 @@ bool HasConfigChanged(uint16_t idx);
|
||||
class p3ConfigMgr
|
||||
{
|
||||
public:
|
||||
p3ConfigMgr(p3AuthMgr *am, std::string bdir, std::string fname, std::string signame);
|
||||
p3ConfigMgr(std::string bdir, std::string fname, std::string signame);
|
||||
|
||||
void tick();
|
||||
void saveConfiguration();
|
||||
@ -152,10 +151,6 @@ void completeConfiguration();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
/* these are constants - so shouldn't need mutex */
|
||||
p3AuthMgr *mAuthMgr;
|
||||
|
||||
const std::string basedir;
|
||||
const std::string metafname;
|
||||
const std::string metasigfname;
|
||||
|
@ -128,19 +128,17 @@ std::string textPeerConnectState(peerConnectState &state)
|
||||
|
||||
|
||||
|
||||
p3ConnectMgr::p3ConnectMgr(p3AuthMgr *am)
|
||||
p3ConnectMgr::p3ConnectMgr()
|
||||
:p3Config(CONFIG_TYPE_PEERS),
|
||||
mAuthMgr(am), mNetStatus(RS_NET_UNKNOWN),
|
||||
mNetStatus(RS_NET_UNKNOWN),
|
||||
mStunStatus(0), mStunFound(0), mStunMoreRequired(true),
|
||||
mStatusChanged(false)
|
||||
{
|
||||
/* setup basics of own state */
|
||||
if (am)
|
||||
{
|
||||
ownState.id = mAuthMgr->OwnId();
|
||||
ownState.name = mAuthMgr->getName(ownState.id);
|
||||
ownState.netMode = RS_NET_MODE_UDP;
|
||||
}
|
||||
ownState.id = getAuthSSL()->OwnId();
|
||||
ownState.name = getAuthSSL()->getName(ownState.id);
|
||||
ownState.netMode = RS_NET_MODE_UDP;
|
||||
|
||||
//use_extr_addr_finder = true ;
|
||||
use_extr_addr_finder = false;
|
||||
allow_tunnel_connection = true;
|
||||
@ -1344,15 +1342,7 @@ void p3ConnectMgr::tickMonitors()
|
||||
|
||||
const std::string p3ConnectMgr::getOwnId()
|
||||
{
|
||||
if (mAuthMgr)
|
||||
{
|
||||
return mAuthMgr->OwnId();
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string nullStr;
|
||||
return nullStr;
|
||||
}
|
||||
return getAuthSSL()->OwnId();
|
||||
}
|
||||
|
||||
|
||||
@ -1384,7 +1374,7 @@ bool p3ConnectMgr::isOnline(std::string id)
|
||||
else
|
||||
{
|
||||
#ifdef CONN_DEBUG
|
||||
std::cerr << "p3ConnectMgr::isOnline(" << id << ") is Not Friend" << std::endl << "p3ConnectMgr::isOnline() OwnId: " << mAuthMgr->OwnId() << std::endl;
|
||||
std::cerr << "p3ConnectMgr::isOnline(" << id << ") is Not Friend" << std::endl << "p3ConnectMgr::isOnline() OwnId: " << getAuthSSL()->OwnId() << std::endl;
|
||||
#endif
|
||||
/* not a friend */
|
||||
}
|
||||
@ -2024,7 +2014,7 @@ bool p3ConnectMgr::addFriend(std::string id, uint32_t netMode, uint32_t visState
|
||||
}
|
||||
|
||||
/* check with the AuthMgr if its authorised */
|
||||
if (!mAuthMgr->isAuthenticated(id))
|
||||
if (!getAuthSSL()->isAuthenticated(id))
|
||||
{
|
||||
#ifdef CONN_DEBUG
|
||||
std::cerr << "p3ConnectMgr::addFriend() Failed Authentication" << std::endl;
|
||||
@ -2074,8 +2064,8 @@ bool p3ConnectMgr::addFriend(std::string id, uint32_t netMode, uint32_t visState
|
||||
}
|
||||
|
||||
/* get details from AuthMgr */
|
||||
pqiAuthDetails detail;
|
||||
if (!mAuthMgr->getDetails(id, detail))
|
||||
sslcert detail;
|
||||
if (!getAuthSSL()->getCertDetails(id, detail))
|
||||
{
|
||||
#ifdef CONN_DEBUG
|
||||
std::cerr << "p3ConnectMgr::addFriend() Failed to get Details" << std::endl;
|
||||
@ -2184,15 +2174,15 @@ bool p3ConnectMgr::addNeighbour(std::string id)
|
||||
}
|
||||
|
||||
/* check with the AuthMgr if its valid */
|
||||
if (!mAuthMgr->isValid(id))
|
||||
if (!getAuthSSL()->isValid(id))
|
||||
{
|
||||
/* no auth */
|
||||
return false;
|
||||
}
|
||||
|
||||
/* get details from AuthMgr */
|
||||
pqiAuthDetails detail;
|
||||
if (!mAuthMgr->getDetails(id, detail))
|
||||
sslcert detail;
|
||||
if (!getAuthSSL()->getCertDetails(id, detail))
|
||||
{
|
||||
/* no details */
|
||||
return false;
|
||||
@ -2469,7 +2459,7 @@ bool p3ConnectMgr::retryConnectNotify(std::string id)
|
||||
bool p3ConnectMgr::setLocalAddress(std::string id, struct sockaddr_in addr)
|
||||
{
|
||||
|
||||
if (id == mAuthMgr->OwnId())
|
||||
if (id == getAuthSSL()->OwnId())
|
||||
{
|
||||
{
|
||||
RsStackMutex stack(connMtx); /****** STACK LOCK MUTEX *******/
|
||||
@ -2519,7 +2509,7 @@ bool p3ConnectMgr::setLocalAddress(std::string id, struct sockaddr_in addr)
|
||||
|
||||
bool p3ConnectMgr::setExtAddress(std::string id, struct sockaddr_in addr)
|
||||
{
|
||||
if (id == mAuthMgr->OwnId())
|
||||
if (id == getAuthSSL()->OwnId())
|
||||
{
|
||||
if (ownState.currentserveraddr.sin_addr.s_addr != addr.sin_addr.s_addr ||
|
||||
ownState.currentserveraddr.sin_port != addr.sin_port) {
|
||||
@ -2619,7 +2609,7 @@ bool p3ConnectMgr::setAddressList(std::string id, std::list<IpAddressTimed> I
|
||||
|
||||
bool p3ConnectMgr::setNetworkMode(std::string id, uint32_t netMode)
|
||||
{
|
||||
if (id == mAuthMgr->OwnId())
|
||||
if (id == getAuthSSL()->OwnId())
|
||||
{
|
||||
uint32_t visState = ownState.visState;
|
||||
setOwnNetConfig(netMode, visState);
|
||||
@ -2649,7 +2639,7 @@ bool p3ConnectMgr::setNetworkMode(std::string id, uint32_t netMode)
|
||||
|
||||
bool p3ConnectMgr::setVisState(std::string id, uint32_t visState)
|
||||
{
|
||||
if (id == mAuthMgr->OwnId())
|
||||
if (id == getAuthSSL()->OwnId())
|
||||
{
|
||||
uint32_t netMode = ownState.netMode;
|
||||
setOwnNetConfig(netMode, visState);
|
||||
|
@ -27,7 +27,6 @@
|
||||
#define MRK_PQI_CONNECTION_MANAGER_HEADER
|
||||
|
||||
#include "pqi/pqimonitor.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "serialiser/rsconfigitems.h"
|
||||
|
||||
//#include "pqi/p3dhtmgr.h"
|
||||
@ -191,7 +190,7 @@ class p3ConnectMgr: public pqiConnectCb, public p3Config
|
||||
{
|
||||
public:
|
||||
|
||||
p3ConnectMgr(p3AuthMgr *authMgr);
|
||||
p3ConnectMgr();
|
||||
|
||||
void tick();
|
||||
|
||||
@ -372,8 +371,6 @@ void addPeer(RsPeerConfigItem *item);
|
||||
|
||||
private:
|
||||
|
||||
p3AuthMgr *mAuthMgr;
|
||||
|
||||
p3tunnel *mP3tunnel;
|
||||
|
||||
std::map<uint32_t, pqiNetAssistFirewall *> mFwAgents;
|
||||
|
@ -87,7 +87,7 @@ static const int PQISSL_MAX_READ_ZERO_COUNT = 40;
|
||||
*
|
||||
*/
|
||||
|
||||
pqissl::pqissl(pqissllistener *l, PQInterface *parent, p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
pqissl::pqissl(pqissllistener *l, PQInterface *parent, p3ConnectMgr *cm)
|
||||
:NetBinInterface(parent, parent->PeerId()),
|
||||
waiting(WAITING_NOT), active(false), certvalid(false),
|
||||
sslmode(PQISSL_ACTIVE), ssl_connection(NULL), sockfd(-1),
|
||||
@ -97,15 +97,7 @@ pqissl::pqissl(pqissllistener *l, PQInterface *parent, p3AuthMgr *am, p3ConnectM
|
||||
sameLAN(false), n_read_zero(0),
|
||||
mConnectDelay(0), mConnectTS(0),
|
||||
mConnectTimeout(0), mTimeoutTS(0), quietShutdown(false),
|
||||
|
||||
/**************** PQI_USE_XPGP ******************/
|
||||
#if defined(PQI_USE_XPGP)
|
||||
mAuthMgr((AuthXPGP *) am), mConnMgr(cm)
|
||||
#else /* X509 Certificates */
|
||||
/**************** PQI_USE_XPGP ******************/
|
||||
mAuthMgr((AuthSSL *) am), mConnMgr(cm)
|
||||
#endif /* X509 Certificates */
|
||||
/**************** PQI_USE_XPGP ******************/
|
||||
mConnMgr(cm)
|
||||
|
||||
{
|
||||
/* set address to zero */
|
||||
|
@ -95,7 +95,7 @@ class pqissl: public NetBinInterface
|
||||
{
|
||||
public:
|
||||
pqissl(pqissllistener *l, PQInterface *parent,
|
||||
p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
p3ConnectMgr *cm);
|
||||
virtual ~pqissl();
|
||||
|
||||
// NetInterface
|
||||
|
@ -55,9 +55,8 @@ const int pqissllistenzone = 49787;
|
||||
*/
|
||||
|
||||
|
||||
pqissllistenbase::pqissllistenbase(struct sockaddr_in addr, p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:laddr(addr), active(false),
|
||||
mAuthMgr((AuthSSL *) am), mConnMgr(cm)
|
||||
pqissllistenbase::pqissllistenbase(struct sockaddr_in addr, p3ConnectMgr *cm)
|
||||
:laddr(addr), active(false), mConnMgr(cm)
|
||||
|
||||
{
|
||||
if (!(mAuthMgr -> active()))
|
||||
@ -521,8 +520,8 @@ int pqissllistenbase::continueaccepts()
|
||||
*
|
||||
*/
|
||||
|
||||
pqissllistener::pqissllistener(struct sockaddr_in addr, p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:pqissllistenbase(addr, am, cm)
|
||||
pqissllistener::pqissllistener(struct sockaddr_in addr, p3ConnectMgr *cm)
|
||||
:pqissllistenbase(addr, cm)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ class pqissllistenbase: public pqilistener
|
||||
public:
|
||||
|
||||
|
||||
pqissllistenbase(struct sockaddr_in addr, p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
pqissllistenbase(struct sockaddr_in addr, p3ConnectMgr *cm);
|
||||
virtual ~pqissllistenbase();
|
||||
|
||||
/*************************************/
|
||||
@ -99,7 +99,7 @@ class pqissllistener: public pqissllistenbase
|
||||
{
|
||||
public:
|
||||
|
||||
pqissllistener(struct sockaddr_in addr, p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
pqissllistener(struct sockaddr_in addr, p3ConnectMgr *cm);
|
||||
virtual ~pqissllistener();
|
||||
|
||||
int addlistenaddr(std::string id, pqissl *acc);
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include "util/rsdebug.h"
|
||||
|
||||
#include "pqi/pqisslpersongrp.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
|
||||
const int pqipersongrpzone = 354;
|
||||
@ -50,8 +50,7 @@ const int pqipersongrpzone = 354;
|
||||
|
||||
pqilistener * pqisslpersongrp::createListener(struct sockaddr_in laddr)
|
||||
{
|
||||
p3AuthMgr *authMgr = getAuthMgr();
|
||||
pqilistener *listener = new pqissllistener(laddr, authMgr, mConnMgr);
|
||||
pqilistener *listener = new pqissllistener(laddr, mConnMgr);
|
||||
return listener;
|
||||
}
|
||||
|
||||
@ -63,9 +62,8 @@ pqiperson * pqisslpersongrp::createPerson(std::string id, pqilistener *listener)
|
||||
pqioutput(PQL_DEBUG_BASIC, pqipersongrpzone, out.str());
|
||||
}
|
||||
|
||||
p3AuthMgr *authMgr = getAuthMgr();
|
||||
pqiperson *pqip = new pqiperson(id, this);
|
||||
pqissl *pqis = new pqissl((pqissllistener *) listener, pqip, authMgr, mConnMgr);
|
||||
pqissl *pqis = new pqissl((pqissllistener *) listener, pqip, mConnMgr);
|
||||
|
||||
/* construct the serialiser ....
|
||||
* Needs:
|
||||
@ -83,7 +81,7 @@ pqiperson * pqisslpersongrp::createPerson(std::string id, pqilistener *listener)
|
||||
|
||||
pqip -> addChildInterface(PQI_CONNECT_TCP, pqisc);
|
||||
|
||||
pqissltunnel *pqitun = new pqissltunnel(pqip, authMgr, mConnMgr);
|
||||
pqissltunnel *pqitun = new pqissltunnel(pqip, mConnMgr);
|
||||
RsSerialiser *rss3 = new RsSerialiser();
|
||||
rss3->addSerialType(new RsFileItemSerialiser());
|
||||
rss3->addSerialType(new RsCacheItemSerialiser());
|
||||
@ -92,7 +90,7 @@ pqiperson * pqisslpersongrp::createPerson(std::string id, pqilistener *listener)
|
||||
pqip -> addChildInterface(PQI_CONNECT_TUNNEL, pqicontun);
|
||||
|
||||
#ifndef PQI_DISABLE_UDP
|
||||
pqissludp *pqius = new pqissludp(pqip, authMgr, mConnMgr);
|
||||
pqissludp *pqius = new pqissludp(pqip, mConnMgr);
|
||||
|
||||
RsSerialiser *rss2 = new RsSerialiser();
|
||||
rss2->addSerialType(new RsFileItemSerialiser());
|
||||
|
@ -90,9 +90,8 @@ const int pqisslzone = 37714;
|
||||
*
|
||||
*/
|
||||
|
||||
pqissltunnel::pqissltunnel(PQInterface *parent, p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:NetBinInterface(parent, parent->PeerId()),
|
||||
mAuthMgr((AuthSSL *) am), mConnMgr(cm)
|
||||
pqissltunnel::pqissltunnel(PQInterface *parent, p3ConnectMgr *cm)
|
||||
:NetBinInterface(parent, parent->PeerId()), mConnMgr(cm)
|
||||
{
|
||||
active = false;
|
||||
waiting = TUNNEL_WAITING_NOT;
|
||||
|
@ -74,7 +74,7 @@ struct data_with_length {
|
||||
class pqissltunnel: public NetBinInterface
|
||||
{
|
||||
public:
|
||||
pqissltunnel(PQInterface *parent, p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
pqissltunnel(PQInterface *parent, p3ConnectMgr *cm);
|
||||
virtual ~pqissltunnel();
|
||||
|
||||
// NetInterface
|
||||
|
@ -52,8 +52,8 @@ static const uint32_t PQI_SSLUDP_DEF_CONN_PERIOD = 300; /* 5 minutes? */
|
||||
|
||||
/********** PQI SSL UDP STUFF **************************************/
|
||||
|
||||
pqissludp::pqissludp(PQInterface *parent, p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:pqissl(NULL, parent, am, cm), tou_bio(NULL),
|
||||
pqissludp::pqissludp(PQInterface *parent, p3ConnectMgr *cm)
|
||||
:pqissl(NULL, parent, cm), tou_bio(NULL),
|
||||
listen_checktime(0), mConnectPeriod(PQI_SSLUDP_DEF_CONN_PERIOD)
|
||||
{
|
||||
sockaddr_clear(&remote_addr);
|
||||
|
@ -55,7 +55,7 @@ class cert;
|
||||
class pqissludp: public pqissl
|
||||
{
|
||||
public:
|
||||
pqissludp(PQInterface *parent, p3AuthMgr *am, p3ConnectMgr *cm);
|
||||
pqissludp(PQInterface *parent, p3ConnectMgr *cm);
|
||||
|
||||
virtual ~pqissludp();
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
#include "util/rsdebug.h"
|
||||
const int p3facemsgzone = 11453;
|
||||
@ -102,8 +103,8 @@ int RsServer::UpdateAllConfig()
|
||||
|
||||
RsConfig &config = iface.mConfig;
|
||||
|
||||
config.ownId = mAuthMgr->OwnId();
|
||||
config.ownName = mAuthMgr->getName(config.ownId);
|
||||
config.ownId = getAuthSSL()->OwnId();
|
||||
config.ownName = getAuthSSL()->getName(config.ownId);
|
||||
peerConnectState pstate;
|
||||
mConnMgr->getOwnNetStatus(pstate);
|
||||
|
||||
@ -156,7 +157,7 @@ void RsServer::ConfigFinalSave()
|
||||
/* force saving of transfers TODO */
|
||||
//ftserver->saveFileTransferStatus();
|
||||
|
||||
mAuthMgr->FinalSaveCertificates();
|
||||
getAuthSSL()->FinalSaveCertificates();
|
||||
mConfigMgr->completeConfiguration();
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "tcponudp/tou.h"
|
||||
#include <sstream>
|
||||
|
||||
#include "pqi/authssl.h"
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
|
||||
@ -244,7 +245,7 @@ void RsServer::run()
|
||||
//ftserver->saveFileTransferStatus();
|
||||
|
||||
/* see if we need to resave certs */
|
||||
mAuthMgr->CheckSaveCertificates();
|
||||
getAuthSSL()->CheckSaveCertificates();
|
||||
|
||||
/* hour loop */
|
||||
if (++min >= 60)
|
||||
|
@ -42,6 +42,8 @@ const int p3facemsgzone = 11453;
|
||||
#include "services/p3msgservice.h"
|
||||
#include "services/p3chatservice.h"
|
||||
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
/* external reference point */
|
||||
RsMsgs *rsMsgs = NULL;
|
||||
|
||||
@ -154,7 +156,7 @@ bool p3Msgs::getNewChat(std::list<ChatInfo> &chats)
|
||||
void p3Msgs::initRsChatInfo(RsChatMsgItem *c, ChatInfo &i)
|
||||
{
|
||||
i.rsid = c -> PeerId();
|
||||
i.name = mAuthMgr->getName(i.rsid);
|
||||
i.name = getAuthSSL()->getName(i.rsid);
|
||||
i.chatflags = 0 ;
|
||||
i.msg = c -> message;
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "rsserver/p3peers.h"
|
||||
#include "rsserver/p3face.h"
|
||||
#include "pqi/p3connmgr.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
#include <rsiface/rsinit.h>
|
||||
|
||||
#include <iostream>
|
||||
@ -165,8 +165,8 @@ std::string RsPeerLastConnectString(uint32_t lastConnect)
|
||||
}
|
||||
|
||||
|
||||
p3Peers::p3Peers(p3ConnectMgr *cm, p3AuthMgr *am)
|
||||
:mConnMgr(cm), mAuthMgr(am)
|
||||
p3Peers::p3Peers(p3ConnectMgr *cm)
|
||||
:mConnMgr(cm)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -202,7 +202,7 @@ std::string p3Peers::getOwnId()
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
return mAuthMgr->OwnId();
|
||||
return getAuthSSL()->OwnId();
|
||||
}
|
||||
|
||||
bool p3Peers::getOnlineList(std::list<std::string> &ids)
|
||||
@ -237,7 +237,7 @@ bool p3Peers::getOthersList(std::list<std::string> &ids)
|
||||
#endif
|
||||
|
||||
/* get from mAuthMgr */
|
||||
mAuthMgr->getAllList(ids);
|
||||
getAuthSSL()->getAllList(ids);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -260,7 +260,7 @@ bool p3Peers::isOnline(std::string id)
|
||||
|
||||
bool p3Peers::isTrustingMe(std::string id) const
|
||||
{
|
||||
return mAuthMgr->isTrustingMe(id) ;
|
||||
return getAuthSSL()->isTrustingMe(id) ;
|
||||
}
|
||||
|
||||
bool p3Peers::isFriend(std::string id)
|
||||
@ -301,8 +301,8 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
|
||||
#endif
|
||||
|
||||
/* get from mAuthMgr (first) */
|
||||
pqiAuthDetails authDetail;
|
||||
if (!mAuthMgr->getDetails(id, authDetail))
|
||||
sslcert authDetail;
|
||||
if (!getAuthSSL()->getCertDetails(id, authDetail))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -317,16 +317,8 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
|
||||
|
||||
d.issuer = authDetail.issuer;
|
||||
|
||||
d.ownsign = authDetail.ownsign;
|
||||
d.trusted = authDetail.trusted;
|
||||
d.trusted = getAuthGPG()->isPGPAuthenticated(getAuthSSL()->getGPGId(id));
|
||||
|
||||
#ifdef RS_USE_PGPSSL
|
||||
d.trustLvl = authDetail.trustLvl;
|
||||
d.validLvl = authDetail.validLvl;
|
||||
#else
|
||||
d.trustLvl = RsPeerTranslateTrust(authDetail.trustLvl);
|
||||
d.validLvl = RsPeerTranslateTrust(authDetail.trustLvl);
|
||||
#endif
|
||||
|
||||
/* generate */
|
||||
d.authcode = "AUTHCODE";
|
||||
@ -334,7 +326,7 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
|
||||
/* get from mConnectMgr */
|
||||
peerConnectState pcs;
|
||||
|
||||
if (id == mAuthMgr->OwnId())
|
||||
if (id == getAuthSSL()->OwnId())
|
||||
{
|
||||
mConnMgr->getOwnNetStatus(pcs);
|
||||
}
|
||||
@ -478,7 +470,7 @@ bool p3Peers::getPeerDetails(std::string id, RsPeerDetails &d)
|
||||
std::string p3Peers::getPeerPGPName(std::string id)
|
||||
{
|
||||
/* get from mAuthMgr as it should have more peers? */
|
||||
return mAuthMgr->getIssuerName(id);
|
||||
return getAuthSSL()->getIssuerName(id);
|
||||
}
|
||||
|
||||
std::string p3Peers::getPeerName(std::string id)
|
||||
@ -489,7 +481,7 @@ std::string p3Peers::getPeerName(std::string id)
|
||||
#endif
|
||||
|
||||
/* get from mAuthMgr as it should have more peers? */
|
||||
return mAuthMgr->getName(id);
|
||||
return getAuthSSL()->getName(id);
|
||||
}
|
||||
|
||||
|
||||
@ -508,8 +500,8 @@ bool p3Peers::getPGPFriendList(std::list<std::string> &ids)
|
||||
/* get from mAuthMgr (first) */
|
||||
for(it = certids.begin(); it != certids.end(); it++)
|
||||
{
|
||||
pqiAuthDetails detail;
|
||||
if (!mAuthMgr->getDetails(*it, detail))
|
||||
sslcert detail;
|
||||
if (!getAuthSSL()->getCertDetails(*it, detail))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -552,7 +544,7 @@ bool p3Peers::getPGPAllList(std::list<std::string> &ids)
|
||||
#endif
|
||||
|
||||
/* get from mAuthMgr */
|
||||
mAuthMgr->getPGPAllList(ids);
|
||||
getAuthGPG()->getPGPAllList(ids);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -564,7 +556,7 @@ std::string p3Peers::getPGPOwnId()
|
||||
#endif
|
||||
|
||||
/* get from mAuthMgr */
|
||||
return mAuthMgr->PGPOwnId();
|
||||
return getAuthGPG()->PGPOwnId();
|
||||
}
|
||||
|
||||
|
||||
@ -742,12 +734,12 @@ p3Peers::GetRetroshareInvite()
|
||||
std::cerr << "p3Peers::GetRetroshareInvite()";
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::string ownId = mAuthMgr->OwnId();
|
||||
std::string certstr = mAuthMgr->SaveCertificateToString(ownId);
|
||||
std::string name = mAuthMgr->getName(ownId);
|
||||
std::string ownId = getAuthSSL()->OwnId();
|
||||
std::string certstr = getAuthSSL()->SaveCertificateToString(ownId);
|
||||
std::string name = getAuthSSL()->getName(ownId);
|
||||
|
||||
std::string pgpownId = mAuthMgr->PGPOwnId();
|
||||
std::string pgpcertstr = mAuthMgr->SaveCertificateToString(pgpownId);
|
||||
std::string pgpownId = getAuthGPG()->PGPOwnId();
|
||||
std::string pgpcertstr = getAuthGPG()->SaveCertificateToString(pgpownId);
|
||||
|
||||
std::cerr << "p3Peers::GetRetroshareInvite() SSL Cert:";
|
||||
std::cerr << std::endl;
|
||||
@ -776,7 +768,7 @@ bool p3Peers::LoadCertificateFromFile(std::string fname, std::string &id)
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
return mAuthMgr->LoadCertificateFromFile(fname, id);
|
||||
return getAuthSSL()->LoadCertificateFromFile(fname, id);
|
||||
}
|
||||
|
||||
|
||||
@ -841,14 +833,14 @@ bool p3Peers::LoadCertificateFromString(std::string cert, std::string &id)
|
||||
std::cerr << "pgpcert .... " << std::endl;
|
||||
std::cerr << pgpcert << std::endl;
|
||||
|
||||
ret = mAuthMgr->LoadCertificateFromString(pgpcert, id);
|
||||
ret = getAuthGPG()->LoadCertificateFromString(pgpcert);
|
||||
}
|
||||
if (sslcert != "")
|
||||
{
|
||||
std::cerr << "sslcert .... " << std::endl;
|
||||
std::cerr << sslcert << std::endl;
|
||||
|
||||
ret = mAuthMgr->LoadCertificateFromString(sslcert, id);
|
||||
ret = getAuthSSL()->LoadCertificateFromString(sslcert, id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -868,7 +860,7 @@ bool p3Peers::SaveCertificateToFile(std::string id, std::string fname)
|
||||
|
||||
ensureExtension(fname, "pqi");
|
||||
|
||||
return mAuthMgr->SaveCertificateToFile(id, fname);
|
||||
return getAuthSSL()->SaveCertificateToFile(id, fname);
|
||||
}
|
||||
|
||||
std::string p3Peers::SaveCertificateToString(std::string id)
|
||||
@ -878,7 +870,7 @@ std::string p3Peers::SaveCertificateToString(std::string id)
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
return mAuthMgr->SaveCertificateToString(id);
|
||||
return getAuthSSL()->SaveCertificateToString(id);
|
||||
}
|
||||
|
||||
bool p3Peers::AuthCertificate(std::string id, std::string code)
|
||||
@ -888,7 +880,7 @@ bool p3Peers::AuthCertificate(std::string id, std::string code)
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
if (mAuthMgr->AuthCertificate(id))
|
||||
if (getAuthSSL()->AuthCertificate(id))
|
||||
{
|
||||
#ifdef P3PEERS_DEBUG
|
||||
std::cerr << "p3Peers::AuthCertificate() OK ... Adding as Friend";
|
||||
@ -908,7 +900,7 @@ bool p3Peers::SignCertificate(std::string id)
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
return mAuthMgr->SignCertificate(id);
|
||||
return getAuthSSL()->SignCertificate(id);
|
||||
}
|
||||
|
||||
bool p3Peers::TrustCertificate(std::string id, bool trust)
|
||||
@ -918,7 +910,7 @@ bool p3Peers::TrustCertificate(std::string id, bool trust)
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
return mAuthMgr->TrustCertificate(id, trust);
|
||||
return getAuthSSL()->TrustCertificate(id, trust);
|
||||
}
|
||||
|
||||
|
||||
|
@ -28,13 +28,12 @@
|
||||
|
||||
#include "rsiface/rspeers.h"
|
||||
#include "pqi/p3connmgr.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
|
||||
class p3Peers: public RsPeers
|
||||
{
|
||||
public:
|
||||
|
||||
p3Peers(p3ConnectMgr *cm, p3AuthMgr *am);
|
||||
p3Peers(p3ConnectMgr *cm);
|
||||
virtual ~p3Peers() { return; }
|
||||
|
||||
/* Updates ... */
|
||||
@ -95,7 +94,6 @@ virtual bool TrustCertificate(std::string id, bool trust);
|
||||
private:
|
||||
|
||||
p3ConnectMgr *mConnMgr;
|
||||
p3AuthMgr *mAuthMgr;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -46,8 +46,8 @@
|
||||
// for blocking signals
|
||||
#include <signal.h>
|
||||
|
||||
#include "pqi/authgpg.h"
|
||||
#include "pqi/authssl.h"
|
||||
#include "pqi/authgpg.h"
|
||||
|
||||
class accountId
|
||||
{
|
||||
@ -469,7 +469,7 @@ int RsInit::InitRetroShare(int argcIgnored, char **argvIgnored)
|
||||
* 2) Get List of Available Accounts.
|
||||
* 4) Get List of GPG Accounts.
|
||||
*/
|
||||
getAuthMgr() -> InitAuth(NULL, NULL, NULL);
|
||||
getAuthSSL() -> InitAuth(NULL, NULL, NULL);
|
||||
|
||||
// first check config directories, and set bootstrap values.
|
||||
setupBaseDir();
|
||||
@ -766,50 +766,27 @@ static bool checkAccount(std::string accountdir, accountId &id)
|
||||
|
||||
|
||||
/* Generating GPGme Account */
|
||||
int RsInit::GetPGPLogins(std::list<std::string> &pgpIds)
|
||||
{
|
||||
#ifdef PQI_USE_SSLONLY
|
||||
return 0;
|
||||
#else // PGP+SSL
|
||||
GPGAuthMgr *mgr = (GPGAuthMgr *) getAuthMgr();
|
||||
|
||||
mgr->availablePGPCertificates(pgpIds);
|
||||
int RsInit::GetPGPLogins(std::list<std::string> &pgpIds) {
|
||||
getAuthGPG()->availablePGPCertificates(pgpIds);
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool RsInit::getPGPEngineFileName(std::string &fileName)
|
||||
{
|
||||
#ifdef PQI_USE_SSLONLY
|
||||
return false;
|
||||
#else // PGP+SSL
|
||||
GPGAuthMgr *mgr = (GPGAuthMgr *) getAuthMgr();
|
||||
|
||||
return mgr->getPGPEngineFileName(fileName);
|
||||
#endif
|
||||
bool RsInit::getPGPEngineFileName(std::string &fileName) {
|
||||
return getAuthGPG()->getPGPEngineFileName(fileName);
|
||||
}
|
||||
|
||||
int RsInit::GetPGPLoginDetails(std::string id, std::string &name, std::string &email)
|
||||
{
|
||||
std::cerr << "RsInit::GetPGPLoginDetails for \"" << id << "\"";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "RsInit::GetPGPLoginDetails for \"" << id << "\"";
|
||||
std::cerr << std::endl;
|
||||
|
||||
#ifdef PQI_USE_SSLONLY
|
||||
return 0;
|
||||
#else // PGP+SSL
|
||||
|
||||
GPGAuthMgr *mgr = (GPGAuthMgr *) getAuthMgr();
|
||||
pqiAuthDetails details;
|
||||
if (!mgr->getDetails(id, details))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
name = details.name;
|
||||
email = details.email;
|
||||
|
||||
return 1;
|
||||
#endif
|
||||
name = getAuthGPG()->getPGPName(getAuthSSL()->getGPGId(id));
|
||||
email = getAuthGPG()->getPGPEmail(getAuthSSL()->getGPGId(id));
|
||||
if (name != "") {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Before any SSL stuff can be loaded, the correct PGP must be selected / generated:
|
||||
@ -821,7 +798,7 @@ bool RsInit::SelectGPGAccount(std::string id)
|
||||
std::string gpgId = id;
|
||||
std::string name = id;
|
||||
|
||||
GPGAuthMgr *gpgAuthMgr = (GPGAuthMgr *) getAuthMgr();
|
||||
GPGAuthMgr *gpgAuthMgr = getAuthGPG();
|
||||
if (0 < gpgAuthMgr -> GPGInit(gpgId))
|
||||
{
|
||||
ok = true;
|
||||
@ -841,7 +818,7 @@ bool RsInit::SelectGPGAccount(std::string id)
|
||||
|
||||
bool RsInit::LoadGPGPassword(std::string inPGPpasswd)
|
||||
{
|
||||
GPGAuthMgr *gpgAuthMgr = (GPGAuthMgr *) getAuthMgr();
|
||||
GPGAuthMgr *gpgAuthMgr =getAuthGPG();
|
||||
|
||||
bool ok = false;
|
||||
if (0 < gpgAuthMgr -> LoadGPGPassword(inPGPpasswd))
|
||||
@ -1221,25 +1198,8 @@ int RsInit::LoadCertificates(bool autoLoginNT)
|
||||
return 0;
|
||||
}
|
||||
|
||||
//std::string ca_loc = RsInitConfig::basedir + RsInitConfig::dirSeperator;
|
||||
//ca_loc += configCaFile;
|
||||
|
||||
p3AuthMgr *authMgr = getAuthMgr();
|
||||
|
||||
bool ok = false;
|
||||
|
||||
#if defined(PQI_USE_SSLONLY)
|
||||
std::cerr << "Calling initAuth debug 2." << std::endl;
|
||||
if (0 < authMgr -> InitAuth(RsInitConfig::load_cert.c_str(), RsInitConfig::load_key.c_str(),RsInitConfig::passwd.c_str()))
|
||||
{
|
||||
ok = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "AuthSSL::InitAuth Failed" << std::endl;
|
||||
}
|
||||
|
||||
#else /* X509 Certificates */
|
||||
/* The SSL / SSL + PGP version requires, SSL init + PGP init. */
|
||||
const char* sslPassword;
|
||||
sslPassword = RsInitConfig::passwd.c_str();
|
||||
@ -1256,7 +1216,7 @@ int RsInit::LoadCertificates(bool autoLoginNT)
|
||||
gpgme_data_t plain;
|
||||
gpgme_data_new_from_mem(&plain, sslPassword, strlen(sslPassword), 1);
|
||||
gpgme_data_new_from_stream (&cipher, sslPassphraseFile);
|
||||
if (0 < authMgr->encryptText(plain, cipher)) {
|
||||
if (0 < getAuthGPG()->encryptText(plain, cipher)) {
|
||||
std::cerr << "Encrypting went ok !" << std::endl;
|
||||
}
|
||||
gpgme_data_release (cipher);
|
||||
@ -1277,7 +1237,7 @@ int RsInit::LoadCertificates(bool autoLoginNT)
|
||||
gpgme_data_t plain;
|
||||
gpgme_data_new (&plain);
|
||||
gpgme_error_t error_reading_file = gpgme_data_new_from_stream (&cipher, sslPassphraseFile);
|
||||
if (0 < authMgr->decryptText(cipher, plain)) {
|
||||
if (0 < getAuthGPG()->decryptText(cipher, plain)) {
|
||||
std::cerr << "Decrypting went ok !" << std::endl;
|
||||
gpgme_data_write (plain, "", 1);
|
||||
sslPassword = gpgme_data_release_and_get_mem(plain, NULL);
|
||||
@ -1293,7 +1253,7 @@ int RsInit::LoadCertificates(bool autoLoginNT)
|
||||
|
||||
std::cerr << "RsInitConfig::load_key.c_str() : " << RsInitConfig::load_key.c_str() << std::endl;
|
||||
std::cerr << "sslPassword : " << sslPassword << std::endl;;
|
||||
if (0 < authMgr -> InitAuth(RsInitConfig::load_cert.c_str(), RsInitConfig::load_key.c_str(), sslPassword))
|
||||
if (0 < getAuthSSL() -> InitAuth(RsInitConfig::load_cert.c_str(), RsInitConfig::load_key.c_str(), sslPassword))
|
||||
{
|
||||
ok = true;
|
||||
}
|
||||
@ -1302,7 +1262,6 @@ int RsInit::LoadCertificates(bool autoLoginNT)
|
||||
std::cerr << "SSL Auth Failed!";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
#endif /* X509 Certificates */
|
||||
|
||||
if (ok)
|
||||
{
|
||||
@ -1869,9 +1828,7 @@ int RsServer::StartupRetroShare()
|
||||
/* (1) Load up own certificate (DONE ALREADY) - just CHECK */
|
||||
/**************************************************************************/
|
||||
|
||||
mAuthMgr = getAuthMgr();
|
||||
|
||||
if (1 != mAuthMgr -> InitAuth(NULL, NULL, NULL))
|
||||
if (1 != getAuthSSL() -> InitAuth(NULL, NULL, NULL))
|
||||
{
|
||||
std::cerr << "main() - Fatal Error....." << std::endl;
|
||||
std::cerr << "Invalid Certificate configuration!" << std::endl;
|
||||
@ -1879,7 +1836,7 @@ int RsServer::StartupRetroShare()
|
||||
exit(1);
|
||||
}
|
||||
|
||||
std::string ownId = mAuthMgr->OwnId();
|
||||
std::string ownId = getAuthSSL()->OwnId();
|
||||
|
||||
/**************************************************************************/
|
||||
/* Any Initial Configuration (Commandline Options) */
|
||||
@ -1924,9 +1881,9 @@ int RsServer::StartupRetroShare()
|
||||
bool oldFormat = false;
|
||||
std::map<std::string, std::string> oldConfigMap;
|
||||
|
||||
mAuthMgr -> setConfigDirectories(certConfigFile, certNeighDir);
|
||||
getAuthSSL() -> setConfigDirectories(certConfigFile, certNeighDir);
|
||||
|
||||
mAuthMgr -> loadCertificates();
|
||||
getAuthSSL() -> loadCertificates();
|
||||
|
||||
/**************************************************************************/
|
||||
/* setup classes / structures */
|
||||
@ -1936,7 +1893,7 @@ int RsServer::StartupRetroShare()
|
||||
/* Setup Notify Early - So we can use it. */
|
||||
rsNotify = new p3Notify();
|
||||
|
||||
mConnMgr = new p3ConnectMgr(mAuthMgr);
|
||||
mConnMgr = new p3ConnectMgr();
|
||||
pqiNetAssistFirewall *mUpnpMgr = new upnphandler();
|
||||
//p3DhtMgr *mDhtMgr = new OpenDHTMgr(ownId, mConnMgr, RsInitConfig::configDir);
|
||||
|
||||
@ -1945,7 +1902,7 @@ int RsServer::StartupRetroShare()
|
||||
//pqih = new pqipersongrpDummy(none, flags);
|
||||
|
||||
/****** New Ft Server **** !!! */
|
||||
ftserver = new ftServer(mAuthMgr, mConnMgr);
|
||||
ftserver = new ftServer(mConnMgr);
|
||||
ftserver->setP3Interface(pqih);
|
||||
ftserver->setConfigDirectory(RsInitConfig::configDir);
|
||||
|
||||
@ -1962,15 +1919,15 @@ int RsServer::StartupRetroShare()
|
||||
rsFiles = ftserver;
|
||||
|
||||
|
||||
mConfigMgr = new p3ConfigMgr(mAuthMgr, RsInitConfig::configDir, "rs-v0.5.cfg", "rs-v0.5.sgn");
|
||||
mConfigMgr = new p3ConfigMgr(RsInitConfig::configDir, "rs-v0.5.cfg", "rs-v0.5.sgn");
|
||||
mGeneralConfig = new p3GeneralConfig();
|
||||
|
||||
/* create Services */
|
||||
ad = new p3disc(mAuthMgr, mConnMgr, pqih);
|
||||
ad = new p3disc(mConnMgr, pqih);
|
||||
msgSrv = new p3MsgService(mConnMgr);
|
||||
chatSrv = new p3ChatService(mConnMgr);
|
||||
|
||||
p3tunnel *tn = new p3tunnel(mAuthMgr,mConnMgr, pqih);
|
||||
p3tunnel *tn = new p3tunnel(mConnMgr, pqih);
|
||||
pqih -> addService(tn);
|
||||
mConnMgr->setP3tunnel(tn);
|
||||
|
||||
@ -2000,7 +1957,7 @@ int RsServer::StartupRetroShare()
|
||||
|
||||
p3Forums *mForums = new p3Forums(RS_SERVICE_TYPE_FORUM,
|
||||
mCacheStrapper, mCacheTransfer,
|
||||
localcachedir, remotecachedir, mAuthMgr);
|
||||
localcachedir, remotecachedir);
|
||||
|
||||
CachePair cp4(mForums, mForums, CacheId(RS_SERVICE_TYPE_FORUM, 0));
|
||||
mCacheStrapper -> addCachePair(cp4);
|
||||
@ -2008,7 +1965,7 @@ int RsServer::StartupRetroShare()
|
||||
|
||||
p3Channels *mChannels = new p3Channels(RS_SERVICE_TYPE_CHANNEL,
|
||||
mCacheStrapper, mCacheTransfer, rsFiles,
|
||||
localcachedir, remotecachedir, channelsdir, mAuthMgr);
|
||||
localcachedir, remotecachedir, channelsdir);
|
||||
|
||||
CachePair cp5(mChannels, mChannels, CacheId(RS_SERVICE_TYPE_CHANNEL, 0));
|
||||
mCacheStrapper -> addCachePair(cp5);
|
||||
@ -2177,7 +2134,7 @@ int RsServer::StartupRetroShare()
|
||||
|
||||
/* Setup GUI Interfaces. */
|
||||
|
||||
rsPeers = new p3Peers(mConnMgr, mAuthMgr);
|
||||
rsPeers = new p3Peers(mConnMgr);
|
||||
rsMsgs = new p3Msgs(mAuthMgr, msgSrv, chatSrv);
|
||||
rsDisc = new p3Discovery(ad);
|
||||
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include <iomanip>
|
||||
#include "pqi/pqistore.h"
|
||||
#include "pqi/pqibin.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
|
||||
const uint32_t BLOG_MAX_FWD_OFFSET = (60 * 60 * 24 * 2); /* 2 Days */
|
||||
const uint32_t FRIEND_QBLOG_REPOST_PERIOD = 60; /* every minute for testing */
|
||||
|
@ -73,10 +73,9 @@ RsChannels *rsChannels = NULL;
|
||||
|
||||
p3Channels::p3Channels(uint16_t type, CacheStrapper *cs,
|
||||
CacheTransfer *cft, RsFiles *files,
|
||||
std::string srcdir, std::string storedir, std::string chanDir,
|
||||
p3AuthMgr *mgr)
|
||||
std::string srcdir, std::string storedir, std::string chanDir)
|
||||
:p3GroupDistrib(type, cs, cft, srcdir, storedir,
|
||||
CONFIG_TYPE_CHANNELS, CHANNEL_STOREPERIOD, CHANNEL_PUBPERIOD, mgr),
|
||||
CONFIG_TYPE_CHANNELS, CHANNEL_STOREPERIOD, CHANNEL_PUBPERIOD),
|
||||
mRsFiles(files),
|
||||
mChannelsDir(chanDir)
|
||||
{
|
||||
|
@ -39,7 +39,7 @@ class p3Channels: public p3GroupDistrib, public RsChannels
|
||||
public:
|
||||
|
||||
p3Channels(uint16_t type, CacheStrapper *cs, CacheTransfer *cft, RsFiles *files,
|
||||
std::string srcdir, std::string storedir, std::string channelsdir, p3AuthMgr *mgr);
|
||||
std::string srcdir, std::string storedir, std::string channelsdir);
|
||||
virtual ~p3Channels();
|
||||
|
||||
/****************************************/
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "rsiface/rspeers.h"
|
||||
#include "services/p3disc.h"
|
||||
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
#include "pqi/p3connmgr.h"
|
||||
|
||||
#include <iostream>
|
||||
@ -79,8 +79,8 @@ const uint32_t P3DISC_FLAGS_ASK_VERSION = 0x0080;
|
||||
******************************************************************************************
|
||||
*****************************************************************************************/
|
||||
|
||||
p3disc::p3disc(p3AuthMgr *am, p3ConnectMgr *cm, pqipersongrp *pqih)
|
||||
:p3Service(RS_SERVICE_TYPE_DISC), mAuthMgr(am), mConnMgr(cm), mPqiPersonGrp(pqih)
|
||||
p3disc::p3disc(p3ConnectMgr *cm, pqipersongrp *pqih)
|
||||
:p3Service(RS_SERVICE_TYPE_DISC), mConnMgr(cm), mPqiPersonGrp(pqih)
|
||||
{
|
||||
RsStackMutex stack(mDiscMtx); /********** STACK LOCKED MTX ******/
|
||||
|
||||
@ -91,7 +91,7 @@ p3disc::p3disc(p3AuthMgr *am, p3ConnectMgr *cm, pqipersongrp *pqih)
|
||||
lastSentHeartbeatTime = 0;
|
||||
|
||||
//add own version to versions map
|
||||
versions[mAuthMgr->OwnId()] = RsUtil::retroshareVersion();
|
||||
versions[getAuthSSL()->OwnId()] = RsUtil::retroshareVersion();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -516,7 +516,7 @@ void p3disc::sendPeerDetails(std::string to, std::string about)
|
||||
|
||||
unsigned char **binptr = (unsigned char **) &(di -> certDER.bin_data);
|
||||
|
||||
mAuthMgr->SaveCertificateToBinary(about, binptr, &certLen);
|
||||
getAuthSSL()->SaveCertificateToBinary(about, binptr, &certLen);
|
||||
#ifdef P3DISC_DEBUG
|
||||
std::cerr << "Saved certificate to binary in p3discReply. Length=" << certLen << std::endl ;
|
||||
#endif
|
||||
@ -565,7 +565,7 @@ void p3disc::sendPeerIssuer(std::string to, std::string about)
|
||||
#endif
|
||||
}
|
||||
|
||||
std::string aboutIssuerId = mAuthMgr->getIssuerName(about);
|
||||
std::string aboutIssuerId = getAuthSSL()->getIssuerName(about);
|
||||
if (aboutIssuerId == "")
|
||||
{
|
||||
/* major error! */
|
||||
@ -579,7 +579,7 @@ void p3disc::sendPeerIssuer(std::string to, std::string about)
|
||||
// Set Target as input cert.
|
||||
di -> PeerId(to);
|
||||
|
||||
di -> issuerCert = mAuthMgr->SaveCertificateToString(aboutIssuerId);
|
||||
di -> issuerCert = getAuthSSL()->SaveCertificateToString(aboutIssuerId);
|
||||
|
||||
#ifdef P3DISC_DEBUG
|
||||
std::cerr << "Saved certificate to string in RsDiscIssuer. " << std::endl ;
|
||||
@ -719,7 +719,7 @@ void p3disc::recvPeerFriendMsg(RsDiscReply *item)
|
||||
uint8_t *certptr = (uint8_t *) item->certDER.bin_data;
|
||||
uint32_t len = item->certDER.bin_len;
|
||||
|
||||
bool loaded = mAuthMgr->LoadCertificateFromBinary(certptr, len, peerId);
|
||||
bool loaded = getAuthSSL()->LoadCertificateFromBinary(certptr, len, peerId);
|
||||
|
||||
uint32_t type = 0;
|
||||
uint32_t flags = 0;
|
||||
@ -732,7 +732,7 @@ void p3disc::recvPeerFriendMsg(RsDiscReply *item)
|
||||
{
|
||||
std::cerr << " Found a peer that trust me: " << peerId << " (" << rsPeers->getPeerName(peerId) << ")" << std::endl ;
|
||||
flags |= RS_NET_FLAGS_TRUSTS_ME;
|
||||
mAuthMgr->addTrustingPeer(peerId) ;
|
||||
getAuthSSL()->addTrustingPeer(peerId) ;
|
||||
}
|
||||
|
||||
/* generate type */
|
||||
@ -804,7 +804,7 @@ void p3disc::recvPeerIssuerMsg(RsDiscIssuer *item)
|
||||
|
||||
/* load certificate */
|
||||
std::string peerId;
|
||||
bool loaded = mAuthMgr->LoadCertificateFromString(item->issuerCert, peerId);
|
||||
bool loaded = getAuthSSL()->LoadCertificateFromString(item->issuerCert, peerId);
|
||||
|
||||
/* cleanup (handled by caller) */
|
||||
|
||||
|
@ -38,7 +38,6 @@
|
||||
#include "pqi/pqipersongrp.h"
|
||||
|
||||
class p3ConnectMgr;
|
||||
class p3AuthMgr;
|
||||
|
||||
#include "pqi/pqimonitor.h"
|
||||
#include "serialiser/rsdiscitems.h"
|
||||
@ -72,7 +71,6 @@ class autoneighbour: public autoserver
|
||||
|
||||
};
|
||||
|
||||
class p3AuthMgr;
|
||||
class p3ConnectMgr;
|
||||
|
||||
|
||||
@ -81,7 +79,7 @@ class p3disc: public p3Service, public pqiMonitor
|
||||
public:
|
||||
|
||||
|
||||
p3disc(p3AuthMgr *am, p3ConnectMgr *cm, pqipersongrp *persGrp);
|
||||
p3disc(p3ConnectMgr *cm, pqipersongrp *persGrp);
|
||||
|
||||
/************* from pqiMonitor *******************/
|
||||
virtual void statusChange(const std::list<pqipeer> &plist);
|
||||
@ -123,7 +121,6 @@ int idServers();
|
||||
|
||||
private:
|
||||
|
||||
p3AuthMgr *mAuthMgr;
|
||||
p3ConnectMgr *mConnMgr;
|
||||
pqipersongrp *mPqiPersonGrp;
|
||||
time_t lastSentHeartbeatTime;
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "util/rsdir.h"
|
||||
#include "pqi/pqinotify.h"
|
||||
#include "pqi/pqibin.h"
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
/*****
|
||||
* #define DISTRIB_DEBUG 1
|
||||
@ -49,13 +50,11 @@ p3GroupDistrib::p3GroupDistrib(uint16_t subtype,
|
||||
CacheStrapper *cs, CacheTransfer *cft,
|
||||
std::string sourcedir, std::string storedir,
|
||||
uint32_t configId,
|
||||
uint32_t storePeriod, uint32_t pubPeriod,
|
||||
p3AuthMgr *mgr)
|
||||
uint32_t storePeriod, uint32_t pubPeriod)
|
||||
|
||||
:CacheSource(subtype, true, cs, sourcedir),
|
||||
CacheStore(subtype, true, cs, cft, storedir),
|
||||
p3Config(configId), nullService(subtype),
|
||||
mAuthMgr(mgr),
|
||||
p3Config(configId), nullService(subtype),
|
||||
mStorePeriod(storePeriod),
|
||||
mPubPeriod(pubPeriod),
|
||||
mLastPublishTime(0),
|
||||
@ -67,7 +66,7 @@ p3GroupDistrib::p3GroupDistrib(uint16_t subtype,
|
||||
/* force publication of groups (cleared if local cache file found) */
|
||||
mGroupsRepublish = true;
|
||||
|
||||
mOwnId = mAuthMgr->OwnId();
|
||||
mOwnId = getAuthSSL()->OwnId();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1729,10 +1728,10 @@ std::string p3GroupDistrib::publishMsg(RsDistribMsg *msg, bool personalSign)
|
||||
{
|
||||
unsigned int siglen = EVP_PKEY_size(publishKey);
|
||||
unsigned char sigbuf[siglen];
|
||||
if (mAuthMgr->SignDataBin(data, size, sigbuf, &siglen))
|
||||
if (getAuthGPG()->SignDataBin(data, size, sigbuf, &siglen))
|
||||
{
|
||||
signedMsg->personalSignature.signData.setBinData(sigbuf, siglen);
|
||||
signedMsg->personalSignature.keyId = mAuthMgr->OwnId();
|
||||
signedMsg->personalSignature.keyId = getAuthGPG()->PGPOwnId();
|
||||
}
|
||||
}
|
||||
|
||||
@ -2451,7 +2450,7 @@ bool p3GroupDistrib::locked_validateDistribSignedMsg(
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
if (mAuthMgr->isValid(newMsg->personalSignature.keyId))
|
||||
if (getAuthGPG()->isPGPValid(newMsg->personalSignature.keyId))
|
||||
{
|
||||
#ifdef DISTRIB_DEBUG
|
||||
std::cerr << "p3GroupDistrib::locked_validateDistribSignedMsg() Peer Known";
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "pqi/pqi.h"
|
||||
#include "pqi/pqistore.h"
|
||||
#include "pqi/p3cfgmgr.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "services/p3service.h"
|
||||
#include "dbase/cachestrapper.h"
|
||||
#include "serialiser/rsforumitems.h"
|
||||
@ -212,8 +211,7 @@ class p3GroupDistrib: public CacheSource, public CacheStore, public p3Config, pu
|
||||
CacheStrapper *cs, CacheTransfer *cft,
|
||||
std::string sourcedir, std::string storedir,
|
||||
uint32_t configId,
|
||||
uint32_t storePeriod, uint32_t pubPeriod,
|
||||
p3AuthMgr *mgr);
|
||||
uint32_t storePeriod, uint32_t pubPeriod);
|
||||
|
||||
|
||||
/***************************************************************************************/
|
||||
|
@ -24,6 +24,7 @@
|
||||
*/
|
||||
|
||||
#include "services/p3forums.h"
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
uint32_t convertToInternalFlags(uint32_t extFlags);
|
||||
uint32_t convertToExternalFlags(uint32_t intFlags);
|
||||
@ -76,11 +77,9 @@ RsForums *rsForums = NULL;
|
||||
#define FORUM_PUBPERIOD 600 /* 10 minutes ... (max = 455 days) */
|
||||
|
||||
p3Forums::p3Forums(uint16_t type, CacheStrapper *cs, CacheTransfer *cft,
|
||||
std::string srcdir, std::string storedir,
|
||||
p3AuthMgr *mgr)
|
||||
std::string srcdir, std::string storedir)
|
||||
:p3GroupDistrib(type, cs, cft, srcdir, storedir,
|
||||
CONFIG_TYPE_FORUMS, FORUM_STOREPERIOD, FORUM_PUBPERIOD,
|
||||
mgr),
|
||||
CONFIG_TYPE_FORUMS, FORUM_STOREPERIOD, FORUM_PUBPERIOD),
|
||||
mForumsChanged(false)
|
||||
{
|
||||
//loadDummyData();
|
||||
@ -298,7 +297,7 @@ std::string p3Forums::createForumMsg(std::string fId, std::string pId,
|
||||
fmsg->msg = msg;
|
||||
if (signIt)
|
||||
{
|
||||
fmsg->srcId = mAuthMgr->OwnId();
|
||||
fmsg->srcId = getAuthSSL()->OwnId();
|
||||
}
|
||||
fmsg->timestamp = time(NULL);
|
||||
|
||||
|
@ -73,7 +73,7 @@ class p3Forums: public p3GroupDistrib, public RsForums
|
||||
public:
|
||||
|
||||
p3Forums(uint16_t type, CacheStrapper *cs, CacheTransfer *cft,
|
||||
std::string srcdir, std::string storedir, p3AuthMgr *mgr);
|
||||
std::string srcdir, std::string storedir);
|
||||
virtual ~p3Forums();
|
||||
|
||||
void loadDummyData();
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "services/p3photoservice.h"
|
||||
|
||||
#include "pqi/pqibin.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
#include "util/rsdir.h"
|
||||
|
||||
@ -55,7 +55,7 @@ p3PhotoService::p3PhotoService(uint16_t type, CacheStrapper *cs, CacheTransfer *
|
||||
|
||||
{ RsStackMutex stack(mPhotoMtx); /********** STACK LOCKED MTX ******/
|
||||
|
||||
mOwnId = getAuthMgr()->OwnId();
|
||||
mOwnId = getAuthSSL()->OwnId();
|
||||
}
|
||||
|
||||
// createDummyData();
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <iomanip>
|
||||
|
||||
#include "pqi/pqibin.h"
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
const uint32_t RANK_MAX_FWD_OFFSET = (60 * 60 * 24 * 2); /* 2 Days */
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "services/p3tunnel.h"
|
||||
#include "pqi/pqissltunnel.h"
|
||||
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
#include "pqi/p3connmgr.h"
|
||||
|
||||
#include <errno.h>
|
||||
@ -39,8 +39,8 @@
|
||||
#include "util/rsprint.h"
|
||||
#include "util/rsversion.h"
|
||||
|
||||
p3tunnel::p3tunnel(p3AuthMgr *am, p3ConnectMgr *cm, pqipersongrp *perGrp)
|
||||
:p3Service(RS_SERVICE_TYPE_TUNNEL), mAuthMgr(am), mConnMgr(cm), mPqiPersonGrp(perGrp)
|
||||
p3tunnel::p3tunnel(p3ConnectMgr *cm, pqipersongrp *perGrp)
|
||||
:p3Service(RS_SERVICE_TYPE_TUNNEL), mConnMgr(cm), mPqiPersonGrp(perGrp)
|
||||
{
|
||||
RsStackMutex stack(mTunnelMtx); /********** STACK LOCKED MTX ******/
|
||||
|
||||
|
@ -34,11 +34,11 @@
|
||||
#include "pqi/pqi.h"
|
||||
|
||||
class p3ConnectMgr;
|
||||
class p3AuthMgr;
|
||||
|
||||
#include "pqi/pqimonitor.h"
|
||||
#include "services/p3service.h"
|
||||
#include "serialiser/rstunnelitems.h"
|
||||
#include "pqi/authssl.h"
|
||||
|
||||
class p3tunnel: public p3Service, public pqiMonitor
|
||||
{
|
||||
@ -46,7 +46,7 @@ class p3tunnel: public p3Service, public pqiMonitor
|
||||
|
||||
virtual void statusChange(const std::list<pqipeer> &plist);
|
||||
|
||||
p3tunnel(p3AuthMgr *am, p3ConnectMgr *cm, pqipersongrp *persGrp);
|
||||
p3tunnel(p3ConnectMgr *cm, pqipersongrp *persGrp);
|
||||
|
||||
int tick();
|
||||
|
||||
@ -69,7 +69,6 @@ void recvTunnelData(RsTunnelDataItem *item);
|
||||
|
||||
private:
|
||||
|
||||
p3AuthMgr *mAuthMgr;
|
||||
p3ConnectMgr *mConnMgr;
|
||||
pqipersongrp *mPqiPersonGrp;
|
||||
std::string ownId;
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include "rsiface/rspeers.h"
|
||||
#include "rsiface/rsfiles.h"
|
||||
|
||||
#include "pqi/p3authmgr.h"
|
||||
#include "pqi/authssl.h"
|
||||
#include "pqi/p3connmgr.h"
|
||||
#include "pqi/pqinotify.h"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user