diff --git a/node/Switch.cpp b/node/Switch.cpp index c509ef164..053f793ea 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -580,10 +580,11 @@ void Switch::doAnythingWaitingForPeer(void *tPtr,const SharedPtr &peer) } // finish processing any packets waiting on peer's public key / identity + const uint64_t now = RR->node->now(); for(unsigned int ptr=0;ptrtimestamp)&&(rq->complete)) { - if (rq->frag0.tryDecode(RR,tPtr)) + if ((rq->frag0.tryDecode(RR,tPtr))||((now - rq->timestamp) > ZT_RECEIVE_QUEUE_TIMEOUT)) rq->timestamp = 0; } }