Nothing hinders you to discard packets if there are more than x times ammount of users in the hub.Though a client could start dropping results coming from a CID which already sent some, the number of CIDs in the hubs is limited and the amount of result to be displayed can be limited to 10 per client as recommended by the protocol. So checks can be done to avoid this kind of attack
Its a matter of the weakest link ... There is no point in putting an additional defense mechanism against DoS caused by garbled RES in if valid RES are more dangerous for DoS and defense mechanism for them should also work for the garbled version.I don't find that as a reason to justify that, a hole will be a hole no matter there are other bigger ones.
And you can check the first 5 letters for all commands you are willing to handle ... it doesn't matter if you support 1 or x commands.The problem is that you are thinking only in RES when SUDP should cover any UDP message used with ADC.
Indeed yet I don't see that tinkering succeed. The attack you linked just won't work here. To short command.. to few possibilities to copy ... and no matter what you do, you will only create an invalid RES that can be discarded.Anyway, the fact you don't see a potential win in thinkering with RES or other UDP messages doesn't mean there can't be one, you simply don't know it yet.
But that all doesn't matter what you can reach by tinkering, as anything you could reach by tinkering with the UDP packet could have just been sent from the start directly by yourself...
so no .. there is no point in preventing tinkering as long as we don't start signing the packets. Though signing was decided against for simplicity, so there is no point in a hash for integrity.