diff --git a/cmd/dendrite-demo-yggdrasil/yggconn/node.go b/cmd/dendrite-demo-yggdrasil/yggconn/node.go index 14bbf84d..a625f8d8 100644 --- a/cmd/dendrite-demo-yggdrasil/yggconn/node.go +++ b/cmd/dendrite-demo-yggdrasil/yggconn/node.go @@ -128,6 +128,10 @@ func (n *Node) DerivedServerName() string { return hex.EncodeToString(n.SigningPublicKey()) } +func (n *Node) DerivedSessionName() string { + return hex.EncodeToString(n.EncryptionPublicKey()) +} + func (n *Node) EncryptionPublicKey() []byte { edkey := n.SigningPublicKey() return convert.Ed25519PublicKeyToCurve25519(edkey) diff --git a/cmd/dendrite-demo-yggdrasil/yggconn/session.go b/cmd/dendrite-demo-yggdrasil/yggconn/session.go index 8d96a9cb..c50b6b73 100644 --- a/cmd/dendrite-demo-yggdrasil/yggconn/session.go +++ b/cmd/dendrite-demo-yggdrasil/yggconn/session.go @@ -42,7 +42,7 @@ func (n *Node) listenFromYgg() { var session *yamux.Session // If the remote address is lower than ours then we'll be the // server. Otherwse we'll be the client. - if strings.Compare(conn.RemoteAddr().String(), n.DerivedServerName()) < 0 { + if strings.Compare(conn.RemoteAddr().String(), n.DerivedSessionName()) < 0 { session, err = yamux.Server(conn, n.yamuxConfig()) } else { session, err = yamux.Client(conn, n.yamuxConfig()) @@ -105,7 +105,7 @@ func (n *Node) DialContext(ctx context.Context, network, address string) (net.Co } // If the remote address is lower than ours then we will be the // server. Otherwise we'll be the client. - if strings.Compare(conn.RemoteAddr().String(), n.DerivedServerName()) < 0 { + if strings.Compare(conn.RemoteAddr().String(), n.DerivedSessionName()) < 0 { session, err = yamux.Server(conn, n.yamuxConfig()) } else { session, err = yamux.Client(conn, n.yamuxConfig())