提交 4900935b 作者: vyzo

account for p2p-circuit address intricacies

License: MIT
Signed-off-by: 's avatarvyzo <vyzo@hackzen.org>
上级 ba5940e6
...@@ -7,6 +7,7 @@ import ( ...@@ -7,6 +7,7 @@ import (
"io" "io"
"path" "path"
"sort" "sort"
"strings"
cmds "github.com/ipfs/go-ipfs/commands" cmds "github.com/ipfs/go-ipfs/commands"
repo "github.com/ipfs/go-ipfs/repo" repo "github.com/ipfs/go-ipfs/repo"
...@@ -128,7 +129,11 @@ var swarmPeersCmd = &cmds.Command{ ...@@ -128,7 +129,11 @@ var swarmPeersCmd = &cmds.Command{
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
for _, info := range ci.Peers { for _, info := range ci.Peers {
fmt.Fprintf(buf, "%s/ipfs/%s", info.Addr, info.Peer) if strings.Contains(info.Addr, "/p2p-circuit/") {
fmt.Fprintf(buf, "%s", info.Addr)
} else {
fmt.Fprintf(buf, "%s/ipfs/%s", info.Addr, info.Peer)
}
if info.Latency != "" { if info.Latency != "" {
fmt.Fprintf(buf, " %s", info.Latency) fmt.Fprintf(buf, " %s", info.Latency)
} }
......
...@@ -7,6 +7,7 @@ import ( ...@@ -7,6 +7,7 @@ import (
path "github.com/ipfs/go-ipfs/path" path "github.com/ipfs/go-ipfs/path"
logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
circuit "gx/ipfs/QmVEPsD9h95ToAC7NJpYopFcXyjVJm35xV4tw43J5JdCnL/go-libp2p-circuit"
peer "gx/ipfs/QmXYjuNuxVzXKJCfWasQk1RqkhVLDM9jtUKhqc2WPQmFSB/go-libp2p-peer" peer "gx/ipfs/QmXYjuNuxVzXKJCfWasQk1RqkhVLDM9jtUKhqc2WPQmFSB/go-libp2p-peer"
) )
...@@ -106,6 +107,13 @@ func ParseMultiaddr(m ma.Multiaddr) (a IPFSAddr, err error) { ...@@ -106,6 +107,13 @@ func ParseMultiaddr(m ma.Multiaddr) (a IPFSAddr, err error) {
func Transport(iaddr IPFSAddr) (maddr ma.Multiaddr) { func Transport(iaddr IPFSAddr) (maddr ma.Multiaddr) {
maddr = iaddr.Multiaddr() maddr = iaddr.Multiaddr()
// /ipfs/QmId is part of the transport address for p2p-circuit
_, err := maddr.ValueForProtocol(circuit.P_CIRCUIT)
if err == nil {
return maddr
}
split := ma.Split(maddr) split := ma.Split(maddr)
maddr = ma.Join(split[:len(split)-1]...) maddr = ma.Join(split[:len(split)-1]...)
return return
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论