Comments (11)
I will try out this tomorrow.
from hickory-dns.
Actually, you might want to wait, see this comment, I'm not sure it's the root cause of this issue, but it could be related: #1990 (comment)
from hickory-dns.
Looks like you're not setting the ALPN protocol correctly for TLS/QUIC implementations.
from hickory-dns.
@djc is calling register_tls_listener
and register_quic_listener
not enough?
Why do i need to configure ALPN manual after binding and register an tls port?
I have not found anything at the doc of trust-dns-server about ALPN.
from hickory-dns.
According to your logs, the server is saying that the client didn't set any protocols it understands.
from hickory-dns.
So the kdig seems to use the wrong ALPN. So I should report this kdig instead.
But trust-dns should be able to querry trust-dns via quic.
from hickory-dns.
trust-dns should be working when communicating with it's libraries to the server. We have test coverage for this in https://github.com/bluejekyll/trust-dns/blob/main/bin/tests/named_quic_tests.rs. Is the certificate not being validated correctly?
from hickory-dns.
ALPN on the Client is set here: https://github.com/bluejekyll/trust-dns/blob/202fe2a8a4cade9df2789ae52fee2ce91749a1a7/crates/proto/src/quic/quic_client_stream.rs#L240-L247
I don't think the ALPN is configurable on the server right now, that is set here: https://github.com/bluejekyll/trust-dns/blob/202fe2a8a4cade9df2789ae52fee2ce91749a1a7/crates/proto/src/quic/quic_server.rs#L51
The ALPN for quic is defined here: https://github.com/bluejekyll/trust-dns/blob/202fe2a8a4cade9df2789ae52fee2ce91749a1a7/crates/proto/src/quic/quic_stream.rs#L24
from hickory-dns.
Is the certificate not being validated correctly?
At least kdig have no issue with it. I am currently not sure what I can do. Quic is currently not widely used, which make it difficult to test it, witch other clients/servers.
from hickory-dns.
See also #1990?
from hickory-dns.
@LuckyTurtleDev, do you think you could try this with the current main
line branch after this change was put in, #2005?
from hickory-dns.
Related Issues (20)
- Low level send method in resolver HOT 8
- Additional error context HOT 4
- impl RecordData for RData HOT 1
- Update rustls to latest version HOT 2
- Add the ability to bind/unbind ports dynamically
- Introduce TlsConnect and QuicConnect trait to be more flexible HOT 4
- Resolver couldn't handle response that have lots of records HOT 13
- tokio::JoinSet and hickory_resolver::Resolver causes "Cannot start a runtime from within a runtime" HOT 2
- Forwarder seems to not use /etc/hosts despite `use_hosts_file == true` HOT 3
- Presence of a faulty nameserver in system config causes client side lookups to take forever HOT 1
- Reverse lookup fails when there are multiple PTR records HOT 1
- www.hickory-dns.org does not work - 404 HOT 6
- SIG(0) RFC2931 is not listed as supported HOT 1
- Missing point of contact for security issues HOT 3
- `IN` keyword is not accepted HOT 2
- Request for a wildcard with ANY returns nothing HOT 2
- Handle sockets that have been shut down HOT 5
- Make ```hickory_proto::quic::QuicClientStream``` clonable
- why hickory-proto 0.24.1 ring dependencies is still 0.16.20 HOT 4
- Not convenient to call bind_with_addr to make a AsyncResolver HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hickory-dns.