name LNDConn back, put h160 back for now
This commit is contained in:
parent
f81f28c5fe
commit
8469b4fd9f
30
lndc/conn.go
30
lndc/conn.go
@ -16,7 +16,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Conn...
|
// Conn...
|
||||||
type Conn struct {
|
type LNDConn struct {
|
||||||
longTermPriv *btcec.PrivateKey
|
longTermPriv *btcec.PrivateKey
|
||||||
|
|
||||||
remotePub *btcec.PublicKey
|
remotePub *btcec.PublicKey
|
||||||
@ -49,12 +49,12 @@ type Conn struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewConn...
|
// NewConn...
|
||||||
func NewConn(connPrivKey *btcec.PrivateKey, conn net.Conn) *Conn {
|
func NewConn(connPrivKey *btcec.PrivateKey, conn net.Conn) *LNDConn {
|
||||||
return &Conn{longTermPriv: connPrivKey, conn: conn}
|
return &LNDConn{longTermPriv: connPrivKey, conn: conn}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dial...
|
// Dial...
|
||||||
func (c *Conn) Dial(address string, remoteId []byte) error {
|
func (c *LNDConn) Dial(address string, remoteId []byte) error {
|
||||||
var err error
|
var err error
|
||||||
if c.conn != nil {
|
if c.conn != nil {
|
||||||
return fmt.Errorf("connection already established")
|
return fmt.Errorf("connection already established")
|
||||||
@ -144,7 +144,7 @@ func (c *Conn) Dial(address string, remoteId []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// authPubKey...
|
// authPubKey...
|
||||||
func (c *Conn) authPubKey(remotePubBytes, localEphPubBytes []byte) error {
|
func (c *LNDConn) authPubKey(remotePubBytes, localEphPubBytes []byte) error {
|
||||||
if c.authed {
|
if c.authed {
|
||||||
return fmt.Errorf("%s already authed", c.remotePub)
|
return fmt.Errorf("%s already authed", c.remotePub)
|
||||||
}
|
}
|
||||||
@ -192,7 +192,7 @@ func (c *Conn) authPubKey(remotePubBytes, localEphPubBytes []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// authPKH...
|
// authPKH...
|
||||||
func (c *Conn) authPKH(theirPKH, localEphPubBytes []byte) error {
|
func (c *LNDConn) authPKH(theirPKH, localEphPubBytes []byte) error {
|
||||||
if c.authed {
|
if c.authed {
|
||||||
return fmt.Errorf("%s already authed", c.remotePub)
|
return fmt.Errorf("%s already authed", c.remotePub)
|
||||||
}
|
}
|
||||||
@ -251,7 +251,7 @@ func (c *Conn) authPKH(theirPKH, localEphPubBytes []byte) error {
|
|||||||
// Read can be made to time out and return a Error with Timeout() == true
|
// Read can be made to time out and return a Error with Timeout() == true
|
||||||
// after a fixed time limit; see SetDeadline and SetReadDeadline.
|
// after a fixed time limit; see SetDeadline and SetReadDeadline.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) Read(b []byte) (n int, err error) {
|
func (c *LNDConn) Read(b []byte) (n int, err error) {
|
||||||
// In order to reconcile the differences between the record abstraction
|
// In order to reconcile the differences between the record abstraction
|
||||||
// of our AEAD connection, and the stream abstraction of TCP, we maintain
|
// of our AEAD connection, and the stream abstraction of TCP, we maintain
|
||||||
// an intermediate read buffer. If this buffer becomes depleated, then
|
// an intermediate read buffer. If this buffer becomes depleated, then
|
||||||
@ -292,7 +292,7 @@ func (c *Conn) Read(b []byte) (n int, err error) {
|
|||||||
// Write can be made to time out and return a Error with Timeout() == true
|
// Write can be made to time out and return a Error with Timeout() == true
|
||||||
// after a fixed time limit; see SetDeadline and SetWriteDeadline.
|
// after a fixed time limit; see SetDeadline and SetWriteDeadline.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) Write(b []byte) (n int, err error) {
|
func (c *LNDConn) Write(b []byte) (n int, err error) {
|
||||||
if b == nil {
|
if b == nil {
|
||||||
return 0, fmt.Errorf("write to %x nil", c.remoteLNId)
|
return 0, fmt.Errorf("write to %x nil", c.remoteLNId)
|
||||||
}
|
}
|
||||||
@ -320,7 +320,7 @@ func (c *Conn) Write(b []byte) (n int, err error) {
|
|||||||
// Close closes the connection.
|
// Close closes the connection.
|
||||||
// Any blocked Read or Write operations will be unblocked and return errors.
|
// Any blocked Read or Write operations will be unblocked and return errors.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) Close() error {
|
func (c *LNDConn) Close() error {
|
||||||
c.myNonceInt = 0
|
c.myNonceInt = 0
|
||||||
c.remoteNonceInt = 0
|
c.remoteNonceInt = 0
|
||||||
c.remotePub = nil
|
c.remotePub = nil
|
||||||
@ -331,13 +331,13 @@ func (c *Conn) Close() error {
|
|||||||
// LocalAddr returns the local network address.
|
// LocalAddr returns the local network address.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
// If PBX reports address of pbx host.
|
// If PBX reports address of pbx host.
|
||||||
func (c *Conn) LocalAddr() net.Addr {
|
func (c *LNDConn) LocalAddr() net.Addr {
|
||||||
return c.conn.LocalAddr()
|
return c.conn.LocalAddr()
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoteAddr returns the remote network address.
|
// RemoteAddr returns the remote network address.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) RemoteAddr() net.Addr {
|
func (c *LNDConn) RemoteAddr() net.Addr {
|
||||||
return c.conn.RemoteAddr()
|
return c.conn.RemoteAddr()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -345,14 +345,14 @@ func (c *Conn) RemoteAddr() net.Addr {
|
|||||||
// with the connection. It is equivalent to calling both
|
// with the connection. It is equivalent to calling both
|
||||||
// SetReadDeadline and SetWriteDeadline.
|
// SetReadDeadline and SetWriteDeadline.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) SetDeadline(t time.Time) error {
|
func (c *LNDConn) SetDeadline(t time.Time) error {
|
||||||
return c.conn.SetDeadline(t)
|
return c.conn.SetDeadline(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetReadDeadline sets the deadline for future Read calls.
|
// SetReadDeadline sets the deadline for future Read calls.
|
||||||
// A zero value for t means Read will not time out.
|
// A zero value for t means Read will not time out.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) SetReadDeadline(t time.Time) error {
|
func (c *LNDConn) SetReadDeadline(t time.Time) error {
|
||||||
return c.conn.SetReadDeadline(t)
|
return c.conn.SetReadDeadline(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -361,8 +361,8 @@ func (c *Conn) SetReadDeadline(t time.Time) error {
|
|||||||
// some of the data was successfully written.
|
// some of the data was successfully written.
|
||||||
// A zero value for t means Write will not time out.
|
// A zero value for t means Write will not time out.
|
||||||
// Part of the net.Conn interface.
|
// Part of the net.Conn interface.
|
||||||
func (c *Conn) SetWriteDeadline(t time.Time) error {
|
func (c *LNDConn) SetWriteDeadline(t time.Time) error {
|
||||||
return c.conn.SetWriteDeadline(t)
|
return c.conn.SetWriteDeadline(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ net.Conn = (*Conn)(nil)
|
var _ net.Conn = (*LNDConn)(nil)
|
||||||
|
@ -65,7 +65,7 @@ func (l *Listener) Accept() (c net.Conn, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// createCipherConn....
|
// createCipherConn....
|
||||||
func (l *Listener) createCipherConn(lnConn *Conn) (*btcec.PrivateKey, error) {
|
func (l *Listener) createCipherConn(lnConn *LNDConn) (*btcec.PrivateKey, error) {
|
||||||
var err error
|
var err error
|
||||||
var theirEphPubBytes []byte
|
var theirEphPubBytes []byte
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ func (l *Listener) createCipherConn(lnConn *Conn) (*btcec.PrivateKey, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AuthListen...
|
// AuthListen...
|
||||||
func (l *Listener) authenticateConnection(lnConn *Conn, localEphPubBytes []byte) error {
|
func (l *Listener) authenticateConnection(lnConn *LNDConn, localEphPubBytes []byte) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
// TODO(roasbeef): should be using read/write clear here?
|
// TODO(roasbeef): should be using read/write clear here?
|
||||||
|
@ -6,6 +6,9 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
|
"github.com/btcsuite/fastsha256"
|
||||||
|
"golang.org/x/crypto/ripemd160"
|
||||||
)
|
)
|
||||||
|
|
||||||
// New & improved tcp open session.
|
// New & improved tcp open session.
|
||||||
@ -83,6 +86,13 @@ import (
|
|||||||
// *b = append([]byte{lnwire.MSGID_FWDMSG}, *b...)
|
// *b = append([]byte{lnwire.MSGID_FWDMSG}, *b...)
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
func H160(input []byte) []byte {
|
||||||
|
rp := ripemd160.New()
|
||||||
|
shaout := fastsha256.Sum256(input)
|
||||||
|
_, _ = rp.Write(shaout[:])
|
||||||
|
return rp.Sum(nil)
|
||||||
|
}
|
||||||
|
|
||||||
// readClear and writeClear don't encrypt but directly read and write to the
|
// readClear and writeClear don't encrypt but directly read and write to the
|
||||||
// underlying data link, only adding or subtracting a 2 byte length header.
|
// underlying data link, only adding or subtracting a 2 byte length header.
|
||||||
// All Read() and Write() calls for lndc's use these functions internally
|
// All Read() and Write() calls for lndc's use these functions internally
|
||||||
|
Loading…
Reference in New Issue
Block a user