Commit 66625de4 authored by libangzhu's avatar libangzhu

fix test

parent 377c9536
......@@ -25,7 +25,7 @@ var P2pComm Comm
type Comm struct{}
// AddrRouteble address router ,return enbale address
func (Comm) AddrRouteble(addrs []string, version int32,creds credentials.TransportCredentials) []string {
func (Comm) AddrRouteble(addrs []string, version int32, creds credentials.TransportCredentials) []string {
var enableAddrs []string
for _, addr := range addrs {
......@@ -34,7 +34,7 @@ func (Comm) AddrRouteble(addrs []string, version int32,creds credentials.Transpo
log.Error("AddrRouteble", "NewNetAddressString", err.Error())
continue
}
conn, err := netaddr.DialTimeout(version,creds)
conn, err := netaddr.DialTimeout(version, creds)
if err != nil {
//log.Error("AddrRouteble", "DialTimeout", err.Error())
continue
......@@ -77,7 +77,7 @@ func (c Comm) GetLocalAddr() string {
func (c Comm) dialPeerWithAddress(addr *NetAddress, persistent bool, node *Node) (*Peer, error) {
log.Debug("dialPeerWithAddress")
conn, err := addr.DialTimeout(node.nodeInfo.channelVersion,node.cliCreds)
conn, err := addr.DialTimeout(node.nodeInfo.channelVersion, node.nodeInfo.cliCreds)
if err != nil {
return nil, err
}
......
......@@ -144,8 +144,8 @@ Retry:
keepOp := grpc.KeepaliveParams(keepparm)
StatsOp := grpc.StatsHandler(&statshandler{})
opts = append(opts, msgRecvOp, msgSendOp, grpc.KeepaliveEnforcementPolicy(kaep), keepOp, maxStreams, StatsOp)
if node.servCreds!=nil{
opts=append(opts,grpc.Creds(node.servCreds))
if node.nodeInfo.servCreds != nil {
opts = append(opts, grpc.Creds(node.nodeInfo.servCreds))
}
dl.server = grpc.NewServer(opts...)
dl.p2pserver = pServer
......
......@@ -84,8 +84,6 @@ type Node struct {
pubsub *pubsub.PubSub
chainCfg *types.Chain33Config
p2pMgr *p2p.Manager
cliCreds credentials.TransportCredentials
servCreds credentials.TransportCredentials
}
// SetQueueClient return client for nodeinfo
......@@ -128,19 +126,17 @@ func NewNode(mgr *p2p.Manager, mcfg *subConfig) (*Node, error) {
node.server = newListener(protocol, node)
}
node.chainCfg = cfg
if mcfg.enableTls { //读取证书,初始化tls客户端
if mcfg.EnableTls { //读取证书,初始化tls客户端
var err error
node.cliCreds, err = credentials.NewClientTLSFromFile(cfg.GetModuleConfig().RPC.CertFile, "")
node.nodeInfo.cliCreds, err = credentials.NewClientTLSFromFile(cfg.GetModuleConfig().RPC.CertFile, "")
if err != nil {
panic(err)
}
node.servCreds, err = credentials.NewServerTLSFromFile(cfg.GetModuleConfig().RPC.CertFile, cfg.GetModuleConfig().RPC.KeyFile)
node.nodeInfo.servCreds, err = credentials.NewServerTLSFromFile(cfg.GetModuleConfig().RPC.CertFile, cfg.GetModuleConfig().RPC.KeyFile)
if err != nil {
panic(err)
}
}
return node, nil
}
......@@ -174,7 +170,7 @@ func (n *Node) doNat() {
}
testExaddr := fmt.Sprintf("%v:%v", n.nodeInfo.GetExternalAddr().IP.String(), n.listenPort)
log.Info("TestNetAddr", "testExaddr", testExaddr)
if len(P2pComm.AddrRouteble([]string{testExaddr}, n.nodeInfo.channelVersion, n.cliCreds)) != 0 {
if len(P2pComm.AddrRouteble([]string{testExaddr}, n.nodeInfo.channelVersion, n.nodeInfo.cliCreds)) != 0 {
log.Info("node outside")
n.nodeInfo.SetNetSide(true)
if netexaddr, err := NewNetAddressString(testExaddr); err == nil {
......@@ -450,7 +446,7 @@ func (n *Node) natMapPort() {
time.Sleep(time.Second)
}
var err error
if len(P2pComm.AddrRouteble([]string{n.nodeInfo.GetExternalAddr().String()}, n.nodeInfo.channelVersion, n.cliCreds)) != 0 { //判断能否连通要映射的端口
if len(P2pComm.AddrRouteble([]string{n.nodeInfo.GetExternalAddr().String()}, n.nodeInfo.channelVersion, n.nodeInfo.cliCreds)) != 0 { //判断能否连通要映射的端口
log.Info("natMapPort", "addr", "routeble")
p2pcli := NewNormalP2PCli() //检查要映射的IP地址是否已经被映射成功
ok := p2pcli.CheckSelf(n.nodeInfo.GetExternalAddr().String(), n.nodeInfo)
......
......@@ -5,6 +5,7 @@
package gossip
import (
"google.golang.org/grpc/credentials"
"sync"
"sync/atomic"
......@@ -32,6 +33,8 @@ type NodeInfo struct {
outSide int32
ServiceType int32
channelVersion int32
cliCreds credentials.TransportCredentials
servCreds credentials.TransportCredentials
}
// NewNodeInfo new a node object
......@@ -49,6 +52,7 @@ func NewNodeInfo(p2pCfg *types.P2P, subCfg *subConfig) *NodeInfo {
nodeInfo.listenAddr = new(NetAddress)
nodeInfo.addrBook = NewAddrBook(p2pCfg, subCfg)
nodeInfo.channelVersion = utils.CalcChannelVersion(subCfg.Channel, VERSION)
return nodeInfo
}
......
......@@ -60,7 +60,7 @@ type subConfig struct {
//触发区块轻广播最小大小, KB
MinLtBlockSize int32 `protobuf:"varint,12,opt,name=minLtBlockSize" json:"minLtBlockSize,omitempty"`
//是否使用证书进行节点之间的通信,true 使用证书通信,读取rpc配置项下的证书文件
enableTls bool `protobuf:"varint,13,opt,name=enableTls" json:"enableTls,omitempty"`
EnableTls bool `protobuf:"varint,13,opt,name=enableTls" json:"enableTls,omitempty"`
}
// P2p interface
......
......@@ -264,7 +264,7 @@ func testPeer(t *testing.T, p2p *P2p, q queue.Queue) {
_, err = p2pcli.SendVersion(peer, localP2P.node.nodeInfo)
assert.Nil(t, err)
t.Log("nodeinfo",localP2P.node.nodeInfo)
t.Log(p2pcli.CheckPeerNatOk("localhost:53802", localP2P.node.nodeInfo))
t.Log("checkself:", p2pcli.CheckSelf("loadhost:43803", localP2P.node.nodeInfo))
_, err = p2pcli.GetAddr(peer)
......@@ -557,14 +557,17 @@ RObdAoGBALP9HK7KuX7xl0cKBzOiXqnAyoMUfxvO30CsMI3DS0SrPc1p95OHswdu
return
}
var node Node
node.servCreds= credentials.NewServerTLSFromCert(&certificate)
node.cliCreds=credentials.NewClientTLSFromCert(cp,"")
node.nodeInfo=&NodeInfo{}
servCreds:= credentials.NewServerTLSFromCert(&certificate)
cliCreds:=credentials.NewClientTLSFromCert(cp,"")
node.listenPort = 3331
node.nodeInfo.servCreds=servCreds
newListener("tcp", &node)
netAddr,err:= NewNetAddressString("localhost:3331")
assert.Nil(t,err)
conn,err:=grpc.Dial(netAddr.String(),grpc.WithTransportCredentials(node.cliCreds))
conn,err:=grpc.Dial(netAddr.String(),grpc.WithTransportCredentials(cliCreds))
assert.Nil(t,err)
assert.NotNil(t,conn)
conn.Close()
......
......@@ -561,7 +561,7 @@ func (m *Cli) GetNetInfo(msg *queue.Message, taskindex int64) {
// CheckPeerNatOk check peer is ok or not
func (m *Cli) CheckPeerNatOk(addr string, info *NodeInfo) bool {
//连接自己的地址信息做测试
return !(len(P2pComm.AddrRouteble([]string{addr}, info.channelVersion,m.network.node.cliCreds)) == 0)
return !(len(P2pComm.AddrRouteble([]string{addr}, info.channelVersion,nil)) == 0)
}
......@@ -572,7 +572,7 @@ func (m *Cli) CheckSelf(addr string, nodeinfo *NodeInfo) bool {
log.Error("AddrRouteble", "NewNetAddressString", err.Error())
return false
}
conn, err := netaddr.DialTimeout(nodeinfo.channelVersion,m.network.node.cliCreds)
conn, err := netaddr.DialTimeout(nodeinfo.channelVersion,nodeinfo.cliCreds)
if err != nil {
return false
}
......
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