mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-16 03:09:28 -04:00
enabled ID tracking forums. Fixed thresholds for anti-spam forums. Changed computation of reputation scored
This commit is contained in:
parent
b009c1135f
commit
c7d0e4cb35
14 changed files with 130 additions and 55 deletions
libretroshare/src/grouter
|
@ -279,7 +279,7 @@ RsGRouterMatrixTrackItem *RsGRouterSerialiser::deserialise_RsGRouterMatrixTrackI
|
|||
|
||||
RsGRouterMatrixTrackItem *item = new RsGRouterMatrixTrackItem() ;
|
||||
|
||||
ok &= getRawUInt32(data, pktsize, &offset, &item->provider_id) ;
|
||||
ok &= item->provider_id.deserialise(data, pktsize, offset) ;
|
||||
ok &= item->message_id.deserialise(data,pktsize,offset) ;
|
||||
ok &= getRawTimeT(data, pktsize, &offset, item->time_stamp) ;
|
||||
|
||||
|
@ -679,7 +679,7 @@ bool RsGRouterMatrixTrackItem::serialise(void *data,uint32_t& size) const
|
|||
if(!serialise_header(data,size,tlvsize,offset))
|
||||
return false ;
|
||||
|
||||
ok &= setRawUInt32(data, tlvsize, &offset, provider_id) ;
|
||||
ok &= provider_id.serialise(data, tlvsize, offset) ;
|
||||
ok &= message_id.serialise(data,tlvsize,offset) ;
|
||||
ok &= setRawTimeT(data, tlvsize, &offset, time_stamp) ;
|
||||
|
||||
|
|
|
@ -257,7 +257,7 @@ class RsGRouterMatrixTrackItem: public RsGRouterItem
|
|||
// packet data
|
||||
//
|
||||
RsGxsMessageId message_id ;
|
||||
uint32_t provider_id ;
|
||||
RsPeerId provider_id ;
|
||||
time_t time_stamp ;
|
||||
};
|
||||
class RsGRouterMatrixFriendListItem: public RsGRouterItem
|
||||
|
|
|
@ -37,16 +37,15 @@ GRouterMatrix::GRouterMatrix()
|
|||
bool GRouterMatrix::addTrackingInfo(const RsGxsMessageId& mid,const RsPeerId& source_friend)
|
||||
{
|
||||
time_t now = time(NULL) ;
|
||||
uint32_t fid = getFriendId(source_friend) ;
|
||||
|
||||
RoutingTrackEntry rte ;
|
||||
|
||||
rte.friend_id = fid ;
|
||||
rte.friend_id = source_friend ;
|
||||
rte.time_stamp = now ;
|
||||
|
||||
_tracking_clues[mid] = rte ;
|
||||
#ifdef ROUTING_MATRIX_DEBUG
|
||||
std::cerr << "GRouterMatrix::addTrackingInfo(): Added clue mid=" << mid << ", from " << source_friend << " ID=" << fid << std::endl;
|
||||
std::cerr << "GRouterMatrix::addTrackingInfo(): Added clue mid=" << mid << ", from " << source_friend << " ID=" << source_friend << std::endl;
|
||||
#endif
|
||||
return true ;
|
||||
}
|
||||
|
@ -158,7 +157,19 @@ void GRouterMatrix::getListOfKnownKeys(std::vector<GRouterKeyId>& key_ids) const
|
|||
key_ids.clear() ;
|
||||
|
||||
for(std::map<GRouterKeyId,std::vector<float> >::const_iterator it(_time_combined_hits.begin());it!=_time_combined_hits.end();++it)
|
||||
key_ids.push_back(it->first) ;
|
||||
key_ids.push_back(it->first) ;
|
||||
}
|
||||
|
||||
bool GRouterMatrix::getTrackingInfo(const RsGxsMessageId& mid, RsPeerId &source_friend)
|
||||
{
|
||||
std::map<RsGxsMessageId,RoutingTrackEntry>::const_iterator it = _tracking_clues.find(mid) ;
|
||||
|
||||
if(it == _tracking_clues.end())
|
||||
return false ;
|
||||
|
||||
source_friend = it->second.friend_id;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
void GRouterMatrix::debugDump() const
|
||||
|
|
|
@ -44,7 +44,7 @@ struct RoutingMatrixHitEntry
|
|||
|
||||
struct RoutingTrackEntry
|
||||
{
|
||||
uint32_t friend_id ; // not the full key. Gets too big otherwise!
|
||||
RsPeerId friend_id ; // not the full key. Gets too big otherwise!
|
||||
time_t time_stamp ;
|
||||
};
|
||||
|
||||
|
@ -79,6 +79,7 @@ class GRouterMatrix
|
|||
void debugDump() const ;
|
||||
void getListOfKnownKeys(std::vector<GRouterKeyId>& key_ids) const ;
|
||||
|
||||
bool getTrackingInfo(const RsGxsMessageId& id,RsPeerId& source_friend);
|
||||
private:
|
||||
// returns the friend id, possibly creating a new id.
|
||||
//
|
||||
|
|
|
@ -2163,6 +2163,13 @@ bool p3GRouter::getRoutingCacheInfo(std::vector<GRouterRoutingCacheInfo>& infos)
|
|||
return true ;
|
||||
}
|
||||
|
||||
bool p3GRouter::getTrackingInfo(const RsGxsMessageId &mid, RsPeerId &provider_id)
|
||||
{
|
||||
RS_STACK_MUTEX(grMtx) ;
|
||||
|
||||
return _routing_matrix.getTrackingInfo(mid,provider_id) ;
|
||||
}
|
||||
|
||||
// Dump everything
|
||||
//
|
||||
void p3GRouter::debugDump()
|
||||
|
|
|
@ -168,6 +168,7 @@ public:
|
|||
// - Cache state (memory size, etc)
|
||||
//
|
||||
virtual bool getRoutingCacheInfo(std::vector<GRouterRoutingCacheInfo>& info) ;
|
||||
virtual bool getTrackingInfo(const RsGxsMessageId& mid, RsPeerId& provider_id) ;
|
||||
|
||||
//===================================================//
|
||||
// Derived from p3Service //
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue