Previously, the server would crash if it received a query with an ID
close to 65535 in the badmessageid case, as adding 50 to it would not
fit in uint16.
This was an oversight in porting it from Perl to Python in
f9ed3650acdc2c5b38d8b36729b045ca63f983ef.
assert isinstance(
response_action, DnsResponseSend
), "Add50ToMessageIdFromSecondResponse can only wrap handlers that yield DnsResponseSend from the second response onward"
- response_action.response.id += 50
+ response_action.response.id = (response_action.response.id + 50) % 65536
else:
self._first_yielded = True