@honeybbq/teamspeak 1.0.0-beta.19 → 1.0.0-beta.21
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/client/api/avatars.d.ts.map +1 -1
- package/dist/client/api/avatars.js +11 -2
- package/dist/client/api/avatars.js.map +1 -1
- package/dist/client/api/files.d.ts +36 -14
- package/dist/client/api/files.d.ts.map +1 -1
- package/dist/client/api/files.js +58 -9
- package/dist/client/api/files.js.map +1 -1
- package/dist/client/api/upload-checks.d.ts +36 -0
- package/dist/client/api/upload-checks.d.ts.map +1 -0
- package/dist/client/api/upload-checks.js +77 -0
- package/dist/client/api/upload-checks.js.map +1 -0
- package/dist/client/api/voice.d.ts +2 -1
- package/dist/client/api/voice.d.ts.map +1 -1
- package/dist/client/api/voice.js +6 -2
- package/dist/client/api/voice.js.map +1 -1
- package/dist/client/client.d.ts +13 -3
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +151 -49
- package/dist/client/client.js.map +1 -1
- package/dist/client/crypto/crypt.d.ts +6 -0
- package/dist/client/crypto/crypt.d.ts.map +1 -1
- package/dist/client/crypto/crypt.js +13 -7
- package/dist/client/crypto/crypt.js.map +1 -1
- package/dist/client/crypto/eax.d.ts +4 -0
- package/dist/client/crypto/eax.d.ts.map +1 -1
- package/dist/client/crypto/eax.js +27 -21
- package/dist/client/crypto/eax.js.map +1 -1
- package/dist/client/errors.d.ts +13 -0
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +23 -0
- package/dist/client/errors.js.map +1 -1
- package/dist/client/handshake/crypt-handshake.d.ts +2 -1
- package/dist/client/handshake/crypt-handshake.d.ts.map +1 -1
- package/dist/client/handshake/crypt-handshake.js +4 -2
- package/dist/client/handshake/crypt-handshake.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/throttle.d.ts +11 -0
- package/dist/client/throttle.d.ts.map +1 -1
- package/dist/client/throttle.js +38 -3
- package/dist/client/throttle.js.map +1 -1
- package/dist/client/transfer.d.ts +37 -4
- package/dist/client/transfer.d.ts.map +1 -1
- package/dist/client/transfer.js +155 -15
- package/dist/client/transfer.js.map +1 -1
- package/dist/client/transport/handler.d.ts.map +1 -1
- package/dist/client/transport/handler.js +47 -43
- package/dist/client/transport/handler.js.map +1 -1
- package/dist/core/api/clients.d.ts +15 -15
- package/dist/core/api/clients.d.ts.map +1 -1
- package/dist/core/api/clients.js.map +1 -1
- package/dist/core/api/command.d.ts +8 -6
- package/dist/core/api/command.d.ts.map +1 -1
- package/dist/core/api/command.js +1 -1
- package/dist/core/api/command.js.map +1 -1
- package/dist/core/api/files.d.ts +23 -6
- package/dist/core/api/files.d.ts.map +1 -1
- package/dist/core/api/files.js +12 -9
- package/dist/core/api/files.js.map +1 -1
- package/dist/core/api/groups.d.ts +17 -2
- package/dist/core/api/groups.d.ts.map +1 -1
- package/dist/core/api/groups.js +13 -11
- package/dist/core/api/groups.js.map +1 -1
- package/dist/core/api/parse.d.ts +5 -5
- package/dist/core/api/parse.d.ts.map +1 -1
- package/dist/core/api/parse.js +16 -15
- package/dist/core/api/parse.js.map +1 -1
- package/dist/core/command/request.d.ts +6 -0
- package/dist/core/command/request.d.ts.map +1 -1
- package/dist/core/command/request.js +12 -0
- package/dist/core/command/request.js.map +1 -1
- package/dist/core/errors.d.ts +46 -3
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +73 -20
- package/dist/core/errors.js.map +1 -1
- package/dist/core/events.d.ts +24 -8
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/internal.d.ts +1 -1
- package/dist/core/internal.d.ts.map +1 -1
- package/dist/core/internal.js +1 -1
- package/dist/core/internal.js.map +1 -1
- package/dist/core/notifications.d.ts +1 -1
- package/dist/core/notifications.js +9 -8
- package/dist/core/notifications.js.map +1 -1
- package/dist/core/reconnect.d.ts +16 -5
- package/dist/core/reconnect.d.ts.map +1 -1
- package/dist/core/reconnect.js +32 -4
- package/dist/core/reconnect.js.map +1 -1
- package/dist/core/types.d.ts +15 -16
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/query/client.d.ts +4 -0
- package/dist/query/client.d.ts.map +1 -1
- package/dist/query/client.js +145 -23
- package/dist/query/client.js.map +1 -1
- package/dist/query/errors.d.ts +20 -0
- package/dist/query/errors.d.ts.map +1 -1
- package/dist/query/errors.js +31 -0
- package/dist/query/errors.js.map +1 -1
- package/dist/query/index.d.ts +1 -1
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +1 -1
- package/dist/query/index.js.map +1 -1
- package/dist/query/lines.d.ts +11 -0
- package/dist/query/lines.d.ts.map +1 -1
- package/dist/query/lines.js +36 -6
- package/dist/query/lines.js.map +1 -1
- package/dist/query/options.d.ts +30 -0
- package/dist/query/options.d.ts.map +1 -1
- package/dist/query/options.js +7 -0
- package/dist/query/options.js.map +1 -1
- package/dist/query/reconnect.d.ts +5 -0
- package/dist/query/reconnect.d.ts.map +1 -1
- package/dist/query/reconnect.js +26 -7
- package/dist/query/reconnect.js.map +1 -1
- package/dist/query/ssh.js +9 -4
- package/dist/query/ssh.js.map +1 -1
- package/dist/query/stream.d.ts +2 -0
- package/dist/query/stream.d.ts.map +1 -1
- package/dist/query/stream.js +19 -1
- package/dist/query/stream.js.map +1 -1
- package/dist/query/transport.d.ts +12 -2
- package/dist/query/transport.d.ts.map +1 -1
- package/dist/query/web.d.ts +3 -1
- package/dist/query/web.d.ts.map +1 -1
- package/dist/query/web.js +82 -18
- package/dist/query/web.js.map +1 -1
- package/dist/stream/published.d.ts.map +1 -1
- package/dist/stream/published.js +61 -25
- package/dist/stream/published.js.map +1 -1
- package/dist/stream/streams.d.ts.map +1 -1
- package/dist/stream/streams.js +51 -10
- package/dist/stream/streams.js.map +1 -1
- package/dist/stream/wire.d.ts +2 -2
- package/dist/stream/wire.d.ts.map +1 -1
- package/dist/stream/wire.js +27 -7
- package/dist/stream/wire.js.map +1 -1
- package/package.json +1 -1
- package/src/client/api/avatars.ts +15 -2
- package/src/client/api/files.ts +83 -23
- package/src/client/api/upload-checks.ts +96 -0
- package/src/client/api/voice.ts +5 -2
- package/src/client/client.ts +154 -42
- package/src/client/crypto/crypt.ts +15 -7
- package/src/client/crypto/eax.ts +27 -22
- package/src/client/errors.ts +25 -0
- package/src/client/handshake/crypt-handshake.ts +6 -3
- package/src/client/index.ts +1 -0
- package/src/client/throttle.ts +41 -3
- package/src/client/transfer.ts +172 -28
- package/src/client/transport/handler.ts +54 -46
- package/src/core/api/clients.ts +24 -21
- package/src/core/api/command.ts +9 -7
- package/src/core/api/files.ts +30 -16
- package/src/core/api/groups.ts +32 -13
- package/src/core/api/parse.ts +16 -15
- package/src/core/command/request.ts +18 -0
- package/src/core/errors.ts +74 -20
- package/src/core/events.ts +24 -8
- package/src/core/internal.ts +7 -1
- package/src/core/notifications.ts +9 -8
- package/src/core/reconnect.ts +60 -8
- package/src/core/types.ts +15 -16
- package/src/query/client.ts +144 -20
- package/src/query/errors.ts +34 -0
- package/src/query/index.ts +1 -0
- package/src/query/lines.ts +38 -6
- package/src/query/options.ts +36 -0
- package/src/query/reconnect.ts +27 -7
- package/src/query/ssh.ts +11 -4
- package/src/query/stream.ts +17 -1
- package/src/query/testing/live.ts +4 -4
- package/src/query/transport.ts +10 -2
- package/src/query/web.ts +76 -21
- package/src/stream/published.ts +70 -23
- package/src/stream/streams.ts +47 -13
- package/src/stream/wire.ts +30 -11
|
@@ -50,6 +50,12 @@ export declare class Crypt {
|
|
|
50
50
|
*/
|
|
51
51
|
solveRsaChallenge(data: Uint8Array, offset: number, level: number, signal?: AbortSignal): Promise<Uint8Array>;
|
|
52
52
|
initCrypto(alpha: string, beta: string, omega: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Build the IV from `alpha` and `beta` XORed into `sharedKey` and complete
|
|
55
|
+
* crypto init. The values come from the server, so a length that does not fit
|
|
56
|
+
* is refused rather than padded: alpha must be 10 bytes, beta at least one,
|
|
57
|
+
* and the key as long as the IV, 10 bytes plus beta.
|
|
58
|
+
*/
|
|
53
59
|
setSharedSecret(alpha: Uint8Array, beta: Uint8Array, sharedKey: Uint8Array): void;
|
|
54
60
|
getKeyNonce(fromServer: boolean, packetID: number, generationID: number, packetType: number, dummy: boolean): [key: Uint8Array, nonce: Uint8Array];
|
|
55
61
|
encrypt(packetType: number, packetID: number, generationID: number, header: Uint8Array, plaintext: Uint8Array, dummy: boolean, unencrypted: boolean): [ciphertext: Uint8Array, mac: Uint8Array];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypt.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAW9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;GAIG;AACH,qBAAa,KAAK;;IAChB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAS5B,YAAY,QAAQ,EAAE,QAAQ,EAE7B;IAED,iFAAiF;IACjF,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,kFAAkF;IAClF,IAAI,aAAa,IAAI,UAAU,CAE9B;IAED,sFAAsF;IACtF,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,wEAAwE;IACxE,QAAQ,IAAI,UAAU,CAGrB;IAED;;;;;;;OAOG;IACG,iBAAiB,CACrB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA2BrB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAa3D;IAED,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"crypt.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAW9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;GAIG;AACH,qBAAa,KAAK;;IAChB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAS5B,YAAY,QAAQ,EAAE,QAAQ,EAE7B;IAED,iFAAiF;IACjF,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,kFAAkF;IAClF,IAAI,aAAa,IAAI,UAAU,CAE9B;IAED,sFAAsF;IACtF,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,wEAAwE;IACxE,QAAQ,IAAI,UAAU,CAGrB;IAED;;;;;;;OAOG;IACG,iBAAiB,CACrB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA2BrB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAa3D;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAuBhF;IAED,WAAW,CACT,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAkCtC;IAED,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,OAAO,GACnB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAW3C;IAED,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,OAAO,GACnB,UAAU,CAeZ;CAyBF"}
|
|
@@ -108,18 +108,24 @@ export class Crypt {
|
|
|
108
108
|
}
|
|
109
109
|
this.setSharedSecret(alphaBytes, betaBytes, sharedSecret);
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Build the IV from `alpha` and `beta` XORed into `sharedKey` and complete
|
|
113
|
+
* crypto init. The values come from the server, so a length that does not fit
|
|
114
|
+
* is refused rather than padded: alpha must be 10 bytes, beta at least one,
|
|
115
|
+
* and the key as long as the IV, 10 bytes plus beta.
|
|
116
|
+
*/
|
|
111
117
|
setSharedSecret(alpha, beta, sharedKey) {
|
|
118
|
+
if (alpha.length !== IV_ALPHA_SIZE ||
|
|
119
|
+
beta.length === 0 ||
|
|
120
|
+
IV_ALPHA_SIZE + beta.length > sharedKey.length) {
|
|
121
|
+
throw new HandshakeError("alpha, beta and the shared secret do not fit together");
|
|
122
|
+
}
|
|
112
123
|
this.#ivStruct = new Uint8Array(IV_ALPHA_SIZE + beta.length);
|
|
113
124
|
for (let i = 0; i < IV_ALPHA_SIZE; i++) {
|
|
114
|
-
|
|
115
|
-
const b = alpha[i];
|
|
116
|
-
this.#ivStruct[i] = ((a !== undefined ? a : 0) ^ (b !== undefined ? b : 0)) & 0xff;
|
|
125
|
+
this.#ivStruct[i] = (sharedKey[i] ^ alpha[i]) & 0xff;
|
|
117
126
|
}
|
|
118
127
|
for (let i = 0; i < beta.length; i++) {
|
|
119
|
-
|
|
120
|
-
const b = beta[i];
|
|
121
|
-
this.#ivStruct[IV_ALPHA_SIZE + i] =
|
|
122
|
-
((a !== undefined ? a : 0) ^ (b !== undefined ? b : 0)) & 0xff;
|
|
128
|
+
this.#ivStruct[IV_ALPHA_SIZE + i] = (sharedKey[IV_ALPHA_SIZE + i] ^ beta[i]) & 0xff;
|
|
123
129
|
}
|
|
124
130
|
// Keys derive from the IV: any cached before it changed belong to another
|
|
125
131
|
// IV, the empty one before crypto init in particular, which is public.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypt.js","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"crypt.js","sourceRoot":"","sources":["../../../src/client/crypto/crypt.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,9 @@ export declare class EAX {
|
|
|
8
8
|
encrypt(nonce: Uint8Array, header: Uint8Array, plaintext: Uint8Array): [ciphertext: Uint8Array, tag: Uint8Array];
|
|
9
9
|
decrypt(nonce: Uint8Array, header: Uint8Array, ciphertext: Uint8Array, tag: Uint8Array): Uint8Array;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* AES-CMAC: the last block of AES-CBC with a zero IV over the message, its last
|
|
13
|
+
* block padded and XORed with a subkey. One cipher for the whole message.
|
|
14
|
+
*/
|
|
11
15
|
export declare function aesCmac(key: Uint8Array, message: Uint8Array): Uint8Array;
|
|
12
16
|
//# sourceMappingURL=eax.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eax.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,qBAAa,GAAG;;IAGd,YAAY,GAAG,EAAE,UAAU,EAG1B;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,GACpB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAc3C;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,GACd,UAAU,CAeZ;CAcF;
|
|
1
|
+
{"version":3,"file":"eax.d.ts","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,qBAAa,GAAG;;IAGd,YAAY,GAAG,EAAE,UAAU,EAG1B;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,UAAU,GACpB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAc3C;IAED,OAAO,CACL,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,GACd,UAAU,CAeZ;CAcF;AA8DD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAkBxE"}
|
|
@@ -55,9 +55,12 @@ function aesCtr(key, iv, data) {
|
|
|
55
55
|
return Buffer.concat([cipher.update(Buffer.from(data)), cipher.final()]);
|
|
56
56
|
}
|
|
57
57
|
// ---- AES-CMAC (RFC 4493) ----------------------------------------------------
|
|
58
|
+
/**
|
|
59
|
+
* The CMAC subkeys of each key, derived once: a session uses one key for every
|
|
60
|
+
* packet, and deriving them costs a cipher of its own.
|
|
61
|
+
*/
|
|
62
|
+
const subkeyCache = new WeakMap();
|
|
58
63
|
function aesEcb(key, block) {
|
|
59
|
-
// Node.js does not expose ECB directly; simulate via CTR with zero IV and
|
|
60
|
-
// a zero-input (CTR of 0-block XOR with input = ECB)
|
|
61
64
|
const cipher = createCipheriv("aes-128-ecb", Buffer.from(key), null);
|
|
62
65
|
cipher.setAutoPadding(false);
|
|
63
66
|
return Buffer.concat([cipher.update(Buffer.from(block)), cipher.final()]);
|
|
@@ -81,6 +84,9 @@ function shiftLeft1(b) {
|
|
|
81
84
|
const RB = new Uint8Array(EAX_BLOCK_SIZE);
|
|
82
85
|
RB[EAX_BLOCK_SIZE - 1] = 0x87;
|
|
83
86
|
function generateSubkeys(key) {
|
|
87
|
+
const cached = subkeyCache.get(key);
|
|
88
|
+
if (cached !== undefined)
|
|
89
|
+
return cached;
|
|
84
90
|
const zero = new Uint8Array(EAX_BLOCK_SIZE);
|
|
85
91
|
const L = aesEcb(key, zero);
|
|
86
92
|
let K1 = shiftLeft1(L);
|
|
@@ -89,30 +95,30 @@ function generateSubkeys(key) {
|
|
|
89
95
|
let K2 = shiftLeft1(K1);
|
|
90
96
|
if ((K1[0] & 0x80) !== 0)
|
|
91
97
|
K2 = xorBlock(K2, RB);
|
|
92
|
-
|
|
98
|
+
const subkeys = [K1, K2];
|
|
99
|
+
subkeyCache.set(key, subkeys);
|
|
100
|
+
return subkeys;
|
|
93
101
|
}
|
|
102
|
+
const ZERO_IV = Buffer.alloc(EAX_BLOCK_SIZE);
|
|
103
|
+
/**
|
|
104
|
+
* AES-CMAC: the last block of AES-CBC with a zero IV over the message, its last
|
|
105
|
+
* block padded and XORed with a subkey. One cipher for the whole message.
|
|
106
|
+
*/
|
|
94
107
|
export function aesCmac(key, message) {
|
|
95
108
|
const [K1, K2] = generateSubkeys(key);
|
|
96
109
|
const n = Math.max(1, Math.ceil(message.length / EAX_BLOCK_SIZE));
|
|
97
110
|
const lastBlockComplete = message.length > 0 && message.length % EAX_BLOCK_SIZE === 0;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const block = message.slice(i * EAX_BLOCK_SIZE, (i + 1) * EAX_BLOCK_SIZE);
|
|
101
|
-
X = Uint8Array.from(aesEcb(key, xorBlock(X, block)));
|
|
102
|
-
}
|
|
103
|
-
const lastBlock = new Uint8Array(EAX_BLOCK_SIZE);
|
|
111
|
+
const padded = Buffer.alloc(n * EAX_BLOCK_SIZE);
|
|
112
|
+
padded.set(message);
|
|
104
113
|
const lastStart = (n - 1) * EAX_BLOCK_SIZE;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
Mn = xorBlock(lastBlock, K2);
|
|
115
|
-
}
|
|
116
|
-
return Uint8Array.from(aesEcb(key, xorBlock(X, Mn)));
|
|
114
|
+
if (!lastBlockComplete)
|
|
115
|
+
padded[message.length] = 0x80;
|
|
116
|
+
const subkey = lastBlockComplete ? K1 : K2;
|
|
117
|
+
for (let i = 0; i < EAX_BLOCK_SIZE; i++)
|
|
118
|
+
padded[lastStart + i] = padded[lastStart + i] ^ subkey[i];
|
|
119
|
+
const cipher = createCipheriv("aes-128-cbc", Buffer.from(key), ZERO_IV);
|
|
120
|
+
cipher.setAutoPadding(false);
|
|
121
|
+
const out = cipher.update(padded);
|
|
122
|
+
return Uint8Array.from(out.subarray(out.length - EAX_BLOCK_SIZE));
|
|
117
123
|
}
|
|
118
124
|
//# sourceMappingURL=eax.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eax.js","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eax.js","sourceRoot":"","sources":["../../../src/client/crypto/eax.ts"],"names":[],"mappings":"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"}
|
package/dist/client/errors.d.ts
CHANGED
|
@@ -77,6 +77,19 @@ export declare class ConnectionTimeoutError extends TeamspeakError {
|
|
|
77
77
|
static readonly kind: string;
|
|
78
78
|
constructor();
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* The server's command stream broke: a command packet stayed missing for
|
|
82
|
+
* seconds while later ones arrived, although the server sends one again until
|
|
83
|
+
* it is acknowledged. The connection is ended rather than carry on without the
|
|
84
|
+
* missing command, which would drop an answer or a notification and could
|
|
85
|
+
* leave the view out of step with the server's; a reconnect starts from a
|
|
86
|
+
* consistent state.
|
|
87
|
+
*/
|
|
88
|
+
export declare class ConnectionStalledError extends TeamspeakError {
|
|
89
|
+
/** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
|
|
90
|
+
static readonly kind: string;
|
|
91
|
+
constructor();
|
|
92
|
+
}
|
|
80
93
|
/**
|
|
81
94
|
* The server ended this client's session: a kick, a ban, or the server
|
|
82
95
|
* stopping. The default reconnect policy retries a server that stopped, but
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG1C;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,cAEC;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAgC;IAYrE,cAEC;CACF;AAED,+FAA+F;AAC/F,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAuB;IAY5D,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAoB;IAYzD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAwB;IAY7D,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAI1C;CACF;AAED,wDAAwD;AACxD,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA0B;IAY/D,YAAY,OAAO,SAA4B,EAAE,OAAO,CAAC,EAAE,YAAY,EAEtE;CACF;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAYjE,cAEC;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAkB;IAYvD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YAAY,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAQrE;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG1C;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAyB;IAY9D,cAEC;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAgC;IAYrE,cAEC;CACF;AAED,+FAA+F;AAC/F,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAuB;IAY5D,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAoB;IAYzD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAElD;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAwB;IAY7D,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAI1C;CACF;AAED,wDAAwD;AACxD,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA0B;IAY/D,YAAY,OAAO,SAA4B,EAAE,OAAO,CAAC,EAAE,YAAY,EAEtE;CACF;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAYjE,cAEC;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAUjE,cAEC;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAkB;IAYvD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YAAY,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAQrE;CACF"}
|
package/dist/client/errors.js
CHANGED
|
@@ -176,6 +176,29 @@ export class ConnectionTimeoutError extends TeamspeakError {
|
|
|
176
176
|
super("connection timed out: the server stopped answering");
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* The server's command stream broke: a command packet stayed missing for
|
|
181
|
+
* seconds while later ones arrived, although the server sends one again until
|
|
182
|
+
* it is acknowledged. The connection is ended rather than carry on without the
|
|
183
|
+
* missing command, which would drop an answer or a notification and could
|
|
184
|
+
* leave the view out of step with the server's; a reconnect starts from a
|
|
185
|
+
* consistent state.
|
|
186
|
+
*/
|
|
187
|
+
export class ConnectionStalledError extends TeamspeakError {
|
|
188
|
+
/** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
|
|
189
|
+
static kind = "ConnectionStalledError";
|
|
190
|
+
static {
|
|
191
|
+
Object.defineProperty(this.prototype, "name", {
|
|
192
|
+
value: "ConnectionStalledError",
|
|
193
|
+
writable: true,
|
|
194
|
+
configurable: true,
|
|
195
|
+
enumerable: false,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
constructor() {
|
|
199
|
+
super("connection stalled: a command from the server never arrived");
|
|
200
|
+
}
|
|
201
|
+
}
|
|
179
202
|
/**
|
|
180
203
|
* The server ended this client's session: a kick, a ban, or the server
|
|
181
204
|
* stopping. The default reconnect policy retries a server that stopped, but
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,qBAAqB,CAAC;IAC9D;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,qBAAqB;YAC5B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IACnB,OAAO,CAAS;IAEzB,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,qBAAqB,CAAC;IAC9D;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,qBAAqB;YAC5B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;QACE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAC5D,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,4BAA4B,CAAC;IACrE;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,4BAA4B;YACnC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;CACF;AAED,+FAA+F;AAC/F,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,mBAAmB,CAAC;IAC5D;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,mBAAmB;YAC1B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,gBAAgB,CAAC;IACzD;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IACpD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,oBAAoB,CAAC;IAC7D;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,oBAAoB;YAC3B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,oDAAoD;IAC3C,KAAK,CAAS;IACvB,iCAAiC;IACxB,QAAQ,CAAS;IAE1B,YAAY,KAAa,EAAE,QAAgB;QACzC,KAAK,CAAC,oCAAoC,KAAK,6BAA6B,QAAQ,UAAU,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,wDAAwD;AACxD,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IACtD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,sBAAsB,CAAC;IAC/D;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,sBAAsB;YAC7B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,YAAY,OAAO,GAAG,yBAAyB,EAAE,OAAsB;QACrE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,wBAAwB,CAAC;IACjE;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,wBAAwB;YAC/B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;QACE,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC9D,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,wBAAwB,CAAC;IACjE;QACE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,wBAAwB;YAC/B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;QACE,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,cAAc,CAAC;IACvD;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IAC1E,MAAM,CAAS;IACxB,yDAAyD;IAChD,aAAa,CAAS;IAC/B,mDAAmD;IAC1C,WAAW,CAAS;IAE7B,YAAY,MAAc,EAAE,aAAqB,EAAE,WAAmB;QACpE,IAAI,OAAO,GAAG,4BAA4B,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,IAAI,WAAW;YAAE,OAAO,IAAI,OAAO,WAAW,EAAE,CAAC;QACjD,IAAI,aAAa;YAAE,OAAO,IAAI,KAAK,aAAa,EAAE,CAAC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,UAAU;YACpB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,MAAM,CAAC,aAAa;YACvB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,MAAM,CAAC,UAAU;YACpB,OAAO,gBAAgB,CAAC;QAC1B,KAAK,MAAM,CAAC,cAAc;YACxB,OAAO,kBAAkB,CAAC;QAC5B;YACE,OAAO,UAAU,MAAM,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -11,7 +11,8 @@ export declare function puzzleOf(crypt: Crypt): {
|
|
|
11
11
|
/**
|
|
12
12
|
* Handle the TS3INIT1 handshake steps.
|
|
13
13
|
* Returns the response bytes to send, or null if nothing should be sent.
|
|
14
|
-
*
|
|
14
|
+
* A step that cannot be answered is ignored (null); a puzzle out of range
|
|
15
|
+
* throws a PuzzleTooHardError.
|
|
15
16
|
*
|
|
16
17
|
* The puzzle step is the only one that takes time, so a challenge not answered
|
|
17
18
|
* before returns a promise of the response, which gives the event loop back
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypt-handshake.d.ts","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGzE,eAAO,MAAM,YAAY,aAAa,CAAC;AAoBvC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAG9F;AAED
|
|
1
|
+
{"version":3,"file":"crypt-handshake.d.ts","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGzE,eAAO,MAAM,YAAY,aAAa,CAAC;AAoBvC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAG9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;AACnE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randomBytes } from "node:crypto";
|
|
2
2
|
import { buildCommandOrdered } from "../../core/internal.js";
|
|
3
3
|
import { MAX_RSA_CHALLENGE_LEVEL } from "../crypto/crypt.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PuzzleTooHardError } from "../errors.js";
|
|
5
5
|
export const INIT_VERSION = 1566914096; // 3.5.0 [Stable]
|
|
6
6
|
const INIT_VERSION_LEN = 4;
|
|
7
7
|
const INIT_TYPE_LEN = 1;
|
|
@@ -22,8 +22,10 @@ export function processInit1(crypt, data, signal) {
|
|
|
22
22
|
if (data === null || (data.length >= 1 && data[0] === 0x7f)) {
|
|
23
23
|
return buildInit1StartPacket();
|
|
24
24
|
}
|
|
25
|
+
// Init1 is not authenticated: a step that cannot be answered, an empty one
|
|
26
|
+
// included, is ignored, and the attempt goes on with the real server's.
|
|
25
27
|
if (data.length === 0)
|
|
26
|
-
|
|
28
|
+
return null;
|
|
27
29
|
switch (data[0]) {
|
|
28
30
|
case 0:
|
|
29
31
|
return buildInit1Step1Packet(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypt-handshake.js","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAc,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"crypt-handshake.js","sourceRoot":"","sources":["../../../src/client/handshake/crypt-handshake.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export { Client } from "./client.js";
|
|
|
11
11
|
export { EventName, GroupWhisperType, GroupWhisperScope } from "./types.js";
|
|
12
12
|
export type { ServerView, ViewChangedEvent, ViewReadyEvent, ViewStatus } from "./view.js";
|
|
13
13
|
export type { EventMap, EventMiddleware, ServerEvent, ServerEventName, VoiceOptions, WhisperTargets, GroupWhisperTarget, AddrResolver, ClientOptions, ResolvedAddr, DatagramSocket, SocketFactory, FileTransferSocketFactory, } from "./types.js";
|
|
14
|
-
export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, } from "./errors.js";
|
|
14
|
+
export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, ConnectionStalledError, } from "./errors.js";
|
|
15
15
|
export * from "./api/voice.js";
|
|
16
16
|
export * from "./api/avatars.js";
|
|
17
17
|
export * from "./api/files.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE1F,YAAY,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE1F,YAAY,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// The client
|
|
11
11
|
export { Client } from "./client.js";
|
|
12
12
|
export { EventName, GroupWhisperType, GroupWhisperScope } from "./types.js";
|
|
13
|
-
export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, } from "./errors.js";
|
|
13
|
+
export { FileTransferError, HandshakeError, PuzzleTooHardError, InvalidAddressError, InvalidIdentityError, RemovedError, ConnectionTimeoutError, ConnectionStalledError, } from "./errors.js";
|
|
14
14
|
// Commands only the voice protocol has.
|
|
15
15
|
export * from "./api/voice.js";
|
|
16
16
|
export * from "./api/avatars.js";
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoB5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,wCAAwC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAYnF,+BAA+B;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,+CAA+C;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,WAAW;AACX,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoB5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,wCAAwC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAYnF,+BAA+B;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,+CAA+C;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,WAAW;AACX,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
|
|
@@ -16,5 +16,16 @@ export declare class CommandThrottle {
|
|
|
16
16
|
* removed however the wait ends.
|
|
17
17
|
*/
|
|
18
18
|
wait(signal?: AbortSignal): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Release nothing for `ms` milliseconds, then go on at the usual rate with no
|
|
21
|
+
* burst saved up: the server refused a command as flooding and said when to
|
|
22
|
+
* try again, and anything sent sooner is refused too and adds to the debt.
|
|
23
|
+
*/
|
|
24
|
+
hold(ms: number): void;
|
|
25
|
+
/**
|
|
26
|
+
* Reject every waiter still in line with `reason`, so none of them is ever
|
|
27
|
+
* released to send. Commands that ask afterwards wait as before.
|
|
28
|
+
*/
|
|
29
|
+
rejectAll(reason: unknown): void;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=throttle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,qBAAa,eAAe;;IAC1B,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAO;IACjC,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAO;IAShC;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxC;IAED;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAMrB;IAED;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAM/B;CAkDF"}
|
package/dist/client/throttle.js
CHANGED
|
@@ -12,6 +12,8 @@ export class CommandThrottle {
|
|
|
12
12
|
static TOKEN_MAX = 8.0; // bucket capacity
|
|
13
13
|
#tokens = 5.0;
|
|
14
14
|
#lastUpdate = performance.now();
|
|
15
|
+
/** Until when nothing is released: the server asked this client to wait. */
|
|
16
|
+
#holdUntil = 0;
|
|
15
17
|
#waiters = [];
|
|
16
18
|
#timer;
|
|
17
19
|
/**
|
|
@@ -23,13 +25,14 @@ export class CommandThrottle {
|
|
|
23
25
|
if (signal?.aborted)
|
|
24
26
|
return Promise.reject(signal.reason);
|
|
25
27
|
this.#refill();
|
|
26
|
-
if (this.#waiters.length === 0 && this.#tokens >= 1.0) {
|
|
28
|
+
if (this.#waiters.length === 0 && this.#tokens >= 1.0 && performance.now() >= this.#holdUntil) {
|
|
27
29
|
this.#tokens -= 1.0;
|
|
28
30
|
return Promise.resolve();
|
|
29
31
|
}
|
|
30
32
|
return new Promise((resolve, reject) => {
|
|
31
33
|
const waiter = {
|
|
32
34
|
resolve,
|
|
35
|
+
reject,
|
|
33
36
|
signal,
|
|
34
37
|
onAbort: () => {
|
|
35
38
|
const index = this.#waiters.indexOf(waiter);
|
|
@@ -45,9 +48,33 @@ export class CommandThrottle {
|
|
|
45
48
|
this.#schedule();
|
|
46
49
|
});
|
|
47
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Release nothing for `ms` milliseconds, then go on at the usual rate with no
|
|
53
|
+
* burst saved up: the server refused a command as flooding and said when to
|
|
54
|
+
* try again, and anything sent sooner is refused too and adds to the debt.
|
|
55
|
+
*/
|
|
56
|
+
hold(ms) {
|
|
57
|
+
this.#refill();
|
|
58
|
+
this.#holdUntil = Math.max(this.#holdUntil, performance.now() + ms);
|
|
59
|
+
this.#tokens = 0;
|
|
60
|
+
this.#stopTimer();
|
|
61
|
+
this.#schedule();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Reject every waiter still in line with `reason`, so none of them is ever
|
|
65
|
+
* released to send. Commands that ask afterwards wait as before.
|
|
66
|
+
*/
|
|
67
|
+
rejectAll(reason) {
|
|
68
|
+
this.#stopTimer();
|
|
69
|
+
for (const waiter of this.#waiters.splice(0)) {
|
|
70
|
+
waiter.signal?.removeEventListener("abort", waiter.onAbort);
|
|
71
|
+
waiter.reject(reason);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
48
74
|
#refill() {
|
|
49
75
|
const now = performance.now();
|
|
50
|
-
|
|
76
|
+
// Nothing accrues while held.
|
|
77
|
+
const elapsed = Math.max(0, now - Math.max(this.#lastUpdate, this.#holdUntil)) / 1000;
|
|
51
78
|
this.#tokens = Math.min(this.#tokens + elapsed * _a.TOKEN_RATE, _a.TOKEN_MAX);
|
|
52
79
|
this.#lastUpdate = now;
|
|
53
80
|
}
|
|
@@ -55,9 +82,12 @@ export class CommandThrottle {
|
|
|
55
82
|
#schedule() {
|
|
56
83
|
if (this.#timer !== undefined || this.#waiters.length === 0)
|
|
57
84
|
return;
|
|
58
|
-
const
|
|
85
|
+
const forTokens = this.#tokens >= 1.0
|
|
59
86
|
? 0
|
|
60
87
|
: Math.ceil(((1.0 - this.#tokens) / _a.TOKEN_RATE) * 1000) + 10;
|
|
88
|
+
const held = Math.ceil(this.#holdUntil - performance.now());
|
|
89
|
+
// Tokens accrue only once the hold is over.
|
|
90
|
+
const waitMs = Math.max(0, held) + forTokens;
|
|
61
91
|
this.#timer = setTimeout(() => {
|
|
62
92
|
this.#timer = undefined;
|
|
63
93
|
this.#release();
|
|
@@ -70,6 +100,11 @@ export class CommandThrottle {
|
|
|
70
100
|
/** Hand the tokens there are to the waiters at the head of the line. */
|
|
71
101
|
#release() {
|
|
72
102
|
this.#refill();
|
|
103
|
+
// Woken early, or the hold was extended meanwhile.
|
|
104
|
+
if (performance.now() < this.#holdUntil) {
|
|
105
|
+
this.#schedule();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
73
108
|
while (this.#waiters.length > 0 && this.#tokens >= 1.0) {
|
|
74
109
|
this.#tokens -= 1.0;
|
|
75
110
|
const waiter = this.#waiters.shift();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/client/throttle.ts"],"names":[],"mappings":"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"}
|