The IETF 101 meeting is in London, and while I’m not going to the entire meeting, I thought it would be nice to go to the hackathon and work on Go DNS a bit.

This hackathon takes place in the weekend (and is free of charge, you’ll only need to register), so this leaves two days of hacking^W careful coding.

I’m planning to work on the following bits:

  1. Implement DOH (DNS over HTTPs). Go DNS already implements DNS over TLS, so this shouldn’t be too hard (famous last words). The plan here would be:
  • Extend the Net value in both Client and Server to include https variant.
  • Testing the client against one of the existing server implementations.
  • Getting Server side support going.
  • Unit tests
  1. Time permitting implement gRPC in Go DNS in a “plug in my own transport” fashion. We use gRPC in CoreDNS and having it move to Go DNS would make life simpler. Of course DNS over gRPC is not a standard, so this needs to be pluggeable (there is not exact plan for this).
  2. As these things all use TCP, it might also be worth looking a connection pooling. This is implemented in a CoreDNS plugin, called forward.
    • Check if it makes sense to do in the Go DNS library.
    • Make a plan.
    • Implement.
    • Profit.

If you are in the neighborhood and know a bit of Go, you’re welcome to help!