Unverified Commit b2d49c9d authored by Steven Allen's avatar Steven Allen Committed by GitHub

Merge pull request #84 from libp2p/fix/dns-dial

fix: restrict dials to IP + TCP
parents ef8a962d 8cb6edcf
......@@ -18,7 +18,7 @@ import (
var WsProtocol = ma.ProtocolWithCode(ma.P_WS)
// WsFmt is multiaddr formatter for WsProtocol
var WsFmt = mafmt.And(mafmt.TCP, mafmt.Base(WsProtocol.Code))
var WsFmt = mafmt.And(mafmt.TCP, mafmt.Base(ma.P_WS))
// WsCodec is the multiaddr-net codec definition for the websocket transport
var WsCodec = &manet.NetCodec{
......@@ -28,6 +28,10 @@ var WsCodec = &manet.NetCodec{
ParseNetAddr: ParseWebsocketNetAddr,
}
// This is _not_ WsFmt because we want the transport to stick to dialing fully
// resolved addresses.
var dialMatcher = mafmt.And(mafmt.IP, mafmt.Base(ma.P_TCP), mafmt.Base(ma.P_WS))
func init() {
manet.RegisterNetCodec(WsCodec)
}
......@@ -44,7 +48,7 @@ func New(u *tptu.Upgrader) *WebsocketTransport {
}
func (t *WebsocketTransport) CanDial(a ma.Multiaddr) bool {
return WsFmt.Matches(a)
return dialMatcher.Matches(a)
}
func (t *WebsocketTransport) Protocols() []int {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment