From 794cd03b8fbfc02049f439426af7414211f48934 Mon Sep 17 00:00:00 2001 From: David Schwartz Date: Tue, 24 Sep 2013 15:47:56 -0700 Subject: [PATCH] Don't process validations signed more than two minutes ago. --- src/ripple_app/peers/Peer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ripple_app/peers/Peer.cpp b/src/ripple_app/peers/Peer.cpp index 8311e7432..9c2b3492f 100644 --- a/src/ripple_app/peers/Peer.cpp +++ b/src/ripple_app/peers/Peer.cpp @@ -1476,6 +1476,7 @@ static void checkValidation (Job&, SerializedValidation::pointer val, bool isTru void PeerImp::recvValidation (const boost::shared_ptr& packet, Application::ScopedLockType& masterLockHolder) { + uint32 closeTime = getApp().getOPs().getCloseTimeNC(); masterLockHolder.unlock (); if (packet->validation ().size () < 50) @@ -1494,6 +1495,13 @@ void PeerImp::recvValidation (const boost::shared_ptr& p SerializerIterator sit (s); SerializedValidation::pointer val = boost::make_shared (boost::ref (sit), false); + if (closeTime > (120 + val->getFieldU32(sfSigningTime))) + { + WriteLog (lsTRACE, Peer) << "Validation is more than two minutes old"; + applyLoadCharge (LT_UnwantedData); + return; + } + if (! getApp().getHashRouter ().addSuppressionPeer (s.getSHA512Half(), mPeerId)) { WriteLog (lsTRACE, Peer) << "Validation is duplicate";