diff -uNr a/bitcoin/src/main.cpp b/bitcoin/src/main.cpp --- a/bitcoin/src/main.cpp aeeffe8c603d726aae829c01f057ca0efdae8a84820a57e41d8282de988a74494f139842228bcc158fc8ec484f076c7b2187c4d6d14e7c998fa698570948992e +++ b/bitcoin/src/main.cpp 0ccb0c29c0a3217d57f9bc72d87b497e64116a9f79e69277408750ee3dc95738ce52a70afece7a1054314100d84f93f6525ab514b8abd8ce78ab8ebd50e599a2 @@ -1901,6 +1901,11 @@ pfrom->PushMessage(inv.GetCommand(), (*mi).second); } } + else + { + pfrom->Misbehaving(100); + return error("BANNED peer issuing unknown inv type."); + } // Track requests for our stuff Inventory(inv.hash); @@ -2103,7 +2108,9 @@ else { - // Ignore unknown commands for extensibility + // He who comes to us with a turd, by the turd shall perish. + pfrom->Misbehaving(100); + return error("BANNED peer issuing heathen command."); }