Skip to content

Commit 30d13ff

Browse files
committed
Revert "multi: persist remote static key for handshakev2"
This reverts commit 31713c6. We will bump LNC to the latest version once the Terminal Web UI is ready to persist the keys as well.
1 parent ace1029 commit 30d13ff

File tree

7 files changed

+24
-36
lines changed

7 files changed

+24
-36
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
github.com/improbable-eng/grpc-web v0.12.0
1111
github.com/jessevdk/go-flags v1.4.0
1212
github.com/lightninglabs/faraday v0.2.7-alpha
13-
github.com/lightninglabs/lightning-node-connect v0.1.9-alpha
13+
github.com/lightninglabs/lightning-node-connect v0.1.8-alpha
1414
github.com/lightninglabs/lndclient v0.14.2-3
1515
github.com/lightninglabs/loop v0.18.0-beta-lnd-14
1616
github.com/lightninglabs/loop/swapserverrpc v1.0.1

go.sum

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -610,8 +610,8 @@ github.com/lightninglabs/faraday v0.2.7-alpha h1:lpSUk3RFfgr4/OCx1OdJ2AMHCAiTObK
610610
github.com/lightninglabs/faraday v0.2.7-alpha/go.mod h1:77P9EctYhneIXLvm9a6ylV9LCht/rj7j8mLwXpBgxB8=
611611
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf h1:HZKvJUHlcXI/f/O0Avg7t8sqkPo78HFzjmeYFl6DPnc=
612612
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf/go.mod h1:vxmQPeIQxPf6Jf9rM8R+B4rKBqLA2AjttNxkFBL2Plk=
613-
github.com/lightninglabs/lightning-node-connect v0.1.9-alpha h1:ri3tgMegrxffg7w+hrC2vzdler5xJp/G74gI/7uCVgU=
614-
github.com/lightninglabs/lightning-node-connect v0.1.9-alpha/go.mod h1:jxSnezQYIvhNXqjyyiMEmdpOURrdVaujPZV6zGCVi8o=
613+
github.com/lightninglabs/lightning-node-connect v0.1.8-alpha h1:bJ66JvVQCqEao4nLrPSahYtGtljUQ8tU9xx2nL/QfZE=
614+
github.com/lightninglabs/lightning-node-connect v0.1.8-alpha/go.mod h1:jxSnezQYIvhNXqjyyiMEmdpOURrdVaujPZV6zGCVi8o=
615615
github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.2 h1:Er1miPZD2XZwcfE4xoS5AILqP1mj7kqnhbBSxW9BDxY=
616616
github.com/lightninglabs/lightning-node-connect/hashmailrpc v1.0.2/go.mod h1:antQGRDRJiuyQF6l+k6NECCSImgCpwaZapATth2Chv4=
617617
github.com/lightninglabs/lndclient v0.11.0-4/go.mod h1:8/cTKNwgL87NX123gmlv3Xh6p1a7pvzu+40Un3PhHiI=
@@ -631,8 +631,6 @@ github.com/lightninglabs/neutrino v0.11.1-0.20201210023533-e1978372d15e/go.mod h
631631
github.com/lightninglabs/neutrino v0.12.1/go.mod h1:GlKninWpRBbL7b8G0oQ36/8downfnFwKsr0hbRA6E/E=
632632
github.com/lightninglabs/neutrino v0.13.0 h1:j3PKWEJCwqwMn/qLASz2j0IuCF6AumS9DaM0i0pM/nY=
633633
github.com/lightninglabs/neutrino v0.13.0/go.mod h1:GlKninWpRBbL7b8G0oQ36/8downfnFwKsr0hbRA6E/E=
634-
github.com/lightninglabs/pool v0.5.5-alpha h1:/tte6k6fJeZlb1v0d7OkUo9tKCMarmcs3ZGdJ1nSsp8=
635-
github.com/lightninglabs/pool v0.5.5-alpha/go.mod h1:asKvGWumYLB4mLXAqHRjfho22/puMoRHs8JWO3C1qR8=
636634
github.com/lightninglabs/pool v0.5.6-alpha-lnd-14 h1:SH7ycdd/nKAYc80vnjFKCKlhdHDYkxo4t14bT8+7jko=
637635
github.com/lightninglabs/pool v0.5.6-alpha-lnd-14/go.mod h1:asKvGWumYLB4mLXAqHRjfho22/puMoRHs8JWO3C1qR8=
638636
github.com/lightninglabs/pool/auctioneerrpc v1.0.5 h1:TIPnH3gPQxoN4HQ+3ATO5geTB6kthBtnx3TLROa6QE0=

