Reject messages (BIP 61) appear in the following settings:
-
Parsing of reject messages (in case
-debug=net
is set, off by default). This has only been used for a singleLogPrint
call for several releases now. Such logging is completely meaningless to us and should thus be removed. -
The sending of reject messages (in case
-enablebip61
is set, off by default). This can be used to debug a node that is under our control. Instead of hacking this debugging into the p2p protocol, it could be more easily achieved by parsing the debug log. (Use-printtoconsole
to have it as stream, or read from thedebug.log
file like our python functionassert_debug_log
in the test framework does)
Having to maintain all of this logic and code to accommodate debugging, which can be achieved by other means a lot easier, is a burden. It makes review on net processing changes a lot harder, since the reject message logic has to be carried around without introducing any errors or DOS vectors.