Synthetic reverse/forward records
Current state of things.
Working:
(reverse|forward) <prefix> <zone> <ttl> <subnet>
not sure where to place configuration string/doc for the modules yet. 8f6e091f
Not working:
Problems and bugs:
Query for given name but wrong type yields NXDOMAIN while it should be NODATA- IPv4 CIDR queries like
129.128/26.2.0.192.in-addr.arpa.
are not recognized because129.128/26.2.0.192
is not exactly a valid address string, this could be worked around but is it needed?
Thoughts:
-
Maybe we could make some generic API for internet query processing that could alter the default query plan, like it could replace ANSWER section processing and then rest of the flow would be the same, or it could provide an alternative query plan altogether (list of callback steps).3c745f -
NSEC is tricky because the synthetic records are not in the zone yet and if have for example following:recordA, <synthetic_start...synthetic_end>, recordB
then the NSEC forrecordA
would point torecordB
before it reaches the synthetic rule checking. So the synthetic rules should not only rewrite the NXDOMAIN answers, but also check and rewrite NSECs which is wrong on so many levels. Therefore the code really needs to be inserted before we start providing proofs and that again requires an API to change a query processing plan⛵