@matter/protocol 0.16.0-alpha.0-20251021-cca02fb0e → 0.16.0-alpha.0-20251023-bb23617e5

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.
Files changed (38) hide show
  1. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
  2. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +13 -0
  3. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
  4. package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
  5. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  6. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +1 -1
  7. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  8. package/dist/cjs/securechannel/SecureChannelProtocol.js +2 -1
  9. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  10. package/dist/cjs/session/pase/PaseMessenger.d.ts +7 -0
  11. package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
  12. package/dist/cjs/session/pase/PaseMessenger.js +21 -0
  13. package/dist/cjs/session/pase/PaseMessenger.js.map +1 -1
  14. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  15. package/dist/cjs/session/pase/PaseServer.js +15 -2
  16. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  17. package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
  18. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +13 -0
  19. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
  20. package/dist/esm/protocol/DeviceCommissioner.js +1 -1
  21. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  22. package/dist/esm/securechannel/SecureChannelProtocol.d.ts +1 -1
  23. package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  24. package/dist/esm/securechannel/SecureChannelProtocol.js +2 -1
  25. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  26. package/dist/esm/session/pase/PaseMessenger.d.ts +7 -0
  27. package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
  28. package/dist/esm/session/pase/PaseMessenger.js +22 -1
  29. package/dist/esm/session/pase/PaseMessenger.js.map +1 -1
  30. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  31. package/dist/esm/session/pase/PaseServer.js +15 -2
  32. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  33. package/package.json +6 -6
  34. package/src/advertisement/mdns/MdnsAdvertisement.ts +16 -0
  35. package/src/protocol/DeviceCommissioner.ts +1 -1
  36. package/src/securechannel/SecureChannelProtocol.ts +2 -1
  37. package/src/session/pase/PaseMessenger.ts +32 -2
  38. package/src/session/pase/PaseServer.ts +17 -4
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAGH,SAAS,EAQZ,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;GAIG;AACH,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;;IACvG,UAAU,EAAE,cAAc,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAKF,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAUrE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjD;IAEc,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,KAAK,GAAE,UAAU,CAAC,cAA0B;IAkBvG;;OAEG;IACG,SAAS;IASf;;OAEG;IACG,MAAM;IAKH,gBAAgB;IAehB,mBAAmB;cAIH,QAAQ;cASR,OAAO;CAsDnC"}
1
+ {"version":3,"file":"MdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAGH,SAAS,EAQZ,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;GAIG;AACH,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;;IACvG,UAAU,EAAE,cAAc,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAMF,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAUrE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjD;IAEc,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,KAAK,GAAE,UAAU,CAAC,cAA0B;IAkBvG;;OAEG;IACG,SAAS;IAqBf;;OAEG;IACG,MAAM;IAQH,gBAAgB;IAehB,mBAAmB;cAIH,QAAQ;cASR,OAAO;CAsDnC"}
@@ -38,6 +38,7 @@ class MdnsAdvertisement extends import_Advertisement.Advertisement {
38
38
  qname;
39
39
  #isPrivacyMasked;
40
40
  #stopAt;
41
+ #broadcastPromise;
41
42
  constructor(advertiser, qname, description) {
42
43
  description = {
43
44
  ...description,
@@ -70,6 +71,15 @@ class MdnsAdvertisement extends import_Advertisement.Advertisement {
70
71
  * Broadcast a single announcement immediately.
71
72
  */
72
73
  async broadcast() {
74
+ if (this.#broadcastPromise !== void 0) {
75
+ return this.#broadcastPromise;
76
+ }
77
+ this.#broadcastPromise = this.#broadcast().then(() => {
78
+ this.#broadcastPromise = void 0;
79
+ });
80
+ return this.#broadcastPromise;
81
+ }
82
+ async #broadcast() {
73
83
  if (!this.#isPrivacyMasked && this.isPrivacyMasked) {
74
84
  this.#isPrivacyMasked = true;
75
85
  await this.advertiser.server.setRecordsGenerator(this.service, this.#recordsGenerator);
@@ -80,6 +90,9 @@ class MdnsAdvertisement extends import_Advertisement.Advertisement {
80
90
  * Broadcast expiration announcement immediately.
81
91
  */
82
92
  async expire() {
93
+ if (this.#broadcastPromise !== void 0) {
94
+ await this.#broadcastPromise;
95
+ }
83
96
  logger.info("Unpublishing", this.dict({ time: import_general.Duration.format(this.duration) }));
84
97
  await this.advertiser.server.expireAnnouncements(this.service);
85
98
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -168,7 +168,7 @@ class DeviceCommissioner {
168
168
  return;
169
169
  }
170
170
  this.#cancelTimeout();
171
- this.#context.secureChannelProtocol.removePaseCommissioner();
171
+ await this.#context.secureChannelProtocol.removePaseCommissioner();
172
172
  this.#windowStatus = import_administrator_commissioning.AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen;
173
173
  if (this.#activeCommissioningEndCallback !== void 0) {
174
174
  const activeCommissioningEndCallback = this.#activeCommissioningEndCallback;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/DeviceCommissioner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -26,7 +26,7 @@ export declare class SecureChannelProtocol extends StatusReportOnlySecureChannel
26
26
  */
27
27
  get tooManyPaseErrors(): AsyncObservable<[], void>;
28
28
  setPaseCommissioner(paseServer: PaseServer): void;
29
- removePaseCommissioner(): void;
29
+ removePaseCommissioner(): Promise<void>;
30
30
  onNewExchange(exchange: MessageExchange, message: Message): Promise<void>;
31
31
  }
32
32
  //# sourceMappingURL=SecureChannelProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecureChannelProtocol.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelProtocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAwC,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAMjG,qBAAa,qCAAsC,YAAW,eAAe;IACzE,QAAQ,CAAC,EAAE,KAA8B;IAGzC,QAAQ,CAAC,qBAAqB,YAAa;IAErC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAkBzD,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAqCrE,KAAK;CAGd;AAED,qBAAa,qBAAsB,SAAQ,qCAAqC;;gBAKhE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAK5D,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C;;OAEG;IACH,IAAI,iBAAiB,8BAEpB;IAED,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAI1C,sBAAsB;IAIP,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;CA4B3E"}
1
+ {"version":3,"file":"SecureChannelProtocol.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelProtocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAwC,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAMjG,qBAAa,qCAAsC,YAAW,eAAe;IACzE,QAAQ,CAAC,EAAE,KAA8B;IAGzC,QAAQ,CAAC,qBAAqB,YAAa;IAErC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAkBzD,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAqCrE,KAAK;CAGd;AAED,qBAAa,qBAAsB,SAAQ,qCAAqC;;gBAKhE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAK5D,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C;;OAEG;IACH,IAAI,iBAAiB,8BAEpB;IAED,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAIpC,sBAAsB;IAKb,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;CA4B3E"}
@@ -115,7 +115,8 @@ class SecureChannelProtocol extends StatusReportOnlySecureChannelProtocol {
115
115
  setPaseCommissioner(paseServer) {
116
116
  this.#paseCommissioner = paseServer;
117
117
  }
118
- removePaseCommissioner() {
118
+ async removePaseCommissioner() {
119
+ await this.#paseCommissioner?.close();
119
120
  this.#paseCommissioner = void 0;
120
121
  }
121
122
  async onNewExchange(exchange, message) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/securechannel/SecureChannelProtocol.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,11 +3,15 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Duration } from "#general";
7
+ import { TlvSchema } from "#types";
8
+ import { ExchangeSendOptions } from "../../protocol/MessageExchange.js";
6
9
  import { SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
7
10
  import { PasePake1, PasePake2, PasePake3, PbkdfParamRequest, PbkdfParamResponse } from "./PaseMessages.js";
8
11
  export declare const DEFAULT_PASSCODE_ID = 0;
9
12
  export declare const SPAKE_CONTEXT: AllowSharedBufferSource;
10
13
  export declare class PaseServerMessenger extends SecureChannelMessenger {
14
+ #private;
11
15
  readPbkdfParamRequest(): Promise<{
12
16
  requestPayload: AllowSharedBufferSource;
13
17
  request: PbkdfParamRequest;
@@ -20,6 +24,9 @@ export declare class PaseServerMessenger extends SecureChannelMessenger {
20
24
  readPasePake3(): Promise<import("#types").TypeFromFields<{
21
25
  verifier: import("#types").FieldType<AllowSharedBufferSource>;
22
26
  }>>;
27
+ close(): Promise<void>;
28
+ send<T>(message: T, type: number, schema: TlvSchema<T>, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
29
+ nextMessage(expectedMessageType: number, expectedProcessingTimeMs?: Duration, expectedMessageInfo?: string): Promise<import("../../index.js").Message>;
23
30
  }
24
31
  export declare class PaseClientMessenger extends SecureChannelMessenger {
25
32
  sendPbkdfParamRequest(request: PbkdfParamRequest): Promise<AllowSharedBufferSource>;
@@ -1 +1 @@
1
- {"version":3,"file":"PaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAkC,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvH,OAAO,EACH,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAMrB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,aAAa,yBAAiD,CAAC;AAE5E,qBAAa,mBAAoB,SAAQ,sBAAsB;IACrD,qBAAqB;;iBAE4D,iBAAiB;;IAGlG,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB;IAMzD,aAAa;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;CAGhB;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC3D,qBAAqB,CAAC,OAAO,EAAE,iBAAiB;IAM1C,sBAAsB;;kBAO8D,kBAAkB;;IAG5G,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;CAGrC"}
1
+ {"version":3,"file":"PaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,QAAQ,EAAuB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAkC,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvH,OAAO,EACH,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAMrB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,aAAa,yBAAiD,CAAC;AAE5E,qBAAa,mBAAoB,SAAQ,sBAAsB;;IAGrD,qBAAqB;;iBAE4D,iBAAiB;;IAGlG,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB;IAMzD,aAAa;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;IAIJ,KAAK;IAKL,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAO/E,WAAW,CACtB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,CAAC,EAAE,QAAQ,EACnC,mBAAmB,CAAC,EAAE,MAAM;CAWnC;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC3D,qBAAqB,CAAC,OAAO,EAAE,iBAAiB;IAM1C,sBAAsB;;kBAO8D,kBAAkB;;IAG5G,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;CAGrC"}
@@ -36,6 +36,7 @@ var import_PaseMessages = require("./PaseMessages.js");
36
36
  const DEFAULT_PASSCODE_ID = 0;
37
37
  const SPAKE_CONTEXT = import_general.Bytes.fromString("CHIP PAKE V1 Commissioning");
38
38
  class PaseServerMessenger extends import_SecureChannelMessenger.SecureChannelMessenger {
39
+ #closed = false;
39
40
  async readPbkdfParamRequest() {
40
41
  const { payload } = await this.nextMessage(import_types.SecureMessageType.PbkdfParamRequest, import_SecureChannelMessenger.DEFAULT_NORMAL_PROCESSING_TIME);
41
42
  return { requestPayload: payload, request: import_PaseMessages.TlvPbkdfParamRequest.decode(payload) };
@@ -54,6 +55,26 @@ class PaseServerMessenger extends import_SecureChannelMessenger.SecureChannelMes
54
55
  readPasePake3() {
55
56
  return this.nextMessageDecoded(import_types.SecureMessageType.PasePake3, import_PaseMessages.TlvPasePake3);
56
57
  }
58
+ close() {
59
+ this.#closed = true;
60
+ return super.close();
61
+ }
62
+ send(message, type, schema, options) {
63
+ if (this.#closed) {
64
+ throw new import_general.UnexpectedDataError("Cannot send message, messenger is closed");
65
+ }
66
+ return super.send(message, type, schema, options);
67
+ }
68
+ async nextMessage(expectedMessageType, expectedProcessingTimeMs, expectedMessageInfo) {
69
+ if (this.#closed) {
70
+ throw new import_general.UnexpectedDataError("Cannot read message, messenger is closed");
71
+ }
72
+ const result = await super.nextMessage(expectedMessageType, expectedProcessingTimeMs, expectedMessageInfo);
73
+ if (this.#closed) {
74
+ throw new import_general.UnexpectedDataError("Cannot read message, messenger is closed");
75
+ }
76
+ return result;
77
+ }
57
78
  }
58
79
  class PaseClientMessenger extends import_SecureChannelMessenger.SecureChannelMessenger {
59
80
  sendPbkdfParamRequest(request) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/session/pase/PaseMessenger.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAsB;AACtB,mBAAkC;AAClC,oCAAuE;AACvE,0BAWO;AApBP;AAAA;AAAA;AAAA;AAAA;AAsBO,MAAM,sBAAsB;AAC5B,MAAM,gBAAgB,qBAAM,WAAW,4BAA4B;AAEnE,MAAM,4BAA4B,qDAAuB;AAAA,EAC5D,MAAM,wBAAwB;AAC1B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK,YAAY,+BAAkB,mBAAmB,4DAA8B;AAC9G,WAAO,EAAE,gBAAgB,SAAS,SAAS,yCAAqB,OAAO,OAAO,EAAuB;AAAA,EACzG;AAAA,EAEA,MAAM,uBAAuB,UAA8B;AACvD,WAAO,KAAK,KAAK,UAAU,+BAAkB,oBAAoB,2CAAuB;AAAA,MACpF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,+BAAkB,WAAW,gCAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,+BAAkB,WAAW,gCAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,+BAAkB,WAAW,gCAAY;AAAA,EAC5E;AACJ;AAEO,MAAM,4BAA4B,qDAAuB;AAAA,EAC5D,sBAAsB,SAA4B;AAC9C,WAAO,KAAK,KAAK,SAAS,+BAAkB,mBAAmB,0CAAsB;AAAA,MACjF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,yBAAyB;AAC3B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK;AAAA,MAC3B,+BAAkB;AAAA,MAClB;AAAA,IACJ;AAGA,WAAO,EAAE,iBAAiB,SAAS,UAAU,0CAAsB,OAAO,OAAO,EAAwB;AAAA,EAC7G;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,+BAAkB,WAAW,gCAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,+BAAkB,WAAW,gCAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,+BAAkB,WAAW,gCAAY;AAAA,EACzE;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,mBAA6C;AAE7C,oCAAuE;AACvE,0BAWO;AArBP;AAAA;AAAA;AAAA;AAAA;AAuBO,MAAM,sBAAsB;AAC5B,MAAM,gBAAgB,qBAAM,WAAW,4BAA4B;AAEnE,MAAM,4BAA4B,qDAAuB;AAAA,EAC5D,UAAU;AAAA,EAEV,MAAM,wBAAwB;AAC1B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK,YAAY,+BAAkB,mBAAmB,4DAA8B;AAC9G,WAAO,EAAE,gBAAgB,SAAS,SAAS,yCAAqB,OAAO,OAAO,EAAuB;AAAA,EACzG;AAAA,EAEA,MAAM,uBAAuB,UAA8B;AACvD,WAAO,KAAK,KAAK,UAAU,+BAAkB,oBAAoB,2CAAuB;AAAA,MACpF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,+BAAkB,WAAW,gCAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,+BAAkB,WAAW,gCAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,+BAAkB,WAAW,gCAAY;AAAA,EAC5E;AAAA,EAES,QAAQ;AACb,SAAK,UAAU;AACf,WAAO,MAAM,MAAM;AAAA,EACvB;AAAA,EAES,KAAQ,SAAY,MAAc,QAAsB,SAA+B;AAC5F,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,mCAAoB,0CAA0C;AAAA,IAC5E;AACA,WAAO,MAAM,KAAK,SAAS,MAAM,QAAQ,OAAO;AAAA,EACpD;AAAA,EAEA,MAAe,YACX,qBACA,0BACA,qBACF;AACE,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,mCAAoB,0CAA0C;AAAA,IAC5E;AACA,UAAM,SAAS,MAAM,MAAM,YAAY,qBAAqB,0BAA0B,mBAAmB;AACzG,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,mCAAoB,0CAA0C;AAAA,IAC5E;AACA,WAAO;AAAA,EACX;AACJ;AAEO,MAAM,4BAA4B,qDAAuB;AAAA,EAC5D,sBAAsB,SAA4B;AAC9C,WAAO,KAAK,KAAK,SAAS,+BAAkB,mBAAmB,0CAAsB;AAAA,MACjF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,yBAAyB;AAC3B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK;AAAA,MAC3B,+BAAkB;AAAA,MAClB;AAAA,IACJ;AAGA,WAAO,EAAE,iBAAiB,SAAS,UAAU,0CAAsB,OAAO,OAAO,EAAwB;AAAA,EAC7G;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,+BAAkB,WAAW,gCAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,+BAAkB,WAAW,gCAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,+BAAkB,WAAW,gCAAY;AAAA,EACzE;AACJ;",
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;AAEH,OAAO,EACH,KAAK,EAKL,eAAe,EACf,eAAe,EAMlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAS7F,qBAAa,oCAAqC,SAAQ,eAAe;CAAG;AAE5E,qBAAa,UAAW,YAAW,eAAe;;IAwB1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IA1BrC,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;WAK1B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,KAAK,EACxB,eAAe,CAAC,EAAE,eAAe;gBASzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,KAAK,EACR,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YAwC/B,oBAAoB;IAyE5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO;IAU9D,KAAK;CAGd"}
1
+ {"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAKL,eAAe,EACf,eAAe,EAMlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAS7F,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;WAO1B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,KAAK,EACxB,eAAe,CAAC,EAAE,eAAe;gBASzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,KAAK,EACR,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YAgD/B,oBAAoB;IA2E5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO;IAU9D,KAAK;CAId"}
@@ -47,7 +47,9 @@ class PaseServer {
47
47
  id = import_types.SECURE_CHANNEL_PROTOCOL_ID;
48
48
  requiresSecureSession = false;
49
49
  #pairingTimer;
50
+ #pairingMessenger;
50
51
  #pairingErrors = 0;
52
+ #closed = false;
51
53
  static async fromPin(sessions, setupPinCode, pbkdfParameters) {
52
54
  const { w0, L } = await import_general.Spake2p.computeW0L(sessions.crypto, pbkdfParameters, setupPinCode);
53
55
  return new PaseServer(sessions, w0, L, pbkdfParameters);
@@ -59,6 +61,10 @@ class PaseServer {
59
61
  return new PaseServer(sessions, w0, L, pbkdfParameters);
60
62
  }
61
63
  async onNewExchange(exchange) {
64
+ if (this.#closed) {
65
+ logger.warn("Pase server: Received new exchange but server is closed, ignoring exchange.");
66
+ return;
67
+ }
62
68
  const messenger = new import_PaseMessenger.PaseServerMessenger(exchange);
63
69
  try {
64
70
  const paseSession = this.sessions.getPaseSession();
@@ -68,8 +74,11 @@ class PaseServer {
68
74
  logger.info(
69
75
  "Pase server: Pairing already in progress (PASE establishment Timer running), ignoring new exchange."
70
76
  );
77
+ } else if (this.#pairingMessenger !== void 0) {
78
+ logger.info("Already handling a pairing request, ignoring new exchange.");
71
79
  } else {
72
- await this.handlePairingRequest(this.sessions.crypto, messenger);
80
+ this.#pairingMessenger = messenger;
81
+ await this.handlePairingRequest(this.sessions.crypto);
73
82
  }
74
83
  } catch (error) {
75
84
  this.#pairingErrors++;
@@ -85,10 +94,12 @@ class PaseServer {
85
94
  );
86
95
  }
87
96
  } finally {
97
+ this.#pairingMessenger = void 0;
88
98
  await exchange.session.destroy();
89
99
  }
90
100
  }
91
- async handlePairingRequest(crypto, messenger) {
101
+ async handlePairingRequest(crypto) {
102
+ const messenger = this.#pairingMessenger;
92
103
  logger.info("Received pairing request \xAB", import_general.Diagnostic.via(messenger.channelName));
93
104
  this.#pairingTimer = import_general.Time.getTimer(
94
105
  "PASE pairing timeout",
@@ -157,6 +168,8 @@ class PaseServer {
157
168
  await messenger.close();
158
169
  }
159
170
  async close() {
171
+ this.#closed = true;
172
+ await this.#pairingMessenger?.close();
160
173
  }
161
174
  }
162
175
  //# sourceMappingURL=PaseServer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/session/pase/PaseServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAGH,SAAS,EAQZ,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;GAIG;AACH,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;;IACvG,UAAU,EAAE,cAAc,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAKF,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAUrE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjD;IAEc,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,KAAK,GAAE,UAAU,CAAC,cAA0B;IAkBvG;;OAEG;IACG,SAAS;IASf;;OAEG;IACG,MAAM;IAKH,gBAAgB;IAehB,mBAAmB;cAIH,QAAQ;cASR,OAAO;CAsDnC"}
1
+ {"version":3,"file":"MdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAGH,SAAS,EAQZ,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;GAIG;AACH,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;;IACvG,UAAU,EAAE,cAAc,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAMF,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAUrE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjD;IAEc,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,KAAK,GAAE,UAAU,CAAC,cAA0B;IAkBvG;;OAEG;IACG,SAAS;IAqBf;;OAEG;IACG,MAAM;IAQH,gBAAgB;IAehB,mBAAmB;cAIH,QAAQ;cASR,OAAO;CAsDnC"}
@@ -24,6 +24,7 @@ class MdnsAdvertisement extends Advertisement {
24
24
  qname;
25
25
  #isPrivacyMasked;
26
26
  #stopAt;
27
+ #broadcastPromise;
27
28
  constructor(advertiser, qname, description) {
28
29
  description = {
29
30
  ...description,
@@ -56,6 +57,15 @@ class MdnsAdvertisement extends Advertisement {
56
57
  * Broadcast a single announcement immediately.
57
58
  */
58
59
  async broadcast() {
60
+ if (this.#broadcastPromise !== void 0) {
61
+ return this.#broadcastPromise;
62
+ }
63
+ this.#broadcastPromise = this.#broadcast().then(() => {
64
+ this.#broadcastPromise = void 0;
65
+ });
66
+ return this.#broadcastPromise;
67
+ }
68
+ async #broadcast() {
59
69
  if (!this.#isPrivacyMasked && this.isPrivacyMasked) {
60
70
  this.#isPrivacyMasked = true;
61
71
  await this.advertiser.server.setRecordsGenerator(this.service, this.#recordsGenerator);
@@ -66,6 +76,9 @@ class MdnsAdvertisement extends Advertisement {
66
76
  * Broadcast expiration announcement immediately.
67
77
  */
68
78
  async expire() {
79
+ if (this.#broadcastPromise !== void 0) {
80
+ await this.#broadcastPromise;
81
+ }
69
82
  logger.info("Unpublishing", this.dict({ time: Duration.format(this.duration) }));
70
83
  await this.advertiser.server.expireAnnouncements(this.service);
71
84
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -152,7 +152,7 @@ class DeviceCommissioner {
152
152
  return;
153
153
  }
154
154
  this.#cancelTimeout();
155
- this.#context.secureChannelProtocol.removePaseCommissioner();
155
+ await this.#context.secureChannelProtocol.removePaseCommissioner();
156
156
  this.#windowStatus = AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen;
157
157
  if (this.#activeCommissioningEndCallback !== void 0) {
158
158
  const activeCommissioningEndCallback = this.#activeCommissioningEndCallback;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/DeviceCommissioner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -26,7 +26,7 @@ export declare class SecureChannelProtocol extends StatusReportOnlySecureChannel
26
26
  */
27
27
  get tooManyPaseErrors(): AsyncObservable<[], void>;
28
28
  setPaseCommissioner(paseServer: PaseServer): void;
29
- removePaseCommissioner(): void;
29
+ removePaseCommissioner(): Promise<void>;
30
30
  onNewExchange(exchange: MessageExchange, message: Message): Promise<void>;
31
31
  }
32
32
  //# sourceMappingURL=SecureChannelProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecureChannelProtocol.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelProtocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAwC,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAMjG,qBAAa,qCAAsC,YAAW,eAAe;IACzE,QAAQ,CAAC,EAAE,KAA8B;IAGzC,QAAQ,CAAC,qBAAqB,YAAa;IAErC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAkBzD,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAqCrE,KAAK;CAGd;AAED,qBAAa,qBAAsB,SAAQ,qCAAqC;;gBAKhE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAK5D,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C;;OAEG;IACH,IAAI,iBAAiB,8BAEpB;IAED,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAI1C,sBAAsB;IAIP,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;CA4B3E"}
1
+ {"version":3,"file":"SecureChannelProtocol.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelProtocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAwC,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAMjG,qBAAa,qCAAsC,YAAW,eAAe;IACzE,QAAQ,CAAC,EAAE,KAA8B;IAGzC,QAAQ,CAAC,qBAAqB,YAAa;IAErC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAkBzD,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAqCrE,KAAK;CAGd;AAED,qBAAa,qBAAsB,SAAQ,qCAAqC;;gBAKhE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAK5D,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C;;OAEG;IACH,IAAI,iBAAiB,8BAEpB;IAED,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAIpC,sBAAsB;IAKb,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;CA4B3E"}
@@ -98,7 +98,8 @@ class SecureChannelProtocol extends StatusReportOnlySecureChannelProtocol {
98
98
  setPaseCommissioner(paseServer) {
99
99
  this.#paseCommissioner = paseServer;
100
100
  }
101
- removePaseCommissioner() {
101
+ async removePaseCommissioner() {
102
+ await this.#paseCommissioner?.close();
102
103
  this.#paseCommissioner = void 0;
103
104
  }
104
105
  async onNewExchange(exchange, message) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/securechannel/SecureChannelProtocol.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,11 +3,15 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Duration } from "#general";
7
+ import { TlvSchema } from "#types";
8
+ import { ExchangeSendOptions } from "../../protocol/MessageExchange.js";
6
9
  import { SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
7
10
  import { PasePake1, PasePake2, PasePake3, PbkdfParamRequest, PbkdfParamResponse } from "./PaseMessages.js";
8
11
  export declare const DEFAULT_PASSCODE_ID = 0;
9
12
  export declare const SPAKE_CONTEXT: AllowSharedBufferSource;
10
13
  export declare class PaseServerMessenger extends SecureChannelMessenger {
14
+ #private;
11
15
  readPbkdfParamRequest(): Promise<{
12
16
  requestPayload: AllowSharedBufferSource;
13
17
  request: PbkdfParamRequest;
@@ -20,6 +24,9 @@ export declare class PaseServerMessenger extends SecureChannelMessenger {
20
24
  readPasePake3(): Promise<import("#types").TypeFromFields<{
21
25
  verifier: import("#types").FieldType<AllowSharedBufferSource>;
22
26
  }>>;
27
+ close(): Promise<void>;
28
+ send<T>(message: T, type: number, schema: TlvSchema<T>, options?: ExchangeSendOptions): Promise<AllowSharedBufferSource>;
29
+ nextMessage(expectedMessageType: number, expectedProcessingTimeMs?: Duration, expectedMessageInfo?: string): Promise<import("../../index.js").Message>;
23
30
  }
24
31
  export declare class PaseClientMessenger extends SecureChannelMessenger {
25
32
  sendPbkdfParamRequest(request: PbkdfParamRequest): Promise<AllowSharedBufferSource>;
@@ -1 +1 @@
1
- {"version":3,"file":"PaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAkC,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvH,OAAO,EACH,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAMrB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,aAAa,yBAAiD,CAAC;AAE5E,qBAAa,mBAAoB,SAAQ,sBAAsB;IACrD,qBAAqB;;iBAE4D,iBAAiB;;IAGlG,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB;IAMzD,aAAa;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;CAGhB;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC3D,qBAAqB,CAAC,OAAO,EAAE,iBAAiB;IAM1C,sBAAsB;;kBAO8D,kBAAkB;;IAG5G,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;CAGrC"}
1
+ {"version":3,"file":"PaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,QAAQ,EAAuB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAkC,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvH,OAAO,EACH,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAMrB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,aAAa,yBAAiD,CAAC;AAE5E,qBAAa,mBAAoB,SAAQ,sBAAsB;;IAGrD,qBAAqB;;iBAE4D,iBAAiB;;IAGlG,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB;IAMzD,aAAa;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;IAIJ,KAAK;IAKL,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAO/E,WAAW,CACtB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,CAAC,EAAE,QAAQ,EACnC,mBAAmB,CAAC,EAAE,MAAM;CAWnC;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC3D,qBAAqB,CAAC,OAAO,EAAE,iBAAiB;IAM1C,sBAAsB;;kBAO8D,kBAAkB;;IAG5G,aAAa,CAAC,SAAS,EAAE,SAAS;IAIlC,aAAa;;;;IAIb,aAAa,CAAC,SAAS,EAAE,SAAS;CAGrC"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Bytes } from "#general";
6
+ import { Bytes, UnexpectedDataError } from "#general";
7
7
  import { SecureMessageType } from "#types";
8
8
  import { DEFAULT_NORMAL_PROCESSING_TIME, SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
9
9
  import {
@@ -16,6 +16,7 @@ import {
16
16
  const DEFAULT_PASSCODE_ID = 0;
17
17
  const SPAKE_CONTEXT = Bytes.fromString("CHIP PAKE V1 Commissioning");
18
18
  class PaseServerMessenger extends SecureChannelMessenger {
19
+ #closed = false;
19
20
  async readPbkdfParamRequest() {
20
21
  const { payload } = await this.nextMessage(SecureMessageType.PbkdfParamRequest, DEFAULT_NORMAL_PROCESSING_TIME);
21
22
  return { requestPayload: payload, request: TlvPbkdfParamRequest.decode(payload) };
@@ -34,6 +35,26 @@ class PaseServerMessenger extends SecureChannelMessenger {
34
35
  readPasePake3() {
35
36
  return this.nextMessageDecoded(SecureMessageType.PasePake3, TlvPasePake3);
36
37
  }
38
+ close() {
39
+ this.#closed = true;
40
+ return super.close();
41
+ }
42
+ send(message, type, schema, options) {
43
+ if (this.#closed) {
44
+ throw new UnexpectedDataError("Cannot send message, messenger is closed");
45
+ }
46
+ return super.send(message, type, schema, options);
47
+ }
48
+ async nextMessage(expectedMessageType, expectedProcessingTimeMs, expectedMessageInfo) {
49
+ if (this.#closed) {
50
+ throw new UnexpectedDataError("Cannot read message, messenger is closed");
51
+ }
52
+ const result = await super.nextMessage(expectedMessageType, expectedProcessingTimeMs, expectedMessageInfo);
53
+ if (this.#closed) {
54
+ throw new UnexpectedDataError("Cannot read message, messenger is closed");
55
+ }
56
+ return result;
57
+ }
37
58
  }
38
59
  class PaseClientMessenger extends SecureChannelMessenger {
39
60
  sendPbkdfParamRequest(request) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/session/pase/PaseMessenger.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa;AACtB,SAAS,yBAAyB;AAClC,SAAS,gCAAgC,8BAA8B;AACvE;AAAA,EAMI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEA,MAAM,sBAAsB;AAC5B,MAAM,gBAAgB,MAAM,WAAW,4BAA4B;AAEnE,MAAM,4BAA4B,uBAAuB;AAAA,EAC5D,MAAM,wBAAwB;AAC1B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK,YAAY,kBAAkB,mBAAmB,8BAA8B;AAC9G,WAAO,EAAE,gBAAgB,SAAS,SAAS,qBAAqB,OAAO,OAAO,EAAuB;AAAA,EACzG;AAAA,EAEA,MAAM,uBAAuB,UAA8B;AACvD,WAAO,KAAK,KAAK,UAAU,kBAAkB,oBAAoB,uBAAuB;AAAA,MACpF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,kBAAkB,WAAW,YAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,kBAAkB,WAAW,YAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,kBAAkB,WAAW,YAAY;AAAA,EAC5E;AACJ;AAEO,MAAM,4BAA4B,uBAAuB;AAAA,EAC5D,sBAAsB,SAA4B;AAC9C,WAAO,KAAK,KAAK,SAAS,kBAAkB,mBAAmB,sBAAsB;AAAA,MACjF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,yBAAyB;AAC3B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK;AAAA,MAC3B,kBAAkB;AAAA,MAClB;AAAA,IACJ;AAGA,WAAO,EAAE,iBAAiB,SAAS,UAAU,sBAAsB,OAAO,OAAO,EAAwB;AAAA,EAC7G;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,kBAAkB,WAAW,YAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,kBAAkB,WAAW,YAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,kBAAkB,WAAW,YAAY;AAAA,EACzE;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAiB,2BAA2B;AACrD,SAAS,yBAAoC;AAE7C,SAAS,gCAAgC,8BAA8B;AACvE;AAAA,EAMI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEA,MAAM,sBAAsB;AAC5B,MAAM,gBAAgB,MAAM,WAAW,4BAA4B;AAEnE,MAAM,4BAA4B,uBAAuB;AAAA,EAC5D,UAAU;AAAA,EAEV,MAAM,wBAAwB;AAC1B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK,YAAY,kBAAkB,mBAAmB,8BAA8B;AAC9G,WAAO,EAAE,gBAAgB,SAAS,SAAS,qBAAqB,OAAO,OAAO,EAAuB;AAAA,EACzG;AAAA,EAEA,MAAM,uBAAuB,UAA8B;AACvD,WAAO,KAAK,KAAK,UAAU,kBAAkB,oBAAoB,uBAAuB;AAAA,MACpF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,kBAAkB,WAAW,YAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,kBAAkB,WAAW,YAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,kBAAkB,WAAW,YAAY;AAAA,EAC5E;AAAA,EAES,QAAQ;AACb,SAAK,UAAU;AACf,WAAO,MAAM,MAAM;AAAA,EACvB;AAAA,EAES,KAAQ,SAAY,MAAc,QAAsB,SAA+B;AAC5F,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,oBAAoB,0CAA0C;AAAA,IAC5E;AACA,WAAO,MAAM,KAAK,SAAS,MAAM,QAAQ,OAAO;AAAA,EACpD;AAAA,EAEA,MAAe,YACX,qBACA,0BACA,qBACF;AACE,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,oBAAoB,0CAA0C;AAAA,IAC5E;AACA,UAAM,SAAS,MAAM,MAAM,YAAY,qBAAqB,0BAA0B,mBAAmB;AACzG,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,oBAAoB,0CAA0C;AAAA,IAC5E;AACA,WAAO;AAAA,EACX;AACJ;AAEO,MAAM,4BAA4B,uBAAuB;AAAA,EAC5D,sBAAsB,SAA4B;AAC9C,WAAO,KAAK,KAAK,SAAS,kBAAkB,mBAAmB,sBAAsB;AAAA,MACjF,wBAAwB;AAAA,IAC5B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,yBAAyB;AAC3B,UAAM,EAAE,QAAQ,IAAI,MAAM,KAAK;AAAA,MAC3B,kBAAkB;AAAA,MAClB;AAAA,IACJ;AAGA,WAAO,EAAE,iBAAiB,SAAS,UAAU,sBAAsB,OAAO,OAAO,EAAwB;AAAA,EAC7G;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,kBAAkB,WAAW,YAAY;AAAA,EACzE;AAAA,EAEA,gBAAgB;AACZ,WAAO,KAAK,mBAAmB,kBAAkB,WAAW,YAAY;AAAA,EAC5E;AAAA,EAEA,cAAc,WAAsB;AAChC,WAAO,KAAK,KAAK,WAAW,kBAAkB,WAAW,YAAY;AAAA,EACzE;AACJ;",
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;AAEH,OAAO,EACH,KAAK,EAKL,eAAe,EACf,eAAe,EAMlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAS7F,qBAAa,oCAAqC,SAAQ,eAAe;CAAG;AAE5E,qBAAa,UAAW,YAAW,eAAe;;IAwB1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IA1BrC,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;WAK1B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,KAAK,EACxB,eAAe,CAAC,EAAE,eAAe;gBASzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,KAAK,EACR,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YAwC/B,oBAAoB;IAyE5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO;IAU9D,KAAK;CAGd"}
1
+ {"version":3,"file":"PaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAKL,eAAe,EACf,eAAe,EAMlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAuB,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAS7F,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;WAO1B,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKrG,MAAM,CAAC,qBAAqB,CACxB,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,KAAK,EACxB,eAAe,CAAC,EAAE,eAAe;gBASzB,QAAQ,EAAE,cAAc,EACf,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,KAAK,EACR,eAAe,CAAC,EAAE,eAAe,YAAA;IAGhD,aAAa,CAAC,QAAQ,EAAE,eAAe;YAgD/B,oBAAoB;IA2E5B,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,UAAO;IAU9D,KAAK;CAId"}
@@ -33,7 +33,9 @@ class PaseServer {
33
33
  id = SECURE_CHANNEL_PROTOCOL_ID;
34
34
  requiresSecureSession = false;
35
35
  #pairingTimer;
36
+ #pairingMessenger;
36
37
  #pairingErrors = 0;
38
+ #closed = false;
37
39
  static async fromPin(sessions, setupPinCode, pbkdfParameters) {
38
40
  const { w0, L } = await Spake2p.computeW0L(sessions.crypto, pbkdfParameters, setupPinCode);
39
41
  return new PaseServer(sessions, w0, L, pbkdfParameters);
@@ -45,6 +47,10 @@ class PaseServer {
45
47
  return new PaseServer(sessions, w0, L, pbkdfParameters);
46
48
  }
47
49
  async onNewExchange(exchange) {
50
+ if (this.#closed) {
51
+ logger.warn("Pase server: Received new exchange but server is closed, ignoring exchange.");
52
+ return;
53
+ }
48
54
  const messenger = new PaseServerMessenger(exchange);
49
55
  try {
50
56
  const paseSession = this.sessions.getPaseSession();
@@ -54,8 +60,11 @@ class PaseServer {
54
60
  logger.info(
55
61
  "Pase server: Pairing already in progress (PASE establishment Timer running), ignoring new exchange."
56
62
  );
63
+ } else if (this.#pairingMessenger !== void 0) {
64
+ logger.info("Already handling a pairing request, ignoring new exchange.");
57
65
  } else {
58
- await this.handlePairingRequest(this.sessions.crypto, messenger);
66
+ this.#pairingMessenger = messenger;
67
+ await this.handlePairingRequest(this.sessions.crypto);
59
68
  }
60
69
  } catch (error) {
61
70
  this.#pairingErrors++;
@@ -71,10 +80,12 @@ class PaseServer {
71
80
  );
72
81
  }
73
82
  } finally {
83
+ this.#pairingMessenger = void 0;
74
84
  await exchange.session.destroy();
75
85
  }
76
86
  }
77
- async handlePairingRequest(crypto, messenger) {
87
+ async handlePairingRequest(crypto) {
88
+ const messenger = this.#pairingMessenger;
78
89
  logger.info("Received pairing request \xAB", Diagnostic.via(messenger.channelName));
79
90
  this.#pairingTimer = Time.getTimer(
80
91
  "PASE pairing timeout",
@@ -143,6 +154,8 @@ class PaseServer {
143
154
  await messenger.close();
144
155
  }
145
156
  async close() {
157
+ this.#closed = true;
158
+ await this.#pairingMessenger?.close();
146
159
  }
147
160
  }
148
161
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/session/pase/PaseServer.ts"],
4
- "mappings": "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",
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/protocol",
3
- "version": "0.16.0-alpha.0-20251021-cca02fb0e",
3
+ "version": "0.16.0-alpha.0-20251023-bb23617e5",
4
4
  "description": "Low-level APIs for Matter interaction",
5
5
  "keywords": [
6
6
  "iot",
@@ -40,13 +40,13 @@
40
40
  "#*": "./src/*"
41
41
  },
42
42
  "dependencies": {
43
- "@matter/general": "0.16.0-alpha.0-20251021-cca02fb0e",
44
- "@matter/model": "0.16.0-alpha.0-20251021-cca02fb0e",
45
- "@matter/types": "0.16.0-alpha.0-20251021-cca02fb0e"
43
+ "@matter/general": "0.16.0-alpha.0-20251023-bb23617e5",
44
+ "@matter/model": "0.16.0-alpha.0-20251023-bb23617e5",
45
+ "@matter/types": "0.16.0-alpha.0-20251023-bb23617e5"
46
46
  },
47
47
  "devDependencies": {
48
- "@matter/tools": "0.16.0-alpha.0-20251021-cca02fb0e",
49
- "@matter/testing": "0.16.0-alpha.0-20251021-cca02fb0e"
48
+ "@matter/tools": "0.16.0-alpha.0-20251023-bb23617e5",
49
+ "@matter/testing": "0.16.0-alpha.0-20251023-bb23617e5"
50
50
  },
51
51
  "files": [
52
52
  "dist/**/*",
@@ -41,6 +41,7 @@ export abstract class MdnsAdvertisement<T extends ServiceDescription = ServiceDe
41
41
 
42
42
  #isPrivacyMasked: boolean;
43
43
  #stopAt?: Timestamp;
44
+ #broadcastPromise?: Promise<void>;
44
45
 
45
46
  constructor(advertiser: MdnsAdvertiser, qname: string, description: T) {
46
47
  description = {
@@ -80,6 +81,18 @@ export abstract class MdnsAdvertisement<T extends ServiceDescription = ServiceDe
80
81
  * Broadcast a single announcement immediately.
81
82
  */
82
83
  async broadcast() {
84
+ if (this.#broadcastPromise !== undefined) {
85
+ return this.#broadcastPromise;
86
+ }
87
+
88
+ this.#broadcastPromise = this.#broadcast().then(() => {
89
+ this.#broadcastPromise = undefined;
90
+ });
91
+
92
+ return this.#broadcastPromise;
93
+ }
94
+
95
+ async #broadcast() {
83
96
  if (!this.#isPrivacyMasked && this.isPrivacyMasked) {
84
97
  this.#isPrivacyMasked = true;
85
98
  await this.advertiser.server.setRecordsGenerator(this.service, this.#recordsGenerator);
@@ -92,6 +105,9 @@ export abstract class MdnsAdvertisement<T extends ServiceDescription = ServiceDe
92
105
  * Broadcast expiration announcement immediately.
93
106
  */
94
107
  async expire() {
108
+ if (this.#broadcastPromise !== undefined) {
109
+ await this.#broadcastPromise;
110
+ }
95
111
  logger.info("Unpublishing", this.dict({ time: Duration.format(this.duration) }));
96
112
  await this.advertiser.server.expireAnnouncements(this.service);
97
113
  }
@@ -235,7 +235,7 @@ export class DeviceCommissioner {
235
235
 
236
236
  this.#cancelTimeout();
237
237
 
238
- this.#context.secureChannelProtocol.removePaseCommissioner();
238
+ await this.#context.secureChannelProtocol.removePaseCommissioner();
239
239
 
240
240
  this.#windowStatus = AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen;
241
241
 
@@ -121,7 +121,8 @@ export class SecureChannelProtocol extends StatusReportOnlySecureChannelProtocol
121
121
  this.#paseCommissioner = paseServer;
122
122
  }
123
123
 
124
- removePaseCommissioner() {
124
+ async removePaseCommissioner() {
125
+ await this.#paseCommissioner?.close();
125
126
  this.#paseCommissioner = undefined;
126
127
  }
127
128
 
@@ -4,8 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Bytes } from "#general";
8
- import { SecureMessageType } from "#types";
7
+ import { Bytes, Duration, UnexpectedDataError } from "#general";
8
+ import { SecureMessageType, TlvSchema } from "#types";
9
+ import { ExchangeSendOptions } from "../../protocol/MessageExchange.js";
9
10
  import { DEFAULT_NORMAL_PROCESSING_TIME, SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
10
11
  import {
11
12
  PasePake1,
@@ -24,6 +25,8 @@ export const DEFAULT_PASSCODE_ID = 0;
24
25
  export const SPAKE_CONTEXT = Bytes.fromString("CHIP PAKE V1 Commissioning");
25
26
 
26
27
  export class PaseServerMessenger extends SecureChannelMessenger {
28
+ #closed = false;
29
+
27
30
  async readPbkdfParamRequest() {
28
31
  const { payload } = await this.nextMessage(SecureMessageType.PbkdfParamRequest, DEFAULT_NORMAL_PROCESSING_TIME);
29
32
  return { requestPayload: payload, request: TlvPbkdfParamRequest.decode(payload) as PbkdfParamRequest };
@@ -46,6 +49,33 @@ export class PaseServerMessenger extends SecureChannelMessenger {
46
49
  readPasePake3() {
47
50
  return this.nextMessageDecoded(SecureMessageType.PasePake3, TlvPasePake3);
48
51
  }
52
+
53
+ override close() {
54
+ this.#closed = true;
55
+ return super.close();
56
+ }
57
+
58
+ override send<T>(message: T, type: number, schema: TlvSchema<T>, options?: ExchangeSendOptions) {
59
+ if (this.#closed) {
60
+ throw new UnexpectedDataError("Cannot send message, messenger is closed");
61
+ }
62
+ return super.send(message, type, schema, options);
63
+ }
64
+
65
+ override async nextMessage(
66
+ expectedMessageType: number,
67
+ expectedProcessingTimeMs?: Duration,
68
+ expectedMessageInfo?: string,
69
+ ) {
70
+ if (this.#closed) {
71
+ throw new UnexpectedDataError("Cannot read message, messenger is closed");
72
+ }
73
+ const result = await super.nextMessage(expectedMessageType, expectedProcessingTimeMs, expectedMessageInfo);
74
+ if (this.#closed) {
75
+ throw new UnexpectedDataError("Cannot read message, messenger is closed");
76
+ }
77
+ return result;
78
+ }
49
79
  }
50
80
 
51
81
  export class PaseClientMessenger extends SecureChannelMessenger {
@@ -38,8 +38,10 @@ export class PaseServer implements ProtocolHandler {
38
38
  readonly id = SECURE_CHANNEL_PROTOCOL_ID;
39
39
  readonly requiresSecureSession = false;
40
40
 
41
- #pairingTimer: Timer | undefined;
41
+ #pairingTimer?: Timer;
42
+ #pairingMessenger?: PaseServerMessenger;
42
43
  #pairingErrors = 0;
44
+ #closed = false;
43
45
 
44
46
  static async fromPin(sessions: SessionManager, setupPinCode: number, pbkdfParameters: PbkdfParameters) {
45
47
  const { w0, L } = await Spake2p.computeW0L(sessions.crypto, pbkdfParameters, setupPinCode);
@@ -65,6 +67,10 @@ export class PaseServer implements ProtocolHandler {
65
67
  ) {}
66
68
 
67
69
  async onNewExchange(exchange: MessageExchange) {
70
+ if (this.#closed) {
71
+ logger.warn("Pase server: Received new exchange but server is closed, ignoring exchange.");
72
+ return;
73
+ }
68
74
  const messenger = new PaseServerMessenger(exchange);
69
75
  try {
70
76
  // When a Commissioner is either in the process of establishing a PASE session with the Commissionee or has
@@ -78,9 +84,12 @@ export class PaseServer implements ProtocolHandler {
78
84
  logger.info(
79
85
  "Pase server: Pairing already in progress (PASE establishment Timer running), ignoring new exchange.",
80
86
  );
87
+ } else if (this.#pairingMessenger !== undefined) {
88
+ logger.info("Already handling a pairing request, ignoring new exchange.");
81
89
  } else {
90
+ this.#pairingMessenger = messenger;
82
91
  // Ok new pairing try, handle it
83
- await this.handlePairingRequest(this.sessions.crypto, messenger);
92
+ await this.handlePairingRequest(this.sessions.crypto);
84
93
  }
85
94
  } catch (error) {
86
95
  this.#pairingErrors++;
@@ -99,12 +108,15 @@ export class PaseServer implements ProtocolHandler {
99
108
  );
100
109
  }
101
110
  } finally {
111
+ this.#pairingMessenger = undefined;
102
112
  // Destroy the unsecure session used to establish the Pase session
103
113
  await exchange.session.destroy();
104
114
  }
105
115
  }
106
116
 
107
- private async handlePairingRequest(crypto: Crypto, messenger: PaseServerMessenger) {
117
+ private async handlePairingRequest(crypto: Crypto) {
118
+ const messenger = this.#pairingMessenger!;
119
+
108
120
  logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
109
121
 
110
122
  this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
@@ -188,6 +200,7 @@ export class PaseServer implements ProtocolHandler {
188
200
  }
189
201
 
190
202
  async close() {
191
- // Nothing to do
203
+ this.#closed = true;
204
+ await this.#pairingMessenger?.close();
192
205
  }
193
206
  }