diff --git a/src/index.js b/src/index.js index e0904d5..8b0e873 100644 --- a/src/index.js +++ b/src/index.js @@ -7,7 +7,7 @@ const multiaddr = require('multiaddr') */ const DNS4 = base('dns4') const DNS6 = base('dns6') -const DNS = or( +const _DNS = or( base('dns'), DNS4, DNS6 @@ -18,6 +18,11 @@ const TCP = and(IP, base('tcp')) const UDP = and(IP, base('udp')) const UTP = and(UDP, base('utp')) +const DNS = or( + and(_DNS, base('tcp')), + _DNS +) + const WebSockets = or( and(TCP, base('ws')), and(DNS, base('ws')) diff --git a/test/index.spec.js b/test/index.spec.js index 3c61058..b1f73ea 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -10,7 +10,10 @@ describe('multiaddr validation', function () { '/dns/ipfs.io', '/dns4/ipfs.io', '/dns4/libp2p.io', - '/dns6/protocol.ai' + '/dns6/protocol.ai', + '/dns4/protocol.ai/tcp/80', + '/dns6/protocol.ai/tcp/80', + '/dns/protocol.ai/tcp/80' ] const badDNS = [