itest/litd_mode_integrated_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package itest
33
import (
44
"bytes"
55
"context"
6+
"crypto/sha512"
67
"crypto/tls"
78
"crypto/x509"
89
"encoding/base64"
@@ -763,24 +764,24 @@ func getServerCertificates(hostPort string) ([]*x509.Certificate, error) {
763764
func connectMailbox(ctx context.Context,
764765
connectPhrase []string) (grpc.ClientConnInterface, error) {
765766

766-
var mnemonicWords [mailbox.NumPassphraseWords]string
767+
var mnemonicWords [mailbox.NumPasswordWords]string
767768
copy(mnemonicWords[:], connectPhrase)
768-
passphrase := mailbox.PassphraseMnemonicToEntropy(mnemonicWords)
769+
password := mailbox.PasswordMnemonicToEntropy(mnemonicWords)
770+
771+
sid := sha512.Sum512(password[:])
769772

770773
privKey, err := btcec.NewPrivateKey(btcec.S256())
771774
if err != nil {
772775
return nil, err
773776
}
774777
ecdh := &keychain.PrivKeyECDH{PrivKey: privKey}
775778

776-
connData := mailbox.NewConnData(ecdh, nil, passphrase[:], nil, nil, nil)
777-
778-
transportConn, err := mailbox.NewClient(ctx, connData)
779+
transportConn, err := mailbox.NewClient(ctx, sid)
779780
if err != nil {
780781
return nil, err
781782
}
782783

783-
noiseConn := mailbox.NewNoiseGrpcConn(connData)
784+
noiseConn := mailbox.NewNoiseGrpcConn(ecdh, nil, password[:])
784785

785786
dialOpts := []grpc.DialOption{
786787
grpc.WithContextDialer(transportConn.Dial),

session/interface.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type Session struct {
4747
DevServer bool
4848
MacaroonRootKey uint64
4949
MacaroonRecipe *MacaroonRecipe
50-
PairingSecret [mailbox.NumPassphraseEntropyBytes]byte
50+
PairingSecret [mailbox.NumPasswordBytes]byte
5151
LocalPrivateKey *btcec.PrivateKey
5252
LocalPublicKey *btcec.PublicKey
5353
RemotePublicKey *btcec.PublicKey
@@ -58,7 +58,7 @@ func NewSession(label string, typ Type, expiry time.Time, serverAddr string,
5858
devServer bool, perms []bakery.Op, caveats []macaroon.Caveat) (*Session,
5959
error) {
6060

61-
_, pairingSecret, err := mailbox.NewPassphraseEntropy()
61+
_, pairingSecret, err := mailbox.NewPassword()
6262
if err != nil {
6363
return nil, fmt.Errorf("error deriving pairing secret: %v", err)
6464
}

session/server.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,16 @@ func newMailboxSession() *mailboxSession {
3232
}
3333

3434
func (m *mailboxSession) start(session *Session,
35-
serverCreator GRPCServerCreator, authData []byte,
36-
onUpdate func(sess *Session) error) error {
35+
serverCreator GRPCServerCreator, authData []byte) error {
3736

3837
tlsConfig := &tls.Config{}
3938
if session.DevServer {
4039
tlsConfig = &tls.Config{InsecureSkipVerify: true}
4140
}
4241

43-
ecdh := &keychain.PrivKeyECDH{PrivKey: session.LocalPrivateKey}
44-
45-
keys := mailbox.NewConnData(
46-
ecdh, session.RemotePublicKey, session.PairingSecret[:],
47-
authData, func(key *btcec.PublicKey) error {
48-
session.RemotePublicKey = key
49-
return onUpdate(session)
50-
}, nil,
51-
)
52-
5342
// Start the mailbox gRPC server.
5443
mailboxServer, err := mailbox.NewServer(
55-
session.ServerAddr, keys,
44+
session.ServerAddr, session.PairingSecret[:],
5645
grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig)),
5746
grpc.WithKeepaliveParams(keepalive.ClientParameters{
5847
Time: 2 * time.Minute,
@@ -62,7 +51,10 @@ func (m *mailboxSession) start(session *Session,
6251
return err
6352
}
6453

65-
noiseConn := mailbox.NewNoiseGrpcConn(keys)
54+
ecdh := &keychain.PrivKeyECDH{PrivKey: session.LocalPrivateKey}
55+
noiseConn := mailbox.NewNoiseGrpcConn(
56+
ecdh, authData, session.PairingSecret[:],
57+
)
6658
m.server = serverCreator(grpc.Creds(noiseConn))
6759

6860
m.wg.Add(1)
@@ -103,8 +95,8 @@ func NewServer(serverCreator GRPCServerCreator) *Server {
10395
}
10496
}
10597

106-
func (s *Server) StartSession(session *Session, authData []byte,
107-
onUpdate func(sess *Session) error) (chan struct{}, error) {
98+
func (s *Server) StartSession(session *Session, authData []byte) (chan struct{},
99+
error) {
108100

109101
s.activeSessionsMtx.Lock()
110102
defer s.activeSessionsMtx.Unlock()
@@ -120,9 +112,7 @@ func (s *Server) StartSession(session *Session, authData []byte,
120112
sess := newMailboxSession()
121113
s.activeSessions[id] = sess
122114

123-
return sess.quit, sess.start(
124-
session, s.serverCreator, authData, onUpdate,
125-
)
115+
return sess.quit, sess.start(session, s.serverCreator, authData)
126116
}
127117

128118
func (s *Server) StopSession(localPublicKey *btcec.PublicKey) error {

session/store.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package session
33
import (
44
"bytes"
55
"errors"
6+
67
"github.com/btcsuite/btcd/btcec"
78
"go.etcd.io/bbolt"
89
)

session_rpcserver.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,7 @@ func (s *sessionRpcServer) resumeSession(sess *session.Session) error {
141141
return nil
142142
}
143143

144-
sessionClosedSub, err := s.sessionServer.StartSession(
145-
sess, authData, s.db.StoreSession,
146-
)
144+
sessionClosedSub, err := s.sessionServer.StartSession(sess, authData)
147145
if err != nil {
148146
return err
149147
}
@@ -242,7 +240,7 @@ func marshalRPCSession(sess *session.Session) (*litrpc.Session, error) {
242240
remotePubKey = sess.RemotePublicKey.SerializeCompressed()
243241
}
244242

245-
mnemonic, err := mailbox.PassphraseEntropyToMnemonic(sess.PairingSecret)
243+
mnemonic, err := mailbox.PasswordEntropyToMnemonic(sess.PairingSecret)
246244
if err != nil {
247245
return nil, err
248246
}

0 commit comments

Comments
 (0)