@matter/protocol 0.16.0-alpha.0-20251016-b56cf5683 → 0.16.0-alpha.0-20251020-3f6e46245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/action/client/ClientInteraction.d.ts +10 -5
- package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +129 -18
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/request/Invoke.d.ts +36 -8
- package/dist/cjs/action/request/Invoke.d.ts.map +1 -1
- package/dist/cjs/action/request/Invoke.js +80 -15
- package/dist/cjs/action/request/Invoke.js.map +1 -1
- package/dist/cjs/action/request/Read.d.ts +1 -1
- package/dist/cjs/action/request/Read.d.ts.map +1 -1
- package/dist/cjs/action/request/Read.js +10 -2
- package/dist/cjs/action/request/Read.js.map +1 -1
- package/dist/cjs/action/request/Specifier.d.ts +16 -1
- package/dist/cjs/action/request/Specifier.d.ts.map +1 -1
- package/dist/cjs/action/request/Specifier.js +56 -1
- package/dist/cjs/action/request/Specifier.js.map +1 -1
- package/dist/cjs/action/request/Write.d.ts +5 -3
- package/dist/cjs/action/request/Write.d.ts.map +1 -1
- package/dist/cjs/action/request/Write.js +52 -12
- package/dist/cjs/action/request/Write.js.map +1 -1
- package/dist/cjs/action/response/InvokeResult.d.ts +6 -0
- package/dist/cjs/action/response/InvokeResult.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.d.ts +2 -1
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.js +10 -5
- package/dist/cjs/common/FailsafeContext.js.map +1 -1
- package/dist/cjs/common/FailsafeTimer.d.ts +2 -0
- package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeTimer.js +9 -0
- package/dist/cjs/common/FailsafeTimer.js.map +1 -1
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionClient.js +91 -74
- package/dist/cjs/interaction/InteractionClient.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -2
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +10 -3
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +20 -17
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +1 -1
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +1 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +14 -4
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/protocol/ProtocolHandler.d.ts +7 -2
- package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.js +5 -4
- package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/cjs/session/GroupSession.d.ts +8 -1
- package/dist/cjs/session/GroupSession.d.ts.map +1 -1
- package/dist/cjs/session/GroupSession.js +10 -0
- package/dist/cjs/session/GroupSession.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +4 -1
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +17 -0
- package/dist/cjs/session/NodeSession.js.map +2 -2
- package/dist/cjs/session/SecureSession.d.ts +2 -0
- package/dist/cjs/session/SecureSession.d.ts.map +1 -1
- package/dist/cjs/session/SecureSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +1 -0
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +4 -0
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +3 -15
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseMessenger.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +10 -18
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/index.d.ts +1 -0
- package/dist/cjs/session/index.d.ts.map +1 -1
- package/dist/cjs/session/index.js +1 -0
- package/dist/cjs/session/index.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +1 -1
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.js.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +2 -2
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts +10 -5
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +140 -20
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/request/Invoke.d.ts +36 -8
- package/dist/esm/action/request/Invoke.d.ts.map +1 -1
- package/dist/esm/action/request/Invoke.js +81 -16
- package/dist/esm/action/request/Invoke.js.map +1 -1
- package/dist/esm/action/request/Read.d.ts +1 -1
- package/dist/esm/action/request/Read.d.ts.map +1 -1
- package/dist/esm/action/request/Read.js +12 -4
- package/dist/esm/action/request/Read.js.map +1 -1
- package/dist/esm/action/request/Specifier.d.ts +16 -1
- package/dist/esm/action/request/Specifier.d.ts.map +1 -1
- package/dist/esm/action/request/Specifier.js +56 -1
- package/dist/esm/action/request/Specifier.js.map +1 -1
- package/dist/esm/action/request/Write.d.ts +5 -3
- package/dist/esm/action/request/Write.d.ts.map +1 -1
- package/dist/esm/action/request/Write.js +53 -13
- package/dist/esm/action/request/Write.js.map +1 -1
- package/dist/esm/action/response/InvokeResult.d.ts +6 -0
- package/dist/esm/action/response/InvokeResult.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.d.ts +2 -1
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.js +10 -5
- package/dist/esm/common/FailsafeContext.js.map +1 -1
- package/dist/esm/common/FailsafeTimer.d.ts +2 -0
- package/dist/esm/common/FailsafeTimer.d.ts.map +1 -1
- package/dist/esm/common/FailsafeTimer.js +9 -0
- package/dist/esm/common/FailsafeTimer.js.map +1 -1
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionClient.js +92 -74
- package/dist/esm/interaction/InteractionClient.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +3 -2
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +10 -3
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +20 -17
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +2 -2
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +1 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +14 -4
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/protocol/ProtocolHandler.d.ts +7 -2
- package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.js +5 -4
- package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/esm/session/GroupSession.d.ts +8 -1
- package/dist/esm/session/GroupSession.d.ts.map +1 -1
- package/dist/esm/session/GroupSession.js +11 -1
- package/dist/esm/session/GroupSession.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +4 -1
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +17 -0
- package/dist/esm/session/NodeSession.js.map +2 -2
- package/dist/esm/session/SecureSession.d.ts +2 -0
- package/dist/esm/session/SecureSession.d.ts.map +1 -1
- package/dist/esm/session/SecureSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +1 -0
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +4 -0
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +5 -17
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/case/CaseMessenger.js.map +1 -1
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
- package/dist/esm/session/case/CaseServer.js +12 -20
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/index.d.ts +1 -0
- package/dist/esm/session/index.d.ts.map +1 -1
- package/dist/esm/session/index.js +1 -0
- package/dist/esm/session/index.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +1 -1
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +3 -2
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/ClientInteraction.ts +181 -27
- package/src/action/request/Invoke.ts +149 -27
- package/src/action/request/Read.ts +27 -7
- package/src/action/request/Specifier.ts +80 -1
- package/src/action/request/Write.ts +71 -19
- package/src/action/response/InvokeResult.ts +8 -0
- package/src/common/FailsafeContext.ts +15 -6
- package/src/common/FailsafeTimer.ts +11 -0
- package/src/interaction/InteractionClient.ts +135 -96
- package/src/interaction/InteractionMessenger.ts +15 -3
- package/src/protocol/ExchangeManager.ts +27 -29
- package/src/protocol/MessageChannel.ts +2 -2
- package/src/protocol/MessageExchange.ts +18 -4
- package/src/protocol/ProtocolHandler.ts +7 -2
- package/src/securechannel/SecureChannelProtocol.ts +8 -5
- package/src/session/GroupSession.ts +12 -1
- package/src/session/NodeSession.ts +26 -0
- package/src/session/SecureSession.ts +2 -0
- package/src/session/Session.ts +5 -0
- package/src/session/case/CaseClient.ts +3 -23
- package/src/session/case/CaseMessenger.ts +2 -0
- package/src/session/case/CaseServer.ts +15 -20
- package/src/session/index.ts +1 -0
- package/src/session/pase/PaseClient.ts +1 -1
- package/src/session/pase/PaseMessenger.ts +2 -0
- package/src/session/pase/PaseServer.ts +3 -2
|
@@ -22,6 +22,7 @@ import type { Subscription } from "#interaction/Subscription.js";
|
|
|
22
22
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
23
23
|
import { MessageCounter } from "#protocol/MessageCounter.js";
|
|
24
24
|
import { MessageReceptionStateEncryptedWithoutRollover } from "#protocol/MessageReceptionState.js";
|
|
25
|
+
import { SecureChannelMessenger } from "#securechannel/SecureChannelMessenger.js";
|
|
25
26
|
import { CaseAuthenticatedTag, FabricIndex, NodeId, StatusCode, StatusResponseError } from "#types";
|
|
26
27
|
import { SecureSession } from "./SecureSession.js";
|
|
27
28
|
import { Session, SessionParameterOptions } from "./Session.js";
|
|
@@ -330,6 +331,11 @@ export class NodeSession extends SecureSession {
|
|
|
330
331
|
await this.destroy(sendClose, closeAfterExchangeFinished);
|
|
331
332
|
}
|
|
332
333
|
|
|
334
|
+
async closeByPeer() {
|
|
335
|
+
await this.destroy(false, false);
|
|
336
|
+
await this.closedByPeer.emit();
|
|
337
|
+
}
|
|
338
|
+
|
|
333
339
|
/** Destroys a session. Outstanding subscription data will be discarded. */
|
|
334
340
|
async destroy(sendClose = false, closeAfterExchangeFinished = true) {
|
|
335
341
|
await this.clearSubscriptions(false);
|
|
@@ -392,4 +398,24 @@ export namespace NodeSession {
|
|
|
392
398
|
export function is(session?: Session): session is NodeSession {
|
|
393
399
|
return session?.type === SessionType.Unicast;
|
|
394
400
|
}
|
|
401
|
+
|
|
402
|
+
export function logNew(
|
|
403
|
+
logger: Logger,
|
|
404
|
+
operation: "New" | "Resumed",
|
|
405
|
+
session: NodeSession,
|
|
406
|
+
messenger: SecureChannelMessenger,
|
|
407
|
+
fabric: Fabric,
|
|
408
|
+
peerNodeId: NodeId,
|
|
409
|
+
) {
|
|
410
|
+
logger.info(
|
|
411
|
+
`${operation} session with`,
|
|
412
|
+
Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
|
|
413
|
+
Diagnostic.dict({
|
|
414
|
+
id: session.id,
|
|
415
|
+
address: messenger.channelName,
|
|
416
|
+
fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
|
|
417
|
+
...session.parameterDiagnostics,
|
|
418
|
+
}),
|
|
419
|
+
);
|
|
420
|
+
}
|
|
395
421
|
}
|
|
@@ -7,11 +7,13 @@ import { Subject } from "#action/server/Subject.js";
|
|
|
7
7
|
import { Message } from "#codec/MessageCodec.js";
|
|
8
8
|
import { Fabric } from "#fabric/Fabric.js";
|
|
9
9
|
import { MatterFlowError } from "#general";
|
|
10
|
+
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
10
11
|
import { Session } from "./Session.js";
|
|
11
12
|
|
|
12
13
|
export abstract class SecureSession extends Session {
|
|
13
14
|
readonly isSecure = true;
|
|
14
15
|
abstract fabric: Fabric | undefined;
|
|
16
|
+
abstract peerAddress: PeerAddress;
|
|
15
17
|
abstract subjectFor(message?: Message): Subject;
|
|
16
18
|
}
|
|
17
19
|
|
package/src/session/Session.ts
CHANGED
|
@@ -97,6 +97,7 @@ export abstract class Session {
|
|
|
97
97
|
*/
|
|
98
98
|
closer?: Promise<void>;
|
|
99
99
|
#destroyed = AsyncObservable<[]>();
|
|
100
|
+
#closedByPeer = AsyncObservable<[]>();
|
|
100
101
|
|
|
101
102
|
constructor(args: {
|
|
102
103
|
manager?: SessionManager;
|
|
@@ -143,6 +144,10 @@ export abstract class Session {
|
|
|
143
144
|
return this.#destroyed;
|
|
144
145
|
}
|
|
145
146
|
|
|
147
|
+
get closedByPeer() {
|
|
148
|
+
return this.#closedByPeer;
|
|
149
|
+
}
|
|
150
|
+
|
|
146
151
|
notifyActivity(messageReceived: boolean) {
|
|
147
152
|
this.timestamp = Time.nowMs;
|
|
148
153
|
if (messageReceived) {
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
import { Icac } from "#certificate/kinds/Icac.js";
|
|
8
8
|
import { Noc } from "#certificate/kinds/Noc.js";
|
|
9
9
|
import { Fabric } from "#fabric/Fabric.js";
|
|
10
|
-
import { Bytes,
|
|
11
|
-
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
10
|
+
import { Bytes, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
|
|
12
11
|
import { MessageExchange, RetransmissionLimitReachedError } from "#protocol/MessageExchange.js";
|
|
13
12
|
import { ChannelStatusResponseError } from "#securechannel/SecureChannelMessenger.js";
|
|
14
13
|
import { NodeSession } from "#session/NodeSession.js";
|
|
@@ -135,7 +134,7 @@ export class CaseClient {
|
|
|
135
134
|
caseAuthenticatedTags,
|
|
136
135
|
});
|
|
137
136
|
await messenger.sendSuccess();
|
|
138
|
-
|
|
137
|
+
NodeSession.logNew(logger, "Resumed", secureSession, messenger, fabric, peerNodeId);
|
|
139
138
|
|
|
140
139
|
resumptionRecord.resumptionId = resumptionId; /* update resumptionId */
|
|
141
140
|
resumptionRecord.sessionParameters = secureSession.parameters; /* update mrpParams */
|
|
@@ -246,7 +245,7 @@ export class CaseClient {
|
|
|
246
245
|
peerSessionParameters,
|
|
247
246
|
caseAuthenticatedTags: sessionCaseAuthenticatedTags,
|
|
248
247
|
});
|
|
249
|
-
|
|
248
|
+
NodeSession.logNew(logger, "New", secureSession, messenger, fabric, peerNodeId);
|
|
250
249
|
resumptionRecord = {
|
|
251
250
|
fabric,
|
|
252
251
|
peerNodeId,
|
|
@@ -262,25 +261,6 @@ export class CaseClient {
|
|
|
262
261
|
|
|
263
262
|
return { session: secureSession, resumed };
|
|
264
263
|
}
|
|
265
|
-
|
|
266
|
-
#logNewSession(
|
|
267
|
-
operation: "New" | "Resumed",
|
|
268
|
-
session: NodeSession,
|
|
269
|
-
messenger: CaseClientMessenger,
|
|
270
|
-
fabric: Fabric,
|
|
271
|
-
peerNodeId: NodeId,
|
|
272
|
-
) {
|
|
273
|
-
logger.info(
|
|
274
|
-
`${operation} session with`,
|
|
275
|
-
Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
|
|
276
|
-
Diagnostic.dict({
|
|
277
|
-
id: session.id,
|
|
278
|
-
address: messenger.channelName,
|
|
279
|
-
fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
|
|
280
|
-
...session.parameterDiagnostics,
|
|
281
|
-
}),
|
|
282
|
-
);
|
|
283
|
-
}
|
|
284
264
|
}
|
|
285
265
|
|
|
286
266
|
export namespace CaseClient {
|
|
@@ -47,6 +47,8 @@ export class CaseClientMessenger extends SecureChannelMessenger {
|
|
|
47
47
|
payload,
|
|
48
48
|
payloadHeader: { messageType },
|
|
49
49
|
} = await this.anyNextMessage("Sigma2(Resume)");
|
|
50
|
+
|
|
51
|
+
// TODO Add support for BUSY response and resend the message after waiting time
|
|
50
52
|
switch (messageType) {
|
|
51
53
|
case SecureMessageType.Sigma2:
|
|
52
54
|
return { sigma2Bytes: payload, sigma2: TlvCaseSigma2.decode(payload) as CaseSigma2 };
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Noc } from "#certificate/kinds/Noc.js";
|
|
8
|
-
import { Bytes, Crypto, CryptoDecryptError, Logger, PublicKey, UnexpectedDataError } from "#general";
|
|
8
|
+
import { Bytes, Crypto, CryptoDecryptError, Diagnostic, Logger, PublicKey, UnexpectedDataError } from "#general";
|
|
9
|
+
import { NodeSession } from "#session/NodeSession.js";
|
|
9
10
|
import { SessionParametersWithDurations } from "#session/pase/PaseMessages.js";
|
|
10
11
|
import { ResumptionRecord, SessionManager } from "#session/SessionManager.js";
|
|
11
|
-
import {
|
|
12
|
+
import { SECURE_CHANNEL_PROTOCOL_ID, SecureChannelStatusCode } from "#types";
|
|
12
13
|
import { FabricManager, FabricNotFoundError } from "../../fabric/FabricManager.js";
|
|
13
14
|
import { MessageExchange } from "../../protocol/MessageExchange.js";
|
|
14
15
|
import { ProtocolHandler } from "../../protocol/ProtocolHandler.js";
|
|
@@ -64,7 +65,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
async #handleSigma1(messenger: CaseServerMessenger) {
|
|
67
|
-
logger.info(
|
|
68
|
+
logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
|
|
68
69
|
|
|
69
70
|
// Initialize context with information from peer
|
|
70
71
|
const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
|
|
@@ -86,9 +87,12 @@ export class CaseServer implements ProtocolHandler {
|
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
logger.info(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
"Invalid resumption ID or resume MIC received from",
|
|
91
|
+
messenger.channelName,
|
|
92
|
+
Diagnostic.dict({
|
|
93
|
+
resumptionId: context.peerResumptionId,
|
|
94
|
+
resumeMic: context.peerResumeMic,
|
|
95
|
+
}),
|
|
92
96
|
);
|
|
93
97
|
|
|
94
98
|
throw new UnexpectedDataError("Invalid resumption ID or resume MIC.");
|
|
@@ -152,13 +156,8 @@ export class CaseServer implements ProtocolHandler {
|
|
|
152
156
|
throw error;
|
|
153
157
|
}
|
|
154
158
|
|
|
155
|
-
logger.
|
|
156
|
-
|
|
157
|
-
fabric.nodeId,
|
|
158
|
-
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
|
|
159
|
-
"with CATs",
|
|
160
|
-
caseAuthenticatedTags,
|
|
161
|
-
);
|
|
159
|
+
NodeSession.logNew(logger, "Resumed", secureSession, cx.messenger, fabric, peerNodeId);
|
|
160
|
+
|
|
162
161
|
cx.resumptionRecord.resumptionId = cx.localResumptionId; /* Update the ID */
|
|
163
162
|
|
|
164
163
|
// Wait for success on the peer side
|
|
@@ -274,13 +273,9 @@ export class CaseServer implements ProtocolHandler {
|
|
|
274
273
|
peerSessionParameters: cx.peerSessionParams,
|
|
275
274
|
caseAuthenticatedTags,
|
|
276
275
|
});
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
|
|
281
|
-
"with CATs",
|
|
282
|
-
caseAuthenticatedTags,
|
|
283
|
-
);
|
|
276
|
+
|
|
277
|
+
NodeSession.logNew(logger, "New", secureSession, cx.messenger, fabric, peerNodeId);
|
|
278
|
+
|
|
284
279
|
await cx.messenger.sendSuccess();
|
|
285
280
|
|
|
286
281
|
const resumptionRecord = {
|
package/src/session/index.ts
CHANGED
|
@@ -106,7 +106,7 @@ export class PaseClient {
|
|
|
106
106
|
peerSessionParameters,
|
|
107
107
|
});
|
|
108
108
|
await messenger.close();
|
|
109
|
-
logger.info(
|
|
109
|
+
logger.info("Paired successfully »", messenger.channelName);
|
|
110
110
|
|
|
111
111
|
return secureSession;
|
|
112
112
|
}
|
|
@@ -60,6 +60,8 @@ export class PaseClientMessenger extends SecureChannelMessenger {
|
|
|
60
60
|
SecureMessageType.PbkdfParamResponse,
|
|
61
61
|
DEFAULT_NORMAL_PROCESSING_TIME,
|
|
62
62
|
);
|
|
63
|
+
|
|
64
|
+
// TODO Add support for BUSY response and resend the message after waiting time
|
|
63
65
|
return { responsePayload: payload, response: TlvPbkdfParamResponse.decode(payload) as PbkdfParamResponse };
|
|
64
66
|
}
|
|
65
67
|
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import {
|
|
8
8
|
Bytes,
|
|
9
9
|
Crypto,
|
|
10
|
+
Diagnostic,
|
|
10
11
|
ec,
|
|
11
12
|
Logger,
|
|
12
13
|
MatterFlowError,
|
|
@@ -104,7 +105,7 @@ export class PaseServer implements ProtocolHandler {
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
private async handlePairingRequest(crypto: Crypto, messenger: PaseServerMessenger) {
|
|
107
|
-
logger.info(
|
|
108
|
+
logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
|
|
108
109
|
|
|
109
110
|
this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
|
|
110
111
|
this.cancelPairing(messenger),
|
|
@@ -167,7 +168,7 @@ export class PaseServer implements ProtocolHandler {
|
|
|
167
168
|
isResumption: false,
|
|
168
169
|
peerSessionParameters: initiatorSessionParams,
|
|
169
170
|
});
|
|
170
|
-
logger.info(`Session ${responderSessionId} created with
|
|
171
|
+
logger.info(Diagnostic.strong(`Session ${responderSessionId} created`), "with", messenger.channelName);
|
|
171
172
|
|
|
172
173
|
await messenger.sendSuccess();
|
|
173
174
|
await messenger.close();
|