-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Description
Summary
/dnsaddr is handled as /dns4 in libp2p-websocket and libp2p-websocket-websys. This is incorrect because /dnsaddr is only for quering _dnsaddr.domain from DNS.
/dnsaddr support in WebSocket is tracked in #5529.
libp2p-websocket:
rust-libp2p/transports/websocket/src/framed.rs
Lines 511 to 516 in a2a2816
| (Some(Protocol::Dns(h)), Some(Protocol::Tcp(port))) | |
| | (Some(Protocol::Dns4(h)), Some(Protocol::Tcp(port))) | |
| | (Some(Protocol::Dns6(h)), Some(Protocol::Tcp(port))) | |
| | (Some(Protocol::Dnsaddr(h)), Some(Protocol::Tcp(port))) => { | |
| break (format!("{h}:{port}"), tls::dns_name_ref(&h)?) | |
| } |
libp2p-websocket-websys:
rust-libp2p/transports/websocket-websys/src/lib.rs
Lines 131 to 136 in a2a2816
| (Some(Protocol::Dns(h)), Some(Protocol::Tcp(port))) | |
| | (Some(Protocol::Dns4(h)), Some(Protocol::Tcp(port))) | |
| | (Some(Protocol::Dns6(h)), Some(Protocol::Tcp(port))) | |
| | (Some(Protocol::Dnsaddr(h)), Some(Protocol::Tcp(port))) => { | |
| format!("{}:{}", &h, port) | |
| } |
Expected behavior
TransportError::MultiaddrNotSupported should be returned from dial.
Actual behavior
/dnsaddr multiaddress is dialed as if it was /dns4.
Relevant log output
No response
Possible Solution
No response
Version
0.54.1
Would you like to work on fixing this bug ?
Maybe
dariusc93 and drHuangMHT
Metadata
Metadata
Assignees
Labels
No labels