Skip to content

Commit

Permalink
Merge pull request #21 from ipfs/feat/mafmt
Browse files Browse the repository at this point in the history
use multiaddr format to do validation of addresses
  • Loading branch information
whyrusleeping committed Mar 3, 2016
2 parents e7ff04c + 6489028 commit 03aa3d2
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 16 deletions.
5 changes: 3 additions & 2 deletions p2p/net/transport/tcp.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

lgbl "github.com/ipfs/go-libp2p/loggables"
manet "gx/ipfs/QmQB7mNP3QE7b4zP2MQmsyJDqG5hzYE2CL8k1VyLWky2Ed/go-multiaddr-net"
mafmt "gx/ipfs/QmWLfU4tstw2aNcTykDm44xbSTCYJ9pUJwfhQCKGwckcHx/mafmt"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
reuseport "gx/ipfs/QmaaC9QMYTQHCbMq3Ebr3uMaAR2ev4AVqMmsJpgQijAZbJ/go-reuseport"
ma "gx/ipfs/QmcobAGsCjYt5DXoq9et9L8yR8er7o7Cu3DTvpaq12jYSz/go-multiaddr"
Expand Down Expand Up @@ -103,7 +104,7 @@ func manetListen(addr ma.Multiaddr) (manet.Listener, error) {
}

func (t *TcpTransport) Matches(a ma.Multiaddr) bool {
return IsTcpMultiaddr(a)
return mafmt.TCP.Matches(a)
}

type tcpDialer struct {
Expand Down Expand Up @@ -199,7 +200,7 @@ func (d *tcpDialer) reuseDial(raddr ma.Multiaddr) (manet.Conn, error) {
}

func (d *tcpDialer) Matches(a ma.Multiaddr) bool {
return IsTcpMultiaddr(a)
return mafmt.TCP.Matches(a)
}

type tcpListener struct {
Expand Down
10 changes: 0 additions & 10 deletions p2p/net/transport/transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,3 @@ type TimeoutOpt time.Duration
type ReuseportOpt bool

var ReusePorts ReuseportOpt = true

func IsTcpMultiaddr(a ma.Multiaddr) bool {
p := a.Protocols()
return len(p) == 2 && (p[0].Name == "ip4" || p[0].Name == "ip6") && p[1].Name == "tcp"
}

func IsUtpMultiaddr(a ma.Multiaddr) bool {
p := a.Protocols()
return len(p) == 3 && p[2].Name == "utp"
}
7 changes: 3 additions & 4 deletions p2p/net/transport/utp.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
manet "gx/ipfs/QmQB7mNP3QE7b4zP2MQmsyJDqG5hzYE2CL8k1VyLWky2Ed/go-multiaddr-net"
mautp "gx/ipfs/QmQB7mNP3QE7b4zP2MQmsyJDqG5hzYE2CL8k1VyLWky2Ed/go-multiaddr-net/utp"
utp "gx/ipfs/QmVs3wq4cN64TFCxANzgSHjGPrjMnRnwPrxU8bqc7YP42s/utp"
mafmt "gx/ipfs/QmWLfU4tstw2aNcTykDm44xbSTCYJ9pUJwfhQCKGwckcHx/mafmt"
ma "gx/ipfs/QmcobAGsCjYt5DXoq9et9L8yR8er7o7Cu3DTvpaq12jYSz/go-multiaddr"
)

Expand All @@ -22,8 +23,7 @@ func NewUtpTransport() *UtpTransport {
}

func (d *UtpTransport) Matches(a ma.Multiaddr) bool {
p := a.Protocols()
return len(p) == 3 && p[2].Name == "utp"
return mafmt.UTP.Matches(a)
}

type UtpSocket struct {
Expand Down Expand Up @@ -129,8 +129,7 @@ func (s *UtpSocket) Accept() (Conn, error) {
}

func (s *UtpSocket) Matches(a ma.Multiaddr) bool {
p := a.Protocols()
return len(p) == 3 && p[2].Name == "utp"
return mafmt.UTP.Matches(a)
}

func (t *UtpSocket) Close() error {
Expand Down
6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,12 @@
"name": "go-peerstream",
"hash": "QmQDPXRFzRcCGPbPViQCKjzbQBkZGpLV1f9KwXnksSNcTK",
"version": "0.0.0"
},
{
"author": "whyrusleeping",
"name": "mafmt",
"hash": "QmWLfU4tstw2aNcTykDm44xbSTCYJ9pUJwfhQCKGwckcHx",
"version": "0.0.0"
}
],
"language": "go",
Expand Down

0 comments on commit 03aa3d2

Please sign in to comment.