From dd4adab3802aa9250de86975166d8781c7c624f3 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 4 Oct 2012 23:44:59 -0700 Subject: [PATCH] If 'TRUST_NETWORK' is defined, fault on bogus validation. Some extra debug. --- src/Peer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Peer.cpp b/src/Peer.cpp index 2397071ae1..494a4f0fd2 100644 --- a/src/Peer.cpp +++ b/src/Peer.cpp @@ -756,11 +756,14 @@ void Peer::recvValidation(newcoin::TMValidation& packet) { if (packet.validation().size() < 50) { + Log(lsWARNING) << "Too small validation from peer"; punishPeer(PP_UNKNOWN_REQUEST); return; } +#ifndef TRUST_NETWORK try +#endif { Serializer s(packet.validation()); SerializerIterator sit(s); @@ -768,10 +771,14 @@ void Peer::recvValidation(newcoin::TMValidation& packet) uint256 signingHash = val->getSigningHash(); if (!theApp->isNew(signingHash)) + { + Log(lsTRACE) << "Validation is duplicate"; return; + } if (!val->isValid(signingHash)) { + Log(lsWARNING) << "Validation is invalid"; punishPeer(PP_UNKNOWN_REQUEST); return; } @@ -782,10 +789,13 @@ void Peer::recvValidation(newcoin::TMValidation& packet) theApp->getConnectionPool().relayMessage(this, message); } } +#ifndef TRUST_NETWORK catch (...) { + Log(lsWARNING) << "Exception processing validation"; punishPeer(PP_UNKNOWN_REQUEST); } +#endif } void Peer::recvGetValidation(newcoin::TMGetValidations& packet)