Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNS over HTTP3 - no SNI for Apple devices #14048

Open
2 tasks done
realbugi opened this issue Apr 7, 2024 · 2 comments · May be fixed by #15024
Open
2 tasks done

DNS over HTTP3 - no SNI for Apple devices #14048

realbugi opened this issue Apr 7, 2024 · 2 comments · May be fixed by #15024

Comments

@realbugi
Copy link

realbugi commented Apr 7, 2024

  • Program: dnsdist
  • Issue type: Bug report

Short description

dnsdist does not provide requested domain with lua (getServerNameIndication, getHTTPHost) over HTTP3 for Apple devices.

Environment

  • Operating system: Ubuntu 22.04
  • Software version: dnsdist 1.9.3
  • Software source: PowerDNS repository

Steps to reproduce

  1. Setup dnsdist according to this example
addDOH3Local("0.0.0.0:443", "dns.crt", "dns.key", { reusePort=true })

function show_domain(dq)
	pdnslog('protocol: ' .. dq:getProtocol() .. ' SNI: ' .. dq:getServerNameIndication() .. ' HOST: ' .. dq:getHTTPHost())
end

addAction(AllRule(), LuaAction(show_domain))
  1. Send request to dnsdist from Apple device

Expected behaviour

Domain requested by device is showed by getHTTPHost or getServerNameIndication action

Actual behaviour

Apr 07 00:20:55 trubadur dnsdist[1212653]: protocol: DNS over HTTP/3 SNI:  HOST: 

Other information

This bug does not occur with Firefox browser over DoH3 and no problems with DoH.

@rgacogne
Copy link
Member

Thanks for filling this issue! The DoH3 feature is not yet at feature parity with the existing DoH code, and SNI and HTTP attributes are indeed not exposed to Lua at the moment. We are planning on fixing this gap in the next major version, and will likely backport it to 1.9.x if it's not too invasive.

@rgacogne
Copy link
Member

rgacogne commented Jan 9, 2025

I finally managed to spend some time on this. #15002 added HTTP attributes to DoH3, #15024 will implement SNI access for DoQ and DoH3 (once Quiche merges my PR at cloudflare/quiche#1895 and a new version is released) and I'll look at being able to send custom HTTP responses for DoH3 soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants