• Vladimír Čunát's avatar
    kr_ranked_rrarray*: avoid duplicate RRsets on wire · 8d79b517
    Vladimír Čunát authored
    Fixes https://gitlab.labs.nic.cz/knot/resolver/issues/198.
    We can't let multiple "matching RRsets" to the wire, and we can't just
    merge the sets from multiple queries either.  The only way is to choose
    either of the sets and put it on the wire.  ATM the last one wins.
    
    Common ocurrence of the bug: if www.example.cz was a CNAME for example.cz
    and we ask for a non-existent type, we would get the SOA record twice
    in the final answer.
    
    A few related changes:
     - don't just assert, also return error code if -DNDEBUG
     - kr_ranked_rrarray_set_wire: don't do full-content comparison anymore;
       see the first paragraph in this commit message for the reasons
     - minor refactoring of that code, more comments, etc.
    8d79b517
To find the state of this project's repository at the time of any of these versions, check out the tags.