mirror of
https://github.com/ipfs/kubo.git
synced 2025-09-10 22:49:13 +08:00
updated multiaddr use across codebase
This commit is contained in:
@ -177,14 +177,14 @@ func initIdentity(cfg *config.Config, online bool) (*peer.Peer, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// address is optional
|
// address is optional
|
||||||
var addresses []*ma.Multiaddr
|
var addresses []ma.Multiaddr
|
||||||
if len(cfg.Addresses.Swarm) > 0 {
|
if len(cfg.Addresses.Swarm) > 0 {
|
||||||
maddr, err := ma.NewMultiaddr(cfg.Addresses.Swarm)
|
maddr, err := ma.NewMultiaddr(cfg.Addresses.Swarm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
addresses = []*ma.Multiaddr{maddr}
|
addresses = []ma.Multiaddr{maddr}
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -39,7 +39,7 @@ type Command struct {
|
|||||||
Opts map[string]interface{}
|
Opts map[string]interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDaemonListener(ipfsnode *core.IpfsNode, addr *ma.Multiaddr, confdir string) (*DaemonListener, error) {
|
func NewDaemonListener(ipfsnode *core.IpfsNode, addr ma.Multiaddr, confdir string) (*DaemonListener, error) {
|
||||||
var err error
|
var err error
|
||||||
confdir, err = u.TildeExpansion(confdir)
|
confdir, err = u.TildeExpansion(confdir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -51,7 +51,7 @@ func NewDaemonListener(ipfsnode *core.IpfsNode, addr *ma.Multiaddr, confdir stri
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
network, host, err := addr.DialArgs()
|
network, host, err := ma.DialArgs(addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -62,12 +62,7 @@ func NewDaemonListener(ipfsnode *core.IpfsNode, addr *ma.Multiaddr, confdir stri
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
mstr, err := addr.String()
|
_, err = ofi.Write([]byte(addr.String()))
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err = ofi.Write([]byte(mstr))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warning("Could not write to rpcaddress file: %s", err)
|
log.Warning("Could not write to rpcaddress file: %s", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -73,7 +73,7 @@ func SendCommand(command *Command, confdir string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
network, host, err := maddr.DialArgs()
|
network, host, err := ma.DialArgs(maddr)
|
||||||
|
|
||||||
conn, err := net.Dial(network, host)
|
conn, err := net.Dial(network, host)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -21,7 +21,7 @@ const MaxMessageSize = 1 << 20
|
|||||||
// Conn represents a connection to another Peer (IPFS Node).
|
// Conn represents a connection to another Peer (IPFS Node).
|
||||||
type Conn struct {
|
type Conn struct {
|
||||||
Peer *peer.Peer
|
Peer *peer.Peer
|
||||||
Addr *ma.Multiaddr
|
Addr ma.Multiaddr
|
||||||
Conn net.Conn
|
Conn net.Conn
|
||||||
|
|
||||||
Closed chan bool
|
Closed chan bool
|
||||||
@ -34,7 +34,7 @@ type Conn struct {
|
|||||||
type Map map[u.Key]*Conn
|
type Map map[u.Key]*Conn
|
||||||
|
|
||||||
// NewConn constructs a new connection
|
// NewConn constructs a new connection
|
||||||
func NewConn(peer *peer.Peer, addr *ma.Multiaddr, nconn net.Conn) (*Conn, error) {
|
func NewConn(peer *peer.Peer, addr ma.Multiaddr, nconn net.Conn) (*Conn, error) {
|
||||||
conn := &Conn{
|
conn := &Conn{
|
||||||
Peer: peer,
|
Peer: peer,
|
||||||
Addr: addr,
|
Addr: addr,
|
||||||
@ -56,7 +56,7 @@ func Dial(network string, peer *peer.Peer) (*Conn, error) {
|
|||||||
return nil, fmt.Errorf("No address for network %s", network)
|
return nil, fmt.Errorf("No address for network %s", network)
|
||||||
}
|
}
|
||||||
|
|
||||||
network, host, err := addr.DialArgs()
|
network, host, err := ma.DialArgs(addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -104,6 +104,6 @@ func (c *Conn) Close() error {
|
|||||||
|
|
||||||
// NetConnMultiaddr returns the net.Conn's address, recast as a multiaddr.
|
// NetConnMultiaddr returns the net.Conn's address, recast as a multiaddr.
|
||||||
// (consider moving this directly into the multiaddr package)
|
// (consider moving this directly into the multiaddr package)
|
||||||
func NetConnMultiaddr(nconn net.Conn) (*ma.Multiaddr, error) {
|
func NetConnMultiaddr(nconn net.Conn) (ma.Multiaddr, error) {
|
||||||
return ma.FromNetAddr(nconn.RemoteAddr())
|
return ma.FromNetAddr(nconn.RemoteAddr())
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,8 @@ func (s *Swarm) listen() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Listen for new connections on the given multiaddr
|
// Listen for new connections on the given multiaddr
|
||||||
func (s *Swarm) connListen(maddr *ma.Multiaddr) error {
|
func (s *Swarm) connListen(maddr ma.Multiaddr) error {
|
||||||
netstr, addr, err := maddr.DialArgs()
|
netstr, addr, err := ma.DialArgs(maddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -143,7 +143,7 @@ func (s *Swarm) Dial(peer *peer.Peer) (*conn.Conn, error) {
|
|||||||
// DialAddr is for connecting to a peer when you know their addr but not their ID.
|
// DialAddr is for connecting to a peer when you know their addr but not their ID.
|
||||||
// Should only be used when sure that not connected to peer in question
|
// Should only be used when sure that not connected to peer in question
|
||||||
// TODO(jbenet) merge with Dial? need way to patch back.
|
// TODO(jbenet) merge with Dial? need way to patch back.
|
||||||
func (s *Swarm) DialAddr(addr *ma.Multiaddr) (*conn.Conn, error) {
|
func (s *Swarm) DialAddr(addr ma.Multiaddr) (*conn.Conn, error) {
|
||||||
if addr == nil {
|
if addr == nil {
|
||||||
return nil, errors.New("addr must be a non-nil Multiaddr")
|
return nil, errors.New("addr must be a non-nil Multiaddr")
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ func TestSwarm(t *testing.T) {
|
|||||||
if a == nil {
|
if a == nil {
|
||||||
t.Fatal("error setting up peer (addr is nil)", peer)
|
t.Fatal("error setting up peer (addr is nil)", peer)
|
||||||
}
|
}
|
||||||
n, h, err := a.DialArgs()
|
n, h, err := ma.DialArgs(a)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal("error getting dial args from addr")
|
t.Fatal("error getting dial args from addr")
|
||||||
}
|
}
|
||||||
|
13
peer/peer.go
13
peer/peer.go
@ -38,7 +38,7 @@ type Map map[u.Key]*Peer
|
|||||||
// ID, and relevant Addresses.
|
// ID, and relevant Addresses.
|
||||||
type Peer struct {
|
type Peer struct {
|
||||||
ID ID
|
ID ID
|
||||||
Addresses []*ma.Multiaddr
|
Addresses []ma.Multiaddr
|
||||||
|
|
||||||
PrivKey ic.PrivKey
|
PrivKey ic.PrivKey
|
||||||
PubKey ic.PubKey
|
PubKey ic.PubKey
|
||||||
@ -54,7 +54,7 @@ func (p *Peer) Key() u.Key {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AddAddress adds the given Multiaddr address to Peer's addresses.
|
// AddAddress adds the given Multiaddr address to Peer's addresses.
|
||||||
func (p *Peer) AddAddress(a *ma.Multiaddr) {
|
func (p *Peer) AddAddress(a ma.Multiaddr) {
|
||||||
p.Lock()
|
p.Lock()
|
||||||
defer p.Unlock()
|
defer p.Unlock()
|
||||||
|
|
||||||
@ -67,17 +67,12 @@ func (p *Peer) AddAddress(a *ma.Multiaddr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NetAddress returns the first Multiaddr found for a given network.
|
// NetAddress returns the first Multiaddr found for a given network.
|
||||||
func (p *Peer) NetAddress(n string) *ma.Multiaddr {
|
func (p *Peer) NetAddress(n string) ma.Multiaddr {
|
||||||
p.RLock()
|
p.RLock()
|
||||||
defer p.RUnlock()
|
defer p.RUnlock()
|
||||||
|
|
||||||
for _, a := range p.Addresses {
|
for _, a := range p.Addresses {
|
||||||
ps, err := a.Protocols()
|
for _, p := range a.Protocols() {
|
||||||
if err != nil {
|
|
||||||
continue // invalid addr
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, p := range ps {
|
|
||||||
if p.Name == n {
|
if p.Name == n {
|
||||||
return a
|
return a
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,7 @@ func peerToPBPeer(p *peer.Peer) *Message_Peer {
|
|||||||
if len(p.Addresses) == 0 || p.Addresses[0] == nil {
|
if len(p.Addresses) == 0 || p.Addresses[0] == nil {
|
||||||
pbp.Addr = proto.String("")
|
pbp.Addr = proto.String("")
|
||||||
} else {
|
} else {
|
||||||
addr, err := p.Addresses[0].String()
|
addr := p.Addresses[0].String()
|
||||||
if err != nil {
|
|
||||||
//Temp: what situations could cause this?
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
pbp.Addr = &addr
|
pbp.Addr = &addr
|
||||||
}
|
}
|
||||||
pid := string(p.ID)
|
pid := string(p.ID)
|
||||||
|
@ -43,8 +43,8 @@ func setupDHT(t *testing.T, p *peer.Peer) *IpfsDHT {
|
|||||||
return d
|
return d
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT) {
|
func setupDHTS(n int, t *testing.T) ([]ma.Multiaddr, []*peer.Peer, []*IpfsDHT) {
|
||||||
var addrs []*ma.Multiaddr
|
var addrs []ma.Multiaddr
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
a, err := ma.NewMultiaddr(fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", 5000+i))
|
a, err := ma.NewMultiaddr(fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", 5000+i))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -67,7 +67,7 @@ func setupDHTS(n int, t *testing.T) ([]*ma.Multiaddr, []*peer.Peer, []*IpfsDHT)
|
|||||||
return addrs, peers, dhts
|
return addrs, peers, dhts
|
||||||
}
|
}
|
||||||
|
|
||||||
func makePeer(addr *ma.Multiaddr) *peer.Peer {
|
func makePeer(addr ma.Multiaddr) *peer.Peer {
|
||||||
p := new(peer.Peer)
|
p := new(peer.Peer)
|
||||||
p.AddAddress(addr)
|
p.AddAddress(addr)
|
||||||
sk, pk, err := ci.GenerateKeyPair(ci.RSA, 512)
|
sk, pk, err := ci.GenerateKeyPair(ci.RSA, 512)
|
||||||
|
@ -184,7 +184,7 @@ func TestGetFailures(t *testing.T) {
|
|||||||
func _randPeer() *peer.Peer {
|
func _randPeer() *peer.Peer {
|
||||||
p := new(peer.Peer)
|
p := new(peer.Peer)
|
||||||
p.ID = make(peer.ID, 16)
|
p.ID = make(peer.ID, 16)
|
||||||
p.Addresses = []*ma.Multiaddr{nil}
|
p.Addresses = []ma.Multiaddr{nil}
|
||||||
crand.Read(p.ID)
|
crand.Read(p.ID)
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
@ -17,14 +17,14 @@ type handler struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Serve starts the http server
|
// Serve starts the http server
|
||||||
func Serve(address *ma.Multiaddr, node *core.IpfsNode) error {
|
func Serve(address ma.Multiaddr, node *core.IpfsNode) error {
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
handler := &handler{&ipfsHandler{node}}
|
handler := &handler{&ipfsHandler{node}}
|
||||||
r.HandleFunc("/ipfs/", handler.postHandler).Methods("POST")
|
r.HandleFunc("/ipfs/", handler.postHandler).Methods("POST")
|
||||||
r.PathPrefix("/ipfs/").Handler(handler).Methods("GET")
|
r.PathPrefix("/ipfs/").Handler(handler).Methods("GET")
|
||||||
http.Handle("/", r)
|
http.Handle("/", r)
|
||||||
|
|
||||||
_, host, err := address.DialArgs()
|
_, host, err := ma.DialArgs(address)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user