brontide: modify the Dial function to take a *lnwire.NetAddress

This commit is contained in:
Olaoluwa Osuntokun 2016-10-26 19:04:19 -07:00
parent 99ed3b8616
commit 9850e8667e
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
2 changed files with 11 additions and 7 deletions

@ -6,6 +6,7 @@ import (
"net"
"time"
"github.com/lightningnetwork/lnd/lnwire"
"github.com/roasbeef/btcd/btcec"
)
@ -30,17 +31,16 @@ var _ net.Conn = (*Conn)(nil)
// remote peer located at address which has remotePub as its long-term static
// public key. In the case of a handshake failure, the connection is closed and
// a non-nil error is returned.
func Dial(localPriv *btcec.PrivateKey, remotePub *btcec.PublicKey,
address string) (*Conn, error) {
conn, err := net.Dial("tcp", address)
func Dial(localPriv *btcec.PrivateKey, netAddr *lnwire.NetAddress) (*Conn, error) {
ipAddr := netAddr.Address.String()
conn, err := net.Dial("tcp", ipAddr)
if err != nil {
return nil, err
}
b := &Conn{
conn: conn,
noise: NewBrontideMachine(true, localPriv, remotePub),
noise: NewBrontideMachine(true, localPriv, netAddr.IdentityKey),
}
// Initiate the handshake by sending the first act to the receiver.

@ -5,6 +5,7 @@ import (
"net"
"testing"
"github.com/lightningnetwork/lnd/lnwire"
"github.com/roasbeef/btcd/btcec"
)
@ -31,14 +32,17 @@ func TestConnectionCorrectness(t *testing.T) {
}
defer listener.Close()
listenAddr := listener.Addr().String()
netAddr := &lnwire.NetAddress{
IdentityKey: localPriv.PubKey(),
Address: listener.Addr().(*net.TCPAddr),
}
// Initiate a connection with a separate goroutine, and listen with our
// main one. If both errors are nil, then encryption+auth was succesful.
errChan := make(chan error)
connChan := make(chan net.Conn)
go func() {
conn, err := Dial(remotePriv, localPriv.PubKey(), listenAddr)
conn, err := Dial(remotePriv, netAddr)
errChan <- err
connChan <- conn
}()