@matter/general 0.15.0-alpha.0-20250624-e8c89f458 → 0.15.0-alpha.0-20250625-c7634df96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/codec/DnsCodec.d.ts.map +1 -1
- package/dist/cjs/codec/DnsCodec.js +4 -43
- package/dist/cjs/codec/DnsCodec.js.map +1 -1
- package/dist/cjs/util/Ip.d.ts +1 -0
- package/dist/cjs/util/Ip.d.ts.map +1 -1
- package/dist/cjs/util/Ip.js +9 -1
- package/dist/cjs/util/Ip.js.map +1 -1
- package/dist/esm/codec/DnsCodec.d.ts.map +1 -1
- package/dist/esm/codec/DnsCodec.js +5 -44
- package/dist/esm/codec/DnsCodec.js.map +1 -1
- package/dist/esm/util/Ip.d.ts +1 -0
- package/dist/esm/util/Ip.d.ts.map +1 -1
- package/dist/esm/util/Ip.js +9 -1
- package/dist/esm/util/Ip.js.map +1 -1
- package/package.json +2 -2
- package/src/codec/DnsCodec.ts +5 -45
- package/src/util/Ip.ts +9 -1
|
@@ -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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"}
|
|
@@ -222,35 +222,11 @@ class DnsCodec {
|
|
|
222
222
|
}
|
|
223
223
|
static decodeAaaaRecord(valueBytes) {
|
|
224
224
|
const reader = new import_DataReader.DataReader(valueBytes);
|
|
225
|
-
|
|
226
|
-
for (let i = 0; i < 8; i++) {
|
|
227
|
-
ipItems.push(reader.readUInt16().toString(16));
|
|
228
|
-
}
|
|
229
|
-
const zeroSequences = new Array();
|
|
230
|
-
for (let i = 0; i < 8; i++) {
|
|
231
|
-
if (ipItems[i] !== "0") continue;
|
|
232
|
-
const start = i;
|
|
233
|
-
i++;
|
|
234
|
-
while (i < 8 && ipItems[i] === "0") {
|
|
235
|
-
i++;
|
|
236
|
-
}
|
|
237
|
-
zeroSequences.push({ start, length: i - start });
|
|
238
|
-
}
|
|
239
|
-
if (zeroSequences.length > 0) {
|
|
240
|
-
zeroSequences.sort((a, b) => a.length - b.length);
|
|
241
|
-
const { start, length } = zeroSequences[0];
|
|
242
|
-
ipItems[start] = "";
|
|
243
|
-
ipItems.splice(start + 1, length - 1);
|
|
244
|
-
}
|
|
245
|
-
return ipItems.join(":");
|
|
225
|
+
return (0, import_Ip.ipv6BytesToString)(reader.readByteArray(16));
|
|
246
226
|
}
|
|
247
227
|
static decodeARecord(valueBytes) {
|
|
248
228
|
const reader = new import_DataReader.DataReader(valueBytes);
|
|
249
|
-
|
|
250
|
-
for (let i = 0; i < 4; i++) {
|
|
251
|
-
ipItems.push(reader.readUInt8().toString());
|
|
252
|
-
}
|
|
253
|
-
return ipItems.join(".");
|
|
229
|
+
return (0, import_Ip.ipv4BytesToString)(reader.readByteArray(4));
|
|
254
230
|
}
|
|
255
231
|
static encode({
|
|
256
232
|
messageType,
|
|
@@ -316,26 +292,11 @@ class DnsCodec {
|
|
|
316
292
|
}
|
|
317
293
|
static encodeARecord(ip) {
|
|
318
294
|
if (!(0, import_Ip.isIPv4)(ip)) throw new import_MatterError.UnexpectedDataError(`Invalid A Record value: ${ip}`);
|
|
319
|
-
|
|
320
|
-
ip.split(".").forEach((part) => {
|
|
321
|
-
writer.writeUInt8(parseInt(part));
|
|
322
|
-
});
|
|
323
|
-
return writer.toByteArray();
|
|
295
|
+
return (0, import_Ip.ipv4ToBytes)(ip);
|
|
324
296
|
}
|
|
325
297
|
static encodeAaaaRecord(ip) {
|
|
326
298
|
if (!(0, import_Ip.isIPv6)(ip)) throw new import_MatterError.UnexpectedDataError(`Invalid AAAA Record value: ${ip}`);
|
|
327
|
-
|
|
328
|
-
const parts = ip.split(":");
|
|
329
|
-
parts.forEach((part) => {
|
|
330
|
-
if (part === "") {
|
|
331
|
-
const compressedParts = 8 - parts.length;
|
|
332
|
-
for (let i = 0; i < compressedParts; i++) {
|
|
333
|
-
writer.writeUInt16(0);
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
writer.writeUInt16(parseInt(part, 16));
|
|
337
|
-
});
|
|
338
|
-
return writer.toByteArray();
|
|
299
|
+
return (0, import_Ip.ipv6ToBytes)(ip);
|
|
339
300
|
}
|
|
340
301
|
static encodeTxtRecord(entries) {
|
|
341
302
|
const writer = new import_DataWriter.DataWriter();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/codec/DnsCodec.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAwE;AACxE,mBAA8B;AAC9B,wBAA2B;AAC3B,wBAA2B;AAC3B,gBAA+
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["DnsMessageType", "DnsRecordType", "DnsRecordClass"]
|
|
6
6
|
}
|
package/dist/cjs/util/Ip.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare function ipv4ToNumber(ip: string): number;
|
|
|
4
4
|
export declare function ipv4ToBytes(ip: string): Uint8Array<ArrayBuffer>;
|
|
5
5
|
export declare function ipv6ToArray(ip: string): Uint16Array<ArrayBuffer>;
|
|
6
6
|
export declare function ipv6ToBytes(ip: string): Uint8Array<ArrayBuffer>;
|
|
7
|
+
export declare function ipv4BytesToString(bytes: Uint8Array): string;
|
|
7
8
|
export declare function ipv6BytesToString(bytes: Uint8Array): string;
|
|
8
9
|
export declare function onSameNetwork(ip1: string, ip2: string, mask: string): boolean | undefined;
|
|
9
10
|
//# sourceMappingURL=Ip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ip.d.ts","sourceRoot":"","sources":["../../../src/util/Ip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Ip.d.ts","sourceRoot":"","sources":["../../../src/util/Ip.ts"],"names":[],"mappings":"AAQA,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,UAGtC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAOrC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,4BAarC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAErC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAK3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAgD3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAsBnE"}
|
package/dist/cjs/util/Ip.js
CHANGED
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var Ip_exports = {};
|
|
20
20
|
__export(Ip_exports, {
|
|
21
|
+
ipv4BytesToString: () => ipv4BytesToString,
|
|
21
22
|
ipv4ToBytes: () => ipv4ToBytes,
|
|
22
23
|
ipv4ToNumber: () => ipv4ToNumber,
|
|
23
24
|
ipv6BytesToString: () => ipv6BytesToString,
|
|
@@ -28,6 +29,7 @@ __export(Ip_exports, {
|
|
|
28
29
|
onSameNetwork: () => onSameNetwork
|
|
29
30
|
});
|
|
30
31
|
module.exports = __toCommonJS(Ip_exports);
|
|
32
|
+
var import_MatterError = require("#MatterError.js");
|
|
31
33
|
var import_Bytes = require("./Bytes.js");
|
|
32
34
|
/**
|
|
33
35
|
* @license
|
|
@@ -69,9 +71,15 @@ function ipv6ToArray(ip) {
|
|
|
69
71
|
function ipv6ToBytes(ip) {
|
|
70
72
|
return Uint8Array.from(Array.from(ipv6ToArray(ip)).flatMap((value) => [value >> 8, value & 255]));
|
|
71
73
|
}
|
|
74
|
+
function ipv4BytesToString(bytes) {
|
|
75
|
+
if (bytes.length !== 4) {
|
|
76
|
+
throw new import_MatterError.UnexpectedDataError("IPv4 address must be 4 bytes");
|
|
77
|
+
}
|
|
78
|
+
return bytes.join(".");
|
|
79
|
+
}
|
|
72
80
|
function ipv6BytesToString(bytes) {
|
|
73
81
|
if (bytes.length !== 16) {
|
|
74
|
-
throw new
|
|
82
|
+
throw new import_MatterError.UnexpectedDataError("IPv6 address must be 16 bytes");
|
|
75
83
|
}
|
|
76
84
|
const blocks = [];
|
|
77
85
|
for (let i = 0; i < 16; i += 2) {
|
package/dist/cjs/util/Ip.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/Ip.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAAsB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["mask"]
|
|
6
6
|
}
|
|
@@ -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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"}
|
|
@@ -7,7 +7,7 @@ import { InternalError, NotImplementedError, UnexpectedDataError } from "../Matt
|
|
|
7
7
|
import { Bytes } from "../util/Bytes.js";
|
|
8
8
|
import { DataReader } from "../util/DataReader.js";
|
|
9
9
|
import { DataWriter } from "../util/DataWriter.js";
|
|
10
|
-
import { isIPv4, isIPv6 } from "../util/Ip.js";
|
|
10
|
+
import { ipv4BytesToString, ipv4ToBytes, ipv6BytesToString, ipv6ToBytes, isIPv4, isIPv6 } from "../util/Ip.js";
|
|
11
11
|
const MAX_MDNS_MESSAGE_SIZE = 1232;
|
|
12
12
|
const PtrRecord = (name, ptr, forInstance, ttl = 120, flushCache = false) => ({
|
|
13
13
|
name,
|
|
@@ -190,35 +190,11 @@ class DnsCodec {
|
|
|
190
190
|
}
|
|
191
191
|
static decodeAaaaRecord(valueBytes) {
|
|
192
192
|
const reader = new DataReader(valueBytes);
|
|
193
|
-
|
|
194
|
-
for (let i = 0; i < 8; i++) {
|
|
195
|
-
ipItems.push(reader.readUInt16().toString(16));
|
|
196
|
-
}
|
|
197
|
-
const zeroSequences = new Array();
|
|
198
|
-
for (let i = 0; i < 8; i++) {
|
|
199
|
-
if (ipItems[i] !== "0") continue;
|
|
200
|
-
const start = i;
|
|
201
|
-
i++;
|
|
202
|
-
while (i < 8 && ipItems[i] === "0") {
|
|
203
|
-
i++;
|
|
204
|
-
}
|
|
205
|
-
zeroSequences.push({ start, length: i - start });
|
|
206
|
-
}
|
|
207
|
-
if (zeroSequences.length > 0) {
|
|
208
|
-
zeroSequences.sort((a, b) => a.length - b.length);
|
|
209
|
-
const { start, length } = zeroSequences[0];
|
|
210
|
-
ipItems[start] = "";
|
|
211
|
-
ipItems.splice(start + 1, length - 1);
|
|
212
|
-
}
|
|
213
|
-
return ipItems.join(":");
|
|
193
|
+
return ipv6BytesToString(reader.readByteArray(16));
|
|
214
194
|
}
|
|
215
195
|
static decodeARecord(valueBytes) {
|
|
216
196
|
const reader = new DataReader(valueBytes);
|
|
217
|
-
|
|
218
|
-
for (let i = 0; i < 4; i++) {
|
|
219
|
-
ipItems.push(reader.readUInt8().toString());
|
|
220
|
-
}
|
|
221
|
-
return ipItems.join(".");
|
|
197
|
+
return ipv4BytesToString(reader.readByteArray(4));
|
|
222
198
|
}
|
|
223
199
|
static encode({
|
|
224
200
|
messageType,
|
|
@@ -284,26 +260,11 @@ class DnsCodec {
|
|
|
284
260
|
}
|
|
285
261
|
static encodeARecord(ip) {
|
|
286
262
|
if (!isIPv4(ip)) throw new UnexpectedDataError(`Invalid A Record value: ${ip}`);
|
|
287
|
-
|
|
288
|
-
ip.split(".").forEach((part) => {
|
|
289
|
-
writer.writeUInt8(parseInt(part));
|
|
290
|
-
});
|
|
291
|
-
return writer.toByteArray();
|
|
263
|
+
return ipv4ToBytes(ip);
|
|
292
264
|
}
|
|
293
265
|
static encodeAaaaRecord(ip) {
|
|
294
266
|
if (!isIPv6(ip)) throw new UnexpectedDataError(`Invalid AAAA Record value: ${ip}`);
|
|
295
|
-
|
|
296
|
-
const parts = ip.split(":");
|
|
297
|
-
parts.forEach((part) => {
|
|
298
|
-
if (part === "") {
|
|
299
|
-
const compressedParts = 8 - parts.length;
|
|
300
|
-
for (let i = 0; i < compressedParts; i++) {
|
|
301
|
-
writer.writeUInt16(0);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
writer.writeUInt16(parseInt(part, 16));
|
|
305
|
-
});
|
|
306
|
-
return writer.toByteArray();
|
|
267
|
+
return ipv6ToBytes(ip);
|
|
307
268
|
}
|
|
308
269
|
static encodeTxtRecord(entries) {
|
|
309
270
|
const writer = new DataWriter();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/codec/DnsCodec.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,qBAAqB,2BAA2B;AACxE,SAAS,aAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,QAAQ,cAAc;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["DnsMessageType", "DnsRecordType", "DnsRecordClass"]
|
|
6
6
|
}
|
package/dist/esm/util/Ip.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare function ipv4ToNumber(ip: string): number;
|
|
|
4
4
|
export declare function ipv4ToBytes(ip: string): Uint8Array<ArrayBuffer>;
|
|
5
5
|
export declare function ipv6ToArray(ip: string): Uint16Array<ArrayBuffer>;
|
|
6
6
|
export declare function ipv6ToBytes(ip: string): Uint8Array<ArrayBuffer>;
|
|
7
|
+
export declare function ipv4BytesToString(bytes: Uint8Array): string;
|
|
7
8
|
export declare function ipv6BytesToString(bytes: Uint8Array): string;
|
|
8
9
|
export declare function onSameNetwork(ip1: string, ip2: string, mask: string): boolean | undefined;
|
|
9
10
|
//# sourceMappingURL=Ip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ip.d.ts","sourceRoot":"","sources":["../../../src/util/Ip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Ip.d.ts","sourceRoot":"","sources":["../../../src/util/Ip.ts"],"names":[],"mappings":"AAQA,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAEhC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,UAGtC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAOrC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,4BAarC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,2BAErC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAK3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAgD3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAsBnE"}
|
package/dist/esm/util/Ip.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { UnexpectedDataError } from "#MatterError.js";
|
|
6
7
|
import { Bytes } from "./Bytes.js";
|
|
7
8
|
function isIPv4(ip) {
|
|
8
9
|
return ip.includes(".");
|
|
@@ -39,9 +40,15 @@ function ipv6ToArray(ip) {
|
|
|
39
40
|
function ipv6ToBytes(ip) {
|
|
40
41
|
return Uint8Array.from(Array.from(ipv6ToArray(ip)).flatMap((value) => [value >> 8, value & 255]));
|
|
41
42
|
}
|
|
43
|
+
function ipv4BytesToString(bytes) {
|
|
44
|
+
if (bytes.length !== 4) {
|
|
45
|
+
throw new UnexpectedDataError("IPv4 address must be 4 bytes");
|
|
46
|
+
}
|
|
47
|
+
return bytes.join(".");
|
|
48
|
+
}
|
|
42
49
|
function ipv6BytesToString(bytes) {
|
|
43
50
|
if (bytes.length !== 16) {
|
|
44
|
-
throw new
|
|
51
|
+
throw new UnexpectedDataError("IPv6 address must be 16 bytes");
|
|
45
52
|
}
|
|
46
53
|
const blocks = [];
|
|
47
54
|
for (let i = 0; i < 16; i += 2) {
|
|
@@ -103,6 +110,7 @@ function onSameNetwork(ip1, ip2, mask) {
|
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
export {
|
|
113
|
+
ipv4BytesToString,
|
|
106
114
|
ipv4ToBytes,
|
|
107
115
|
ipv4ToNumber,
|
|
108
116
|
ipv6BytesToString,
|
package/dist/esm/util/Ip.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/Ip.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,aAAa;AAEf,SAAS,OAAO,IAAY;AAC/B,SAAO,GAAG,SAAS,GAAG;AAC1B;AAEO,SAAS,OAAO,IAAY;AAC/B,SAAO,GAAG,SAAS,GAAG;AAC1B;AAEO,SAAS,aAAa,IAAY;AACrC,QAAM,WAAW,MAAM,WAAW,YAAY,EAAE,CAAC;AACjD,SAAO,SAAS,UAAU,CAAC;AAC/B;AAEO,SAAS,YAAY,IAAY;AACpC,QAAM,QAAQ,IAAI,WAAW,CAAC;AAC9B,QAAM,UAAU,GAAG,MAAM,GAAG;AAC5B,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,UAAM,CAAC,IAAI,SAAS,QAAQ,CAAC,CAAC;AAAA,EAClC;AACA,SAAO;AACX;AAEO,SAAS,YAAY,IAAY;AACpC,QAAM,QAAQ,IAAI,YAAY,CAAC;AAC/B,MAAI,UAAU,GAAG,MAAM,GAAG;AAC1B,QAAM,aAAa,QAAQ,OAAO,WAAS,UAAU,EAAE,EAAE;AACzD,MAAI,eAAe,GAAG;AAClB,cAAU,GAAG,QAAQ,MAAM,IAAI,QAAQ,IAAI,cAAc,IAAI,GAAG,IAAI,CAAC,EAAE,MAAM,GAAG;AAAA,EACpF;AACA,MAAI,QAAQ;AACZ,UAAQ,QAAQ,UAAQ;AACpB,QAAI,SAAS,GAAI;AACjB,UAAM,OAAO,IAAI,SAAS,MAAM,EAAE;AAAA,EACtC,CAAC;AACD,SAAO;AACX;AAEO,SAAS,YAAY,IAAY;AACpC,SAAO,WAAW,KAAK,MAAM,KAAK,YAAY,EAAE,CAAC,EAAE,QAAQ,WAAS,CAAC,SAAS,GAAG,QAAQ,GAAI,CAAC,CAAC;AACnG;AAEO,SAAS,kBAAkB,OAA2B;AACzD,MAAI,MAAM,WAAW,IAAI;AACrB,UAAM,IAAI,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["mask"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/general",
|
|
3
|
-
"version": "0.15.0-alpha.0-
|
|
3
|
+
"version": "0.15.0-alpha.0-20250625-c7634df96",
|
|
4
4
|
"description": "Non-Matter support for Matter.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@noble/curves": "^1.9.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@matter/testing": "0.15.0-alpha.0-
|
|
39
|
+
"@matter/testing": "0.15.0-alpha.0-20250625-c7634df96"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist/**/*",
|
package/src/codec/DnsCodec.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { InternalError, NotImplementedError, UnexpectedDataError } from "../Matt
|
|
|
8
8
|
import { Bytes, Endian } from "../util/Bytes.js";
|
|
9
9
|
import { DataReader } from "../util/DataReader.js";
|
|
10
10
|
import { DataWriter } from "../util/DataWriter.js";
|
|
11
|
-
import { isIPv4, isIPv6 } from "../util/Ip.js";
|
|
11
|
+
import { ipv4BytesToString, ipv4ToBytes, ipv6BytesToString, ipv6ToBytes, isIPv4, isIPv6 } from "../util/Ip.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* The maximum MDNS message size to usually fit into one UDP network MTU packet. Data are split into multiple messages
|
|
@@ -265,37 +265,12 @@ export class DnsCodec {
|
|
|
265
265
|
|
|
266
266
|
static decodeAaaaRecord(valueBytes: Uint8Array): string {
|
|
267
267
|
const reader = new DataReader(valueBytes);
|
|
268
|
-
|
|
269
|
-
for (let i = 0; i < 8; i++) {
|
|
270
|
-
ipItems.push(reader.readUInt16().toString(16));
|
|
271
|
-
}
|
|
272
|
-
// Compress 0 sequences
|
|
273
|
-
const zeroSequences = new Array<{ start: number; length: number }>();
|
|
274
|
-
for (let i = 0; i < 8; i++) {
|
|
275
|
-
if (ipItems[i] !== "0") continue;
|
|
276
|
-
const start = i;
|
|
277
|
-
i++;
|
|
278
|
-
while (i < 8 && ipItems[i] === "0") {
|
|
279
|
-
i++;
|
|
280
|
-
}
|
|
281
|
-
zeroSequences.push({ start, length: i - start });
|
|
282
|
-
}
|
|
283
|
-
if (zeroSequences.length > 0) {
|
|
284
|
-
zeroSequences.sort((a, b) => a.length - b.length);
|
|
285
|
-
const { start, length } = zeroSequences[0];
|
|
286
|
-
ipItems[start] = "";
|
|
287
|
-
ipItems.splice(start + 1, length - 1);
|
|
288
|
-
}
|
|
289
|
-
return ipItems.join(":");
|
|
268
|
+
return ipv6BytesToString(reader.readByteArray(16));
|
|
290
269
|
}
|
|
291
270
|
|
|
292
271
|
static decodeARecord(valueBytes: Uint8Array): string {
|
|
293
272
|
const reader = new DataReader(valueBytes);
|
|
294
|
-
|
|
295
|
-
for (let i = 0; i < 4; i++) {
|
|
296
|
-
ipItems.push(reader.readUInt8().toString());
|
|
297
|
-
}
|
|
298
|
-
return ipItems.join(".");
|
|
273
|
+
return ipv4BytesToString(reader.readByteArray(4));
|
|
299
274
|
}
|
|
300
275
|
|
|
301
276
|
static encode({
|
|
@@ -367,27 +342,12 @@ export class DnsCodec {
|
|
|
367
342
|
|
|
368
343
|
static encodeARecord(ip: string) {
|
|
369
344
|
if (!isIPv4(ip)) throw new UnexpectedDataError(`Invalid A Record value: ${ip}`);
|
|
370
|
-
|
|
371
|
-
ip.split(".").forEach(part => {
|
|
372
|
-
writer.writeUInt8(parseInt(part));
|
|
373
|
-
});
|
|
374
|
-
return writer.toByteArray();
|
|
345
|
+
return ipv4ToBytes(ip);
|
|
375
346
|
}
|
|
376
347
|
|
|
377
348
|
static encodeAaaaRecord(ip: string) {
|
|
378
349
|
if (!isIPv6(ip)) throw new UnexpectedDataError(`Invalid AAAA Record value: ${ip}`);
|
|
379
|
-
|
|
380
|
-
const parts = ip.split(":");
|
|
381
|
-
parts.forEach(part => {
|
|
382
|
-
if (part === "") {
|
|
383
|
-
const compressedParts = 8 - parts.length;
|
|
384
|
-
for (let i = 0; i < compressedParts; i++) {
|
|
385
|
-
writer.writeUInt16(0);
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
writer.writeUInt16(parseInt(part, 16));
|
|
389
|
-
});
|
|
390
|
-
return writer.toByteArray();
|
|
350
|
+
return ipv6ToBytes(ip);
|
|
391
351
|
}
|
|
392
352
|
|
|
393
353
|
static encodeTxtRecord(entries: string[]) {
|
package/src/util/Ip.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { UnexpectedDataError } from "#MatterError.js";
|
|
6
7
|
import { Bytes } from "./Bytes.js";
|
|
7
8
|
|
|
8
9
|
export function isIPv4(ip: string) {
|
|
@@ -46,9 +47,16 @@ export function ipv6ToBytes(ip: string) {
|
|
|
46
47
|
return Uint8Array.from(Array.from(ipv6ToArray(ip)).flatMap(value => [value >> 8, value & 0xff]));
|
|
47
48
|
}
|
|
48
49
|
|
|
50
|
+
export function ipv4BytesToString(bytes: Uint8Array): string {
|
|
51
|
+
if (bytes.length !== 4) {
|
|
52
|
+
throw new UnexpectedDataError("IPv4 address must be 4 bytes");
|
|
53
|
+
}
|
|
54
|
+
return bytes.join(".");
|
|
55
|
+
}
|
|
56
|
+
|
|
49
57
|
export function ipv6BytesToString(bytes: Uint8Array): string {
|
|
50
58
|
if (bytes.length !== 16) {
|
|
51
|
-
throw new
|
|
59
|
+
throw new UnexpectedDataError("IPv6 address must be 16 bytes");
|
|
52
60
|
}
|
|
53
61
|
|
|
54
62
|
// Divide into 8 blocks of 2 bytes (16 bits) each
|