@signalapp/libsignal-client 0.38.0 → 0.39.2

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/Native.d.ts CHANGED
@@ -18,11 +18,30 @@ interface LookupResponseEntry {
18
18
  readonly pni: string | undefined;
19
19
  }
20
20
 
21
+ interface SealedSenderMultiRecipientMessageRecipient {
22
+ deviceIds: number[];
23
+ registrationIds: number[];
24
+ rangeOffset: number;
25
+ rangeLen: number;
26
+ }
27
+
28
+ interface SealedSenderMultiRecipientMessage {
29
+ recipientMap: {
30
+ [serviceId: string]: SealedSenderMultiRecipientMessageRecipient;
31
+ };
32
+ excludedRecipients: string[];
33
+ offsetOfSharedData: number;
34
+ }
35
+
21
36
  export abstract class IdentityKeyStore {
22
37
  _getIdentityKey(): Promise<PrivateKey>;
23
38
  _getLocalRegistrationId(): Promise<number>;
24
39
  _saveIdentity(name: ProtocolAddress, key: PublicKey): Promise<boolean>;
25
- _isTrustedIdentity(name: ProtocolAddress, key: PublicKey, sending: boolean): Promise<boolean>;
40
+ _isTrustedIdentity(
41
+ name: ProtocolAddress,
42
+ key: PublicKey,
43
+ sending: boolean
44
+ ): Promise<boolean>;
26
45
  _getIdentity(name: ProtocolAddress): Promise<PublicKey | null>;
27
46
  }
28
47
 
@@ -38,19 +57,32 @@ export abstract class PreKeyStore {
38
57
  }
39
58
 
40
59
  export abstract class SignedPreKeyStore {
41
- _saveSignedPreKey(signedPreKeyId: number, record: SignedPreKeyRecord): Promise<void>;
60
+ _saveSignedPreKey(
61
+ signedPreKeyId: number,
62
+ record: SignedPreKeyRecord
63
+ ): Promise<void>;
42
64
  _getSignedPreKey(signedPreKeyId: number): Promise<SignedPreKeyRecord>;
43
65
  }
44
66
 
45
67
  export abstract class KyberPreKeyStore {
46
- _saveKyberPreKey(kyberPreKeyId: number, record: KyberPreKeyRecord): Promise<void>;
68
+ _saveKyberPreKey(
69
+ kyberPreKeyId: number,
70
+ record: KyberPreKeyRecord
71
+ ): Promise<void>;
47
72
  _getKyberPreKey(kyberPreKeyId: number): Promise<KyberPreKeyRecord>;
48
73
  _markKyberPreKeyUsed(kyberPreKeyId: number): Promise<void>;
49
74
  }
50
75
 
51
76
  export abstract class SenderKeyStore {
52
- _saveSenderKey(sender: ProtocolAddress, distributionId: Uuid, record: SenderKeyRecord): Promise<void>;
53
- _getSenderKey(sender: ProtocolAddress, distributionId: Uuid): Promise<SenderKeyRecord | null>;
77
+ _saveSenderKey(
78
+ sender: ProtocolAddress,
79
+ distributionId: Uuid,
80
+ record: SenderKeyRecord
81
+ ): Promise<void>;
82
+ _getSenderKey(
83
+ sender: ProtocolAddress,
84
+ distributionId: Uuid
85
+ ): Promise<SenderKeyRecord | null>;
54
86
  }
55
87
 
