Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Knot Resolver Knot Resolver
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 142
    • Issues 142
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • 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
  • Knot projects
  • Knot ResolverKnot Resolver
  • Issues
  • #413
Closed
Open
Created Oct 31, 2018 by Petr Špaček@pspacekContributor

refactor finish()/checkout() layers in modules

Currently finish() layer is confusing and hard to use because wire format for answer is already generated at point where finish() is called. This does not allow modules to easily manipulate EDNS options in answer etc.

This is proposal for refactoring:

  • finish() layer will be called before generating wire format, but all the results including AD bit etc. are already processed and present in respective structures - this will allow modules to manipulate EDNS (e.g. to implement NSID in a module)

  • checkout() - layer will be called after generating wire format and server selection so the module will know exactly what is going to be sent out, to what address and over what protocol - this will allow us to move TLS padding to a module

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking