@signalapp/libsignal-client 0.37.0 → 0.39.1

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
@@ -423,6 +423,7 @@ export function UsernameLink_Create(username: string, entropy: Buffer | null): B
423
423
  export function UsernameLink_DecryptUsername(entropy: Buffer, encryptedUsername: Buffer): string;
424
424
  export function Username_CandidatesFrom(nickname: string, minLen: number, maxLen: number): string;
425
425
  export function Username_Hash(username: string): Buffer;
426
+ export function Username_HashFromParts(nickname: string, discriminator: string, minLen: number, maxLen: number): Buffer;
426
427
  export function Username_Proof(username: string, randomness: Buffer): Buffer;
427
428
  export function Username_Verify(proof: Buffer, hash: Buffer): void;
428
429
  export function UuidCiphertext_CheckValidContents(buffer: Buffer): void;
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) {
@@ -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.37.0, libsignal-jni 0.37.0, libsignal-net 0.1.0, libsignal-node 0.37.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.1, libsignal-jni 0.39.1, libsignal-message-backup 0.1.0, libsignal-net 0.1.0, libsignal-node 0.39.1, 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
@@ -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.51.1, 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
@@ -2583,7 +2583,7 @@ DEALINGS IN THE SOFTWARE.
2583
2583
 
2584
2584
  ```
2585
2585
 
2586
- ## backtrace 0.3.69, cc 1.0.83, cfg-if 1.0.0, cmake 0.1.48, openssl-probe 0.1.5, rustc-demangle 0.1.23, socket2 0.5.5
2586
+ ## backtrace 0.3.69, cc 1.0.83, cfg-if 1.0.0, cmake 0.1.48, flate2 1.0.28, openssl-probe 0.1.5, rustc-demangle 0.1.23, socket2 0.5.5
2587
2587
 
2588
2588
  ```
2589
2589
  Copyright (c) 2014 Alex Crichton
@@ -2961,6 +2961,31 @@ THE SOFTWARE.
2961
2961
 
2962
2962
  ```
2963
2963
 
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
+
2964
2989
  ## tempfile 3.8.1
2965
2990
 
2966
2991
  ```
@@ -3319,7 +3344,7 @@ THE SOFTWARE.
3319
3344
 
3320
3345
  ```
3321
3346
 
3322
- ## futures-channel 0.3.29, futures-core 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.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
3323
3348
 
3324
3349
  ```
3325
3350
  Copyright (c) 2016 Alex Crichton
@@ -3382,6 +3407,68 @@ DEALINGS IN THE SOFTWARE.
3382
3407
 
3383
3408
  ```
3384
3409
 
3410
+ ## utf8parse 0.2.1
3411
+
3412
+ ```
3413
+ Copyright (c) 2016 Joe Wilm
3414
+
3415
+ Permission is hereby granted, free of charge, to any
3416
+ person obtaining a copy of this software and associated
3417
+ documentation files (the "Software"), to deal in the
3418
+ Software without restriction, including without
3419
+ limitation the rights to use, copy, modify, merge,
3420
+ publish, distribute, sublicense, and/or sell copies of
3421
+ the Software, and to permit persons to whom the Software
3422
+ is furnished to do so, subject to the following
3423
+ conditions:
3424
+
3425
+ The above copyright notice and this permission notice
3426
+ shall be included in all copies or substantial portions
3427
+ of the Software.
3428
+
3429
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
3430
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
3431
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
3432
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
3433
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3434
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
3435
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
3436
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3437
+ DEALINGS IN THE SOFTWARE.
3438
+
3439
+ ```
3440
+
3441
+ ## anstyle-parse 0.2.3
3442
+
3443
+ ```
3444
+ Copyright (c) 2016 Joe Wilm and individual contributors
3445
+
3446
+ Permission is hereby granted, free of charge, to any
3447
+ person obtaining a copy of this software and associated
3448
+ documentation files (the "Software"), to deal in the
3449
+ Software without restriction, including without
3450
+ limitation the rights to use, copy, modify, merge,
3451
+ publish, distribute, sublicense, and/or sell copies of
3452
+ the Software, and to permit persons to whom the Software
3453
+ is furnished to do so, subject to the following
3454
+ conditions:
3455
+
3456
+ The above copyright notice and this permission notice
3457
+ shall be included in all copies or substantial portions
3458
+ of the Software.
3459
+
3460
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
3461
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
3462
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
3463
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
3464
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
3465
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
3466
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
3467
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3468
+ DEALINGS IN THE SOFTWARE.
3469
+
3470
+ ```
3471
+
3385
3472
  ## rustls-native-certs 0.6.3, rustls-pemfile 1.0.3
3386
3473
 
3387
3474
  ```
@@ -4550,6 +4637,30 @@ DEALINGS IN THE SOFTWARE.
4550
4637
 
4551
4638
  ```
4552
4639
 
4640
+ ## protobuf 3.3.0, protobuf-codegen 3.3.0
4641
+
4642
+ ```
4643
+ Copyright (c) 2019 Stepan Koltsov
4644
+
4645
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4646
+ of this software and associated documentation files (the "Software"), to deal
4647
+ in the Software without restriction, including without limitation the rights
4648
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4649
+ copies of the Software, and to permit persons to whom the Software is
4650
+ furnished to do so, subject to the following conditions:
4651
+
4652
+ The above copyright notice and this permission notice shall be included in all
4653
+ copies or substantial portions of the Software.
4654
+
4655
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4656
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4657
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
4658
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4659
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4660
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
4661
+ OR OTHER DEALINGS IN THE SOFTWARE.
4662
+ ```
4663
+
4553
4664
  ## ppv-lite86 0.2.17
4554
4665
 
4555
4666
  ```
@@ -4986,6 +5097,31 @@ DEALINGS IN THE SOFTWARE.
4986
5097
 
4987
5098
  ```
4988
5099
 
5100
+ ## anstyle 1.0.4
5101
+
5102
+ ```
5103
+ Copyright (c) 2022 The rust-cli Developers
5104
+
5105
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5106
+ of this software and associated documentation files (the "Software"), to deal
5107
+ in the Software without restriction, including without limitation the rights
5108
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5109
+ copies of the Software, and to permit persons to whom the Software is
5110
+ furnished to do so, subject to the following conditions:
5111
+
5112
+ The above copyright notice and this permission notice shall be included in all
5113
+ copies or substantial portions of the Software.
5114
+
5115
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5116
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5117
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5118
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5119
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5120
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5121
+ SOFTWARE.
5122
+
5123
+ ```
5124
+
4989
5125
  ## mediasan-common 0.5.1, mp4san 0.5.1, mp4san-derive 0.5.1, webpsan 0.5.1
4990
5126
 
4991
5127
  ```
@@ -5042,7 +5178,7 @@ DEALINGS IN THE SOFTWARE.
5042
5178
 
5043
5179
  ```
5044
5180
 
5045
- ## toml_datetime 0.6.5, toml_edit 0.19.15
5181
+ ## anstream 0.6.5, anstyle-query 1.0.2, clap 4.4.11, colorchoice 1.0.0, toml_datetime 0.6.5, toml_edit 0.19.15
5046
5182
 
5047
5183
  ```
5048
5184
  Copyright (c) Individual contributors
@@ -5067,6 +5203,49 @@ SOFTWARE.
5067
5203
 
5068
5204
  ```
5069
5205
 
5206
+ ## clap-stdin 0.3.0
5207
+
5208
+ ```
5209
+ Copyright (c) Matthew Wood
5210
+
5211
+ 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:
5212
+
5213
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
5214
+
5215
+ 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.
5216
+ ```
5217
+
5218
+ ## arrayvec 0.7.4
5219
+
5220
+ ```
5221
+ Copyright (c) Ulrik Sverdrup "bluss" 2015-2023
5222
+
5223
+ Permission is hereby granted, free of charge, to any
5224
+ person obtaining a copy of this software and associated
5225
+ documentation files (the "Software"), to deal in the
5226
+ Software without restriction, including without
5227
+ limitation the rights to use, copy, modify, merge,
5228
+ publish, distribute, sublicense, and/or sell copies of
5229
+ the Software, and to permit persons to whom the Software
5230
+ is furnished to do so, subject to the following
5231
+ conditions:
5232
+
5233
+ The above copyright notice and this permission notice
5234
+ shall be included in all copies or substantial portions
5235
+ of the Software.
5236
+
5237
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
5238
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
5239
+ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
5240
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
5241
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
5242
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
5243
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
5244
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
5245
+ DEALINGS IN THE SOFTWARE.
5246
+
5247
+ ```
5248
+
5070
5249
  ## getrandom 0.2.10, rand 0.8.5, rand_chacha 0.3.1, rand_core 0.6.4
5071
5250
 
5072
5251
  ```
@@ -5234,6 +5413,33 @@ SOFTWARE.
5234
5413
 
5235
5414
  ```
5236
5415
 
5416
+ ## crc32fast 1.3.2
5417
+
5418
+ ```
5419
+ MIT License
5420
+
5421
+ Copyright (c) 2018 Sam Rijs, Alex Crichton and contributors
5422
+
5423
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5424
+ of this software and associated documentation files (the "Software"), to deal
5425
+ in the Software without restriction, including without limitation the rights
5426
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5427
+ copies of the Software, and to permit persons to whom the Software is
5428
+ furnished to do so, subject to the following conditions:
5429
+
5430
+ The above copyright notice and this permission notice shall be included in all
5431
+ copies or substantial portions of the Software.
5432
+
5433
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5434
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5435
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5436
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5437
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5438
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5439
+ SOFTWARE.
5440
+
5441
+ ```
5442
+
5237
5443
  ## zeroize 1.6.0
5238
5444
 
5239
5445
  ```
@@ -5396,7 +5602,7 @@ SOFTWARE.
5396
5602
 
5397
5603
  ```
5398
5604
 
5399
- ## derive-where 1.2.5
5605
+ ## derive-where 1.2.7
5400
5606
 
5401
5607
  ```
5402
5608
  MIT License
@@ -5423,7 +5629,7 @@ SOFTWARE.
5423
5629
 
5424
5630
  ```
5425
5631
 
5426
- ## cesu8 1.1.0, curve25519-dalek-derive 0.1.0, half 1.8.2, pqcrypto-internals 0.2.5, pqcrypto-kyber 0.7.6, pqcrypto-kyber 0.8.0, pqcrypto-traits 0.3.5
5632
+ ## 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
5427
5633
 
5428
5634
  ```
5429
5635
  MIT License
@@ -5901,6 +6107,33 @@ SOFTWARE.
5901
6107
 
5902
6108
  ```
5903
6109
 
6110
+ ## clap_builder 4.4.11, clap_derive 4.4.7, clap_lex 0.6.0
6111
+
6112
+ ```
6113
+ The MIT License (MIT)
6114
+
6115
+ Copyright (c) 2015-2022 Kevin B. Knapp and Clap Contributors
6116
+
6117
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6118
+ of this software and associated documentation files (the "Software"), to deal
6119
+ in the Software without restriction, including without limitation the rights
6120
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6121
+ copies of the Software, and to permit persons to whom the Software is
6122
+ furnished to do so, subject to the following conditions:
6123
+
6124
+ The above copyright notice and this permission notice shall be included in all
6125
+ copies or substantial portions of the Software.
6126
+
6127
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6128
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6129
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
6130
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6131
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
6132
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
6133
+ SOFTWARE.
6134
+
6135
+ ```
6136
+
5904
6137
  ## derive_more 0.99.17
5905
6138
 
5906
6139
  ```
@@ -6009,6 +6242,33 @@ THE SOFTWARE.
6009
6242
 
6010
6243
  ```
6011
6244
 
6245
+ ## async-compression 0.4.5
6246
+
6247
+ ```
6248
+ The MIT License (MIT)
6249
+
6250
+ Copyright (c) 2018 the rustasync developers
6251
+
6252
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6253
+ of this software and associated documentation files (the "Software"), to deal
6254
+ in the Software without restriction, including without limitation the rights
6255
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6256
+ copies of the Software, and to permit persons to whom the Software is
6257
+ furnished to do so, subject to the following conditions:
6258
+
6259
+ The above copyright notice and this permission notice shall be included in all
6260
+ copies or substantial portions of the Software.
6261
+
6262
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6263
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6264
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
6265
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6266
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
6267
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
6268
+ SOFTWARE.
6269
+
6270
+ ```
6271
+
6012
6272
  ## crossbeam-deque 0.8.3, crossbeam-epoch 0.9.15, crossbeam-utils 0.8.16
6013
6273
 
6014
6274
  ```
@@ -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.37.0",
3
+ "version": "0.39.1",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -53,6 +53,7 @@
53
53
  "mocha": "^9",
54
54
  "node-gyp": "^10.0.0",
55
55
  "prettier": "^2.7.1",
56
+ "prebuildify": "^5.0.1",
56
57
  "rimraf": "^3.0.1",
57
58
  "source-map-support": "^0.5.19",
58
59
  "typescript": "4.9.3"
Binary file
Binary file
Binary file