Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
R
respdiff
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 19
    • Issues 19
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Knot projects
  • respdiff
  • Issues
  • #14

Closed
Open
Created Nov 22, 2017 by Petr Špaček@pspacekContributor0 of 3 tasks completed0/3 tasks

conditional message comparison

Some fields of DNS messages need to be compared (and match) only under certain conditions.

Open question: How to express these conditions / checks?

  • add all-in-one check authorityIfRelevant with all the login under it
  • more granular checks like authorityIfNXDOMAIN, authorityIfNODATA, etc.
  • support fancy conditions like if (rcode == NXDOMAIN) {authority} etc.

Example 1

If DNS answer is a terminal answer with RCODE = NOERROR and no delegation, it does not make sense to insist on equality of AUTHORITY section because its content is not standardized for this case. E.g. Unbound will stuff in NS records even if they are not strictly required, and BIND with minimal-responses: yes (or version 9.12 and newer) will not add these NS records.

Example 2

On the other hand if the answer has RCODE = NXDOMAIN then content of AUTHORITY section should match because it is mandatory to add SOA record in there, and possibly proof-of-nonexistence if the domain is signed.

Example 3

Nodata response, i.e. RCODE = NOERROR accompanied with ANSWER section containing just CNAME/DNAME (where QNAME and QTYPE does not match the values in ANSWER section) should again contain proof proof-of-nonexistence if the domain is signed.

Edited Nov 22, 2017 by Petr Špaček
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None