Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 617
    • Issues 617
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 112
    • Merge requests 112
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Issues
  • #2854

DoH: Assign HTTP responses freshness lifetime according to the smallest TTL found in the Answer section (by setting "max-age" in "Cache-Control" header)

In the DoH spec there is a section on HTTP cache interaction.

https://datatracker.ietf.org/doc/html/rfc8484#section-5.1

We are now trying to bypass the caches. However, in the long run it might be beneficial to take advantage of it by setting max-age to the least TTL from the answer section. In some cases, this can help us to take advantage of the existing HTTP caching infrastructure and lessen load on the DNS server itself by reusing the HTTP infrastructure caching capabilities.

Adding such a code to http.c is easy, however, we seem to currently lack a mechanism to track the minimal TTL value in dns_message. If we were adding one, we could put it into dns_message, updating the lowest TTL whenever a new rdataset was added to a message.

For the reference, at least Knot Resolver does it, as do Cloudflare and Quad9. So should we.

Edited Oct 13, 2021 by Artem Boldariev
Assignee
Assign to
Time tracking