Reset noise state when server retracts and reasserts session
This commit is contained in:
parent
140dc240c8
commit
0f13f2b238
|
@ -247,16 +247,7 @@ export function boot(ds = Dataspace.global, debug: boolean = false, WebSocketCon
|
||||||
(() => { throw new Error("Invalid pre-shared keys"); })();
|
(() => { throw new Error("Invalid pre-shared keys"); })();
|
||||||
const prologue = underlying(canonicalEncode(spec.service));
|
const prologue = underlying(canonicalEncode(spec.service));
|
||||||
|
|
||||||
const H = new SaltyCrypto.Handshake(
|
let H: SaltyCrypto.Handshake | null = null;
|
||||||
algorithms,
|
|
||||||
patternName,
|
|
||||||
'initiator',
|
|
||||||
{
|
|
||||||
prologue,
|
|
||||||
remoteStaticPublicKey: underlying(spec.key),
|
|
||||||
preSharedKeys: preSharedKeys.map(underlying),
|
|
||||||
});
|
|
||||||
|
|
||||||
let transportState: SaltyCrypto.TransportState | null = null;
|
let transportState: SaltyCrypto.TransportState | null = null;
|
||||||
let responderSession: Ref | null = null;
|
let responderSession: Ref | null = null;
|
||||||
let relay: Relay.Relay | null = null;
|
let relay: Relay.Relay | null = null;
|
||||||
|
@ -306,6 +297,16 @@ export function boot(ds = Dataspace.global, debug: boolean = false, WebSocketCon
|
||||||
if (!response) return;
|
if (!response) return;
|
||||||
switch (response._variant) {
|
switch (response._variant) {
|
||||||
case "accepted":
|
case "accepted":
|
||||||
|
H = new SaltyCrypto.Handshake(
|
||||||
|
algorithms,
|
||||||
|
patternName,
|
||||||
|
'initiator',
|
||||||
|
{
|
||||||
|
prologue,
|
||||||
|
remoteStaticPublicKey: underlying(spec.key),
|
||||||
|
preSharedKeys: preSharedKeys.map(underlying),
|
||||||
|
});
|
||||||
|
transportState = null;
|
||||||
responderSession = response.responderSession;
|
responderSession = response.responderSession;
|
||||||
const { packet, finished } = H.writeMessage(new Uint8Array());
|
const { packet, finished } = H.writeMessage(new Uint8Array());
|
||||||
at responderSession {
|
at responderSession {
|
||||||
|
@ -340,7 +341,7 @@ export function boot(ds = Dataspace.global, debug: boolean = false, WebSocketCon
|
||||||
if (p._variant !== 'complete') {
|
if (p._variant !== 'complete') {
|
||||||
throw new Error("Unexpected fragmentation in handshake");
|
throw new Error("Unexpected fragmentation in handshake");
|
||||||
}
|
}
|
||||||
const { message, finished } = H.readMessage(underlying(p.value));
|
const { message, finished } = H!.readMessage(underlying(p.value));
|
||||||
if (message.byteLength !== 0) {
|
if (message.byteLength !== 0) {
|
||||||
throw new Error("Unexpected payload during handshake");
|
throw new Error("Unexpected payload during handshake");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue