@matter/node 0.11.6 → 0.11.7
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/behaviors/access-control/AccessControlServer.d.ts +1 -0
- package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/access-control/AccessControlServer.js +7 -1
- package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
- package/dist/cjs/node/server/TransactionalInteractionServer.d.ts.map +1 -1
- package/dist/cjs/node/server/TransactionalInteractionServer.js +33 -9
- package/dist/cjs/node/server/TransactionalInteractionServer.js.map +1 -1
- package/dist/esm/behaviors/access-control/AccessControlServer.d.ts +1 -0
- package/dist/esm/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
- package/dist/esm/behaviors/access-control/AccessControlServer.js +7 -1
- package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
- package/dist/esm/node/server/TransactionalInteractionServer.d.ts.map +1 -1
- package/dist/esm/node/server/TransactionalInteractionServer.js +34 -10
- package/dist/esm/node/server/TransactionalInteractionServer.js.map +1 -1
- package/package.json +7 -7
- package/src/behaviors/access-control/AccessControlServer.ts +8 -1
- package/src/node/server/TransactionalInteractionServer.ts +44 -12
|
@@ -43,6 +43,7 @@ export declare class AccessControlServer extends AccessControlBehavior {
|
|
|
43
43
|
* The AccessControlManager instance that is used to manage the ACL for this behavior.
|
|
44
44
|
*/
|
|
45
45
|
get aclManager(): AccessControlManager;
|
|
46
|
+
resetDelayedAccessControlList(): void;
|
|
46
47
|
/**
|
|
47
48
|
* If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
|
|
48
49
|
* property is set to false again.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/access-control/AccessControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAiB,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9G,OAAO,EAEH,SAAS,EASZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,qBAAqB;;IAClD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAEtC,UAAU;IAmSnB;;;;OAIG;IACH,eAAe,CACX,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,WAAW,EAAE;IAoBhB;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;IActF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAC/B,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,EACjD,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,EAChD,YAAY,EAAE,yBAAyB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,SAAS;IAKzB;;OAEG;IACH,IAAI,UAAU,yBAKb;IAYD;;;;;OAKG;IACH,IAAI,gBAAgB,IAUQ,OAAO,CARlC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"AccessControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/access-control/AccessControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAiB,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9G,OAAO,EAEH,SAAS,EASZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,qBAAqB;;IAClD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAEtC,UAAU;IAmSnB;;;;OAIG;IACH,eAAe,CACX,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,WAAW,EAAE;IAoBhB;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;IActF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAC/B,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,EACjD,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,EAChD,YAAY,EAAE,yBAAyB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,SAAS;IAKzB;;OAEG;IACH,IAAI,UAAU,yBAKb;IAYD,6BAA6B;IAK7B;;;;;OAKG;IACH,IAAI,gBAAgB,IAUQ,OAAO,CARlC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAQlC;CAWJ;AAED,yBAAiB,mBAAmB,CAAC;IACjC,MAAa,QAAQ;QACjB,2FAA2F;QAC3F,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAElC,iHAAiH;QACjH,gBAAgB,UAAS;QAEzB,iCAAiC;QACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;KAC5D;CACJ"}
|
|
@@ -326,6 +326,10 @@ class AccessControlServer extends import_AccessControlBehavior.AccessControlBeha
|
|
|
326
326
|
this.internal.delayedAclData = acl;
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
|
+
resetDelayedAccessControlList() {
|
|
330
|
+
this.internal.delayedAclData = void 0;
|
|
331
|
+
this.aclUpdateDelayed = false;
|
|
332
|
+
}
|
|
329
333
|
/**
|
|
330
334
|
* If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
|
|
331
335
|
* property is set to false again.
|
|
@@ -342,9 +346,11 @@ class AccessControlServer extends import_AccessControlBehavior.AccessControlBeha
|
|
|
342
346
|
* removed again once we somehow handle relevant sub transactions.
|
|
343
347
|
*/
|
|
344
348
|
set aclUpdateDelayed(value) {
|
|
345
|
-
logger.info("Setting ACL update delayed to", value);
|
|
346
349
|
if (!value) {
|
|
350
|
+
logger.info("Committing delayed ACL update");
|
|
347
351
|
this.#updateDelayedAccessControlList();
|
|
352
|
+
} else if (!this.internal.aclUpdateDelayed) {
|
|
353
|
+
logger.info("Register ACL update to be delayed");
|
|
348
354
|
}
|
|
349
355
|
this.internal.aclUpdateDelayed = value;
|
|
350
356
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/access-control/AccessControlServer.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["AccessControlTypes", "AccessControlServer"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionalInteractionServer.d.ts","sourceRoot":"","sources":["../../../../src/node/server/TransactionalInteractionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAEH,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAEhB,kBAAkB,EAElB,iBAAiB,EAEjB,OAAO,EACP,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"TransactionalInteractionServer.d.ts","sourceRoot":"","sources":["../../../../src/node/server/TransactionalInteractionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAEH,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAEhB,kBAAkB,EAElB,iBAAiB,EAEjB,OAAO,EACP,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C;;;;;;;;;;;GAWG;AACH,qBAAa,8BAA+B,SAAQ,iBAAiB;;WASpD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,cAAc;gBAa7E,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,kBAAkB;IA0B9E,CAAC,MAAM,CAAC,YAAY,CAAC;IAM3B,gBAAgB;IAID,aAAa,CAAC,QAAQ,EAAE,eAAe;IAiBtD,IAAI,SAAS,wBASZ;cAEwB,aAAa,CAClC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAClC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,UAAQ;;;;cAsBM,SAAS,CAC9B,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,EAAE,GAAG,SAAS,EACjE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;IAsBpB,kBAAkB,CAC7B,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,aAAa,CAAC;cAkCA,cAAc,CACnC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,UAAQ,EACb,WAAW,CAAC,EAAE,OAAO;cAoCA,aAAa,CAClC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAChC,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,UAAQ;;;;yBA/Ib,QAAE;;CAkLT"}
|
|
@@ -81,6 +81,7 @@ var import_AccessControlServer = require("../../behaviors/access-control/AccessC
|
|
|
81
81
|
* Copyright 2022-2024 Matter.js Authors
|
|
82
82
|
* SPDX-License-Identifier: Apache-2.0
|
|
83
83
|
*/
|
|
84
|
+
const logger = import_general.Logger.get("TransactionalInteractionServer");
|
|
84
85
|
const activityKey = Symbol("activity");
|
|
85
86
|
const AclClusterId = import_access_control.AccessControlCluster.id;
|
|
86
87
|
const AclAttributeId = import_access_control.AccessControlCluster.attributes.acl.id;
|
|
@@ -91,7 +92,7 @@ class TransactionalInteractionServer extends import_protocol.InteractionServer {
|
|
|
91
92
|
#activity;
|
|
92
93
|
#newActivityBlocked = false;
|
|
93
94
|
#aclServer;
|
|
94
|
-
#
|
|
95
|
+
#aclUpdateIsDelayedInExchange = /* @__PURE__ */ new Set();
|
|
95
96
|
static async create(endpoint, sessions) {
|
|
96
97
|
const structure = new import_protocol.InteractionEndpointStructure();
|
|
97
98
|
return new TransactionalInteractionServer(endpoint, {
|
|
@@ -191,10 +192,27 @@ class TransactionalInteractionServer extends import_protocol.InteractionServer {
|
|
|
191
192
|
}).act(readEvent);
|
|
192
193
|
}
|
|
193
194
|
async handleWriteRequest(exchange, writeRequest, message) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
let result;
|
|
196
|
+
try {
|
|
197
|
+
result = await super.handleWriteRequest(exchange, writeRequest, message);
|
|
198
|
+
} catch (error) {
|
|
199
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
200
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
201
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
202
|
+
this.aclServer.resetDelayedAccessControlList();
|
|
203
|
+
} else {
|
|
204
|
+
logger.error("One of multiple concurrent ACL writes failed, unhandled case for now.");
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
throw error;
|
|
208
|
+
}
|
|
209
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
210
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
211
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
212
|
+
this.aclServer.aclUpdateDelayed = false;
|
|
213
|
+
} else {
|
|
214
|
+
logger.info("Multiple concurrent ACL writes, waiting for all to finish.");
|
|
215
|
+
}
|
|
198
216
|
}
|
|
199
217
|
return result;
|
|
200
218
|
}
|
|
@@ -202,10 +220,16 @@ class TransactionalInteractionServer extends import_protocol.InteractionServer {
|
|
|
202
220
|
const writeAttribute = () => super.writeAttribute(path, attribute, value, exchange, message, endpoint, timed, isListWrite);
|
|
203
221
|
if (path.endpointId === 0 && path.clusterId === AclClusterId && path.attributeId === AclAttributeId) {
|
|
204
222
|
this.aclServer.aclUpdateDelayed = true;
|
|
205
|
-
this.#
|
|
206
|
-
} else
|
|
207
|
-
this.
|
|
208
|
-
|
|
223
|
+
this.#aclUpdateIsDelayedInExchange.add(exchange);
|
|
224
|
+
} else {
|
|
225
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
226
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
227
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
228
|
+
this.aclServer.aclUpdateDelayed = false;
|
|
229
|
+
} else {
|
|
230
|
+
logger.info("Multiple concurrent ACL writes, waiting for all to finish.");
|
|
231
|
+
}
|
|
232
|
+
}
|
|
209
233
|
}
|
|
210
234
|
return (0, import_OnlineContext.OnlineContext)({
|
|
211
235
|
activity: exchange[activityKey],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/server/TransactionalInteractionServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,0BAA6B;AAC7B,0BAA6B;AAC7B,4BAA+B;AAC/B,2BAA8B;AAC9B,4BAAqC;AAErC,4BAA+B;AAC/B,+BAAkC;AAClC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -43,6 +43,7 @@ export declare class AccessControlServer extends AccessControlBehavior {
|
|
|
43
43
|
* The AccessControlManager instance that is used to manage the ACL for this behavior.
|
|
44
44
|
*/
|
|
45
45
|
get aclManager(): AccessControlManager;
|
|
46
|
+
resetDelayedAccessControlList(): void;
|
|
46
47
|
/**
|
|
47
48
|
* If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
|
|
48
49
|
* property is set to false again.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/access-control/AccessControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAiB,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9G,OAAO,EAEH,SAAS,EASZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,qBAAqB;;IAClD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAEtC,UAAU;IAmSnB;;;;OAIG;IACH,eAAe,CACX,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,WAAW,EAAE;IAoBhB;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;IActF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAC/B,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,EACjD,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,EAChD,YAAY,EAAE,yBAAyB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,SAAS;IAKzB;;OAEG;IACH,IAAI,UAAU,yBAKb;IAYD;;;;;OAKG;IACH,IAAI,gBAAgB,IAUQ,OAAO,CARlC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"AccessControlServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/access-control/AccessControlServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAiB,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9G,OAAO,EAEH,SAAS,EASZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,qBAAqB;;IAClD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IAEtC,UAAU;IAmSnB;;;;OAIG;IACH,eAAe,CACX,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,WAAW,EAAE;IAoBhB;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,sBAAsB;IActF;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CAC/B,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,EACjD,SAAS,EAAE,kBAAkB,CAAC,kBAAkB,EAChD,YAAY,EAAE,yBAAyB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,SAAS;IAKzB;;OAEG;IACH,IAAI,UAAU,yBAKb;IAYD,6BAA6B;IAK7B;;;;;OAKG;IACH,IAAI,gBAAgB,IAUQ,OAAO,CARlC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAQlC;CAWJ;AAED,yBAAiB,mBAAmB,CAAC;IACjC,MAAa,QAAQ;QACjB,2FAA2F;QAC3F,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAElC,iHAAiH;QACjH,gBAAgB,UAAS;QAEzB,iCAAiC;QACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;KAC5D;CACJ"}
|
|
@@ -314,6 +314,10 @@ class AccessControlServer extends AccessControlBehavior {
|
|
|
314
314
|
this.internal.delayedAclData = acl;
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
|
+
resetDelayedAccessControlList() {
|
|
318
|
+
this.internal.delayedAclData = void 0;
|
|
319
|
+
this.aclUpdateDelayed = false;
|
|
320
|
+
}
|
|
317
321
|
/**
|
|
318
322
|
* If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
|
|
319
323
|
* property is set to false again.
|
|
@@ -330,9 +334,11 @@ class AccessControlServer extends AccessControlBehavior {
|
|
|
330
334
|
* removed again once we somehow handle relevant sub transactions.
|
|
331
335
|
*/
|
|
332
336
|
set aclUpdateDelayed(value) {
|
|
333
|
-
logger.info("Setting ACL update delayed to", value);
|
|
334
337
|
if (!value) {
|
|
338
|
+
logger.info("Committing delayed ACL update");
|
|
335
339
|
this.#updateDelayedAccessControlList();
|
|
340
|
+
} else if (!this.internal.aclUpdateDelayed) {
|
|
341
|
+
logger.info("Register ACL update to be delayed");
|
|
336
342
|
}
|
|
337
343
|
this.internal.aclUpdateDelayed = value;
|
|
338
344
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/access-control/AccessControlServer.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["AccessControlServer"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionalInteractionServer.d.ts","sourceRoot":"","sources":["../../../../src/node/server/TransactionalInteractionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAEH,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAEhB,kBAAkB,EAElB,iBAAiB,EAEjB,OAAO,EACP,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"TransactionalInteractionServer.d.ts","sourceRoot":"","sources":["../../../../src/node/server/TransactionalInteractionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAEH,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAEhB,kBAAkB,EAElB,iBAAiB,EAEjB,OAAO,EACP,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C;;;;;;;;;;;GAWG;AACH,qBAAa,8BAA+B,SAAQ,iBAAiB;;WASpD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,cAAc;gBAa7E,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,kBAAkB;IA0B9E,CAAC,MAAM,CAAC,YAAY,CAAC;IAM3B,gBAAgB;IAID,aAAa,CAAC,QAAQ,EAAE,eAAe;IAiBtD,IAAI,SAAS,wBASZ;cAEwB,aAAa,CAClC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAClC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,UAAQ;;;;cAsBM,SAAS,CAC9B,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,EAAE,GAAG,SAAS,EACjE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;IAsBpB,kBAAkB,CAC7B,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,aAAa,CAAC;cAkCA,cAAc,CACnC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,UAAQ,EACb,WAAW,CAAC,EAAE,OAAO;cAoCA,aAAa,CAClC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAChC,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,UAAQ;;;;yBA/Ib,QAAE;;CAkLT"}
|
|
@@ -55,7 +55,7 @@ import { OnlineContext } from "#behavior/context/server/OnlineContext.js";
|
|
|
55
55
|
import { AccessControlCluster } from "#clusters/access-control";
|
|
56
56
|
import { EndpointServer } from "#endpoint/EndpointServer.js";
|
|
57
57
|
import { EndpointLifecycle } from "#endpoint/properties/EndpointLifecycle.js";
|
|
58
|
-
import { Diagnostic, InternalError, MaybePromise } from "#general";
|
|
58
|
+
import { Diagnostic, InternalError, Logger, MaybePromise } from "#general";
|
|
59
59
|
import {
|
|
60
60
|
AccessDeniedError,
|
|
61
61
|
ExchangeManager,
|
|
@@ -64,6 +64,7 @@ import {
|
|
|
64
64
|
InteractionServerMessenger
|
|
65
65
|
} from "#protocol";
|
|
66
66
|
import { AccessControlServer } from "../../behaviors/access-control/AccessControlServer.js";
|
|
67
|
+
const logger = Logger.get("TransactionalInteractionServer");
|
|
67
68
|
const activityKey = Symbol("activity");
|
|
68
69
|
const AclClusterId = AccessControlCluster.id;
|
|
69
70
|
const AclAttributeId = AccessControlCluster.attributes.acl.id;
|
|
@@ -74,7 +75,7 @@ class TransactionalInteractionServer extends InteractionServer {
|
|
|
74
75
|
#activity;
|
|
75
76
|
#newActivityBlocked = false;
|
|
76
77
|
#aclServer;
|
|
77
|
-
#
|
|
78
|
+
#aclUpdateIsDelayedInExchange = /* @__PURE__ */ new Set();
|
|
78
79
|
static async create(endpoint, sessions) {
|
|
79
80
|
const structure = new InteractionEndpointStructure();
|
|
80
81
|
return new TransactionalInteractionServer(endpoint, {
|
|
@@ -174,10 +175,27 @@ class TransactionalInteractionServer extends InteractionServer {
|
|
|
174
175
|
}).act(readEvent);
|
|
175
176
|
}
|
|
176
177
|
async handleWriteRequest(exchange, writeRequest, message) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
let result;
|
|
179
|
+
try {
|
|
180
|
+
result = await super.handleWriteRequest(exchange, writeRequest, message);
|
|
181
|
+
} catch (error) {
|
|
182
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
183
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
184
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
185
|
+
this.aclServer.resetDelayedAccessControlList();
|
|
186
|
+
} else {
|
|
187
|
+
logger.error("One of multiple concurrent ACL writes failed, unhandled case for now.");
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
throw error;
|
|
191
|
+
}
|
|
192
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
193
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
194
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
195
|
+
this.aclServer.aclUpdateDelayed = false;
|
|
196
|
+
} else {
|
|
197
|
+
logger.info("Multiple concurrent ACL writes, waiting for all to finish.");
|
|
198
|
+
}
|
|
181
199
|
}
|
|
182
200
|
return result;
|
|
183
201
|
}
|
|
@@ -185,10 +203,16 @@ class TransactionalInteractionServer extends InteractionServer {
|
|
|
185
203
|
const writeAttribute = () => super.writeAttribute(path, attribute, value, exchange, message, endpoint, timed, isListWrite);
|
|
186
204
|
if (path.endpointId === 0 && path.clusterId === AclClusterId && path.attributeId === AclAttributeId) {
|
|
187
205
|
this.aclServer.aclUpdateDelayed = true;
|
|
188
|
-
this.#
|
|
189
|
-
} else
|
|
190
|
-
this.
|
|
191
|
-
|
|
206
|
+
this.#aclUpdateIsDelayedInExchange.add(exchange);
|
|
207
|
+
} else {
|
|
208
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
209
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
210
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
211
|
+
this.aclServer.aclUpdateDelayed = false;
|
|
212
|
+
} else {
|
|
213
|
+
logger.info("Multiple concurrent ACL writes, waiting for all to finish.");
|
|
214
|
+
}
|
|
215
|
+
}
|
|
192
216
|
}
|
|
193
217
|
return OnlineContext({
|
|
194
218
|
activity: exchange[activityKey],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/server/TransactionalInteractionServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AAErC,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,YAAY,eAAe,oBAAoB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.7",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@noble/curves": "^1.7.0",
|
|
46
|
-
"@matter/general": "0.11.
|
|
47
|
-
"@matter/model": "0.11.
|
|
48
|
-
"@matter/types": "0.11.
|
|
49
|
-
"@matter/protocol": "0.11.
|
|
46
|
+
"@matter/general": "0.11.7",
|
|
47
|
+
"@matter/model": "0.11.7",
|
|
48
|
+
"@matter/types": "0.11.7",
|
|
49
|
+
"@matter/protocol": "0.11.7"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@matter/tools": "0.11.
|
|
53
|
-
"@matter/testing": "0.11.
|
|
52
|
+
"@matter/tools": "0.11.7",
|
|
53
|
+
"@matter/testing": "0.11.7"
|
|
54
54
|
},
|
|
55
55
|
"files": [
|
|
56
56
|
"dist/**/*",
|
|
@@ -411,6 +411,11 @@ export class AccessControlServer extends AccessControlBehavior {
|
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
413
|
|
|
414
|
+
resetDelayedAccessControlList() {
|
|
415
|
+
this.internal.delayedAclData = undefined;
|
|
416
|
+
this.aclUpdateDelayed = false;
|
|
417
|
+
}
|
|
418
|
+
|
|
414
419
|
/**
|
|
415
420
|
* If set to true, the ACL will not be updated immediately when it changes, but only when the `aclUpdateDelayed`
|
|
416
421
|
* property is set to false again.
|
|
@@ -428,9 +433,11 @@ export class AccessControlServer extends AccessControlBehavior {
|
|
|
428
433
|
* removed again once we somehow handle relevant sub transactions.
|
|
429
434
|
*/
|
|
430
435
|
set aclUpdateDelayed(value: boolean) {
|
|
431
|
-
logger.info("Setting ACL update delayed to", value);
|
|
432
436
|
if (!value) {
|
|
437
|
+
logger.info("Committing delayed ACL update");
|
|
433
438
|
this.#updateDelayedAccessControlList();
|
|
439
|
+
} else if (!this.internal.aclUpdateDelayed) {
|
|
440
|
+
logger.info("Register ACL update to be delayed");
|
|
434
441
|
}
|
|
435
442
|
this.internal.aclUpdateDelayed = value;
|
|
436
443
|
}
|
|
@@ -14,7 +14,7 @@ import { AccessControlCluster } from "#clusters/access-control";
|
|
|
14
14
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
15
15
|
import { EndpointServer } from "#endpoint/EndpointServer.js";
|
|
16
16
|
import { EndpointLifecycle } from "#endpoint/properties/EndpointLifecycle.js";
|
|
17
|
-
import { Diagnostic, InternalError, MaybePromise } from "#general";
|
|
17
|
+
import { Diagnostic, InternalError, Logger, MaybePromise } from "#general";
|
|
18
18
|
import {
|
|
19
19
|
AccessDeniedError,
|
|
20
20
|
AnyAttributeServer,
|
|
@@ -41,6 +41,8 @@ import { TlvEventFilter, TypeFromSchema } from "#types";
|
|
|
41
41
|
import { AccessControlServer } from "../../behaviors/access-control/AccessControlServer.js";
|
|
42
42
|
import { ServerNode } from "../ServerNode.js";
|
|
43
43
|
|
|
44
|
+
const logger = Logger.get("TransactionalInteractionServer");
|
|
45
|
+
|
|
44
46
|
const activityKey = Symbol("activity");
|
|
45
47
|
|
|
46
48
|
interface WithActivity {
|
|
@@ -69,7 +71,7 @@ export class TransactionalInteractionServer extends InteractionServer {
|
|
|
69
71
|
#activity: NodeActivity;
|
|
70
72
|
#newActivityBlocked = false;
|
|
71
73
|
#aclServer?: AccessControlServer;
|
|
72
|
-
#
|
|
74
|
+
#aclUpdateIsDelayedInExchange = new Set<MessageExchange>();
|
|
73
75
|
|
|
74
76
|
static async create(endpoint: Endpoint<ServerNode.RootEndpoint>, sessions: SessionManager) {
|
|
75
77
|
const structure = new InteractionEndpointStructure();
|
|
@@ -212,13 +214,36 @@ export class TransactionalInteractionServer extends InteractionServer {
|
|
|
212
214
|
writeRequest: WriteRequest,
|
|
213
215
|
message: Message,
|
|
214
216
|
): Promise<WriteResponse> {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
this.
|
|
220
|
-
|
|
217
|
+
let result: WriteResponse;
|
|
218
|
+
try {
|
|
219
|
+
result = await super.handleWriteRequest(exchange, writeRequest, message);
|
|
220
|
+
} catch (error) {
|
|
221
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
222
|
+
// Unlikely to get there at all, but make sure we handle it best we can for now
|
|
223
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
224
|
+
|
|
225
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
226
|
+
// only that one ACl change in flight, so we can reset the delayed ACL
|
|
227
|
+
this.aclServer.resetDelayedAccessControlList();
|
|
228
|
+
} else {
|
|
229
|
+
// TODO: we should restore the delayed data just for this errored fabric?
|
|
230
|
+
logger.error("One of multiple concurrent ACL writes failed, unhandled case for now.");
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
throw error;
|
|
221
234
|
}
|
|
235
|
+
// We delayed the ACL update during this write transaction, so we need to update it now that anything is written
|
|
236
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
237
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
238
|
+
|
|
239
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
240
|
+
// Committing the ACL changes in case of an unhandled exception might be dangerous, but we do it anyway
|
|
241
|
+
this.aclServer.aclUpdateDelayed = false;
|
|
242
|
+
} else {
|
|
243
|
+
logger.info("Multiple concurrent ACL writes, waiting for all to finish.");
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
222
247
|
return result;
|
|
223
248
|
}
|
|
224
249
|
|
|
@@ -239,11 +264,18 @@ export class TransactionalInteractionServer extends InteractionServer {
|
|
|
239
264
|
// This is a hack to prevent the ACL from updating while we are in the middle of a write transaction
|
|
240
265
|
// and is needed because Acl should not become effective during writing of the ACL itself.
|
|
241
266
|
this.aclServer.aclUpdateDelayed = true;
|
|
242
|
-
this.#
|
|
243
|
-
} else
|
|
267
|
+
this.#aclUpdateIsDelayedInExchange.add(exchange);
|
|
268
|
+
} else {
|
|
244
269
|
// Ok it seems that acl was written, but we now write another path, so we can update Acl attribute now
|
|
245
|
-
this.
|
|
246
|
-
|
|
270
|
+
if (this.#aclUpdateIsDelayedInExchange.has(exchange)) {
|
|
271
|
+
this.#aclUpdateIsDelayedInExchange.delete(exchange);
|
|
272
|
+
|
|
273
|
+
if (this.#aclUpdateIsDelayedInExchange.size === 0) {
|
|
274
|
+
this.aclServer.aclUpdateDelayed = false;
|
|
275
|
+
} else {
|
|
276
|
+
logger.info("Multiple concurrent ACL writes, waiting for all to finish.");
|
|
277
|
+
}
|
|
278
|
+
}
|
|
247
279
|
}
|
|
248
280
|
|
|
249
281
|
return OnlineContext({
|