@matter/general 0.11.5 → 0.11.6

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.
@@ -263,7 +263,7 @@ class DerCodec {
263
263
  if ((tag & CONSTRUCTED) === 0) return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes };
264
264
  const elementsReader = new import_DataReader.DataReader(bytes, import_Bytes.Endian.Big);
265
265
  const elements = [];
266
- while (elementsReader.getRemainingBytesCount() > 0) {
266
+ while (elementsReader.remainingBytesCount > 0) {
267
267
  elements.push(this.decodeRec(elementsReader));
268
268
  }
269
269
  return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes, ["_elements" /* Elements */]: elements };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/DerCodec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DerKey", "DerType", "DerClass"]
6
6
  }
@@ -3,6 +3,8 @@
3
3
  * Copyright 2022-2024 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Endian } from "../util/Bytes.js";
7
+ import { DataReader } from "../util/DataReader.js";
6
8
  /**
7
9
  * The maximum MDNS message size to usually fit into one UDP network MTU packet. Data are split into multiple messages
8
10
  * when needed.
@@ -66,21 +68,21 @@ export declare enum DnsRecordClass {
66
68
  }
67
69
  export declare class DnsCodec {
68
70
  static decode(message: Uint8Array): DnsMessage | undefined;
69
- private static decodeQuery;
70
- private static decodeRecord;
71
- private static decodeQName;
71
+ static decodeQuery(reader: DataReader<Endian.Big>, message: Uint8Array): DnsQuery;
72
+ static decodeRecord(reader: DataReader<Endian.Big>, message: Uint8Array): DnsRecord<any>;
73
+ static decodeQName(reader: DataReader<Endian.Big>, message: Uint8Array, visited?: Set<number>): string;
72
74
  private static decodeRecordValue;
73
- private static decodeSrvRecord;
74
- private static decodeTxtRecord;
75
- private static decodeAaaaRecord;
76
- private static decodeARecord;
75
+ static decodeSrvRecord(valueBytes: Uint8Array, message: Uint8Array): SrvRecordValue;
76
+ static decodeTxtRecord(valueBytes: Uint8Array): string[];
77
+ static decodeAaaaRecord(valueBytes: Uint8Array): string;
78
+ static decodeARecord(valueBytes: Uint8Array): string;
77
79
  static encode({ messageType, transactionId, queries, answers, authorities, additionalRecords, }: Partial<DnsMessagePartiallyPreEncoded>): Uint8Array;
78
80
  static encodeRecord(record: DnsRecord<any>): Uint8Array;
79
81
  private static encodeRecordValue;
80
- private static encodeARecord;
81
- private static encodeAaaaRecord;
82
- private static encodeTxtRecord;
83
- private static encodeSrvRecord;
84
- private static encodeQName;
82
+ static encodeARecord(ip: string): Uint8Array;
83
+ static encodeAaaaRecord(ip: string): Uint8Array;
84
+ static encodeTxtRecord(entries: string[]): Uint8Array;
85
+ static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue): Uint8Array;
86
+ static encodeQName(qname: string): Uint8Array;
85
87
  }
86
88
  //# sourceMappingURL=DnsCodec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DnsCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DnsCodec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DnsCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DnsCodec.ts"],"names":[],"mappings":"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"}
@@ -154,17 +154,29 @@ class DnsCodec {
154
154
  const value = this.decodeRecordValue(valueBytes, recordType, message);
155
155
  return { name, recordType, recordClass, ttl, value, flushCache };
156
156
  }
157
- static decodeQName(reader, message) {
157
+ static decodeQName(reader, message, visited = /* @__PURE__ */ new Set()) {
158
+ if (visited.has(reader.offset)) {
159
+ throw new import_MatterError.UnexpectedDataError(`QNAME pointer loop detected. Index ${reader.offset} visited twice.`);
160
+ }
161
+ visited.add(reader.offset);
158
162
  const messageReader = new import_DataReader.DataReader(message, import_Bytes.Endian.Big);
159
163
  const qNameItems = new Array();
160
164
  while (true) {
161
165
  const itemLength = reader.readUInt8();
162
166
  if (itemLength === 0) break;
163
167
  if ((itemLength & 192) !== 0) {
168
+ if (reader.remainingBytesCount < 1) {
169
+ throw new import_MatterError.UnexpectedDataError("QNAME pointer exceeds remaining bytes.");
170
+ }
164
171
  const indexInMessage = reader.readUInt8() | (itemLength & 63) << 8;
165
- messageReader.setOffset(indexInMessage);
166
- qNameItems.push(this.decodeQName(messageReader, message));
172
+ if (indexInMessage >= message.length) {
173
+ throw new import_MatterError.UnexpectedDataError("Invalid compressed QNAME pointer pointing to out of bounds index.");
174
+ }
175
+ messageReader.offset = indexInMessage;
176
+ qNameItems.push(this.decodeQName(messageReader, message, visited));
167
177
  break;
178
+ } else if (reader.remainingBytesCount < itemLength + 1) {
179
+ throw new import_MatterError.UnexpectedDataError(`QNAME item length ${itemLength} exceeds remaining bytes.`);
168
180
  }
169
181
  qNameItems.push(reader.readUtf8String(itemLength));
170
182
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/DnsCodec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DnsMessageType", "DnsRecordType", "DnsRecordClass"]
6
6
  }
@@ -6,10 +6,7 @@
6
6
  import { Endian } from "./Bytes.js";
7
7
  /** Reader that auto-increments its offset after each read. */
8
8
  export declare class DataReader<E extends Endian> {
9
- private readonly buffer;
10
- private readonly littleEndian;
11
- private readonly dataView;
12
- private offset;
9
+ #private;
13
10
  constructor(buffer: Uint8Array, endian: E);
14
11
  readUInt8(): number;
15
12
  readUInt16(): number;
@@ -23,10 +20,11 @@ export declare class DataReader<E extends Endian> {
23
20
  readDouble(): number;
24
21
  readUtf8String(length: number): string;
25
22
  readByteArray(length: number): Uint8Array;
26
- getRemainingBytesCount(): number;
27
- getRemainingBytes(): Uint8Array;
28
- getLength(): number;
29
- setOffset(offset: number): void;
23
+ get remainingBytesCount(): number;
24
+ get remainingBytes(): Uint8Array;
25
+ get length(): number;
26
+ set offset(offset: number);
27
+ get offset(): number;
30
28
  private getOffsetAndAdvance;
31
29
  }
32
30
  //# sourceMappingURL=DataReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;IAMhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,MAAM,CAAK;gBAGE,MAAM,EAAE,UAAU,EACnC,MAAM,EAAE,CAAC;IAMb,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,sBAAsB;IAItB,iBAAiB;IAIjB,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAOxB,OAAO,CAAC,mBAAmB;CAQ9B"}
1
+ {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;;gBAMxB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAMzC,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,IAAI,mBAAmB,WAEtB;IAED,IAAI,cAAc,eAEjB;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,IAPS,MAAM,CASxB;IAED,OAAO,CAAC,mBAAmB;CAQ9B"}
@@ -28,72 +28,76 @@ var import_Bytes = require("./Bytes.js");
28
28
  * SPDX-License-Identifier: Apache-2.0
29
29
  */
30
30
  class DataReader {
31
+ #littleEndian;
32
+ #dataView;
33
+ #buffer;
34
+ #offset = 0;
31
35
  constructor(buffer, endian) {
32
- this.buffer = buffer;
33
- this.dataView = import_Bytes.Bytes.dataViewOf(buffer);
34
- this.littleEndian = endian === import_Bytes.Endian.Little;
36
+ this.#buffer = buffer;
37
+ this.#dataView = import_Bytes.Bytes.dataViewOf(this.#buffer);
38
+ this.#littleEndian = endian === import_Bytes.Endian.Little;
35
39
  }
36
- littleEndian;
37
- dataView;
38
- offset = 0;
39
40
  readUInt8() {
40
- return this.dataView.getUint8(this.getOffsetAndAdvance(1));
41
+ return this.#dataView.getUint8(this.getOffsetAndAdvance(1));
41
42
  }
42
43
  readUInt16() {
43
- return this.dataView.getUint16(this.getOffsetAndAdvance(2), this.littleEndian);
44
+ return this.#dataView.getUint16(this.getOffsetAndAdvance(2), this.#littleEndian);
44
45
  }
45
46
  readUInt32() {
46
- return this.dataView.getUint32(this.getOffsetAndAdvance(4), this.littleEndian);
47
+ return this.#dataView.getUint32(this.getOffsetAndAdvance(4), this.#littleEndian);
47
48
  }
48
49
  readUInt64() {
49
- return this.dataView.getBigUint64(this.getOffsetAndAdvance(8), this.littleEndian);
50
+ return this.#dataView.getBigUint64(this.getOffsetAndAdvance(8), this.#littleEndian);
50
51
  }
51
52
  readInt8() {
52
- return this.dataView.getInt8(this.getOffsetAndAdvance(1));
53
+ return this.#dataView.getInt8(this.getOffsetAndAdvance(1));
53
54
  }
54
55
  readInt16() {
55
- return this.dataView.getInt16(this.getOffsetAndAdvance(2), this.littleEndian);
56
+ return this.#dataView.getInt16(this.getOffsetAndAdvance(2), this.#littleEndian);
56
57
  }
57
58
  readInt32() {
58
- return this.dataView.getInt32(this.getOffsetAndAdvance(4), this.littleEndian);
59
+ return this.#dataView.getInt32(this.getOffsetAndAdvance(4), this.#littleEndian);
59
60
  }
60
61
  readInt64() {
61
- return this.dataView.getBigInt64(this.getOffsetAndAdvance(8), this.littleEndian);
62
+ return this.#dataView.getBigInt64(this.getOffsetAndAdvance(8), this.#littleEndian);
62
63
  }
63
64
  readFloat() {
64
- return this.dataView.getFloat32(this.getOffsetAndAdvance(4), this.littleEndian);
65
+ return this.#dataView.getFloat32(this.getOffsetAndAdvance(4), this.#littleEndian);
65
66
  }
66
67
  readDouble() {
67
- return this.dataView.getFloat64(this.getOffsetAndAdvance(8), this.littleEndian);
68
+ return this.#dataView.getFloat64(this.getOffsetAndAdvance(8), this.#littleEndian);
68
69
  }
69
70
  readUtf8String(length) {
70
71
  const offset = this.getOffsetAndAdvance(length);
71
- return new TextDecoder().decode(this.buffer.subarray(offset, offset + length));
72
+ return new TextDecoder().decode(this.#buffer.subarray(offset, offset + length));
72
73
  }
73
74
  readByteArray(length) {
74
75
  const offset = this.getOffsetAndAdvance(length);
75
- return this.buffer.subarray(offset, offset + length);
76
+ return this.#buffer.subarray(offset, offset + length);
76
77
  }
77
- getRemainingBytesCount() {
78
- return this.dataView.byteLength - this.offset;
78
+ get remainingBytesCount() {
79
+ return this.#dataView.byteLength - this.#offset;
79
80
  }
80
- getRemainingBytes() {
81
- return this.buffer.subarray(this.offset);
81
+ get remainingBytes() {
82
+ return this.#buffer.subarray(this.#offset);
82
83
  }
83
- getLength() {
84
- return this.dataView.byteLength;
84
+ get length() {
85
+ return this.#dataView.byteLength;
85
86
  }
86
- setOffset(offset) {
87
- if (offset > this.dataView.byteLength) {
87
+ set offset(offset) {
88
+ if (offset > this.#dataView.byteLength) {
88
89
  throw new Error(`Offset ${offset} is out of bounds.`);
89
90
  }
90
- this.offset = offset;
91
+ this.#offset = offset;
92
+ }
93
+ get offset() {
94
+ return this.#offset;
91
95
  }
92
96
  getOffsetAndAdvance(size) {
93
- const result = this.offset;
94
- this.offset += size;
95
- if (this.offset > this.dataView.byteLength) {
96
- this.offset = this.dataView.byteLength;
97
+ const result = this.#offset;
98
+ this.#offset += size;
99
+ if (this.#offset > this.#dataView.byteLength) {
100
+ this.#offset = this.#dataView.byteLength;
97
101
  }
98
102
  return result;
99
103
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataReader.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAA8B;AAN9B;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,WAA6B;AAAA,EAKtC,YACqB,QACjB,QACF;AAFmB;AAGjB,SAAK,WAAW,mBAAM,WAAW,MAAM;AACvC,SAAK,eAAe,WAAW,oBAAO;AAAA,EAC1C;AAAA,EAViB;AAAA,EACA;AAAA,EACT,SAAS;AAAA,EAUjB,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACjF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACjF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACpF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,SAAS,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC5D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAChF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAChF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACnF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAClF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAClF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,OAAO,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EACjF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,OAAO,SAAS,QAAQ,SAAS,MAAM;AAAA,EACvD;AAAA,EAEA,yBAAyB;AACrB,WAAO,KAAK,SAAS,aAAa,KAAK;AAAA,EAC3C;AAAA,EAEA,oBAAoB;AAChB,WAAO,KAAK,OAAO,SAAS,KAAK,MAAM;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,UAAU,QAAgB;AACtB,QAAI,SAAS,KAAK,SAAS,YAAY;AACnC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,SAAS;AAAA,EAClB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,UAAU;AACf,QAAI,KAAK,SAAS,KAAK,SAAS,YAAY;AACxC,WAAK,SAAS,KAAK,SAAS;AAAA,IAChC;AACA,WAAO;AAAA,EACX;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAA8B;AAN9B;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,WAA6B;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACT,UAAU;AAAA,EAEV,YAAY,QAAoB,QAAW;AACvC,SAAK,UAAU;AACf,SAAK,YAAY,mBAAM,WAAW,KAAK,OAAO;AAC9C,SAAK,gBAAgB,WAAW,oBAAO;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACtF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,UAAU,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACrF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EAClF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM;AAAA,EACxD;AAAA,EAEA,IAAI,sBAAsB;AACtB,WAAO,KAAK,UAAU,aAAa,KAAK;AAAA,EAC5C;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,UAAU;AAAA,EAC1B;AAAA,EAEA,IAAI,OAAO,QAAgB;AACvB,QAAI,SAAS,KAAK,UAAU,YAAY;AACpC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,WAAW;AAChB,QAAI,KAAK,UAAU,KAAK,UAAU,YAAY;AAC1C,WAAK,UAAU,KAAK,UAAU;AAAA,IAClC;AACA,WAAO;AAAA,EACX;AACJ;",
5
5
  "names": []
6
6
  }
@@ -230,7 +230,7 @@ class DerCodec {
230
230
  if ((tag & CONSTRUCTED) === 0) return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes };
231
231
  const elementsReader = new DataReader(bytes, Endian.Big);
232
232
  const elements = [];
233
- while (elementsReader.getRemainingBytesCount() > 0) {
233
+ while (elementsReader.remainingBytesCount > 0) {
234
234
  elements.push(this.decodeRec(elementsReader));
235
235
  }
236
236
  return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes, ["_elements" /* Elements */]: elements };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/DerCodec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DerKey", "DerType", "DerClass"]
6
6
  }
@@ -3,6 +3,8 @@
3
3
  * Copyright 2022-2024 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Endian } from "../util/Bytes.js";
7
+ import { DataReader } from "../util/DataReader.js";
6
8
  /**
7
9
  * The maximum MDNS message size to usually fit into one UDP network MTU packet. Data are split into multiple messages
8
10
  * when needed.
@@ -66,21 +68,21 @@ export declare enum DnsRecordClass {
66
68
  }
67
69
  export declare class DnsCodec {
68
70
  static decode(message: Uint8Array): DnsMessage | undefined;
69
- private static decodeQuery;
70
- private static decodeRecord;
71
- private static decodeQName;
71
+ static decodeQuery(reader: DataReader<Endian.Big>, message: Uint8Array): DnsQuery;
72
+ static decodeRecord(reader: DataReader<Endian.Big>, message: Uint8Array): DnsRecord<any>;
73
+ static decodeQName(reader: DataReader<Endian.Big>, message: Uint8Array, visited?: Set<number>): string;
72
74
  private static decodeRecordValue;
73
- private static decodeSrvRecord;
74
- private static decodeTxtRecord;
75
- private static decodeAaaaRecord;
76
- private static decodeARecord;
75
+ static decodeSrvRecord(valueBytes: Uint8Array, message: Uint8Array): SrvRecordValue;
76
+ static decodeTxtRecord(valueBytes: Uint8Array): string[];
77
+ static decodeAaaaRecord(valueBytes: Uint8Array): string;
78
+ static decodeARecord(valueBytes: Uint8Array): string;
77
79
  static encode({ messageType, transactionId, queries, answers, authorities, additionalRecords, }: Partial<DnsMessagePartiallyPreEncoded>): Uint8Array;
78
80
  static encodeRecord(record: DnsRecord<any>): Uint8Array;
79
81
  private static encodeRecordValue;
80
- private static encodeARecord;
81
- private static encodeAaaaRecord;
82
- private static encodeTxtRecord;
83
- private static encodeSrvRecord;
84
- private static encodeQName;
82
+ static encodeARecord(ip: string): Uint8Array;
83
+ static encodeAaaaRecord(ip: string): Uint8Array;
84
+ static encodeTxtRecord(entries: string[]): Uint8Array;
85
+ static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue): Uint8Array;
86
+ static encodeQName(qname: string): Uint8Array;
85
87
  }
86
88
  //# sourceMappingURL=DnsCodec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DnsCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DnsCodec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DnsCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DnsCodec.ts"],"names":[],"mappings":"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"}
@@ -122,17 +122,29 @@ class DnsCodec {
122
122
  const value = this.decodeRecordValue(valueBytes, recordType, message);
123
123
  return { name, recordType, recordClass, ttl, value, flushCache };
124
124
  }
125
- static decodeQName(reader, message) {
125
+ static decodeQName(reader, message, visited = /* @__PURE__ */ new Set()) {
126
+ if (visited.has(reader.offset)) {
127
+ throw new UnexpectedDataError(`QNAME pointer loop detected. Index ${reader.offset} visited twice.`);
128
+ }
129
+ visited.add(reader.offset);
126
130
  const messageReader = new DataReader(message, Endian.Big);
127
131
  const qNameItems = new Array();
128
132
  while (true) {
129
133
  const itemLength = reader.readUInt8();
130
134
  if (itemLength === 0) break;
131
135
  if ((itemLength & 192) !== 0) {
136
+ if (reader.remainingBytesCount < 1) {
137
+ throw new UnexpectedDataError("QNAME pointer exceeds remaining bytes.");
138
+ }
132
139
  const indexInMessage = reader.readUInt8() | (itemLength & 63) << 8;
133
- messageReader.setOffset(indexInMessage);
134
- qNameItems.push(this.decodeQName(messageReader, message));
140
+ if (indexInMessage >= message.length) {
141
+ throw new UnexpectedDataError("Invalid compressed QNAME pointer pointing to out of bounds index.");
142
+ }
143
+ messageReader.offset = indexInMessage;
144
+ qNameItems.push(this.decodeQName(messageReader, message, visited));
135
145
  break;
146
+ } else if (reader.remainingBytesCount < itemLength + 1) {
147
+ throw new UnexpectedDataError(`QNAME item length ${itemLength} exceeds remaining bytes.`);
136
148
  }
137
149
  qNameItems.push(reader.readUtf8String(itemLength));
138
150
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/DnsCodec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DnsMessageType", "DnsRecordType", "DnsRecordClass"]
6
6
  }
@@ -6,10 +6,7 @@
6
6
  import { Endian } from "./Bytes.js";
7
7
  /** Reader that auto-increments its offset after each read. */
8
8
  export declare class DataReader<E extends Endian> {
9
- private readonly buffer;
10
- private readonly littleEndian;
11
- private readonly dataView;
12
- private offset;
9
+ #private;
13
10
  constructor(buffer: Uint8Array, endian: E);
14
11
  readUInt8(): number;
15
12
  readUInt16(): number;
@@ -23,10 +20,11 @@ export declare class DataReader<E extends Endian> {
23
20
  readDouble(): number;
24
21
  readUtf8String(length: number): string;
25
22
  readByteArray(length: number): Uint8Array;
26
- getRemainingBytesCount(): number;
27
- getRemainingBytes(): Uint8Array;
28
- getLength(): number;
29
- setOffset(offset: number): void;
23
+ get remainingBytesCount(): number;
24
+ get remainingBytes(): Uint8Array;
25
+ get length(): number;
26
+ set offset(offset: number);
27
+ get offset(): number;
30
28
  private getOffsetAndAdvance;
31
29
  }
32
30
  //# sourceMappingURL=DataReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;IAMhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,MAAM,CAAK;gBAGE,MAAM,EAAE,UAAU,EACnC,MAAM,EAAE,CAAC;IAMb,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,sBAAsB;IAItB,iBAAiB;IAIjB,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAOxB,OAAO,CAAC,mBAAmB;CAQ9B"}
1
+ {"version":3,"file":"DataReader.d.ts","sourceRoot":"","sources":["../../../src/util/DataReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAC;AAE3C,8DAA8D;AAC9D,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM;;gBAMxB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAMzC,SAAS;IAIT,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,QAAQ;IAIR,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,SAAS;IAIT,UAAU;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM;IAK5B,IAAI,mBAAmB,WAEtB;IAED,IAAI,cAAc,eAEjB;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,IAPS,MAAM,CASxB;IAED,OAAO,CAAC,mBAAmB;CAQ9B"}
@@ -5,72 +5,76 @@
5
5
  */
6
6
  import { Bytes, Endian } from "./Bytes.js";
7
7
  class DataReader {
8
+ #littleEndian;
9
+ #dataView;
10
+ #buffer;
11
+ #offset = 0;
8
12
  constructor(buffer, endian) {
9
- this.buffer = buffer;
10
- this.dataView = Bytes.dataViewOf(buffer);
11
- this.littleEndian = endian === Endian.Little;
13
+ this.#buffer = buffer;
14
+ this.#dataView = Bytes.dataViewOf(this.#buffer);
15
+ this.#littleEndian = endian === Endian.Little;
12
16
  }
13
- littleEndian;
14
- dataView;
15
- offset = 0;
16
17
  readUInt8() {
17
- return this.dataView.getUint8(this.getOffsetAndAdvance(1));
18
+ return this.#dataView.getUint8(this.getOffsetAndAdvance(1));
18
19
  }
19
20
  readUInt16() {
20
- return this.dataView.getUint16(this.getOffsetAndAdvance(2), this.littleEndian);
21
+ return this.#dataView.getUint16(this.getOffsetAndAdvance(2), this.#littleEndian);
21
22
  }
22
23
  readUInt32() {
23
- return this.dataView.getUint32(this.getOffsetAndAdvance(4), this.littleEndian);
24
+ return this.#dataView.getUint32(this.getOffsetAndAdvance(4), this.#littleEndian);
24
25
  }
25
26
  readUInt64() {
26
- return this.dataView.getBigUint64(this.getOffsetAndAdvance(8), this.littleEndian);
27
+ return this.#dataView.getBigUint64(this.getOffsetAndAdvance(8), this.#littleEndian);
27
28
  }
28
29
  readInt8() {
29
- return this.dataView.getInt8(this.getOffsetAndAdvance(1));
30
+ return this.#dataView.getInt8(this.getOffsetAndAdvance(1));
30
31
  }
31
32
  readInt16() {
32
- return this.dataView.getInt16(this.getOffsetAndAdvance(2), this.littleEndian);
33
+ return this.#dataView.getInt16(this.getOffsetAndAdvance(2), this.#littleEndian);
33
34
  }
34
35
  readInt32() {
35
- return this.dataView.getInt32(this.getOffsetAndAdvance(4), this.littleEndian);
36
+ return this.#dataView.getInt32(this.getOffsetAndAdvance(4), this.#littleEndian);
36
37
  }
37
38
  readInt64() {
38
- return this.dataView.getBigInt64(this.getOffsetAndAdvance(8), this.littleEndian);
39
+ return this.#dataView.getBigInt64(this.getOffsetAndAdvance(8), this.#littleEndian);
39
40
  }
40
41
  readFloat() {
41
- return this.dataView.getFloat32(this.getOffsetAndAdvance(4), this.littleEndian);
42
+ return this.#dataView.getFloat32(this.getOffsetAndAdvance(4), this.#littleEndian);
42
43
  }
43
44
  readDouble() {
44
- return this.dataView.getFloat64(this.getOffsetAndAdvance(8), this.littleEndian);
45
+ return this.#dataView.getFloat64(this.getOffsetAndAdvance(8), this.#littleEndian);
45
46
  }
46
47
  readUtf8String(length) {
47
48
  const offset = this.getOffsetAndAdvance(length);
48
- return new TextDecoder().decode(this.buffer.subarray(offset, offset + length));
49
+ return new TextDecoder().decode(this.#buffer.subarray(offset, offset + length));
49
50
  }
50
51
  readByteArray(length) {
51
52
  const offset = this.getOffsetAndAdvance(length);
52
- return this.buffer.subarray(offset, offset + length);
53
+ return this.#buffer.subarray(offset, offset + length);
53
54
  }
54
- getRemainingBytesCount() {
55
- return this.dataView.byteLength - this.offset;
55
+ get remainingBytesCount() {
56
+ return this.#dataView.byteLength - this.#offset;
56
57
  }
57
- getRemainingBytes() {
58
- return this.buffer.subarray(this.offset);
58
+ get remainingBytes() {
59
+ return this.#buffer.subarray(this.#offset);
59
60
  }
60
- getLength() {
61
- return this.dataView.byteLength;
61
+ get length() {
62
+ return this.#dataView.byteLength;
62
63
  }
63
- setOffset(offset) {
64
- if (offset > this.dataView.byteLength) {
64
+ set offset(offset) {
65
+ if (offset > this.#dataView.byteLength) {
65
66
  throw new Error(`Offset ${offset} is out of bounds.`);
66
67
  }
67
- this.offset = offset;
68
+ this.#offset = offset;
69
+ }
70
+ get offset() {
71
+ return this.#offset;
68
72
  }
69
73
  getOffsetAndAdvance(size) {
70
- const result = this.offset;
71
- this.offset += size;
72
- if (this.offset > this.dataView.byteLength) {
73
- this.offset = this.dataView.byteLength;
74
+ const result = this.#offset;
75
+ this.#offset += size;
76
+ if (this.#offset > this.#dataView.byteLength) {
77
+ this.#offset = this.#dataView.byteLength;
74
78
  }
75
79
  return result;
76
80
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataReader.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,cAAc;AAGvB,MAAM,WAA6B;AAAA,EAKtC,YACqB,QACjB,QACF;AAFmB;AAGjB,SAAK,WAAW,MAAM,WAAW,MAAM;AACvC,SAAK,eAAe,WAAW,OAAO;AAAA,EAC1C;AAAA,EAViB;AAAA,EACA;AAAA,EACT,SAAS;AAAA,EAUjB,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACjF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACjF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACpF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,SAAS,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC5D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAChF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAChF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EACnF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAClF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,SAAS,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY;AAAA,EAClF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,OAAO,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EACjF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,OAAO,SAAS,QAAQ,SAAS,MAAM;AAAA,EACvD;AAAA,EAEA,yBAAyB;AACrB,WAAO,KAAK,SAAS,aAAa,KAAK;AAAA,EAC3C;AAAA,EAEA,oBAAoB;AAChB,WAAO,KAAK,OAAO,SAAS,KAAK,MAAM;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,UAAU,QAAgB;AACtB,QAAI,SAAS,KAAK,SAAS,YAAY;AACnC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,SAAS;AAAA,EAClB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,UAAU;AACf,QAAI,KAAK,SAAS,KAAK,SAAS,YAAY;AACxC,WAAK,SAAS,KAAK,SAAS;AAAA,IAChC;AACA,WAAO;AAAA,EACX;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,cAAc;AAGvB,MAAM,WAA6B;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACT,UAAU;AAAA,EAEV,YAAY,QAAoB,QAAW;AACvC,SAAK,UAAU;AACf,SAAK,YAAY,MAAM,WAAW,KAAK,OAAO;AAC9C,SAAK,gBAAgB,WAAW,OAAO;AAAA,EAC3C;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,UAAU,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,aAAa,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACtF;AAAA,EAEA,WAAW;AACP,WAAO,KAAK,UAAU,QAAQ,KAAK,oBAAoB,CAAC,CAAC;AAAA,EAC7D;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,SAAS,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,YAAY,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACrF;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK,UAAU,WAAW,KAAK,oBAAoB,CAAC,GAAG,KAAK,aAAa;AAAA,EACpF;AAAA,EAEA,eAAe,QAAgB;AAC3B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,IAAI,YAAY,EAAE,OAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM,CAAC;AAAA,EAClF;AAAA,EAEA,cAAc,QAAgB;AAC1B,UAAM,SAAS,KAAK,oBAAoB,MAAM;AAC9C,WAAO,KAAK,QAAQ,SAAS,QAAQ,SAAS,MAAM;AAAA,EACxD;AAAA,EAEA,IAAI,sBAAsB;AACtB,WAAO,KAAK,UAAU,aAAa,KAAK;AAAA,EAC5C;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,UAAU;AAAA,EAC1B;AAAA,EAEA,IAAI,OAAO,QAAgB;AACvB,QAAI,SAAS,KAAK,UAAU,YAAY;AACpC,YAAM,IAAI,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACxD;AACA,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEQ,oBAAoB,MAAc;AACtC,UAAM,SAAS,KAAK;AACpB,SAAK,WAAW;AAChB,QAAI,KAAK,UAAU,KAAK,UAAU,YAAY;AAC1C,WAAK,UAAU,KAAK,UAAU;AAAA,IAClC;AACA,WAAO;AAAA,EACX;AACJ;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.11.5",
3
+ "version": "0.11.6",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -33,10 +33,10 @@
33
33
  "embed-examples": "embedme **/README.md"
34
34
  },
35
35
  "dependencies": {
36
- "@noble/curves": "^1.5.0"
36
+ "@noble/curves": "^1.7.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.11.5"
39
+ "@matter/testing": "0.11.6"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -277,7 +277,7 @@ export class DerCodec {
277
277
  if ((tag & CONSTRUCTED) === 0) return { [DerKey.TagId]: tag, [DerKey.Bytes]: bytes };
278
278
  const elementsReader = new DataReader(bytes, Endian.Big);
279
279
  const elements: DerNode[] = [];
280
- while (elementsReader.getRemainingBytesCount() > 0) {
280
+ while (elementsReader.remainingBytesCount > 0) {
281
281
  elements.push(this.decodeRec(elementsReader));
282
282
  }
283
283
  return { [DerKey.TagId]: tag, [DerKey.Bytes]: bytes, [DerKey.Elements]: elements };
@@ -153,7 +153,7 @@ export class DnsCodec {
153
153
  }
154
154
  }
155
155
 
156
- private static decodeQuery(reader: DataReader<Endian.Big>, message: Uint8Array): DnsQuery {
156
+ static decodeQuery(reader: DataReader<Endian.Big>, message: Uint8Array): DnsQuery {
157
157
  const name = this.decodeQName(reader, message);
158
158
  const recordType = reader.readUInt16();
159
159
  const classInt = reader.readUInt16();
@@ -162,7 +162,7 @@ export class DnsCodec {
162
162
  return { name, recordType, recordClass, uniCastResponse };
163
163
  }
164
164
 
165
- private static decodeRecord(reader: DataReader<Endian.Big>, message: Uint8Array): DnsRecord<any> {
165
+ static decodeRecord(reader: DataReader<Endian.Big>, message: Uint8Array): DnsRecord<any> {
166
166
  const name = this.decodeQName(reader, message);
167
167
  const recordType = reader.readUInt16();
168
168
  const classInt = reader.readUInt16();
@@ -175,18 +175,32 @@ export class DnsCodec {
175
175
  return { name, recordType, recordClass, ttl, value, flushCache };
176
176
  }
177
177
 
178
- private static decodeQName(reader: DataReader<Endian.Big>, message: Uint8Array) {
178
+ static decodeQName(reader: DataReader<Endian.Big>, message: Uint8Array, visited = new Set<number>()): string {
179
+ if (visited.has(reader.offset)) {
180
+ throw new UnexpectedDataError(`QNAME pointer loop detected. Index ${reader.offset} visited twice.`);
181
+ }
182
+ visited.add(reader.offset);
183
+
179
184
  const messageReader = new DataReader(message, Endian.Big);
180
185
  const qNameItems = new Array<string>();
181
186
  while (true) {
182
187
  const itemLength = reader.readUInt8();
183
188
  if (itemLength === 0) break;
184
189
  if ((itemLength & 0xc0) !== 0) {
190
+ if (reader.remainingBytesCount < 1) {
191
+ throw new UnexpectedDataError("QNAME pointer exceeds remaining bytes.");
192
+ }
185
193
  // Compressed Qname
186
194
  const indexInMessage = reader.readUInt8() | ((itemLength & 0x3f) << 8);
187
- messageReader.setOffset(indexInMessage);
188
- qNameItems.push(this.decodeQName(messageReader, message));
195
+ if (indexInMessage >= message.length) {
196
+ throw new UnexpectedDataError("Invalid compressed QNAME pointer pointing to out of bounds index.");
197
+ }
198
+ messageReader.offset = indexInMessage;
199
+ qNameItems.push(this.decodeQName(messageReader, message, visited));
189
200
  break;
201
+ } else if (reader.remainingBytesCount < itemLength + 1) {
202
+ // There needs to be a string end 0x00 at the end, so + 1
203
+ throw new UnexpectedDataError(`QNAME item length ${itemLength} exceeds remaining bytes.`);
190
204
  }
191
205
  qNameItems.push(reader.readUtf8String(itemLength));
192
206
  }
@@ -211,7 +225,7 @@ export class DnsCodec {
211
225
  }
212
226
  }
213
227
 
214
- private static decodeSrvRecord(valueBytes: Uint8Array, message: Uint8Array): SrvRecordValue {
228
+ static decodeSrvRecord(valueBytes: Uint8Array, message: Uint8Array): SrvRecordValue {
215
229
  const reader = new DataReader(valueBytes, Endian.Big);
216
230
  const priority = reader.readUInt16();
217
231
  const weight = reader.readUInt16();
@@ -220,7 +234,7 @@ export class DnsCodec {
220
234
  return { priority, weight, port, target };
221
235
  }
222
236
 
223
- private static decodeTxtRecord(valueBytes: Uint8Array): string[] {
237
+ static decodeTxtRecord(valueBytes: Uint8Array): string[] {
224
238
  const reader = new DataReader(valueBytes, Endian.Big);
225
239
  const result = new Array<string>();
226
240
  let bytesRead = 0;
@@ -232,7 +246,7 @@ export class DnsCodec {
232
246
  return result;
233
247
  }
234
248
 
235
- private static decodeAaaaRecord(valueBytes: Uint8Array): string {
249
+ static decodeAaaaRecord(valueBytes: Uint8Array): string {
236
250
  const reader = new DataReader(valueBytes, Endian.Big);
237
251
  const ipItems = new Array<string>();
238
252
  for (let i = 0; i < 8; i++) {
@@ -258,7 +272,7 @@ export class DnsCodec {
258
272
  return ipItems.join(":");
259
273
  }
260
274
 
261
- private static decodeARecord(valueBytes: Uint8Array): string {
275
+ static decodeARecord(valueBytes: Uint8Array): string {
262
276
  const reader = new DataReader(valueBytes, Endian.Big);
263
277
  const ipItems = new Array<string>();
264
278
  for (let i = 0; i < 4; i++) {
@@ -334,7 +348,7 @@ export class DnsCodec {
334
348
  }
335
349
  }
336
350
 
337
- private static encodeARecord(ip: string) {
351
+ static encodeARecord(ip: string) {
338
352
  if (!isIPv4(ip)) throw new UnexpectedDataError(`Invalid A Record value: ${ip}`);
339
353
  const writer = new DataWriter(Endian.Big);
340
354
  ip.split(".").forEach(part => {
@@ -343,7 +357,7 @@ export class DnsCodec {
343
357
  return writer.toByteArray();
344
358
  }
345
359
 
346
- private static encodeAaaaRecord(ip: string) {
360
+ static encodeAaaaRecord(ip: string) {
347
361
  if (!isIPv6(ip)) throw new UnexpectedDataError(`Invalid AAAA Record value: ${ip}`);
348
362
  const writer = new DataWriter(Endian.Big);
349
363
  const parts = ip.split(":");
@@ -359,7 +373,7 @@ export class DnsCodec {
359
373
  return writer.toByteArray();
360
374
  }
361
375
 
362
- private static encodeTxtRecord(entries: string[]) {
376
+ static encodeTxtRecord(entries: string[]) {
363
377
  const writer = new DataWriter(Endian.Big);
364
378
  entries.forEach(entry => {
365
379
  const entryData = Bytes.fromString(entry);
@@ -369,7 +383,7 @@ export class DnsCodec {
369
383
  return writer.toByteArray();
370
384
  }
371
385
 
372
- private static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue) {
386
+ static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue) {
373
387
  const writer = new DataWriter(Endian.Big);
374
388
  writer.writeUInt16(priority);
375
389
  writer.writeUInt16(weight);
@@ -378,9 +392,10 @@ export class DnsCodec {
378
392
  return writer.toByteArray();
379
393
  }
380
394
 
381
- private static encodeQName(qname: string) {
395
+ static encodeQName(qname: string) {
382
396
  const writer = new DataWriter(Endian.Big);
383
397
  if (qname.length > 0) {
398
+ // TODO: Implement compression
384
399
  qname.split(".").forEach(label => {
385
400
  const labelData = Bytes.fromString(label);
386
401
  writer.writeUInt8(labelData.length);
@@ -8,92 +8,95 @@ import { Bytes, Endian } from "./Bytes.js";
8
8
 
9
9
  /** Reader that auto-increments its offset after each read. */
10
10
  export class DataReader<E extends Endian> {
11
- private readonly littleEndian: boolean;
12
- private readonly dataView: DataView;
13
- private offset = 0;
11
+ readonly #littleEndian: boolean;
12
+ readonly #dataView: DataView;
13
+ readonly #buffer: Uint8Array;
14
+ #offset = 0;
14
15
 
15
- constructor(
16
- private readonly buffer: Uint8Array,
17
- endian: E,
18
- ) {
19
- this.dataView = Bytes.dataViewOf(buffer);
20
- this.littleEndian = endian === Endian.Little;
16
+ constructor(buffer: Uint8Array, endian: E) {
17
+ this.#buffer = buffer;
18
+ this.#dataView = Bytes.dataViewOf(this.#buffer);
19
+ this.#littleEndian = endian === Endian.Little;
21
20
  }
22
21
 
23
22
  readUInt8() {
24
- return this.dataView.getUint8(this.getOffsetAndAdvance(1));
23
+ return this.#dataView.getUint8(this.getOffsetAndAdvance(1));
25
24
  }
26
25
 
27
26
  readUInt16() {
28
- return this.dataView.getUint16(this.getOffsetAndAdvance(2), this.littleEndian);
27
+ return this.#dataView.getUint16(this.getOffsetAndAdvance(2), this.#littleEndian);
29
28
  }
30
29
 
31
30
  readUInt32() {
32
- return this.dataView.getUint32(this.getOffsetAndAdvance(4), this.littleEndian);
31
+ return this.#dataView.getUint32(this.getOffsetAndAdvance(4), this.#littleEndian);
33
32
  }
34
33
 
35
34
  readUInt64() {
36
- return this.dataView.getBigUint64(this.getOffsetAndAdvance(8), this.littleEndian);
35
+ return this.#dataView.getBigUint64(this.getOffsetAndAdvance(8), this.#littleEndian);
37
36
  }
38
37
 
39
38
  readInt8() {
40
- return this.dataView.getInt8(this.getOffsetAndAdvance(1));
39
+ return this.#dataView.getInt8(this.getOffsetAndAdvance(1));
41
40
  }
42
41
 
43
42
  readInt16() {
44
- return this.dataView.getInt16(this.getOffsetAndAdvance(2), this.littleEndian);
43
+ return this.#dataView.getInt16(this.getOffsetAndAdvance(2), this.#littleEndian);
45
44
  }
46
45
 
47
46
  readInt32() {
48
- return this.dataView.getInt32(this.getOffsetAndAdvance(4), this.littleEndian);
47
+ return this.#dataView.getInt32(this.getOffsetAndAdvance(4), this.#littleEndian);
49
48
  }
50
49
 
51
50
  readInt64() {
52
- return this.dataView.getBigInt64(this.getOffsetAndAdvance(8), this.littleEndian);
51
+ return this.#dataView.getBigInt64(this.getOffsetAndAdvance(8), this.#littleEndian);
53
52
  }
54
53
 
55
54
  readFloat() {
56
- return this.dataView.getFloat32(this.getOffsetAndAdvance(4), this.littleEndian);
55
+ return this.#dataView.getFloat32(this.getOffsetAndAdvance(4), this.#littleEndian);
57
56
  }
58
57
 
59
58
  readDouble() {
60
- return this.dataView.getFloat64(this.getOffsetAndAdvance(8), this.littleEndian);
59
+ return this.#dataView.getFloat64(this.getOffsetAndAdvance(8), this.#littleEndian);
61
60
  }
62
61
 
63
62
  readUtf8String(length: number) {
64
63
  const offset = this.getOffsetAndAdvance(length);
65
- return new TextDecoder().decode(this.buffer.subarray(offset, offset + length));
64
+ return new TextDecoder().decode(this.#buffer.subarray(offset, offset + length));
66
65
  }
67
66
 
68
67
  readByteArray(length: number) {
69
68
  const offset = this.getOffsetAndAdvance(length);
70
- return this.buffer.subarray(offset, offset + length);
69
+ return this.#buffer.subarray(offset, offset + length);
71
70
  }
72
71
 
73
- getRemainingBytesCount() {
74
- return this.dataView.byteLength - this.offset;
72
+ get remainingBytesCount() {
73
+ return this.#dataView.byteLength - this.#offset;
75
74
  }
76
75
 
77
- getRemainingBytes() {
78
- return this.buffer.subarray(this.offset);
76
+ get remainingBytes() {
77
+ return this.#buffer.subarray(this.#offset);
79
78
  }
80
79
 
81
- getLength() {
82
- return this.dataView.byteLength;
80
+ get length() {
81
+ return this.#dataView.byteLength;
83
82
  }
84
83
 
85
- setOffset(offset: number) {
86
- if (offset > this.dataView.byteLength) {
84
+ set offset(offset: number) {
85
+ if (offset > this.#dataView.byteLength) {
87
86
  throw new Error(`Offset ${offset} is out of bounds.`);
88
87
  }
89
- this.offset = offset;
88
+ this.#offset = offset;
89
+ }
90
+
91
+ get offset() {
92
+ return this.#offset;
90
93
  }
91
94
 
92
95
  private getOffsetAndAdvance(size: number) {
93
- const result = this.offset;
94
- this.offset += size;
95
- if (this.offset > this.dataView.byteLength) {
96
- this.offset = this.dataView.byteLength;
96
+ const result = this.#offset;
97
+ this.#offset += size;
98
+ if (this.#offset > this.#dataView.byteLength) {
99
+ this.#offset = this.#dataView.byteLength;
97
100
  }
98
101
  return result;
99
102
  }