56
88
  export abstract class InputStream {
@@ -58,11 +90,10 @@ export abstract class InputStream {
58
90
  _skip(amount: number): Promise<void>;
59
91
  }
60
92
 
61
- export abstract class SyncInputStream extends Buffer {
62
- }
93
+ export abstract class SyncInputStream extends Buffer {}
63
94
 
64
95
  interface Wrapper<T> {
65
- readonly _nativeHandle: T
96
+ readonly _nativeHandle: T;
66
97
  }
67
98
 
68
99
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -280,6 +311,7 @@ export function SealedSenderDecryptionResult_GetDeviceId(obj: Wrapper<SealedSend
280
311
  export function SealedSenderDecryptionResult_GetSenderE164(obj: Wrapper<SealedSenderDecryptionResult>): string | null;
281
312
  export function SealedSenderDecryptionResult_GetSenderUuid(obj: Wrapper<SealedSenderDecryptionResult>): string;
282
313
  export function SealedSenderDecryptionResult_Message(obj: Wrapper<SealedSenderDecryptionResult>): Buffer;
314
+ export function SealedSenderMultiRecipientMessage_Parse(buffer: Buffer): SealedSenderMultiRecipientMessage;
283
315
  export function SealedSender_DecryptMessage(message: Buffer, trustRoot: Wrapper<PublicKey>, timestamp: Timestamp, localE164: string | null, localUuid: string, localDeviceId: number, sessionStore: SessionStore, identityStore: IdentityKeyStore, prekeyStore: PreKeyStore, signedPrekeyStore: SignedPreKeyStore, kyberPrekeyStore: KyberPreKeyStore): Promise<SealedSenderDecryptionResult>;
284
316
  export function SealedSender_DecryptToUsmc(ctext: Buffer, identityStore: IdentityKeyStore): Promise<UnidentifiedSenderMessageContent>;
285
317
  export function SealedSender_Encrypt(destination: Wrapper<ProtocolAddress>, content: Wrapper<UnidentifiedSenderMessageContent>, identityKeyStore: IdentityKeyStore): Promise<Buffer>;
@@ -423,13 +455,14 @@ export function UsernameLink_Create(username: string, entropy: Buffer | null): B
423
455
  export function UsernameLink_DecryptUsername(entropy: Buffer, encryptedUsername: Buffer): string;
424
456
  export function Username_CandidatesFrom(nickname: string, minLen: number, maxLen: number): string;
425
457
  export function Username_Hash(username: string): Buffer;
458
+ export function Username_HashFromParts(nickname: string, discriminator: string, minLen: number, maxLen: number): Buffer;
426
459
  export function Username_Proof(username: string, randomness: Buffer): Buffer;
427
460
  export function Username_Verify(proof: Buffer, hash: Buffer): void;
428
461
  export function UuidCiphertext_CheckValidContents(buffer: Buffer): void;
429
462
  export function ValidatingMac_Finalize(mac: Wrapper<ValidatingMac>): number;
430
463
  export function ValidatingMac_Initialize(key: Buffer, chunkSize: number, digests: Buffer): ValidatingMac;
431
464
  export function ValidatingMac_Update(mac: Wrapper<ValidatingMac>, bytes: Buffer, offset: number, length: number): number;
432
- export function WebpSanitizer_Sanitize(input: SyncInputStream, len: Buffer): void;
465
+ export function WebpSanitizer_Sanitize(input: SyncInputStream): void;
433
466
  export function initLogger(maxLevel: LogLevel, callback: (level: LogLevel, target: string, file: string | null, line: number | null, message: string) => void): void
434
467
  interface Aes256GcmSiv { readonly __type: unique symbol; }
435
468
  interface AuthCredential { readonly __type: unique symbol; }
package/dist/Errors.d.ts CHANGED
@@ -9,19 +9,25 @@ export declare enum ErrorCode {
9
9
  VerificationFailed = 5,
10
10
  InvalidSession = 6,
11
11
  InvalidSenderKeySession = 7,
12
- CannotBeEmpty = 8,
12
+ NicknameCannotBeEmpty = 8,
13
13
  CannotStartWithDigit = 9,
14
14
  MissingSeparator = 10,
15
15
  BadNicknameCharacter = 11,
16
16
  NicknameTooShort = 12,
17
17
  NicknameTooLong = 13,
18
- IoError = 14,
19
- InvalidMediaInput = 15,
20
- UnsupportedMediaInput = 16,
21
- InputDataTooLong = 17,
22
- InvalidEntropyDataLength = 18,
23
- InvalidUsernameLinkEncryptedData = 19,
24
- RateLimitedError = 20
18
+ DiscriminatorCannotBeEmpty = 14,
19
+ DiscriminatorCannotBeZero = 15,
20
+ DiscriminatorCannotBeSingleDigit = 16,
21
+ DiscriminatorCannotHaveLeadingZeros = 17,
22
+ BadDiscriminatorCharacter = 18,
23
+ DiscriminatorTooLarge = 19,
24
+ IoError = 20,
25
+ InvalidMediaInput = 21,
26
+ UnsupportedMediaInput = 22,
27
+ InputDataTooLong = 23,
28
+ InvalidEntropyDataLength = 24,
29
+ InvalidUsernameLinkEncryptedData = 25,
30
+ RateLimitedError = 26
25
31
  }
26
32
  export declare class LibSignalErrorBase extends Error {
27
33
  readonly code: ErrorCode;
@@ -58,8 +64,8 @@ export type InvalidSenderKeySessionError = LibSignalErrorCommon & {
58
64
  code: ErrorCode.InvalidSenderKeySession;
59
65
  distributionId: string;
60
66
  };
61
- export type CannotBeEmptyError = LibSignalErrorCommon & {
62
- code: ErrorCode.CannotBeEmpty;
67
+ export type NicknameCannotBeEmptyError = LibSignalErrorCommon & {
68
+ code: ErrorCode.NicknameCannotBeEmpty;
63
69
  };
64
70
  export type CannotStartWithDigitError = LibSignalErrorCommon & {
65
71
  code: ErrorCode.CannotStartWithDigit;
@@ -76,6 +82,24 @@ export type NicknameTooShortError = LibSignalErrorCommon & {
76
82
  export type NicknameTooLongError = LibSignalErrorCommon & {
77
83
  code: ErrorCode.NicknameTooLong;
78
84
  };
85
+ export type DiscriminatorCannotBeEmptyError = LibSignalErrorCommon & {
86
+ code: ErrorCode.DiscriminatorCannotBeEmpty;
87
+ };
88
+ export type DiscriminatorCannotBeZeroError = LibSignalErrorCommon & {
89
+ code: ErrorCode.DiscriminatorCannotBeZero;
90
+ };
91
+ export type DiscriminatorCannotBeSingleDigitError = LibSignalErrorCommon & {
92
+ code: ErrorCode.DiscriminatorCannotBeSingleDigit;
93
+ };
94
+ export type DiscriminatorCannotHaveLeadingZerosError = LibSignalErrorCommon & {
95
+ code: ErrorCode.DiscriminatorCannotHaveLeadingZeros;
96
+ };
97
+ export type BadDiscriminatorCharacterError = LibSignalErrorCommon & {
98
+ code: ErrorCode.BadDiscriminatorCharacter;
99
+ };
100
+ export type DiscriminatorTooLargeError = LibSignalErrorCommon & {
101
+ code: ErrorCode.DiscriminatorTooLarge;
102
+ };
79
103
  export type InputDataTooLong = LibSignalErrorCommon & {
80
104
  code: ErrorCode.InputDataTooLong;
81
105
  };
@@ -98,4 +122,4 @@ export type RateLimitedError = LibSignalErrorBase & {
98
122
  code: ErrorCode.RateLimitedError;
99
123
  readonly retryAfterSecs: number;
100
124
  };
101
- export type LibSignalError = GenericError | DuplicatedMessageError | SealedSenderSelfSendError | UntrustedIdentityError | InvalidRegistrationIdError | VerificationFailedError | InvalidSessionError | InvalidSenderKeySessionError | CannotBeEmptyError | CannotStartWithDigitError | MissingSeparatorError | BadNicknameCharacterError | NicknameTooShortError | NicknameTooLongError | InputDataTooLong | InvalidEntropyDataLength | InvalidUsernameLinkEncryptedData | IoError | InvalidMediaInputError | UnsupportedMediaInputError;
125
+ export type LibSignalError = GenericError | DuplicatedMessageError | SealedSenderSelfSendError | UntrustedIdentityError | InvalidRegistrationIdError | VerificationFailedError | InvalidSessionError | InvalidSenderKeySessionError | NicknameCannotBeEmptyError | CannotStartWithDigitError | MissingSeparatorError | BadNicknameCharacterError | NicknameTooShortError | NicknameTooLongError | DiscriminatorCannotBeEmptyError | DiscriminatorCannotBeZeroError | DiscriminatorCannotBeSingleDigitError | DiscriminatorCannotHaveLeadingZerosError | BadDiscriminatorCharacterError | DiscriminatorTooLargeError | InputDataTooLong | InvalidEntropyDataLength | InvalidUsernameLinkEncryptedData | IoError | InvalidMediaInputError | UnsupportedMediaInputError;
package/dist/Errors.js CHANGED
@@ -16,19 +16,25 @@ var ErrorCode;
16
16
  ErrorCode[ErrorCode["VerificationFailed"] = 5] = "VerificationFailed";
17
17
  ErrorCode[ErrorCode["InvalidSession"] = 6] = "InvalidSession";
18
18
  ErrorCode[ErrorCode["InvalidSenderKeySession"] = 7] = "InvalidSenderKeySession";
19
- ErrorCode[ErrorCode["CannotBeEmpty"] = 8] = "CannotBeEmpty";
19
+ ErrorCode[ErrorCode["NicknameCannotBeEmpty"] = 8] = "NicknameCannotBeEmpty";
20
20
  ErrorCode[ErrorCode["CannotStartWithDigit"] = 9] = "CannotStartWithDigit";
21
21
  ErrorCode[ErrorCode["MissingSeparator"] = 10] = "MissingSeparator";
22
22
  ErrorCode[ErrorCode["BadNicknameCharacter"] = 11] = "BadNicknameCharacter";
23
23
  ErrorCode[ErrorCode["NicknameTooShort"] = 12] = "NicknameTooShort";
24
24
  ErrorCode[ErrorCode["NicknameTooLong"] = 13] = "NicknameTooLong";
25
- ErrorCode[ErrorCode["IoError"] = 14] = "IoError";
26
- ErrorCode[ErrorCode["InvalidMediaInput"] = 15] = "InvalidMediaInput";
27
- ErrorCode[ErrorCode["UnsupportedMediaInput"] = 16] = "UnsupportedMediaInput";
28
- ErrorCode[ErrorCode["InputDataTooLong"] = 17] = "InputDataTooLong";
29
- ErrorCode[ErrorCode["InvalidEntropyDataLength"] = 18] = "InvalidEntropyDataLength";
30
- ErrorCode[ErrorCode["InvalidUsernameLinkEncryptedData"] = 19] = "InvalidUsernameLinkEncryptedData";
31
- ErrorCode[ErrorCode["RateLimitedError"] = 20] = "RateLimitedError";
25
+ ErrorCode[ErrorCode["DiscriminatorCannotBeEmpty"] = 14] = "DiscriminatorCannotBeEmpty";
26
+ ErrorCode[ErrorCode["DiscriminatorCannotBeZero"] = 15] = "DiscriminatorCannotBeZero";
27
+ ErrorCode[ErrorCode["DiscriminatorCannotBeSingleDigit"] = 16] = "DiscriminatorCannotBeSingleDigit";
28
+ ErrorCode[ErrorCode["DiscriminatorCannotHaveLeadingZeros"] = 17] = "DiscriminatorCannotHaveLeadingZeros";
29
+ ErrorCode[ErrorCode["BadDiscriminatorCharacter"] = 18] = "BadDiscriminatorCharacter";
30
+ ErrorCode[ErrorCode["DiscriminatorTooLarge"] = 19] = "DiscriminatorTooLarge";
31
+ ErrorCode[ErrorCode["IoError"] = 20] = "IoError";
32
+ ErrorCode[ErrorCode["InvalidMediaInput"] = 21] = "InvalidMediaInput";
33
+ ErrorCode[ErrorCode["UnsupportedMediaInput"] = 22] = "UnsupportedMediaInput";
34
+ ErrorCode[ErrorCode["InputDataTooLong"] = 23] = "InputDataTooLong";
35
+ ErrorCode[ErrorCode["InvalidEntropyDataLength"] = 24] = "InvalidEntropyDataLength";
36
+ ErrorCode[ErrorCode["InvalidUsernameLinkEncryptedData"] = 25] = "InvalidUsernameLinkEncryptedData";
37
+ ErrorCode[ErrorCode["RateLimitedError"] = 26] = "RateLimitedError";
32
38
  })(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {}));
33
39
  class LibSignalErrorBase extends Error {
34
40
  constructor(message, name, operation, extraProps) {
@@ -0,0 +1,51 @@
1
+ /// <reference types="node" />
2
+ import * as Native from '../Native';
3
+ /**
4
+ * A single recipient parsed from a {@link SealedSenderMultiRecipientMessage}.
5
+ *
6
+ * The `deviceIds` and `registrationIds` arrays are parallel (so the first entry of each belongs to
7
+ * one device, the second to another, and so on).
8
+ */
9
+ export interface Recipient {
10
+ deviceIds: number[];
11
+ registrationIds: number[];
12
+ }
13
+ /**
14
+ * A parsed Sealed Sender v2 "SentMessage", ready to be fanned out to multiple recipients.
15
+ *
16
+ * The implementation assumes that every device for a particular recipient should use the same key
17
+ * material.
18
+ */
19
+ export default class SealedSenderMultiRecipientMessage {
20
+ readonly _buffer: Buffer;
21
+ readonly _recipientMap: {
22
+ [serviceId: string]: Native.SealedSenderMultiRecipientMessageRecipient;
23
+ };
24
+ readonly _excludedRecipients: string[];
25
+ readonly _offsetOfSharedData: number;
26
+ constructor(buffer: Buffer);
27
+ /**
28
+ * Returns the recipients parsed from the message, keyed by service ID string.
29
+ *
30
+ * The result has no keys other than the service IDs of the recipients.
31
+ */
32
+ recipientsByServiceIdString(): Readonly<{
33
+ [serviceId: string]: Recipient;
34
+ }>;
35
+ /**
36
+ * Returns the service IDs of recipients excluded from receiving the message.
37
+ *
38
+ * This is enforced to be disjoint from the recipients in {@link recipientsByServiceIdString}; it
39
+ * may be used for authorization purposes or just to check that certain recipients were
40
+ * deliberately excluded rather than accidentally.
41
+ */
42
+ excludedRecipientServiceIdStrings(): ReadonlyArray<string>;
43
+ /**
44
+ * Returns the Sealed Sender V2 "ReceivedMessage" payload for delivery to a particular recipient.
45
+ *
46
+ * `recipient` must be one of the recipients in the map returned by
47
+ * {@link recipientsByServiceIdString}. The same payload should be sent to all of the recipient's
48
+ * devices.
49
+ */
50
+ messageForRecipient(recipient: Recipient): Buffer;
51
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2024 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const Native = require("../Native");
8
+ /**
9
+ * A parsed Sealed Sender v2 "SentMessage", ready to be fanned out to multiple recipients.
10
+ *
11
+ * The implementation assumes that every device for a particular recipient should use the same key
12
+ * material.
13
+ */
14
+ class SealedSenderMultiRecipientMessage {
15
+ constructor(buffer) {
16
+ const { recipientMap, excludedRecipients, offsetOfSharedData } = Native.SealedSenderMultiRecipientMessage_Parse(buffer);
17
+ this._buffer = buffer;
18
+ this._recipientMap = recipientMap;
19
+ this._excludedRecipients = excludedRecipients;
20
+ this._offsetOfSharedData = offsetOfSharedData;
21
+ }
22
+ /**
23
+ * Returns the recipients parsed from the message, keyed by service ID string.
24
+ *
25
+ * The result has no keys other than the service IDs of the recipients.
26
+ */
27
+ recipientsByServiceIdString() {
28
+ return this._recipientMap;
29
+ }
30
+ /**
31
+ * Returns the service IDs of recipients excluded from receiving the message.
32
+ *
33
+ * This is enforced to be disjoint from the recipients in {@link recipientsByServiceIdString}; it
34
+ * may be used for authorization purposes or just to check that certain recipients were
35
+ * deliberately excluded rather than accidentally.
36
+ */
37
+ excludedRecipientServiceIdStrings() {
38
+ return this._excludedRecipients;
39
+ }
40
+ /**
41
+ * Returns the Sealed Sender V2 "ReceivedMessage" payload for delivery to a particular recipient.
42
+ *
43
+ * `recipient` must be one of the recipients in the map returned by
44
+ * {@link recipientsByServiceIdString}. The same payload should be sent to all of the recipient's
45
+ * devices.
46
+ */
47
+ messageForRecipient(recipient) {
48
+ const nativeRecipient = recipient;
49
+ return Buffer.concat([
50
+ Buffer.of(0x22),
51
+ this._buffer.subarray(nativeRecipient.rangeOffset, nativeRecipient.rangeOffset + nativeRecipient.rangeLen),
52
+ this._buffer.subarray(this._offsetOfSharedData),
53
+ ]);
54
+ }
55
+ }
56
+ exports.default = SealedSenderMultiRecipientMessage;
57
+ //# sourceMappingURL=SealedSenderMultiRecipientMessage.js.map
@@ -14,7 +14,6 @@ exports.sanitize = void 0;
14
14
  * @module WebpSanitizer
15
15
  */
16
16
  const Native = require("../Native");
17
- const BigIntUtil_1 = require("./zkgroup/internal/BigIntUtil");
18
17
  /**
19
18
  * Sanitize a WebP input.
20
19
  *
@@ -25,7 +24,7 @@ const BigIntUtil_1 = require("./zkgroup/internal/BigIntUtil");
25
24
  * @throws UnsupportedMediaInputError If the input could not be parsed because it's unsupported in some way.
26
25
  */
27
26
  function sanitize(input) {
28
- Native.WebpSanitizer_Sanitize(input, (0, BigIntUtil_1.bufferFromBigUInt64BE)(BigInt(input.length)));
27
+ Native.WebpSanitizer_Sanitize(input);
29
28
  }
30
29
  exports.sanitize = sanitize;
31
30
  //# sourceMappingURL=WebpSanitizer.js.map
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
669
669
 
670
670
  ```
671
671
 
672
- ## attest 0.1.0, device-transfer 0.1.0, libsignal-bridge 0.1.0, libsignal-bridge-macros 0.1.0, libsignal-core 0.1.0, libsignal-ffi 0.38.0, libsignal-jni 0.38.0, libsignal-message-backup 0.1.0, libsignal-net 0.1.0, libsignal-node 0.38.0, libsignal-protocol 0.1.0, libsignal-svr3 0.1.0, poksho 0.7.0, signal-crypto 0.1.0, signal-media 0.1.0, signal-neon-futures 0.1.0, signal-neon-futures-tests 0.1.0, signal-pin 0.1.0, usernames 0.1.0, zkcredential 0.1.0, zkgroup 0.9.0
672
+ ## attest 0.1.0, device-transfer 0.1.0, libsignal-bridge 0.1.0, libsignal-bridge-macros 0.1.0, libsignal-core 0.1.0, libsignal-ffi 0.39.2, libsignal-jni 0.39.2, libsignal-message-backup 0.1.0, libsignal-net 0.1.0, libsignal-node 0.39.2, libsignal-protocol 0.1.0, libsignal-svr3 0.1.0, poksho 0.7.0, signal-crypto 0.1.0, signal-media 0.1.0, signal-neon-futures 0.1.0, signal-neon-futures-tests 0.1.0, signal-pin 0.1.0, usernames 0.1.0, zkcredential 0.1.0, zkgroup 0.9.0
673
673
 
674
674
  ```
675
675
  GNU AFFERO GENERAL PUBLIC LICENSE
@@ -1118,7 +1118,7 @@ You should also get your employer (if you work as a programmer) or school, if an
1118
1118
 
1119
1119
  ```
1120
1120
 
1121
- ## clang-sys 1.6.1
1121
+ ## clang-sys 1.7.0
1122
1122
 
1123
1123
  ```
1124
1124
 
@@ -1533,7 +1533,7 @@ You should also get your employer (if you work as a programmer) or school, if an
1533
1533
 
1534
1534
  ```
1535
1535
 
1536
- ## ryu 1.0.15
1536
+ ## ryu 1.0.16
1537
1537
 
1538
1538
  ```
1539
1539
  Apache License
@@ -1715,7 +1715,7 @@ END OF TERMS AND CONDITIONS
1715
1715
 
1716
1716
  ```
1717
1717
 
1718
- ## prost 0.12.1, prost-build 0.12.1, prost-derive 0.12.1, prost-types 0.12.1
1718
+ ## prost 0.12.3, prost-build 0.12.3, prost-derive 0.12.3, prost-types 0.12.3
1719
1719
 
1720
1720
  ```
1721
1721
  Apache License
@@ -2324,7 +2324,7 @@ express Statement of Purpose.
2324
2324
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
2325
2325
  ```
2326
2326
 
2327
- ## libloading 0.6.7, libloading 0.7.4
2327
+ ## libloading 0.6.7, libloading 0.8.1
2328
2328
 
2329
2329
  ```
2330
2330
  Copyright © 2015, Simonas Kazlauskas
@@ -2342,7 +2342,7 @@ THIS SOFTWARE.
2342
2342
 
2343
2343
  ```
2344
2344
 
2345
- ## windows-core 0.51.1, windows-sys 0.45.0, windows-sys 0.48.0, windows-targets 0.42.2, windows-targets 0.48.5, windows_aarch64_msvc 0.42.2, windows_aarch64_msvc 0.48.5, windows_x86_64_gnu 0.48.5, windows_x86_64_msvc 0.42.2, windows_x86_64_msvc 0.48.5
2345
+ ## windows-core 0.52.0, windows-sys 0.45.0, windows-sys 0.48.0, windows-sys 0.52.0, windows-targets 0.42.2, windows-targets 0.48.5, windows-targets 0.52.0, windows_aarch64_msvc 0.42.2, windows_aarch64_msvc 0.48.5, windows_aarch64_msvc 0.52.0, windows_x86_64_gnu 0.48.5, windows_x86_64_gnu 0.52.0, windows_x86_64_msvc 0.42.2, windows_x86_64_msvc 0.48.5, windows_x86_64_msvc 0.52.0
2346
2346
 
2347
2347
  ```
2348
2348
  MIT License
@@ -2464,7 +2464,7 @@ DEALINGS IN THE SOFTWARE.
2464
2464
 
2465
2465
  ```
2466
2466
 
2467
- ## core-foundation 0.9.3, core-foundation-sys 0.8.4
2467
+ ## core-foundation 0.9.4, core-foundation-sys 0.8.6
2468
2468
 
2469
2469
  ```
2470
2470
  Copyright (c) 2012-2013 Mozilla Foundation
@@ -2521,7 +2521,7 @@ SOFTWARE.
2521
2521
 
2522
2522
  ```
2523
2523
 
2524
- ## form_urlencoded 1.2.0
2524
+ ## form_urlencoded 1.2.1
2525
2525
 
2526
2526
  ```
2527
2527
  Copyright (c) 2013-2016 The rust-url developers
@@ -2552,7 +2552,7 @@ DEALINGS IN THE SOFTWARE.
2552
2552
 
2553
2553
  ```
2554
2554
 
2555
- ## idna 0.4.0, percent-encoding 2.3.0, url 2.4.1
2555
+ ## idna 0.5.0, percent-encoding 2.3.1, url 2.5.0
2556
2556
 
2557
2557
  ```
2558
2558
  Copyright (c) 2013-2022 The rust-url developers
@@ -2677,7 +2677,7 @@ DEALINGS IN THE SOFTWARE.
2677
2677
 
2678
2678
  ```
2679
2679
 
2680
- ## mio 0.8.9
2680
+ ## mio 0.8.10
2681
2681
 
2682
2682
  ```
2683
2683
  Copyright (c) 2014 Carl Lerche and other MIO contributors
@@ -2765,7 +2765,7 @@ DEALINGS IN THE SOFTWARE.
2765
2765
 
2766
2766
  ```
2767
2767
 
2768
- ## uuid 1.5.0
2768
+ ## uuid 1.6.1
2769
2769
 
2770
2770
  ```
2771
2771
  Copyright (c) 2014 The Rust Project Developers
@@ -2823,7 +2823,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2823
2823
 
2824
2824
  ```
2825
2825
 
2826
- ## libc 0.2.149
2826
+ ## libc 0.2.152
2827
2827
 
2828
2828
  ```
2829
2829
  Copyright (c) 2014-2020 The Rust Project Developers
@@ -2854,7 +2854,7 @@ DEALINGS IN THE SOFTWARE.
2854
2854
 
2855
2855
  ```
2856
2856
 
2857
- ## hyper 1.0.0-rc.4
2857
+ ## hyper 1.1.0
2858
2858
 
2859
2859
  ```
2860
2860
  Copyright (c) 2014-2021 Sean McArthur
@@ -2961,7 +2961,32 @@ THE SOFTWARE.
2961
2961
 
2962
2962
  ```
2963
2963
 
2964
- ## tempfile 3.8.1
2964
+ ## anstyle-wincon 3.0.2
2965
+
2966
+ ```
2967
+ Copyright (c) 2015 Josh Triplett, 2022 The rust-cli Developers
2968
+
2969
+ Permission is hereby granted, free of charge, to any person obtaining a copy
2970
+ of this software and associated documentation files (the "Software"), to deal
2971
+ in the Software without restriction, including without limitation the rights
2972
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2973
+ copies of the Software, and to permit persons to whom the Software is
2974
+ furnished to do so, subject to the following conditions:
2975
+
2976
+ The above copyright notice and this permission notice shall be included in all
2977
+ copies or substantial portions of the Software.
2978
+
2979
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2980
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2981
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2982
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2983
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2984
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2985
+ SOFTWARE.
2986
+
2987
+ ```
2988
+
2989
+ ## tempfile 3.9.0
2965
2990
 
2966
2991
  ```
2967
2992
  Copyright (c) 2015 Steven Allen
@@ -2992,7 +3017,7 @@ DEALINGS IN THE SOFTWARE.
2992
3017
 
2993
3018
  ```
2994
3019
 
2995
- ## object 0.32.1
3020
+ ## object 0.32.2
2996
3021
 
2997
3022
  ```
2998
3023
  Copyright (c) 2015 The Gimli Developers
@@ -3023,7 +3048,7 @@ DEALINGS IN THE SOFTWARE.
3023
3048
 
3024
3049
  ```
3025
3050
 
3026
- ## gimli 0.28.0, heck 0.3.3, heck 0.4.1, peeking_take_while 0.1.2, unicode-bidi 0.3.13, unicode-normalization 0.1.22, unicode-segmentation 1.10.1
3051
+ ## gimli 0.28.1, heck 0.3.3, heck 0.4.1, peeking_take_while 0.1.2, unicode-bidi 0.3.14, unicode-normalization 0.1.22, unicode-segmentation 1.10.1
3027
3052
 
3028
3053
  ```
3029
3054
  Copyright (c) 2015 The Rust Project Developers
@@ -3104,7 +3129,7 @@ THE SOFTWARE.
3104
3129
 
3105
3130
  ```
3106
3131
 
3107
- ## schannel 0.1.22
3132
+ ## schannel 0.1.23
3108
3133
 
3109
3134
  ```
3110
3135
  Copyright (c) 2015 steffengy
@@ -3230,7 +3255,7 @@ SOFTWARE.
3230
3255
 
3231
3256
  ```
3232
3257
 
3233
- ## hkdf 0.12.3
3258
+ ## hkdf 0.12.4
3234
3259
 
3235
3260
  ```
3236
3261
  Copyright (c) 2015-2018 Vlad Filippov
@@ -3262,7 +3287,7 @@ DEALINGS IN THE SOFTWARE.
3262
3287
 
3263
3288
  ```
3264
3289
 
3265
- ## poly1305 0.7.2, poly1305 0.8.0
3290
+ ## poly1305 0.8.0
3266
3291
 
3267
3292
  ```
3268
3293
  Copyright (c) 2015-2019 RustCrypto Developers
@@ -3319,7 +3344,7 @@ THE SOFTWARE.
3319
3344
 
3320
3345
  ```
3321
3346
 
3322
- ## futures 0.3.29, futures-channel 0.3.29, futures-core 0.3.29, futures-executor 0.3.29, futures-io 0.3.29, futures-macro 0.3.29, futures-sink 0.3.29, futures-task 0.3.29, futures-util 0.3.29
3347
+ ## futures 0.3.30, futures-channel 0.3.30, futures-core 0.3.30, futures-executor 0.3.30, futures-io 0.3.30, futures-macro 0.3.30, futures-sink 0.3.30, futures-task 0.3.30, futures-util 0.3.30
3323
3348
 
3324
3349
  ```
3325
3350
  Copyright (c) 2016 Alex Crichton
@@ -3351,7 +3376,7 @@ DEALINGS IN THE SOFTWARE.
3351
3376
 
3352
3377
  ```
3353
3378
 
3354
- ## hashbrown 0.12.3, hashbrown 0.14.2
3379
+ ## hashbrown 0.12.3, hashbrown 0.14.3
3355
3380
 
3356
3381
  ```
3357
3382
  Copyright (c) 2016 Amanieu d'Antras
@@ -3382,10 +3407,10 @@ DEALINGS IN THE SOFTWARE.
3382
3407
 
3383
3408
  ```
3384
3409
 
3385
- ## rustls-native-certs 0.6.3, rustls-pemfile 1.0.3
3410
+ ## utf8parse 0.2.1
3386
3411
 
3387
3412
  ```
3388
- Copyright (c) 2016 Joseph Birr-Pixton <jpixton@gmail.com>
3413
+ Copyright (c) 2016 Joe Wilm
3389
3414
 
3390
3415
  Permission is hereby granted, free of charge, to any
3391
3416
  person obtaining a copy of this software and associated
@@ -3413,10 +3438,10 @@ DEALINGS IN THE SOFTWARE.
3413
3438
 
3414
3439
  ```
3415
3440
 
3416
- ## assert_matches 1.5.0
3441
+ ## anstyle-parse 0.2.3
3417
3442
 
3418
3443
  ```
3419
- Copyright (c) 2016 Murarth
3444
+ Copyright (c) 2016 Joe Wilm and individual contributors
3420
3445
 
3421
3446
  Permission is hereby granted, free of charge, to any
3422
3447
  person obtaining a copy of this software and associated
@@ -3444,28 +3469,65 @@ DEALINGS IN THE SOFTWARE.
3444
3469
 
3445
3470
  ```
3446
3471
 
3447
- ## httpdate 1.0.3
3472
+ ## rustls-native-certs 0.6.3, rustls-pemfile 1.0.4
3448
3473
 
3449
3474
  ```
3450
- Copyright (c) 2016 Pyfisch
3475
+ Copyright (c) 2016 Joseph Birr-Pixton <jpixton@gmail.com>
3451
3476
 
3452
- Permission is hereby granted, free of charge, to any person obtaining a copy
3453
- of this software and associated documentation files (the "Software"), to deal
3454
- in the Software without restriction, including without limitation the rights
3455
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3456
- copies of the Software, and to permit persons to whom the Software is
3457
- furnished to do so, subject to the following conditions:
3477
+ Permission is hereby granted, free of charge, to any
3478
+ person obtaining a copy of this software and associated
3479
+ documentation files (the "Software"), to deal in the
3480
+ Software without restriction, including without
3481
+ limitation the rights to use, copy, modify, merge,
3482
+ publish, distribute, sublicense, and/or sell copies of
3483
+ the Software, and to permit persons to whom the Software
3484
+ is furnished to do so, subject to the following
3485
+ conditions:
3458
3486
 
3459
- The above copyright notice and this permission notice shall be included in
3460
- all copies or substantial portions of the Software.
3487
+ The above copyright notice and this permission notice
3488
+ shall be included in all copies or substantial portions
3489
+ of the Software.
3461
3490
 
3462
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3463
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3464
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3465
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3466
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3467
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
3468
- THE SOFTWARE.
3491
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
3492
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
3493
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
3494
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
3495
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3496
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
3497
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
3498
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3499
+ DEALINGS IN THE SOFTWARE.
3500
+
3501
+ ```
3502
+
3503
+ ## assert_matches 1.5.0
3504
+
3505
+ ```
3506
+ Copyright (c) 2016 Murarth
3507
+
3508
+ Permission is hereby granted, free of charge, to any
3509
+ person obtaining a copy of this software and associated
3510
+ documentation files (the "Software"), to deal in the
3511
+ Software without restriction, including without
3512
+ limitation the rights to use, copy, modify, merge,
3513
+ publish, distribute, sublicense, and/or sell copies of
3514
+ the Software, and to permit persons to whom the Software
3515
+ is furnished to do so, subject to the following
3516
+ conditions:
3517
+
3518
+ The above copyright notice and this permission notice
3519
+ shall be included in all copies or substantial portions
3520
+ of the Software.
3521
+
3522
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
3523
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
3524
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
3525
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
3526
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3527
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
3528
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
3529
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3530
+ DEALINGS IN THE SOFTWARE.
3469
3531
 
3470
3532
  ```
3471
3533
 
@@ -3743,7 +3805,7 @@ DEALINGS IN THE SOFTWARE.
3743
3805
 
3744
3806
  ```
3745
3807
 
3746
- ## cipher 0.3.0, cipher 0.4.4
3808
+ ## cipher 0.4.4
3747
3809
 
3748
3810
  ```
3749
3811
  Copyright (c) 2016-2020 RustCrypto Developers
@@ -3774,7 +3836,7 @@ DEALINGS IN THE SOFTWARE.
3774
3836
 
3775
3837
  ```
3776
3838
 
3777
- ## tungstenite 0.19.0
3839
+ ## tungstenite 0.21.0
3778
3840
 
3779
3841
  ```
3780
3842
  Copyright (c) 2017 Alexey Galakhov
@@ -3831,7 +3893,7 @@ DEALINGS IN THE SOFTWARE.
3831
3893
 
3832
3894
  ```
3833
3895
 
3834
- ## bitstream-io 1.8.0
3896
+ ## bitstream-io 1.10.0
3835
3897
 
3836
3898
  ```
3837
3899
  Copyright (c) 2017 Brian Langenberger
@@ -3893,7 +3955,7 @@ DEALINGS IN THE SOFTWARE.
3893
3955
 
3894
3956
  ```
3895
3957
 
3896
- ## tokio-tungstenite 0.19.0
3958
+ ## tokio-tungstenite 0.21.0
3897
3959
 
3898
3960
  ```
3899
3961
  Copyright (c) 2017 Daniel Abramov
@@ -3919,30 +3981,6 @@ THE SOFTWARE.
3919
3981
 
3920
3982
  ```
3921
3983
 
3922
- ## memoffset 0.9.0
3923
-
3924
- ```
3925
- Copyright (c) 2017 Gilad Naaman
3926
-
3927
- Permission is hereby granted, free of charge, to any person obtaining a copy
3928
- of this software and associated documentation files (the "Software"), to deal
3929
- in the Software without restriction, including without limitation the rights
3930
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3931
- copies of the Software, and to permit persons to whom the Software is
3932
- furnished to do so, subject to the following conditions:
3933
-
3934
- The above copyright notice and this permission notice shall be included in all
3935
- copies or substantial portions of the Software.
3936
-
3937
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3938
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3939
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3940
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3941
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3942
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3943
- SOFTWARE.
3944
- ```
3945
-
3946
3984
  ## foreign-types 0.5.0, foreign-types-macros 0.2.3, foreign-types-shared 0.3.1
3947
3985
 
3948
3986
  ```
@@ -3968,7 +4006,7 @@ SOFTWARE.
3968
4006
 
3969
4007
  ```
3970
4008
 
3971
- ## h2 0.3.21
4009
+ ## h2 0.4.1
3972
4010
 
3973
4011
  ```
3974
4012
  Copyright (c) 2017 h2 authors
@@ -3999,7 +4037,7 @@ DEALINGS IN THE SOFTWARE.
3999
4037
 
4000
4038
  ```
4001
4039
 
4002
- ## http 0.2.9
4040
+ ## http 1.0.0
4003
4041
 
4004
4042
  ```
4005
4043
  Copyright (c) 2017 http-rs authors
@@ -4061,7 +4099,7 @@ DEALINGS IN THE SOFTWARE.
4061
4099
 
4062
4100
  ```
4063
4101
 
4064
- ## aes 0.7.5, aes 0.8.3, ctr 0.7.0
4102
+ ## aes 0.8.3
4065
4103
 
4066
4104
  ```
4067
4105
  Copyright (c) 2018 Artyom Pavlov
@@ -4217,34 +4255,7 @@ DEALINGS IN THE SOFTWARE.
4217
4255
 
4218
4256
  ```
4219
4257
 
4220
- ## try-lock 0.2.4
4221
-
4222
- ```
4223
- Copyright (c) 2018 Sean McArthur
4224
- Copyright (c) 2016 Alex Crichton
4225
-
4226
- Permission is hereby granted, free of charge, to any person obtaining a copy
4227
- of this software and associated documentation files (the "Software"), to deal
4228
- in the Software without restriction, including without limitation the rights
4229
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4230
- copies of the Software, and to permit persons to whom the Software is
4231
- furnished to do so, subject to the following conditions:
4232
-
4233
- The above copyright notice and this permission notice shall be included in
4234
- all copies or substantial portions of the Software.
4235
-
4236
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4237
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4238
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4239
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4240
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4241
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4242
- THE SOFTWARE.
4243
-
4244
-
4245
- ```
4246
-
4247
- ## smallvec 1.11.1
4258
+ ## smallvec 1.11.2
4248
4259
 
4249
4260
  ```
4250
4261
  Copyright (c) 2018 The Servo Project Developers
@@ -4363,7 +4374,7 @@ DEALINGS IN THE SOFTWARE.
4363
4374
 
4364
4375
  ```
4365
4376
 
4366
- ## platforms 3.2.0
4377
+ ## platforms 3.3.0
4367
4378
 
4368
4379
  ```
4369
4380
  Copyright (c) 2018-2020 The Rust Secure Code Working Group
@@ -4426,10 +4437,38 @@ DEALINGS IN THE SOFTWARE.
4426
4437
 
4427
4438
  ```
4428
4439
 
4429
- ## slab 0.4.9
4440
+ ## try-lock 0.2.5
4430
4441
 
4431
4442
  ```
4432
- Copyright (c) 2019 Carl Lerche
4443
+ Copyright (c) 2018-2023 Sean McArthur
4444
+ Copyright (c) 2016 Alex Crichton
4445
+
4446
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4447
+ of this software and associated documentation files (the "Software"), to deal
4448
+ in the Software without restriction, including without limitation the rights
4449
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4450
+ copies of the Software, and to permit persons to whom the Software is
4451
+ furnished to do so, subject to the following conditions:
4452
+
4453
+ The above copyright notice and this permission notice shall be included in
4454
+ all copies or substantial portions of the Software.
4455
+
4456
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4457
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4458
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4459
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4460
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4461
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4462
+ THE SOFTWARE.
4463
+
4464
+
4465
+ ```
4466
+
4467
+ ## getrandom 0.2.12
4468
+
4469
+ ```
4470
+ Copyright (c) 2018-2024 The rust-random Project Developers
4471
+ Copyright (c) 2014 The Rust Project Developers
4433
4472
 
4434
4473
  Permission is hereby granted, free of charge, to any
4435
4474
  person obtaining a copy of this software and associated
@@ -4457,10 +4496,10 @@ DEALINGS IN THE SOFTWARE.
4457
4496
 
4458
4497
  ```
4459
4498
 
4460
- ## chacha20 0.8.2
4499
+ ## slab 0.4.9
4461
4500
 
4462
4501
  ```
4463
- Copyright (c) 2019 Eric McCorkle
4502
+ Copyright (c) 2019 Carl Lerche
4464
4503
 
4465
4504
  Permission is hereby granted, free of charge, to any
4466
4505
  person obtaining a copy of this software and associated
@@ -4488,7 +4527,7 @@ DEALINGS IN THE SOFTWARE.
4488
4527
 
4489
4528
  ```
4490
4529
 
4491
- ## http-body 1.0.0-rc.2, http-body-util 0.1.0-rc.3
4530
+ ## http-body 1.0.0, http-body-util 0.1.0
4492
4531
 
4493
4532
  ```
4494
4533
  Copyright (c) 2019 Hyper Contributors
@@ -4519,7 +4558,7 @@ DEALINGS IN THE SOFTWARE.
4519
4558
 
4520
4559
  ```
4521
4560
 
4522
- ## ghash 0.4.4, ghash 0.5.0, polyval 0.5.3
4561
+ ## ghash 0.5.0
4523
4562
 
4524
4563
  ```
4525
4564
  Copyright (c) 2019 RustCrypto Developers
@@ -4550,6 +4589,30 @@ DEALINGS IN THE SOFTWARE.
4550
4589
 
4551
4590
  ```
4552
4591
 
4592
+ ## protobuf 3.3.0, protobuf-codegen 3.3.0
4593
+
4594
+ ```
4595
+ Copyright (c) 2019 Stepan Koltsov
4596
+
4597
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4598
+ of this software and associated documentation files (the "Software"), to deal
4599
+ in the Software without restriction, including without limitation the rights
4600
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4601
+ copies of the Software, and to permit persons to whom the Software is
4602
+ furnished to do so, subject to the following conditions:
4603
+
4604
+ The above copyright notice and this permission notice shall be included in all
4605
+ copies or substantial portions of the Software.
4606
+
4607
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4608
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4609
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
4610
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4611
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4612
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
4613
+ OR OTHER DEALINGS IN THE SOFTWARE.
4614
+ ```
4615
+
4553
4616
  ## ppv-lite86 0.2.17
4554
4617
 
4555
4618
  ```
@@ -4581,7 +4644,7 @@ DEALINGS IN THE SOFTWARE.
4581
4644
 
4582
4645
  ```
4583
4646
 
4584
- ## aes-gcm 0.9.2, aes-gcm-siv 0.11.1, chacha20poly1305 0.10.1, chacha20poly1305 0.9.1
4647
+ ## aes-gcm 0.10.3, aes-gcm-siv 0.11.1, chacha20poly1305 0.10.1
4585
4648
 
4586
4649
  ```
4587
4650
  Copyright (c) 2019 The RustCrypto Project Developers
@@ -4612,7 +4675,7 @@ DEALINGS IN THE SOFTWARE.
4612
4675
 
4613
4676
  ```
4614
4677
 
4615
- ## aead 0.4.3, aead 0.5.2
4678
+ ## aead 0.5.2
4616
4679
 
4617
4680
  ```
4618
4681
  Copyright (c) 2019 The RustCrypto Project Developers
@@ -4675,7 +4738,7 @@ DEALINGS IN THE SOFTWARE.
4675
4738
 
4676
4739
  ```
4677
4740
 
4678
- ## universal-hash 0.4.0, universal-hash 0.5.1
4741
+ ## universal-hash 0.5.1
4679
4742
 
4680
4743
  ```
4681
4744
  Copyright (c) 2019-2020 RustCrypto Developers
@@ -4768,7 +4831,7 @@ DEALINGS IN THE SOFTWARE.
4768
4831
 
4769
4832
  ```
4770
4833
 
4771
- ## iana-time-zone 0.1.58
4834
+ ## iana-time-zone 0.1.59
4772
4835
 
4773
4836
  ```
4774
4837
  Copyright (c) 2020 Andrew D. Straw
@@ -4830,7 +4893,7 @@ DEALINGS IN THE SOFTWARE.
4830
4893
 
4831
4894
  ```
4832
4895
 
4833
- ## cpufeatures 0.2.11
4896
+ ## cpufeatures 0.2.12
4834
4897
 
4835
4898
  ```
4836
4899
  Copyright (c) 2020 The RustCrypto Project Developers
@@ -4986,6 +5049,31 @@ DEALINGS IN THE SOFTWARE.
4986
5049
 
4987
5050
  ```
4988
5051
 
5052
+ ## anstyle 1.0.4
5053
+
5054
+ ```
5055
+ Copyright (c) 2022 The rust-cli Developers
5056
+
5057
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5058
+ of this software and associated documentation files (the "Software"), to deal
5059
+ in the Software without restriction, including without limitation the rights
5060
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5061
+ copies of the Software, and to permit persons to whom the Software is
5062
+ furnished to do so, subject to the following conditions:
5063
+
5064
+ The above copyright notice and this permission notice shall be included in all
5065
+ copies or substantial portions of the Software.
5066
+
5067
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5068
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5069
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5070
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5071
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5072
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5073
+ SOFTWARE.
5074
+
5075
+ ```
5076
+
4989
5077
  ## mediasan-common 0.5.1, mp4san 0.5.1, mp4san-derive 0.5.1, webpsan 0.5.1
4990
5078
 
4991
5079
  ```
@@ -5011,7 +5099,7 @@ SOFTWARE.
5011
5099
 
5012
5100
  ```
5013
5101
 
5014
- ## tokio 1.33.0, tokio-macros 2.1.0, tokio-util 0.7.10
5102
+ ## tokio 1.35.1, tokio-macros 2.2.0, tokio-util 0.7.10
5015
5103
 
5016
5104
  ```
5017
5105
  Copyright (c) 2023 Tokio Contributors
@@ -5042,7 +5130,7 @@ DEALINGS IN THE SOFTWARE.
5042
5130
 
5043
5131
  ```
5044
5132
 
5045
- ## toml_datetime 0.6.5, toml_edit 0.19.15
5133
+ ## anstream 0.6.7, anstyle-query 1.0.2, clap 4.4.16, colorchoice 1.0.0, toml_datetime 0.6.5, toml_edit 0.19.15
5046
5134
 
5047
5135
  ```
5048
5136
  Copyright (c) Individual contributors
@@ -5067,6 +5155,18 @@ SOFTWARE.
5067
5155
 
5068
5156
  ```
5069
5157
 
5158
+ ## clap-stdin 0.3.0
5159
+
5160
+ ```
5161
+ Copyright (c) Matthew Wood
5162
+
5163
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5164
+
5165
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
5166
+
5167
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5168
+ ```
5169
+
5070
5170
  ## arrayvec 0.7.4
5071
5171
 
5072
5172
  ```
@@ -5098,7 +5198,7 @@ DEALINGS IN THE SOFTWARE.
5098
5198
 
5099
5199
  ```
5100
5200
 
5101
- ## getrandom 0.2.10, rand 0.8.5, rand_chacha 0.3.1, rand_core 0.6.4
5201
+ ## rand 0.8.5, rand_chacha 0.3.1, rand_core 0.6.4
5102
5202
 
5103
5203
  ```
5104
5204
  Copyright 2018 Developers of the Rand project
@@ -5292,7 +5392,7 @@ SOFTWARE.
5292
5392
 
5293
5393
  ```
5294
5394
 
5295
- ## zeroize 1.6.0
5395
+ ## zeroize 1.7.0
5296
5396
 
5297
5397
  ```
5298
5398
  MIT License
@@ -5427,7 +5527,7 @@ SOFTWARE.
5427
5527
 
5428
5528
  ```
5429
5529
 
5430
- ## snow 0.9.3
5530
+ ## snow 0.9.4
5431
5531
 
5432
5532
  ```
5433
5533
  MIT License
@@ -5481,7 +5581,7 @@ SOFTWARE.
5481
5581
 
5482
5582
  ```
5483
5583
 
5484
- ## cesu8 1.1.0, curve25519-dalek-derive 0.1.0, half 1.8.2, pqcrypto-internals 0.2.5, pqcrypto-kyber 0.7.9, pqcrypto-kyber 0.8.0, pqcrypto-traits 0.3.5
5584
+ ## cesu8 1.1.0, curve25519-dalek-derive 0.1.0, half 1.8.2, pqcrypto-internals 0.2.5, pqcrypto-kyber 0.7.9, pqcrypto-kyber 0.8.0, pqcrypto-traits 0.3.5, protobuf-parse 3.3.0, protobuf-support 3.3.0
5485
5585
 
5486
5586
  ```
5487
5587
  MIT License
@@ -5595,7 +5695,7 @@ DEALINGS IN THE SOFTWARE.
5595
5695
 
5596
5696
  ```
5597
5697
 
5598
- ## adler 1.0.2, anyhow 1.0.75, async-trait 0.1.74, dyn-clone 1.0.14, fastrand 2.0.1, home 0.5.5, itoa 1.0.9, linkme 0.3.17, linkme-impl 0.3.17, linux-raw-sys 0.4.10, minimal-lexical 0.2.1, num_enum 0.6.1, num_enum_derive 0.6.1, once_cell 1.18.0, paste 1.0.14, pin-project-lite 0.2.13, prettyplease 0.2.15, proc-macro-crate 1.3.1, proc-macro2 1.0.69, quote 1.0.33, rustc-hash 1.1.0, rustix 0.38.21, semver 1.0.20, serde 1.0.190, serde_derive 1.0.190, serde_json 1.0.108, syn 1.0.109, syn 2.0.38, syn-mid 0.5.4, thiserror 1.0.50, thiserror-impl 1.0.50, unicode-ident 1.0.12, utf-8 0.7.6
5698
+ ## adler 1.0.2, anyhow 1.0.79, async-trait 0.1.77, dyn-clone 1.0.16, fastrand 2.0.1, home 0.5.9, itoa 1.0.10, linkme 0.3.22, linkme-impl 0.3.22, linux-raw-sys 0.4.12, minimal-lexical 0.2.1, num_enum 0.6.1, num_enum_derive 0.6.1, once_cell 1.19.0, paste 1.0.14, pin-project-lite 0.2.13, prettyplease 0.2.16, proc-macro-crate 1.3.1, proc-macro2 1.0.76, quote 1.0.35, rustc-hash 1.1.0, rustix 0.38.28, semver 1.0.21, serde 1.0.195, serde_derive 1.0.195, serde_json 1.0.111, syn 1.0.109, syn 2.0.48, syn-mid 0.5.4, thiserror 1.0.56, thiserror-impl 1.0.56, unicode-ident 1.0.12, utf-8 0.7.6
5599
5699
 
5600
5700
  ```
5601
5701
  Permission is hereby granted, free of charge, to any
@@ -5653,7 +5753,7 @@ DEALINGS IN THE SOFTWARE.
5653
5753
 
5654
5754
  ```
5655
5755
 
5656
- ## winnow 0.5.18
5756
+ ## winnow 0.5.34
5657
5757
 
5658
5758
  ```
5659
5759
  Permission is hereby granted, free of charge, to any person obtaining
@@ -5767,7 +5867,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
5767
5867
  THE SOFTWARE.
5768
5868
  ```
5769
5869
 
5770
- ## base64 0.21.5
5870
+ ## base64 0.21.7
5771
5871
 
5772
5872
  ```
5773
5873
  The MIT License (MIT)
@@ -5794,7 +5894,7 @@ THE SOFTWARE.
5794
5894
 
5795
5895
  ```
5796
5896
 
5797
- ## aho-corasick 1.1.2, byteorder 1.5.0, memchr 2.6.4, walkdir 2.4.0
5897
+ ## aho-corasick 1.1.2, byteorder 1.5.0, memchr 2.7.1, walkdir 2.4.0
5798
5898
 
5799
5899
  ```
5800
5900
  The MIT License (MIT)
@@ -5931,7 +6031,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5931
6031
 
5932
6032
  ```
5933
6033
 
5934
- ## data-encoding 2.4.0
6034
+ ## data-encoding 2.5.0
5935
6035
 
5936
6036
  ```
5937
6037
  The MIT License (MIT)
@@ -5959,6 +6059,33 @@ SOFTWARE.
5959
6059
 
5960
6060
  ```
5961
6061
 
6062
+ ## clap_builder 4.4.16, clap_derive 4.4.7, clap_lex 0.6.0
6063
+
6064
+ ```
6065
+ The MIT License (MIT)
6066
+
6067
+ Copyright (c) 2015-2022 Kevin B. Knapp and Clap Contributors
6068
+
6069
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6070
+ of this software and associated documentation files (the "Software"), to deal
6071
+ in the Software without restriction, including without limitation the rights
6072
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6073
+ copies of the Software, and to permit persons to whom the Software is
6074
+ furnished to do so, subject to the following conditions:
6075
+
6076
+ The above copyright notice and this permission notice shall be included in all
6077
+ copies or substantial portions of the Software.
6078
+
6079
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6080
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6081
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
6082
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6083
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
6084
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
6085
+ SOFTWARE.
6086
+
6087
+ ```
6088
+
5962
6089
  ## derive_more 0.99.17
5963
6090
 
5964
6091
  ```
@@ -6094,7 +6221,7 @@ SOFTWARE.
6094
6221
 
6095
6222
  ```
6096
6223
 
6097
- ## crossbeam-deque 0.8.3, crossbeam-epoch 0.9.15, crossbeam-utils 0.8.16
6224
+ ## crossbeam-deque 0.8.5, crossbeam-epoch 0.9.18, crossbeam-utils 0.8.19
6098
6225
 
6099
6226
  ```
6100
6227
  The MIT License (MIT)
@@ -4,6 +4,10 @@ export type UsernameLink = {
4
4
  encryptedUsername: Buffer;
5
5
  };
6
6
  export declare function generateCandidates(nickname: string, minNicknameLength: number, maxNicknameLength: number): string[];
7
+ export declare function fromParts(nickname: string, discriminator: string, minNicknameLength: number, maxNicknameLength: number): {
8
+ username: string;
9
+ hash: Buffer;
10
+ };
7
11
  export declare function hash(username: string): Buffer;
8
12
  export declare function generateProof(username: string): Buffer;
9
13
  export declare function generateProofWithRandom(username: string, random: Buffer): Buffer;
package/dist/usernames.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // SPDX-License-Identifier: AGPL-3.0-only
5
5
  //
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.verifyProof = exports.createUsernameLink = exports.decryptUsernameLink = exports.generateProofWithRandom = exports.generateProof = exports.hash = exports.generateCandidates = void 0;
7
+ exports.verifyProof = exports.createUsernameLink = exports.decryptUsernameLink = exports.generateProofWithRandom = exports.generateProof = exports.hash = exports.fromParts = exports.generateCandidates = void 0;
8
8
  /* eslint @typescript-eslint/no-shadow: ["error", { "allow": ["hash"] }] */
9
9
  const crypto_1 = require("crypto");
10
10
  const Constants_1 = require("./zkgroup/internal/Constants");
@@ -13,6 +13,13 @@ function generateCandidates(nickname, minNicknameLength, maxNicknameLength) {
13
13
  return Native.Username_CandidatesFrom(nickname, minNicknameLength, maxNicknameLength).split(',');
14
14
  }
15
15
  exports.generateCandidates = generateCandidates;
16
+ function fromParts(nickname, discriminator, minNicknameLength, maxNicknameLength) {
17
+ const hash = Native.Username_HashFromParts(nickname, discriminator, minNicknameLength, maxNicknameLength);
18
+ // If we generated the hash correctly, we can format the nickname and discriminator manually.
19
+ const username = `${nickname}.${discriminator}`;
20
+ return { username, hash };
21
+ }
22
+ exports.fromParts = fromParts;
16
23
  function hash(username) {
17
24
  return Native.Username_Hash(username);
18
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalapp/libsignal-client",
3
- "version": "0.38.0",
3
+ "version": "0.39.2",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "clean": "rimraf dist build prebuilds",
24
24
  "test": "mocha --recursive dist/test --require source-map-support/register",
25
25
  "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
26
- "format": "p() { prettier ${@:- --write} '**/*.{css,js,json,md,scss,ts,tsx}'; }; p",
26
+ "format": "p() { prettier ${@:- --write} '**/*.{css,js,json,md,scss,ts,tsx}' ../rust/bridge/node/bin/Native.d.ts.in; }; p",
27
27
  "prepack": "cp ../acknowledgments/acknowledgments.md dist"
28
28
  },
29
29
  "dependencies": {
@@ -52,6 +52,7 @@
52
52
  "eslint-plugin-more": "^1.0.0",
53
53
  "mocha": "^9",
54
54
  "node-gyp": "^10.0.0",
55
+ "prebuildify": "^5.0.1",
55
56
  "prettier": "^2.7.1",
56
57
  "rimraf": "^3.0.1",
57
58
  "source-map-support": "^0.5.19",
Binary file
Binary file
Binary file