removed debug messages.

fixed bug in circles receive list.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7313 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2014-04-30 11:50:45 +00:00
parent 52b3c372a2
commit 6e4883f606
2 changed files with 116 additions and 15 deletions

View file

@ -38,8 +38,6 @@
* #define DEBUG_CIRCLES 1 * #define DEBUG_CIRCLES 1
****/ ****/
#define DEBUG_CIRCLES 1
RsGxsCircles *rsGxsCircles = NULL; RsGxsCircles *rsGxsCircles = NULL;
/****** /******
@ -176,8 +174,10 @@ void p3GxsCircles::service_tick()
void p3GxsCircles::notifyChanges(std::vector<RsGxsNotify *> &changes) void p3GxsCircles::notifyChanges(std::vector<RsGxsNotify *> &changes)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::notifyChanges()"; std::cerr << "p3GxsCircles::notifyChanges()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::vector<RsGxsNotify *>::iterator it; std::vector<RsGxsNotify *>::iterator it;
for(it = changes.begin(); it != changes.end(); it++) for(it = changes.begin(); it != changes.end(); it++)
@ -186,30 +186,38 @@ void p3GxsCircles::notifyChanges(std::vector<RsGxsNotify *> &changes)
RsGxsMsgChange *msgChange = dynamic_cast<RsGxsMsgChange *>(*it); RsGxsMsgChange *msgChange = dynamic_cast<RsGxsMsgChange *>(*it);
if (msgChange) if (msgChange)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::notifyChanges() Found Message Change Notification"; std::cerr << "p3GxsCircles::notifyChanges() Found Message Change Notification";
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > &msgChangeMap = msgChange->msgChangeMap; std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > &msgChangeMap = msgChange->msgChangeMap;
std::map<RsGxsGroupId, std::vector<RsGxsMessageId> >::iterator mit; std::map<RsGxsGroupId, std::vector<RsGxsMessageId> >::iterator mit;
for(mit = msgChangeMap.begin(); mit != msgChangeMap.end(); mit++) for(mit = msgChangeMap.begin(); mit != msgChangeMap.end(); mit++)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::notifyChanges() Msgs for Group: " << mit->first; std::cerr << "p3GxsCircles::notifyChanges() Msgs for Group: " << mit->first;
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
} }
/* add groups to ExternalIdList (Might get Personal Circles here until NetChecks in place) */ /* add groups to ExternalIdList (Might get Personal Circles here until NetChecks in place) */
if (groupChange) if (groupChange)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::notifyChanges() Found Group Change Notification"; std::cerr << "p3GxsCircles::notifyChanges() Found Group Change Notification";
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::list<RsGxsGroupId> &groupList = groupChange->mGrpIdList; std::list<RsGxsGroupId> &groupList = groupChange->mGrpIdList;
std::list<RsGxsGroupId>::iterator git; std::list<RsGxsGroupId>::iterator git;
for(git = groupList.begin(); git != groupList.end(); git++) for(git = groupList.begin(); git != groupList.end(); git++)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::notifyChanges() Incoming Group: " << *git; std::cerr << "p3GxsCircles::notifyChanges() Incoming Group: " << *git;
std::cerr << std::endl; std::cerr << std::endl;
#endif
// for new circles we need to add them to the list. // for new circles we need to add them to the list.
RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/ RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/
@ -396,7 +404,9 @@ bool p3GxsCircles::getGroupData(const uint32_t &token, std::vector<RsGxsCircleGr
} }
else else
{ {
std::cerr << "Not a RsGxsCircleGroupItem, deleting!" << std::endl; std::cerr << "p3GxsCircles::getGroupData()";
std::cerr << " Not a RsGxsCircleGroupItem, deleting!";
std::cerr << std::endl;
delete *vit; delete *vit;
} }
} }
@ -413,11 +423,14 @@ bool p3GxsCircles::createGroup(uint32_t& token, RsGxsCircleGroup &group)
{ {
#ifdef DEBUG_CIRCLES #ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::createGroup()"; std::cerr << "p3GxsCircles::createGroup()";
std::cerr << std::endl; std::cerr << " CircleType: " << (uint32_t) group.mMeta.mCircleType;
std::cerr << " CircleId: " << group.mMeta.mCircleId.toStdString();
std::cerr << std::endl;
#endif // DEBUG_CIRCLES #endif // DEBUG_CIRCLES
RsGxsCircleGroupItem* item = new RsGxsCircleGroupItem(); RsGxsCircleGroupItem* item = new RsGxsCircleGroupItem();
item->convertFrom(group); item->convertFrom(group);
RsGenExchange::publishGroup(token, item); RsGenExchange::publishGroup(token, item);
return true; return true;
} }
@ -444,7 +457,6 @@ RsGenExchange::ServiceCreate_Return p3GxsCircles::service_CreateGroup(RsGxsGrpIt
item->meta.mCircleId = RsGxsCircleId(item->meta.mGroupId); item->meta.mCircleId = RsGxsCircleId(item->meta.mGroupId);
} }
{ {
RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/ RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/
@ -519,7 +531,7 @@ bool RsGxsCircleCache::loadSubCircle(const RsGxsCircleCache &subcircle)
bool RsGxsCircleCache::getAllowedPeersList(std::list<RsPgpId> &friendlist) bool RsGxsCircleCache::getAllowedPeersList(std::list<RsPgpId> &friendlist)
{ {
std::map<RsPgpId, std::list<RsGxsId> >::iterator it; std::map<RsPgpId, std::list<RsGxsId> >::iterator it;
for(mAllowedPeers.begin(); it != mAllowedPeers.end(); it++) for(it = mAllowedPeers.begin(); it != mAllowedPeers.end(); it++)
{ {
friendlist.push_back(it->first); friendlist.push_back(it->first);
} }
@ -866,10 +878,10 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
item->convertTo(group); item->convertTo(group);
#ifdef DEBUG_CIRCLES #ifdef DEBUG_CIRCLES
#endif // DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Loaded Id with Meta: "; std::cerr << "p3GxsCircles::cache_load_for_token() Loaded Id with Meta: ";
std::cerr << item->meta; std::cerr << item->meta;
std::cerr << std::endl; std::cerr << std::endl;
#endif // DEBUG_CIRCLES
RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/ RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/
@ -899,8 +911,10 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
if (cache.mIsExternal) if (cache.mIsExternal)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Loading External Circle"; std::cerr << "p3GxsCircles::cache_load_for_token() Loading External Circle";
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::list<RsGxsId> &peers = group.mInvitedMembers; std::list<RsGxsId> &peers = group.mInvitedMembers;
std::list<RsGxsId>::const_iterator pit; std::list<RsGxsId>::const_iterator pit;
@ -908,8 +922,10 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
// need to trigger the searches. // need to trigger the searches.
for(pit = peers.begin(); pit != peers.end(); pit++) for(pit = peers.begin(); pit != peers.end(); pit++)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Invited Member: " << *pit; std::cerr << "p3GxsCircles::cache_load_for_token() Invited Member: " << *pit;
std::cerr << std::endl; std::cerr << std::endl;
#endif
/* check cache */ /* check cache */
if (mIdentities->haveKey(*pit)) if (mIdentities->haveKey(*pit))
@ -920,29 +936,35 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
{ {
if (details.mPgpLinked && details.mPgpKnown) if (details.mPgpLinked && details.mPgpKnown)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Is Known -> AllowedPeer: " << *pit; std::cerr << "p3GxsCircles::cache_load_for_token() Is Known -> AllowedPeer: " << *pit;
std::cerr << std::endl; std::cerr << std::endl;
#endif
cache.addAllowedPeer(details.mPgpId, *pit); cache.addAllowedPeer(details.mPgpId, *pit);
} }
else else
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Is Unknown -> UnknownPeer: " << *pit; std::cerr << "p3GxsCircles::cache_load_for_token() Is Unknown -> UnknownPeer: " << *pit;
std::cerr << std::endl; std::cerr << std::endl;
#endif
cache.mUnknownPeers.insert(*pit); cache.mUnknownPeers.insert(*pit);
} }
} }
else else
{ {
std::cerr << "p3GxsCircles::cache_load_for_token() Error no details: " << *pit; std::cerr << "p3GxsCircles::cache_load_for_token() ERROR no details: " << *pit;
std::cerr << std::endl; std::cerr << std::endl;
// ERROR. // ERROR.
} }
} }
else else
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Requesting UnprocessedPeer: " << *pit; std::cerr << "p3GxsCircles::cache_load_for_token() Requesting UnprocessedPeer: " << *pit;
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::list<PeerId> peers; std::list<PeerId> peers;
mIdentities->requestKey(*pit, peers); mIdentities->requestKey(*pit, peers);
@ -993,8 +1015,10 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
} }
else else
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Loading Personal Circle"; std::cerr << "p3GxsCircles::cache_load_for_token() Loading Personal Circle";
std::cerr << std::endl; std::cerr << std::endl;
#endif
// LOCAL Load. // LOCAL Load.
std::list<RsPgpId> &peers = group.mLocalFriends; std::list<RsPgpId> &peers = group.mLocalFriends;
@ -1003,8 +1027,10 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token)
// need to trigger the searches. // need to trigger the searches.
for(pit = peers.begin(); pit != peers.end(); pit++) for(pit = peers.begin(); pit != peers.end(); pit++)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::cache_load_for_token() Local Friend: " << *pit; std::cerr << "p3GxsCircles::cache_load_for_token() Local Friend: " << *pit;
std::cerr << std::endl; std::cerr << std::endl;
#endif
cache.addLocalFriend(*pit); cache.addLocalFriend(*pit);
} }
@ -1164,15 +1190,19 @@ bool p3GxsCircles::cache_reloadids(const RsGxsCircleId &circleId)
/* We need to AutoSubscribe if the Circle is relevent to us */ /* We need to AutoSubscribe if the Circle is relevent to us */
bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache) bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : "; std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : ";
std::cerr << cache.mCircleId; std::cerr << cache.mCircleId;
std::cerr << std::endl; std::cerr << std::endl;
#endif
/* if processed already - ignore */ /* if processed already - ignore */
if (!(cache.mGroupStatus & GXS_SERV::GXS_GRP_STATUS_UNPROCESSED)) if (!(cache.mGroupStatus & GXS_SERV::GXS_GRP_STATUS_UNPROCESSED))
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : Already Processed"; std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : Already Processed";
std::cerr << std::endl; std::cerr << std::endl;
#endif
return false; return false;
} }
@ -1180,8 +1210,10 @@ bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache)
/* if personal - we created ... is subscribed already */ /* if personal - we created ... is subscribed already */
if (!cache.mIsExternal) if (!cache.mIsExternal)
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : Personal Circle"; std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() : Personal Circle";
std::cerr << std::endl; std::cerr << std::endl;
#endif
return false; return false;
} }
@ -1191,9 +1223,11 @@ bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache)
std::map<RsPgpId, std::list<RsGxsId> >::iterator it = cache.mAllowedPeers.find(ownId); std::map<RsPgpId, std::list<RsGxsId> >::iterator it = cache.mAllowedPeers.find(ownId);
if (it != cache.mAllowedPeers.end()) if (it != cache.mAllowedPeers.end())
{ {
#ifdef DEBUG_CIRCLES
/* we are part of this group - subscribe, clear unprocessed flag */ /* we are part of this group - subscribe, clear unprocessed flag */
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() Found OwnId -> AutoSubscribe!"; std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() Found OwnId -> AutoSubscribe!";
std::cerr << std::endl; std::cerr << std::endl;
#endif
uint32_t token, token2; uint32_t token, token2;
@ -1204,8 +1238,10 @@ bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache)
} }
else if (cache.mUnknownPeers.empty()) else if (cache.mUnknownPeers.empty())
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() Know All Peers -> Processed"; std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() Know All Peers -> Processed";
std::cerr << std::endl; std::cerr << std::endl;
#endif
/* we know all the peers - we are not part - we can flag as PROCESSED. */ /* we know all the peers - we are not part - we can flag as PROCESSED. */
uint32_t token; uint32_t token;
@ -1214,8 +1250,10 @@ bool p3GxsCircles::checkCircleCacheForAutoSubscribe(RsGxsCircleCache &cache)
} }
else else
{ {
#ifdef DEBUG_CIRCLES
std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() Leaving Unprocessed"; std::cerr << "p3GxsCircles::checkCircleCacheForAutoSubscribe() Leaving Unprocessed";
std::cerr << std::endl; std::cerr << std::endl;
#endif
// Don't clear UNPROCESSED - as we might not know all the peers. // Don't clear UNPROCESSED - as we might not know all the peers.
// TODO - work out when we flag as PROCESSED. // TODO - work out when we flag as PROCESSED.

View file

@ -42,13 +42,10 @@
/**** /****
* #define DEBUG_IDS 1 * #define DEBUG_IDS 1
* #define DEBUG_RECOGN 1 * #define DEBUG_RECOGN 1
* #define DEBUG_OPINION 1
* #define GXSID_GEN_DUMMY_DATA 1 * #define GXSID_GEN_DUMMY_DATA 1
****/ ****/
#define DEBUG_IDS 1
#define DEBUG_RECOGN 1
#define ID_REQUEST_LIST 0x0001 #define ID_REQUEST_LIST 0x0001
#define ID_REQUEST_IDENTITY 0x0002 #define ID_REQUEST_IDENTITY 0x0002
#define ID_REQUEST_REPUTATION 0x0003 #define ID_REQUEST_REPUTATION 0x0003
@ -214,8 +211,10 @@ void p3IdService::service_tick()
void p3IdService::notifyChanges(std::vector<RsGxsNotify *> &changes) void p3IdService::notifyChanges(std::vector<RsGxsNotify *> &changes)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::notifyChanges()"; std::cerr << "p3IdService::notifyChanges()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
/* iterate through and grab any new messages */ /* iterate through and grab any new messages */
std::list<RsGxsGroupId> unprocessedGroups; std::list<RsGxsGroupId> unprocessedGroups;
@ -227,30 +226,38 @@ void p3IdService::notifyChanges(std::vector<RsGxsNotify *> &changes)
RsGxsMsgChange *msgChange = dynamic_cast<RsGxsMsgChange *>(*it); RsGxsMsgChange *msgChange = dynamic_cast<RsGxsMsgChange *>(*it);
if (msgChange) if (msgChange)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::notifyChanges() Found Message Change Notification"; std::cerr << "p3IdService::notifyChanges() Found Message Change Notification";
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > &msgChangeMap = msgChange->msgChangeMap; std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > &msgChangeMap = msgChange->msgChangeMap;
std::map<RsGxsGroupId, std::vector<RsGxsMessageId> >::iterator mit; std::map<RsGxsGroupId, std::vector<RsGxsMessageId> >::iterator mit;
for(mit = msgChangeMap.begin(); mit != msgChangeMap.end(); mit++) for(mit = msgChangeMap.begin(); mit != msgChangeMap.end(); mit++)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::notifyChanges() Msgs for Group: " << mit->first; std::cerr << "p3IdService::notifyChanges() Msgs for Group: " << mit->first;
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
} }
/* shouldn't need to worry about groups - as they need to be subscribed to */ /* shouldn't need to worry about groups - as they need to be subscribed to */
if (groupChange) if (groupChange)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::notifyChanges() Found Group Change Notification"; std::cerr << "p3IdService::notifyChanges() Found Group Change Notification";
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::list<RsGxsGroupId> &groupList = groupChange->mGrpIdList; std::list<RsGxsGroupId> &groupList = groupChange->mGrpIdList;
std::list<RsGxsGroupId>::iterator git; std::list<RsGxsGroupId>::iterator git;
for(git = groupList.begin(); git != groupList.end(); git++) for(git = groupList.begin(); git != groupList.end(); git++)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::notifyChanges() Auto Subscribe to Incoming Groups: " << *git; std::cerr << "p3IdService::notifyChanges() Auto Subscribe to Incoming Groups: " << *git;
std::cerr << std::endl; std::cerr << std::endl;
#endif
uint32_t token; uint32_t token;
RsGenExchange::subscribeToGroup(token, *git, true); RsGenExchange::subscribeToGroup(token, *git, true);
@ -275,8 +282,10 @@ bool p3IdService:: getNickname(const RsGxsId &id, std::string &nickname)
bool p3IdService:: getIdDetails(const RsGxsId &id, RsIdentityDetails &details) bool p3IdService:: getIdDetails(const RsGxsId &id, RsIdentityDetails &details)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::getIdDetails(" << id << ")"; std::cerr << "p3IdService::getIdDetails(" << id << ")";
std::cerr << std::endl; std::cerr << std::endl;
#endif
{ {
RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/
@ -333,8 +342,10 @@ bool p3IdService::createIdentity(uint32_t& token, RsIdentityParameters &params)
bool p3IdService::updateIdentity(uint32_t& token, RsGxsIdGroup &group) bool p3IdService::updateIdentity(uint32_t& token, RsGxsIdGroup &group)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::updateIdentity()"; std::cerr << "p3IdService::updateIdentity()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
updateGroup(token, group); updateGroup(token, group);
@ -345,8 +356,10 @@ bool p3IdService::updateIdentity(uint32_t& token, RsGxsIdGroup &group)
bool p3IdService::parseRecognTag(const RsGxsId &id, const std::string &nickname, bool p3IdService::parseRecognTag(const RsGxsId &id, const std::string &nickname,
const std::string &tag, RsRecognTagDetails &details) const std::string &tag, RsRecognTagDetails &details)
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::parseRecognTag()"; std::cerr << "p3IdService::parseRecognTag()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
RsGxsRecognTagItem *tagitem = RsRecogn::extractTag(tag); RsGxsRecognTagItem *tagitem = RsRecogn::extractTag(tag);
if (!tagitem) if (!tagitem)
@ -373,13 +386,17 @@ bool p3IdService::parseRecognTag(const RsGxsId &id, const std::string &nickname,
bool p3IdService::getRecognTagRequest(const RsGxsId &id, const std::string &comment, uint16_t tag_class, uint16_t tag_type, std::string &tag) bool p3IdService::getRecognTagRequest(const RsGxsId &id, const std::string &comment, uint16_t tag_class, uint16_t tag_type, std::string &tag)
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::getRecognTagRequest()"; std::cerr << "p3IdService::getRecognTagRequest()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
if (!havePrivateKey(id)) if (!havePrivateKey(id))
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::getRecognTagRequest() Dont have private key"; std::cerr << "p3IdService::getRecognTagRequest() Dont have private key";
std::cerr << std::endl; std::cerr << std::endl;
#endif
// attempt to load it. // attempt to load it.
cache_request_load(id); cache_request_load(id);
return false; return false;
@ -393,8 +410,10 @@ bool p3IdService::getRecognTagRequest(const RsGxsId &id, const std::string &comm
RsGxsIdCache data; RsGxsIdCache data;
if (!mPrivateKeyCache.fetch(id, data)) if (!mPrivateKeyCache.fetch(id, data))
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::getRecognTagRequest() Cache failure"; std::cerr << "p3IdService::getRecognTagRequest() Cache failure";
std::cerr << std::endl; std::cerr << std::endl;
#endif
return false; return false;
} }
@ -512,16 +531,23 @@ bool p3IdService::getReputation(const RsGxsId &id, GixsReputation &rep)
{ {
rep.id = id; rep.id = id;
rep.score = data.details.mReputation.mOverallScore; rep.score = data.details.mReputation.mOverallScore;
#ifdef DEBUG_IDS
std::cerr << "p3IdService::getReputation() id: "; std::cerr << "p3IdService::getReputation() id: ";
std::cerr << id.toStdString() << " score: " << std::cerr << id.toStdString() << " score: " <<
rep.score; rep.score;
std::cerr << std::endl; std::cerr << std::endl;
return true; #endif
return true;
} }
else
{
#ifdef DEBUG_IDS
std::cerr << "p3IdService::getReputation() id: "; std::cerr << "p3IdService::getReputation() id: ";
std::cerr << id.toStdString() << " not cached"; std::cerr << id.toStdString() << " not cached";
std::cerr << std::endl; std::cerr << std::endl;
#endif
}
return false; return false;
} }
@ -542,8 +568,10 @@ class RegistrationRequest
bool p3IdService::submitOpinion(uint32_t& token, const RsGxsId &id, bool absOpinion, int score) bool p3IdService::submitOpinion(uint32_t& token, const RsGxsId &id, bool absOpinion, int score)
{ {
#ifdef DEBUG_OPINION
std::cerr << "p3IdService::submitOpinion()"; std::cerr << "p3IdService::submitOpinion()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
uint32_t ansType = RS_TOKREQ_ANSTYPE_SUMMARY; uint32_t ansType = RS_TOKREQ_ANSTYPE_SUMMARY;
RsTokReqOptions opts; RsTokReqOptions opts;
@ -567,8 +595,10 @@ bool p3IdService::submitOpinion(uint32_t& token, const RsGxsId &id, bool absOpin
bool p3IdService::opinion_handlerequest(uint32_t token) bool p3IdService::opinion_handlerequest(uint32_t token)
{ {
#ifdef DEBUG_OPINION
std::cerr << "p3IdService::opinion_handlerequest()"; std::cerr << "p3IdService::opinion_handlerequest()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
OpinionRequest req; OpinionRequest req;
{ {
@ -588,8 +618,10 @@ bool p3IdService::opinion_handlerequest(uint32_t token)
mPendingOpinion.erase(it); mPendingOpinion.erase(it);
} }
#ifdef DEBUG_OPINION
std::cerr << "p3IdService::opinion_handlerequest() Id: " << req.mId << " score: " << req.mScore; std::cerr << "p3IdService::opinion_handlerequest() Id: " << req.mId << " score: " << req.mScore;
std::cerr << std::endl; std::cerr << std::endl;
#endif
std::list<RsGroupMetaData> groups; std::list<RsGroupMetaData> groups;
std::list<RsGxsGroupId> groupList; std::list<RsGxsGroupId> groupList;
@ -645,8 +677,10 @@ bool p3IdService::opinion_handlerequest(uint32_t token)
/* save string */ /* save string */
std::string serviceString = ssdata.save(); std::string serviceString = ssdata.save();
#ifdef DEBUG_OPINION
std::cerr << "p3IdService::opinion_handlerequest() new service_string: " << serviceString; std::cerr << "p3IdService::opinion_handlerequest() new service_string: " << serviceString;
std::cerr << std::endl; std::cerr << std::endl;
#endif
/* set new Group ServiceString */ /* set new Group ServiceString */
uint32_t dummyToken = 0; uint32_t dummyToken = 0;
@ -745,8 +779,10 @@ bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group)
item->group = group; item->group = group;
item->meta = group.mMeta; item->meta = group.mMeta;
#ifdef DEBUG_IDS
std::cerr << "p3IdService::updateGroup() Updating RsGxsId: " << id; std::cerr << "p3IdService::updateGroup() Updating RsGxsId: " << id;
std::cerr << std::endl; std::cerr << std::endl;
#endif
RsGenExchange::updateGroup(token, item); RsGenExchange::updateGroup(token, item);
@ -755,24 +791,32 @@ bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group)
RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/
if (mPublicKeyCache.erase(id)) if (mPublicKeyCache.erase(id))
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::updateGroup() Removed from PublicKeyCache"; std::cerr << "p3IdService::updateGroup() Removed from PublicKeyCache";
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
else else
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::updateGroup() Not in PublicKeyCache"; std::cerr << "p3IdService::updateGroup() Not in PublicKeyCache";
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
if (mPrivateKeyCache.erase(id)) if (mPrivateKeyCache.erase(id))
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::updateGroup() Removed from PrivateKeyCache"; std::cerr << "p3IdService::updateGroup() Removed from PrivateKeyCache";
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
else else
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::updateGroup() Not in PrivateKeyCache"; std::cerr << "p3IdService::updateGroup() Not in PrivateKeyCache";
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
} }
@ -2082,8 +2126,10 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte
PGPFingerprintType ownFinger; PGPFingerprintType ownFinger;
RsPgpId ownId(mPgpUtils->getPGPOwnId()); RsPgpId ownId(mPgpUtils->getPGPOwnId());
#ifdef DEBUG_IDS
std::cerr << "p3IdService::service_CreateGroup() OwnPgpID: " << ownId.toStdString(); std::cerr << "p3IdService::service_CreateGroup() OwnPgpID: " << ownId.toStdString();
std::cerr << std::endl; std::cerr << std::endl;
#endif
#ifdef GXSID_GEN_DUMMY_DATA #ifdef GXSID_GEN_DUMMY_DATA
// if (item->group.mMeta.mAuthorId != "") // if (item->group.mMeta.mAuthorId != "")
@ -2099,18 +2145,20 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte
return SERVICE_CREATE_FAIL; // abandon attempt! return SERVICE_CREATE_FAIL; // abandon attempt!
} }
#ifdef DEBUG_IDS
std::cerr << "p3IdService::service_CreateGroup() OwnFingerprint: " << ownFinger.toStdString(); std::cerr << "p3IdService::service_CreateGroup() OwnFingerprint: " << ownFinger.toStdString();
std::cerr << std::endl; std::cerr << std::endl;
#endif
RsGxsId gxsId(item->group.mMeta.mGroupId.toStdString()); RsGxsId gxsId(item->group.mMeta.mGroupId.toStdString());
calcPGPHash(gxsId, ownFinger, hash); calcPGPHash(gxsId, ownFinger, hash);
item->group.mPgpIdHash = hash; item->group.mPgpIdHash = hash;
#ifdef DEBUG_IDS #ifdef DEBUG_IDS
#endif // DEBUG_IDS
std::cerr << "p3IdService::service_CreateGroup() Calculated PgpIdHash : " << item->group.mPgpIdHash; std::cerr << "p3IdService::service_CreateGroup() Calculated PgpIdHash : " << item->group.mPgpIdHash;
std::cerr << std::endl; std::cerr << std::endl;
#endif // DEBUG_IDS
/* do signature */ /* do signature */
@ -2129,20 +2177,25 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte
} }
else else
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::service_CreateGroup() Signature: "; std::cerr << "p3IdService::service_CreateGroup() Signature: ";
std::string strout; std::string strout;
#endif
/* push binary into string -> really bad! */ /* push binary into string -> really bad! */
item->group.mPgpIdSign = ""; item->group.mPgpIdSign = "";
for(unsigned int i = 0; i < sign_size; i++) for(unsigned int i = 0; i < sign_size; i++)
{ {
#ifdef DEBUG_IDS
rs_sprintf_append(strout, "%02x", (uint32_t) signarray[i]); rs_sprintf_append(strout, "%02x", (uint32_t) signarray[i]);
#endif
item->group.mPgpIdSign += signarray[i]; item->group.mPgpIdSign += signarray[i];
} }
createStatus = SERVICE_CREATE_SUCCESS; createStatus = SERVICE_CREATE_SUCCESS;
#ifdef DEBUG_IDS
std::cerr << strout; std::cerr << strout;
std::cerr << std::endl; std::cerr << std::endl;
#endif
} }
/* done! */ /* done! */
} }
@ -2433,10 +2486,12 @@ bool p3IdService::checkId(const RsGxsIdGroup &grp, RsPgpId &pgpId)
calcPGPHash(RsGxsId(grp.mMeta.mGroupId.toStdString()), mit->second, hash); calcPGPHash(RsGxsId(grp.mMeta.mGroupId.toStdString()), mit->second, hash);
if (ans == hash) if (ans == hash)
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::checkId() HASH MATCH!"; std::cerr << "p3IdService::checkId() HASH MATCH!";
std::cerr << std::endl; std::cerr << std::endl;
std::cerr << "p3IdService::checkId() Hash : " << hash.toStdString(); std::cerr << "p3IdService::checkId() Hash : " << hash.toStdString();
std::cerr << std::endl; std::cerr << std::endl;
#endif
/* miracle match! */ /* miracle match! */
/* check signature too */ /* check signature too */
@ -2444,8 +2499,10 @@ bool p3IdService::checkId(const RsGxsIdGroup &grp, RsPgpId &pgpId)
(unsigned char *) grp.mPgpIdSign.c_str(), grp.mPgpIdSign.length(), (unsigned char *) grp.mPgpIdSign.c_str(), grp.mPgpIdSign.length(),
mit->second)) mit->second))
{ {
#ifdef DEBUG_IDS
std::cerr << "p3IdService::checkId() Signature Okay too!"; std::cerr << "p3IdService::checkId() Signature Okay too!";
std::cerr << std::endl; std::cerr << std::endl;
#endif
pgpId = mit->first; pgpId = mit->first;
return true; return true;
@ -2556,23 +2613,29 @@ void calcPGPHash(const RsGxsId &id, const PGPFingerprintType &pgp, Sha1CheckSum
bool p3IdService::recogn_schedule() bool p3IdService::recogn_schedule()
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::recogn_schedule()"; std::cerr << "p3IdService::recogn_schedule()";
std::cerr << std::endl; std::cerr << std::endl;
#endif
int32_t age = 0; int32_t age = 0;
int32_t next_event = 0; int32_t next_event = 0;
if (RsTickEvent::event_count(GXSID_EVENT_RECOGN) > 0) if (RsTickEvent::event_count(GXSID_EVENT_RECOGN) > 0)
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::recogn_schedule() Skipping GXSIS_EVENT_RECOGN already scheduled"; std::cerr << "p3IdService::recogn_schedule() Skipping GXSIS_EVENT_RECOGN already scheduled";
std::cerr << std::endl; std::cerr << std::endl;
#endif
return false; return false;
} }
if (RsTickEvent::prev_event_ago(GXSID_EVENT_RECOGN, age)) if (RsTickEvent::prev_event_ago(GXSID_EVENT_RECOGN, age))
{ {
#ifdef DEBUG_RECOGN
std::cerr << "p3IdService::recogn_schedule() previous event " << age << " secs ago"; std::cerr << "p3IdService::recogn_schedule() previous event " << age << " secs ago";
std::cerr << std::endl; std::cerr << std::endl;
#endif
next_event = RECOGN_PERIOD - age; next_event = RECOGN_PERIOD - age;
if (next_event < 0) if (next_event < 0)