@matter/protocol 0.17.2 → 0.17.3-alpha.0-20260617-ea3690abc
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.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +16 -2
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/client/ClientRequest.d.ts +8 -1
- package/dist/cjs/action/client/ClientRequest.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.js +26 -12
- package/dist/cjs/action/server/AttributeReadResponse.js.map +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.js +27 -10
- package/dist/cjs/action/server/AttributeWriteResponse.js.map +1 -1
- package/dist/cjs/action/server/CommandInvokeResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/CommandInvokeResponse.js +27 -10
- package/dist/cjs/action/server/CommandInvokeResponse.js.map +1 -1
- package/dist/cjs/action/server/EventReadResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/EventReadResponse.js +27 -10
- package/dist/cjs/action/server/EventReadResponse.js.map +1 -1
- package/dist/cjs/certificate/DeviceAttestationValidator.d.ts.map +1 -1
- package/dist/cjs/certificate/DeviceAttestationValidator.js +15 -12
- package/dist/cjs/certificate/DeviceAttestationValidator.js.map +1 -1
- package/dist/cjs/certificate/kinds/Certificate.d.ts +7 -0
- package/dist/cjs/certificate/kinds/Certificate.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/Certificate.js +30 -1
- package/dist/cjs/certificate/kinds/Certificate.js.map +1 -1
- package/dist/cjs/codec/MessagePrivacy.d.ts +1 -1
- package/dist/cjs/codec/MessagePrivacy.d.ts.map +1 -1
- package/dist/cjs/codec/MessagePrivacy.js +3 -2
- package/dist/cjs/codec/MessagePrivacy.js.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/interaction/AttributeDataEncoder.d.ts.map +1 -1
- package/dist/cjs/interaction/AttributeDataEncoder.js.map +1 -1
- package/dist/cjs/peer/Peer.d.ts +5 -0
- package/dist/cjs/peer/Peer.d.ts.map +1 -1
- package/dist/cjs/peer/Peer.js +1 -0
- package/dist/cjs/peer/Peer.js.map +1 -1
- package/dist/cjs/peer/PeerConnection.d.ts +6 -1
- package/dist/cjs/peer/PeerConnection.d.ts.map +1 -1
- package/dist/cjs/peer/PeerConnection.js +23 -5
- package/dist/cjs/peer/PeerConnection.js.map +1 -1
- package/dist/cjs/peer/PeerExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/peer/PeerExchangeProvider.js +3 -0
- package/dist/cjs/peer/PeerExchangeProvider.js.map +1 -1
- package/dist/cjs/peer/PeerTimingParameters.d.ts +9 -0
- package/dist/cjs/peer/PeerTimingParameters.d.ts.map +1 -1
- package/dist/cjs/peer/PeerTimingParameters.js +3 -1
- package/dist/cjs/peer/PeerTimingParameters.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.d.ts +6 -1
- package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.js +4 -2
- package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
- package/dist/cjs/protocol/MRP.d.ts +1 -1
- package/dist/cjs/protocol/MRP.d.ts.map +1 -1
- package/dist/cjs/protocol/MRP.js +1 -2
- package/dist/cjs/protocol/MRP.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +14 -1
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +31 -5
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.d.ts.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.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +11 -2
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +16 -2
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/client/ClientRequest.d.ts +8 -1
- package/dist/esm/action/client/ClientRequest.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeReadResponse.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeReadResponse.js +27 -13
- package/dist/esm/action/server/AttributeReadResponse.js.map +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.js +28 -11
- package/dist/esm/action/server/AttributeWriteResponse.js.map +1 -1
- package/dist/esm/action/server/CommandInvokeResponse.d.ts.map +1 -1
- package/dist/esm/action/server/CommandInvokeResponse.js +28 -11
- package/dist/esm/action/server/CommandInvokeResponse.js.map +1 -1
- package/dist/esm/action/server/EventReadResponse.d.ts.map +1 -1
- package/dist/esm/action/server/EventReadResponse.js +28 -11
- package/dist/esm/action/server/EventReadResponse.js.map +1 -1
- package/dist/esm/certificate/DeviceAttestationValidator.d.ts.map +1 -1
- package/dist/esm/certificate/DeviceAttestationValidator.js +16 -13
- package/dist/esm/certificate/DeviceAttestationValidator.js.map +1 -1
- package/dist/esm/certificate/kinds/Certificate.d.ts +7 -0
- package/dist/esm/certificate/kinds/Certificate.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/Certificate.js +30 -1
- package/dist/esm/certificate/kinds/Certificate.js.map +1 -1
- package/dist/esm/codec/MessagePrivacy.d.ts +1 -1
- package/dist/esm/codec/MessagePrivacy.d.ts.map +1 -1
- package/dist/esm/codec/MessagePrivacy.js +4 -2
- package/dist/esm/codec/MessagePrivacy.js.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.map +1 -1
- package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -1
- package/dist/esm/interaction/AttributeDataEncoder.js.map +1 -1
- package/dist/esm/peer/Peer.d.ts +5 -0
- package/dist/esm/peer/Peer.d.ts.map +1 -1
- package/dist/esm/peer/Peer.js +1 -0
- package/dist/esm/peer/Peer.js.map +1 -1
- package/dist/esm/peer/PeerConnection.d.ts +6 -1
- package/dist/esm/peer/PeerConnection.d.ts.map +1 -1
- package/dist/esm/peer/PeerConnection.js +23 -5
- package/dist/esm/peer/PeerConnection.js.map +1 -1
- package/dist/esm/peer/PeerExchangeProvider.d.ts.map +1 -1
- package/dist/esm/peer/PeerExchangeProvider.js +3 -0
- package/dist/esm/peer/PeerExchangeProvider.js.map +1 -1
- package/dist/esm/peer/PeerTimingParameters.d.ts +9 -0
- package/dist/esm/peer/PeerTimingParameters.d.ts.map +1 -1
- package/dist/esm/peer/PeerTimingParameters.js +4 -2
- package/dist/esm/peer/PeerTimingParameters.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +2 -1
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.d.ts +6 -1
- package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.js +4 -2
- package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
- package/dist/esm/protocol/MRP.d.ts +1 -1
- package/dist/esm/protocol/MRP.d.ts.map +1 -1
- package/dist/esm/protocol/MRP.js +1 -2
- package/dist/esm/protocol/MRP.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +14 -1
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +31 -5
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +2 -2
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +12 -2
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +5 -5
- package/src/action/client/ClientInteraction.ts +19 -1
- package/src/action/client/ClientRequest.ts +9 -1
- package/src/action/server/AttributeReadResponse.ts +39 -18
- package/src/action/server/AttributeWriteResponse.ts +35 -19
- package/src/action/server/CommandInvokeResponse.ts +36 -15
- package/src/action/server/EventReadResponse.ts +42 -16
- package/src/certificate/DeviceAttestationValidator.ts +17 -13
- package/src/certificate/kinds/Certificate.ts +43 -0
- package/src/codec/MessagePrivacy.ts +6 -4
- package/src/events/OccurrenceManager.ts +2 -2
- package/src/interaction/AttributeDataEncoder.ts +3 -3
- package/src/peer/Peer.ts +7 -0
- package/src/peer/PeerConnection.ts +33 -6
- package/src/peer/PeerExchangeProvider.ts +4 -0
- package/src/peer/PeerTimingParameters.ts +15 -2
- package/src/protocol/DeviceCommissioner.ts +2 -1
- package/src/protocol/ExchangeProvider.ts +12 -2
- package/src/protocol/MRP.ts +5 -6
- package/src/protocol/MessageExchange.ts +44 -6
- package/src/session/pase/PaseClient.ts +2 -6
- package/src/session/pase/PaseServer.ts +12 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/pase/PaseClient.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAqB;AAGrB,qBAaO;AACP,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAEH,KAAK,EAML,eAAe,EACf,eAAe,EAMlB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAO7F,qBAAa,oCAAqC,SAAQ,eAAe;CAAG;AAE5E,qBAAa,UAAW,YAAW,eAAe;;IA0B1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IA5BrC,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;IAOvC,OAAa,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,uBAGpG;IAED,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,KAAK,EACxB,eAAe,CAAC,EAAE,eAAe,cAMpC;IAED,YACY,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,KAAK,EACR,eAAe,CAAC,EAAE,eAAe,YAAA,EAClD;IAEE,aAAa,CAAC,QAAQ,EAAE,eAAe,iBAkD5C;YAEa,oBAAoB;IAqF5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO,iBAYnE;IAEK,KAAK,kBAGV;CACJ"}
|
|
@@ -110,7 +110,9 @@ class PaseServer {
|
|
|
110
110
|
this.#pairingTimer = import_general.Time.getTimer(
|
|
111
111
|
"PASE pairing timeout",
|
|
112
112
|
PASE_PAIRING_TIMEOUT,
|
|
113
|
-
() => this.cancelPairing(messenger)
|
|
113
|
+
() => this.cancelPairing(messenger).catch(
|
|
114
|
+
(error) => logger.warn("Error cancelling PASE pairing after timeout:", import_general.Diagnostic.errorMessage((0, import_general.asError)(error)))
|
|
115
|
+
)
|
|
114
116
|
).start();
|
|
115
117
|
const {
|
|
116
118
|
requestPayload,
|
|
@@ -174,7 +176,14 @@ class PaseServer {
|
|
|
174
176
|
}
|
|
175
177
|
async cancelPairing(messenger, sendError = true) {
|
|
176
178
|
if (sendError) {
|
|
177
|
-
|
|
179
|
+
try {
|
|
180
|
+
await messenger.sendError(import_types.SecureChannelStatusCode.InvalidParam);
|
|
181
|
+
} catch (error) {
|
|
182
|
+
logger.info(
|
|
183
|
+
"Could not send pairing-cancellation status report to peer:",
|
|
184
|
+
import_general.Diagnostic.errorMessage((0, import_general.asError)(error))
|
|
185
|
+
);
|
|
186
|
+
}
|
|
178
187
|
}
|
|
179
188
|
await messenger.close();
|
|
180
189
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/pase/PaseServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAqB;AAErB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAU,MAAM,2BAA2B,CAAC;AAMjE,OAAO,EAAE,mBAAmB,EAAgB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,0BAA0B,EAAe,MAAM,sCAAsC,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EACH,KAAK,EAIL,WAAW,EAIX,QAAQ,EAER,WAAW,EASX,aAAa,EAEb,gBAAgB,EAGnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAUhF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAgBhE;
|
|
1
|
+
{"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,14 @@ class ClientInteraction {
|
|
|
155
155
|
reason = new ClosedError("Interaction component closed");
|
|
156
156
|
}
|
|
157
157
|
const _closing = __using(_stack, this.#lifetime.closing());
|
|
158
|
+
const peer = this.#exchangeProvider.peerAddress;
|
|
159
|
+
if (this.#subscriptions !== void 0 && peer !== void 0) {
|
|
160
|
+
for (const subscription of [...this.#subscriptions]) {
|
|
161
|
+
if (PeerAddress.is(peer, subscription.peer)) {
|
|
162
|
+
subscription.close();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
158
166
|
this.#batchTimer?.stop();
|
|
159
167
|
for (const [, pending] of this.#pendingCommands) {
|
|
160
168
|
pending.cleanup?.();
|
|
@@ -542,6 +550,7 @@ class ClientInteraction {
|
|
|
542
550
|
request: { ...cmd, commandRef },
|
|
543
551
|
pathKey,
|
|
544
552
|
network: request.network,
|
|
553
|
+
additionalMrpDelay: request.additionalMrpDelay,
|
|
545
554
|
resolve: resolver,
|
|
546
555
|
reject: rejecter
|
|
547
556
|
};
|
|
@@ -659,9 +668,13 @@ class ClientInteraction {
|
|
|
659
668
|
const invokeRequests = isSingleCommand ? [{ ...commandList[0].request, commandRef: void 0 }] : commandList.map((c) => c.request);
|
|
660
669
|
logger.debug(`Executing ${invokeRequests.length} command(s)${isSingleCommand ? "" : " (batched)"}`);
|
|
661
670
|
const batchNetwork = commandList.find((c) => c.network !== void 0)?.network;
|
|
671
|
+
const batchAdditionalMrpDelay = commandList.find(
|
|
672
|
+
(c) => c.additionalMrpDelay !== void 0
|
|
673
|
+
)?.additionalMrpDelay;
|
|
662
674
|
const batchRequest = {
|
|
663
675
|
...Invoke({ commands: invokeRequests, skipValidation: true, timed: false }),
|
|
664
|
-
network: batchNetwork
|
|
676
|
+
network: batchNetwork,
|
|
677
|
+
additionalMrpDelay: batchAdditionalMrpDelay
|
|
665
678
|
};
|
|
666
679
|
const maxPathsPerInvoke = this.#exchangeProvider.maxPathsPerInvoke ?? 1;
|
|
667
680
|
const chunks = invokeRequests.length > maxPathsPerInvoke ? this.#invokeWithSplitting(batchRequest, maxPathsPerInvoke) : this.#invokeSingle(batchRequest);
|
|
@@ -869,13 +882,14 @@ class ClientInteraction {
|
|
|
869
882
|
try {
|
|
870
883
|
if (this.#abort.aborted) {
|
|
871
884
|
throw new ImplementationError(
|
|
872
|
-
`Cannot ${what} ${this.#address ?? "uncommissioned node"} because interactable is closed`
|
|
885
|
+
`Cannot start ${what} ${this.#address ?? this.#exchangeProvider.peerAddress ?? "uncommissioned node"} because interactable is closed`
|
|
873
886
|
);
|
|
874
887
|
}
|
|
875
888
|
abort = new Abort({ abort: [session?.abort, this.#abort, extraAbort] });
|
|
876
889
|
try {
|
|
877
890
|
messenger = await InteractionClientMessenger.create(this.#exchangeProvider, {
|
|
878
891
|
network: request.network ?? this.#network,
|
|
892
|
+
additionalMrpDelay: request.additionalMrpDelay,
|
|
879
893
|
abort,
|
|
880
894
|
connectionTimeout: session?.connectionTimeout,
|
|
881
895
|
addressOverride: request.addressOverride,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/client/ClientInteraction.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["subscription", "request"]
|
|
6
6
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import type { ServerAddressUdp } from "@matter/general";
|
|
6
|
+
import type { Duration, ServerAddressUdp } from "@matter/general";
|
|
7
7
|
/**
|
|
8
8
|
* Represents a client request with customizable transmission behavior.
|
|
9
9
|
*/
|
|
@@ -19,6 +19,13 @@ export interface ClientRequest {
|
|
|
19
19
|
* @see {@link NetworkProfile}
|
|
20
20
|
*/
|
|
21
21
|
network?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Override the peer-medium MRP retransmission margin for this interaction.
|
|
24
|
+
*
|
|
25
|
+
* By default the margin derives from the peer's network medium (e.g. thread's longer margin), independent of
|
|
26
|
+
* the {@link network} throttle profile. Set this to override that default for a single interaction.
|
|
27
|
+
*/
|
|
28
|
+
additionalMrpDelay?: Duration;
|
|
22
29
|
/**
|
|
23
30
|
* Override the destination address for this interaction's exchange.
|
|
24
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientRequest.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientRequest.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAE9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeReadResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeReadResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAA0C,MAAM,gCAAgC,CAAC;AAItG,OAAO,EACH,aAAa,EAIb,MAAM,EAGT,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,aAAa,aAA2B,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,qBAAqB,CAC9B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAuB5B,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAEhD;IAEA,OAAO,CAAC,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CA2C5G;IAkBD,IAAI,MAAM;QAEF,MAAM;QACN,OAAO;QACP,QAAQ;MAEf;IAED;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,QAiCxC;IAED;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"AttributeReadResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeReadResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAA0C,MAAM,gCAAgC,CAAC;AAItG,OAAO,EACH,aAAa,EAIb,MAAM,EAGT,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,aAAa,aAA2B,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,qBAAqB,CAC9B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAuB5B,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAEhD;IAEA,OAAO,CAAC,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CA2C5G;IAkBD,IAAI,MAAM;QAEF,MAAM;QACN,OAAO;QACP,QAAQ;MAEf;IAED;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,QAiCxC;IAED;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,qBAAqB,QA2G3D;IAED;;;;;;;;;OASG;IACH,SAAS,CAAE,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,iDAyBjF;IAED;;;;;;OAMG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,QAoC7E;IAED;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,QAuCvF;IAiDD;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,QAazE;CAiBJ"}
|
|
@@ -51,7 +51,7 @@ var __callDispose = (stack, error, hasError) => {
|
|
|
51
51
|
import { AccessControl, hasLocalActor, hasRemoteActor } from "#action/server/AccessControl.js";
|
|
52
52
|
import { DataResponse, FallbackLimits, WildcardPathFlagsCodec } from "#action/server/DataResponse.js";
|
|
53
53
|
import { InternalError, Logger, serialize } from "@matter/general";
|
|
54
|
-
import { AttributeModel, DataModelPath, ElementTag } from "@matter/model";
|
|
54
|
+
import { AccessLevel, AttributeModel, DataModelPath, ElementTag } from "@matter/model";
|
|
55
55
|
import {
|
|
56
56
|
NodeId,
|
|
57
57
|
Status,
|
|
@@ -197,6 +197,7 @@ class AttributeReadResponse extends DataResponse {
|
|
|
197
197
|
} else {
|
|
198
198
|
limits = attribute.limits;
|
|
199
199
|
}
|
|
200
|
+
let access;
|
|
200
201
|
if (hasRemoteActor(this.session)) {
|
|
201
202
|
const location = {
|
|
202
203
|
...cluster?.location ?? {
|
|
@@ -206,18 +207,9 @@ class AttributeReadResponse extends DataResponse {
|
|
|
206
207
|
},
|
|
207
208
|
owningFabric: this.session.fabric
|
|
208
209
|
};
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
break;
|
|
213
|
-
case AccessControl.Authority.Unauthorized:
|
|
214
|
-
this.addStatus(path, Status.UnsupportedAccess);
|
|
215
|
-
return;
|
|
216
|
-
case AccessControl.Authority.Restricted:
|
|
217
|
-
this.addStatus(path, Status.AccessRestricted);
|
|
218
|
-
return;
|
|
219
|
-
default:
|
|
220
|
-
throw new InternalError(`Unsupported authorization state ${permission}`);
|
|
210
|
+
access = { session: this.session, location };
|
|
211
|
+
if (!this.#authorize(access.session, path, AccessLevel.View, location)) {
|
|
212
|
+
return;
|
|
221
213
|
}
|
|
222
214
|
}
|
|
223
215
|
if (endpoint === void 0) {
|
|
@@ -236,6 +228,9 @@ class AttributeReadResponse extends DataResponse {
|
|
|
236
228
|
this.addStatus(path, Status.UnsupportedRead);
|
|
237
229
|
return;
|
|
238
230
|
}
|
|
231
|
+
if (access !== void 0 && !this.#authorize(access.session, path, limits.readLevel, access.location)) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
239
234
|
const skipVersion = this.#versions?.[path.endpointId]?.[path.clusterId];
|
|
240
235
|
if (skipVersion !== void 0 && skipVersion === cluster.version) {
|
|
241
236
|
this.#filteredCount++;
|
|
@@ -391,6 +386,25 @@ class AttributeReadResponse extends DataResponse {
|
|
|
391
386
|
this.#chunk = [report];
|
|
392
387
|
}
|
|
393
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Validate access at {@link level}. Returns true if granted; otherwise records the appropriate status and
|
|
391
|
+
* returns false.
|
|
392
|
+
*/
|
|
393
|
+
#authorize(session, path, level, location) {
|
|
394
|
+
const permission = session.authorityAt(level, location);
|
|
395
|
+
switch (permission) {
|
|
396
|
+
case AccessControl.Authority.Granted:
|
|
397
|
+
return true;
|
|
398
|
+
case AccessControl.Authority.Unauthorized:
|
|
399
|
+
this.addStatus(path, Status.UnsupportedAccess);
|
|
400
|
+
return false;
|
|
401
|
+
case AccessControl.Authority.Restricted:
|
|
402
|
+
this.addStatus(path, Status.AccessRestricted);
|
|
403
|
+
return false;
|
|
404
|
+
default:
|
|
405
|
+
throw new InternalError(`Unsupported authorization state ${permission}`);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
394
408
|
/**
|
|
395
409
|
* Add a status value.
|
|
396
410
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/server/AttributeReadResponse.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,SAAS,eAAe,eAAe,sBAAsB;AAC7D,SAAS,cAAc,gBAAgB,8BAA8B;AAErE,SAAS,eAAe,QAAQ,iBAAiB;AACjD,SAAS,gBAAgB,eAAe,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["endpoint"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeWriteResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeWriteResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAqC,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAQH,SAAS,EACZ,MAAM,eAAe,CAAC;AAKvB;;;;GAIG;AACH,qBAAa,sBAAsB,CAC/B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAY5B,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAGhD;IAEK,OAAO,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC,CAkC5G;IAkBD,IAAI,MAAM;QAEF,MAAM;QACN,OAAO;QACP,QAAQ;MAEf;
|
|
1
|
+
{"version":3,"file":"AttributeWriteResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeWriteResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAqC,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAQH,SAAS,EACZ,MAAM,eAAe,CAAC;AAKvB;;;;GAIG;AACH,qBAAa,sBAAsB,CAC/B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAY5B,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAGhD;IAEK,OAAO,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC,CAkC5G;IAkBD,IAAI,MAAM;QAEF,MAAM;QACN,OAAO;QACP,QAAQ;MAEf;IAmSD,UAAgB,UAAU,CACtB,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE,WAAW,CAAC,qBAAqB,EACvC,KAAK,EAAE,SAAS,wCAiDnB;CAUJ"}
|
|
@@ -51,7 +51,7 @@ var __callDispose = (stack, error, hasError) => {
|
|
|
51
51
|
import { AccessControl, hasRemoteActor } from "#action/server/AccessControl.js";
|
|
52
52
|
import { DataResponse, FallbackLimits } from "#action/server/DataResponse.js";
|
|
53
53
|
import { Diagnostic, InternalError, Logger, serialize, toHex } from "@matter/general";
|
|
54
|
-
import { DataModelPath, ElementTag, FabricIndex as FabricIndexField } from "@matter/model";
|
|
54
|
+
import { AccessLevel, DataModelPath, ElementTag, FabricIndex as FabricIndexField } from "@matter/model";
|
|
55
55
|
import {
|
|
56
56
|
ArraySchema,
|
|
57
57
|
FabricIndex,
|
|
@@ -195,6 +195,7 @@ class AttributeWriteResponse extends DataResponse {
|
|
|
195
195
|
} else {
|
|
196
196
|
limits = attribute.limits;
|
|
197
197
|
}
|
|
198
|
+
let access;
|
|
198
199
|
if (hasRemoteActor(this.session)) {
|
|
199
200
|
const location = {
|
|
200
201
|
...cluster?.location ?? {
|
|
@@ -204,16 +205,10 @@ class AttributeWriteResponse extends DataResponse {
|
|
|
204
205
|
},
|
|
205
206
|
owningFabric: this.session.fabric
|
|
206
207
|
};
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
case AccessControl.Authority.Unauthorized:
|
|
212
|
-
return this.#asStatus(path, Status.UnsupportedAccess);
|
|
213
|
-
case AccessControl.Authority.Restricted:
|
|
214
|
-
return this.#asStatus(path, Status.AccessRestricted);
|
|
215
|
-
default:
|
|
216
|
-
throw new InternalError(`Unsupported authorization state ${permission}`);
|
|
208
|
+
access = { session: this.session, location };
|
|
209
|
+
const denial = this.#authorize(access.session, AccessLevel.View, location);
|
|
210
|
+
if (denial !== void 0) {
|
|
211
|
+
return this.#asStatus(path, denial);
|
|
217
212
|
}
|
|
218
213
|
}
|
|
219
214
|
if (endpoint === void 0) {
|
|
@@ -229,6 +224,12 @@ class AttributeWriteResponse extends DataResponse {
|
|
|
229
224
|
this.#errorCount++;
|
|
230
225
|
return this.#asStatus(path, Status.UnsupportedWrite);
|
|
231
226
|
}
|
|
227
|
+
if (access !== void 0) {
|
|
228
|
+
const denial = this.#authorize(access.session, limits.writeLevel, access.location);
|
|
229
|
+
if (denial !== void 0) {
|
|
230
|
+
return this.#asStatus(path, denial);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
232
233
|
if (hasRemoteActor(this.session)) {
|
|
233
234
|
if (limits.timed && !this.session.timed) {
|
|
234
235
|
this.#errorCount++;
|
|
@@ -328,6 +329,22 @@ class AttributeWriteResponse extends DataResponse {
|
|
|
328
329
|
value
|
|
329
330
|
);
|
|
330
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* Validate access at {@link level}. Returns undefined if granted; otherwise the status to report.
|
|
334
|
+
*/
|
|
335
|
+
#authorize(session, level, location) {
|
|
336
|
+
const permission = session.authorityAt(level, location);
|
|
337
|
+
switch (permission) {
|
|
338
|
+
case AccessControl.Authority.Granted:
|
|
339
|
+
return void 0;
|
|
340
|
+
case AccessControl.Authority.Unauthorized:
|
|
341
|
+
return Status.UnsupportedAccess;
|
|
342
|
+
case AccessControl.Authority.Restricted:
|
|
343
|
+
return Status.AccessRestricted;
|
|
344
|
+
default:
|
|
345
|
+
throw new InternalError(`Unsupported authorization state ${permission}`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
331
348
|
/**
|
|
332
349
|
* Add a status value.
|
|
333
350
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/action/server/AttributeWriteResponse.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,SAAS,eAAe,sBAAsB;AAC9C,SAAS,cAAc,sBAAsB;AAC7C,SAAS,YAAY,eAAe,QAAQ,WAAW,aAAa;AACpE,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["endpoint"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandInvokeResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/CommandInvokeResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAA+D,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAC;AAiB9E;;;;GAIG;AACH,qBAAa,qBAAqB,CAC9B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAuB5B,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAGhD;IAEM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,CAAC,GAAG,YAAY,CA6CtF;IAED,IAAI,MAAM;QAEF,MAAM;QACN,OAAO;QACP,QAAQ;MAEf;
|
|
1
|
+
{"version":3,"file":"CommandInvokeResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/CommandInvokeResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAA+D,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAC;AAiB9E;;;;GAIG;AACH,qBAAa,qBAAqB,CAC9B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;IAuB5B,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAGhD;IAEM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,CAAC,GAAG,YAAY,CA6CtF;IAED,IAAI,MAAM;QAEF,MAAM;QACN,OAAO;QACP,QAAQ;MAEf;CAkYJ"}
|
|
@@ -51,7 +51,7 @@ var __callDispose = (stack, error, hasError) => {
|
|
|
51
51
|
import { AccessControl, hasRemoteActor } from "#action/server/AccessControl.js";
|
|
52
52
|
import { DataResponse, FallbackLimits } from "#action/server/DataResponse.js";
|
|
53
53
|
import { Diagnostic, InternalError, Logger } from "@matter/general";
|
|
54
|
-
import { DataModelPath, ElementTag, FabricIndex as FabricIndexField } from "@matter/model";
|
|
54
|
+
import { AccessLevel, DataModelPath, ElementTag, FabricIndex as FabricIndexField } from "@matter/model";
|
|
55
55
|
import {
|
|
56
56
|
FabricIndex,
|
|
57
57
|
Status,
|
|
@@ -211,17 +211,12 @@ class CommandInvokeResponse extends DataResponse {
|
|
|
211
211
|
},
|
|
212
212
|
owningFabric: this.session.fabric
|
|
213
213
|
};
|
|
214
|
+
let access;
|
|
214
215
|
if (hasRemoteActor(this.session)) {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
case AccessControl.Authority.Unauthorized:
|
|
220
|
-
return this.#addStatus(path, commandRef, Status.UnsupportedAccess);
|
|
221
|
-
case AccessControl.Authority.Restricted:
|
|
222
|
-
return this.#addStatus(path, commandRef, Status.AccessRestricted);
|
|
223
|
-
default:
|
|
224
|
-
throw new InternalError(`Unsupported authorization state ${permission}`);
|
|
216
|
+
access = { session: this.session, location };
|
|
217
|
+
const denial = this.#authorize(access.session, AccessLevel.Operate, location);
|
|
218
|
+
if (denial !== void 0) {
|
|
219
|
+
return this.#addStatus(path, commandRef, denial);
|
|
225
220
|
}
|
|
226
221
|
}
|
|
227
222
|
if (endpoint === void 0) {
|
|
@@ -233,6 +228,12 @@ class CommandInvokeResponse extends DataResponse {
|
|
|
233
228
|
if (command === void 0 || !cluster.type.commands[command.id]) {
|
|
234
229
|
return this.#addStatus(path, commandRef, Status.UnsupportedCommand);
|
|
235
230
|
}
|
|
231
|
+
if (access !== void 0) {
|
|
232
|
+
const denial = this.#authorize(access.session, limits.writeLevel, access.location);
|
|
233
|
+
if (denial !== void 0) {
|
|
234
|
+
return this.#addStatus(path, commandRef, denial);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
236
237
|
if (hasRemoteActor(this.session)) {
|
|
237
238
|
if (limits.largeMessage && !this.session.largeMessage) {
|
|
238
239
|
this.#errorCount++;
|
|
@@ -326,6 +327,22 @@ class CommandInvokeResponse extends DataResponse {
|
|
|
326
327
|
this.#invokers = [producer];
|
|
327
328
|
}
|
|
328
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* Validate access at {@link level}. Returns undefined if granted; otherwise the status to report.
|
|
332
|
+
*/
|
|
333
|
+
#authorize(session, level, location) {
|
|
334
|
+
const permission = session.authorityAt(level, location);
|
|
335
|
+
switch (permission) {
|
|
336
|
+
case AccessControl.Authority.Granted:
|
|
337
|
+
return void 0;
|
|
338
|
+
case AccessControl.Authority.Unauthorized:
|
|
339
|
+
return Status.UnsupportedAccess;
|
|
340
|
+
case AccessControl.Authority.Restricted:
|
|
341
|
+
return Status.AccessRestricted;
|
|
342
|
+
default:
|
|
343
|
+
throw new InternalError(`Unsupported authorization state ${permission}`);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
329
346
|
#addResponse(chunk) {
|
|
330
347
|
if (this.#chunk) {
|
|
331
348
|
this.#chunk.push(chunk);
|