Charge peers for invalid data

This commit is contained in:
Bart
2026-06-02 14:21:21 -04:00
parent 0c7873c9f1
commit b8be772441

View File

@@ -1088,12 +1088,22 @@ InboundLedger::processData(std::shared_ptr<Peer> peer, protocol::TMLedgerData& p
!takeAsRootNode(packet.nodes(1).nodedata(), san))
{
JLOG(journal_.warn()) << "Included AS root invalid";
if (san.isInvalid())
{
peer->charge(Resource::kFeeInvalidData, "ledger_data invalid AS root");
return -1;
}
}
if (!haveTransactions_ && (packet.nodes().size() > 2) &&
!takeTxRootNode(packet.nodes(2).nodedata(), san))
{
JLOG(journal_.warn()) << "Included TX root invalid";
if (san.isInvalid())
{
peer->charge(Resource::kFeeInvalidData, "ledger_data invalid TX root");
return -1;
}
}
}
catch (std::exception const& ex)