find smarter way of describing expected DNS answers
Problem
Currently CHECK_ANSWER
step takes DNS answer message and matches specified fields against a hardcoded DNS message in RPL file. This is especially problem for answers in border cases where exact content is not 100 % specified in the DNS protocol or depends on content of DNS cache etc. E.g. server might add just subset of glue addresses into additional section, or it might add NS records to authority section (i.e. non-minimal answers) etc. This is impossible to represent in the current RPL format.
Idea
Mark RRs in RANGE
sections with "permissibility" for different sections in answers. E.g.:
- bogus RR would be marked "no section unless CD bit is on"
- NS records would be marked "optional in authority section unless QTYPE=NS" etc.
This should lead to tests which are not too sensitive to random RR selection or minor changes in selection on the responder side.