mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-31 18:36:24 -05:00
added test against arbitrary large items in turtle search requests.
This commit is contained in:
parent
c15e8b5c35
commit
51d90a4ef4
@ -845,13 +845,24 @@ int p3turtle::handleIncoming()
|
|||||||
void p3turtle::handleSearchRequest(RsTurtleSearchRequestItem *item)
|
void p3turtle::handleSearchRequest(RsTurtleSearchRequestItem *item)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(mTurtleMtx); /********** STACK LOCKED MTX ******/
|
RsStackMutex stack(mTurtleMtx); /********** STACK LOCKED MTX ******/
|
||||||
// take a look at the item:
|
|
||||||
|
// take a look at the item and test against inconsistent values
|
||||||
// - If the item destimation is
|
// - If the item destimation is
|
||||||
|
|
||||||
#ifdef P3TURTLE_DEBUG
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "Received search request from peer " << item->PeerId() << ": " << std::endl ;
|
std::cerr << "Received search request from peer " << item->PeerId() << ": " << std::endl ;
|
||||||
item->print(std::cerr,0) ;
|
item->print(std::cerr,0) ;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if(item->serial_size() > TURTLE_MAX_SEARCH_REQ_ACCEPTED_SERIAL_SIZE)
|
||||||
|
{
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
|
std::cerr << " Dropping, because the serial size exceeds the accepted limit." << std::endl ;
|
||||||
|
#endif
|
||||||
|
std::cerr << " Caught a turtle search item with arbitrary large size from " << item->PeerId() << " of size " << item->serial_size() << ". This is not allowed => dropping." << std::endl;
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
if(_search_requests_origins.size() > MAX_ALLOWED_SR_IN_CACHE)
|
if(_search_requests_origins.size() > MAX_ALLOWED_SR_IN_CACHE)
|
||||||
{
|
{
|
||||||
#ifdef P3TURTLE_DEBUG
|
#ifdef P3TURTLE_DEBUG
|
||||||
|
Loading…
Reference in New Issue
Block a user