@matter/protocol 0.16.0-alpha.0-20250819-0a388db8b → 0.16.0-alpha.0-20250821-dd03e1003
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/InputChunk.js +1 -1
- package/dist/cjs/action/client/InputChunk.js.map +1 -1
- package/dist/cjs/action/response/ReadResult.d.ts +2 -2
- package/dist/cjs/action/response/ReadResult.d.ts.map +1 -1
- package/dist/cjs/events/EventStore.d.ts +2 -2
- package/dist/cjs/events/EventStore.d.ts.map +1 -1
- package/dist/cjs/events/Occurrence.d.ts +2 -2
- package/dist/cjs/events/Occurrence.d.ts.map +1 -1
- package/dist/cjs/events/OccurrenceManager.d.ts +2 -2
- package/dist/cjs/events/OccurrenceManager.d.ts.map +1 -1
- package/dist/cjs/events/OccurrenceManager.js +6 -6
- package/dist/cjs/events/OccurrenceManager.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +8 -3
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/interaction/EventDataDecoder.d.ts +2 -2
- package/dist/cjs/interaction/EventDataDecoder.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -3
- package/dist/cjs/peer/PeerAddress.d.ts +1 -1
- package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
- package/dist/cjs/peer/PeerAddress.js +3 -0
- package/dist/cjs/peer/PeerAddress.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.js +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +6 -3
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +2 -2
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts +4 -3
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +17 -11
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +4 -4
- package/dist/cjs/session/case/CaseServer.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/PaseServer.js +2 -2
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/action/client/InputChunk.js +1 -1
- package/dist/esm/action/client/InputChunk.js.map +1 -1
- package/dist/esm/action/response/ReadResult.d.ts +2 -2
- package/dist/esm/action/response/ReadResult.d.ts.map +1 -1
- package/dist/esm/events/EventStore.d.ts +2 -2
- package/dist/esm/events/EventStore.d.ts.map +1 -1
- package/dist/esm/events/Occurrence.d.ts +2 -2
- package/dist/esm/events/Occurrence.d.ts.map +1 -1
- package/dist/esm/events/OccurrenceManager.d.ts +2 -2
- package/dist/esm/events/OccurrenceManager.d.ts.map +1 -1
- package/dist/esm/events/OccurrenceManager.js +7 -7
- package/dist/esm/events/OccurrenceManager.js.map +1 -1
- package/dist/esm/fabric/Fabric.d.ts +8 -3
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/interaction/EventDataDecoder.d.ts +2 -2
- package/dist/esm/interaction/EventDataDecoder.d.ts.map +1 -1
- package/dist/esm/interaction/EventDataDecoder.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +3 -3
- package/dist/esm/peer/PeerAddress.d.ts +1 -1
- package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
- package/dist/esm/peer/PeerAddress.js +3 -0
- package/dist/esm/peer/PeerAddress.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.js +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +6 -3
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +2 -2
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts +4 -3
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +18 -12
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseServer.js +4 -4
- package/dist/esm/session/case/CaseServer.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/PaseServer.js +2 -2
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/InputChunk.ts +1 -1
- package/src/action/response/ReadResult.ts +2 -2
- package/src/events/EventStore.ts +2 -2
- package/src/events/Occurrence.ts +2 -2
- package/src/events/OccurrenceManager.ts +7 -10
- package/src/interaction/EventDataDecoder.ts +2 -2
- package/src/peer/PeerAddress.ts +7 -3
- package/src/securechannel/SecureChannelMessenger.ts +1 -1
- package/src/session/NodeSession.ts +2 -2
- package/src/session/case/CaseClient.ts +27 -14
- package/src/session/case/CaseServer.ts +4 -4
- package/src/session/pase/PaseClient.ts +1 -1
- package/src/session/pase/PaseServer.ts +2 -2
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
import { Icac } from "#certificate/kinds/Icac.js";
|
|
8
8
|
import { Noc } from "#certificate/kinds/Noc.js";
|
|
9
|
-
import {
|
|
9
|
+
import { Fabric } from "#fabric/Fabric.js";
|
|
10
|
+
import { Bytes, Diagnostic, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
|
|
11
|
+
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
12
|
+
import { MessageExchange, RetransmissionLimitReachedError } from "#protocol/MessageExchange.js";
|
|
10
13
|
import { ChannelStatusResponseError } from "#securechannel/SecureChannelMessenger.js";
|
|
14
|
+
import { NodeSession } from "#session/NodeSession.js";
|
|
11
15
|
import { SessionManager } from "#session/SessionManager.js";
|
|
12
16
|
import { NodeId, SecureChannelStatusCode } from "#types";
|
|
13
|
-
import { Fabric } from "../../fabric/Fabric.js";
|
|
14
|
-
import { MessageExchange } from "../../protocol/MessageExchange.js";
|
|
15
17
|
import {
|
|
16
18
|
KDFSR1_KEY_INFO,
|
|
17
19
|
KDFSR2_INFO,
|
|
@@ -42,7 +44,7 @@ export class CaseClient {
|
|
|
42
44
|
try {
|
|
43
45
|
return await this.#doPair(messenger, exchange, fabric, peerNodeId);
|
|
44
46
|
} catch (error) {
|
|
45
|
-
if (!(error instanceof ChannelStatusResponseError)) {
|
|
47
|
+
if (!(error instanceof ChannelStatusResponseError || error instanceof RetransmissionLimitReachedError)) {
|
|
46
48
|
await messenger.sendError(SecureChannelStatusCode.InvalidParam);
|
|
47
49
|
}
|
|
48
50
|
throw error;
|
|
@@ -126,10 +128,7 @@ export class CaseClient {
|
|
|
126
128
|
caseAuthenticatedTags,
|
|
127
129
|
});
|
|
128
130
|
await messenger.sendSuccess();
|
|
129
|
-
|
|
130
|
-
`Case client: Session ${secureSession.id} successfully resumed with ${messenger.getChannelName()} for Fabric ${NodeId.toHexString(fabric.nodeId)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)} with parameters`,
|
|
131
|
-
secureSession.parameterDiagnostics(),
|
|
132
|
-
);
|
|
131
|
+
this.#logNewSession("Resumed", secureSession, messenger, fabric, peerNodeId);
|
|
133
132
|
|
|
134
133
|
resumptionRecord.resumptionId = resumptionId; /* update resumptionId */
|
|
135
134
|
resumptionRecord.sessionParameters = secureSession.parameters; /* update mrpParams */
|
|
@@ -239,12 +238,7 @@ export class CaseClient {
|
|
|
239
238
|
peerSessionParameters: sessionParameters,
|
|
240
239
|
caseAuthenticatedTags,
|
|
241
240
|
});
|
|
242
|
-
|
|
243
|
-
`Case client Session ${secureSession.id} established successfully with ${messenger.getChannelName()} for Fabric ${NodeId.toHexString(
|
|
244
|
-
fabric.nodeId,
|
|
245
|
-
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)} with parameters`,
|
|
246
|
-
secureSession.parameterDiagnostics(),
|
|
247
|
-
);
|
|
241
|
+
this.#logNewSession("New", secureSession, messenger, fabric, peerNodeId);
|
|
248
242
|
resumptionRecord = {
|
|
249
243
|
fabric,
|
|
250
244
|
peerNodeId,
|
|
@@ -260,4 +254,23 @@ export class CaseClient {
|
|
|
260
254
|
|
|
261
255
|
return { session: secureSession, resumed };
|
|
262
256
|
}
|
|
257
|
+
|
|
258
|
+
#logNewSession(
|
|
259
|
+
operation: "New" | "Resumed",
|
|
260
|
+
session: NodeSession,
|
|
261
|
+
messenger: CaseClientMessenger,
|
|
262
|
+
fabric: Fabric,
|
|
263
|
+
peerNodeId: NodeId,
|
|
264
|
+
) {
|
|
265
|
+
logger.info(
|
|
266
|
+
`${operation} session with`,
|
|
267
|
+
Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
|
|
268
|
+
Diagnostic.dict({
|
|
269
|
+
id: session.id,
|
|
270
|
+
address: messenger.channelName,
|
|
271
|
+
fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
|
|
272
|
+
...session.parameterDiagnostics,
|
|
273
|
+
}),
|
|
274
|
+
);
|
|
275
|
+
}
|
|
263
276
|
}
|
|
@@ -64,7 +64,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
async #handleSigma1(messenger: CaseServerMessenger) {
|
|
67
|
-
logger.info(`Received pairing request from ${messenger.
|
|
67
|
+
logger.info(`Received pairing request from ${messenger.channelName}`);
|
|
68
68
|
|
|
69
69
|
// Initialize context with information from peer
|
|
70
70
|
const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
|
|
@@ -86,7 +86,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
logger.info(
|
|
89
|
-
`Invalid resumption ID or resume MIC received from ${messenger.
|
|
89
|
+
`Invalid resumption ID or resume MIC received from ${messenger.channelName}`,
|
|
90
90
|
context.peerResumptionId,
|
|
91
91
|
context.peerResumeMic,
|
|
92
92
|
);
|
|
@@ -152,7 +152,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
logger.info(
|
|
155
|
-
`Session ${secureSession.id} resumed with ${cx.messenger.
|
|
155
|
+
`Session ${secureSession.id} resumed with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
|
|
156
156
|
fabric.nodeId,
|
|
157
157
|
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
|
|
158
158
|
"with CATs",
|
|
@@ -274,7 +274,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
274
274
|
caseAuthenticatedTags,
|
|
275
275
|
});
|
|
276
276
|
logger.info(
|
|
277
|
-
`Session ${secureSession.id} created with ${cx.messenger.
|
|
277
|
+
`Session ${secureSession.id} created with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
|
|
278
278
|
fabric.nodeId,
|
|
279
279
|
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
|
|
280
280
|
"with CATs",
|
|
@@ -115,7 +115,7 @@ export class PaseClient {
|
|
|
115
115
|
peerSessionParameters: sessionParameters,
|
|
116
116
|
});
|
|
117
117
|
await messenger.close();
|
|
118
|
-
logger.info(`Pase client: Paired successfully with ${messenger.
|
|
118
|
+
logger.info(`Pase client: Paired successfully with ${messenger.channelName}.`);
|
|
119
119
|
|
|
120
120
|
return secureSession;
|
|
121
121
|
}
|
|
@@ -103,7 +103,7 @@ export class PaseServer implements ProtocolHandler {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
private async handlePairingRequest(crypto: Crypto, messenger: PaseServerMessenger) {
|
|
106
|
-
logger.info(`Received pairing request from ${messenger.
|
|
106
|
+
logger.info(`Received pairing request from ${messenger.channelName}.`);
|
|
107
107
|
|
|
108
108
|
this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
|
|
109
109
|
this.cancelPairing(messenger),
|
|
@@ -174,7 +174,7 @@ export class PaseServer implements ProtocolHandler {
|
|
|
174
174
|
isResumption: false,
|
|
175
175
|
peerSessionParameters: initiatorSessionParams,
|
|
176
176
|
});
|
|
177
|
-
logger.info(`Session ${responderSessionId} created with ${messenger.
|
|
177
|
+
logger.info(`Session ${responderSessionId} created with ${messenger.channelName}.`);
|
|
178
178
|
|
|
179
179
|
await messenger.sendSuccess();
|
|
180
180
|
await messenger.close();
|