@signalapp/libsignal-client
Advanced tools
Comparing version 0.36.1 to 0.37.0
@@ -22,2 +22,3 @@ /// <reference types="node" /> | ||
isEqual(other: ServiceId): boolean; | ||
static toConcatenatedFixedWidthBinary(serviceIds: ServiceId[]): Buffer; | ||
} | ||
@@ -24,0 +25,0 @@ export declare class Aci extends ServiceId { |
@@ -81,2 +81,11 @@ "use strict"; | ||
} | ||
static toConcatenatedFixedWidthBinary(serviceIds) { | ||
const result = Buffer.alloc(serviceIds.length * SERVICE_ID_FIXED_WIDTH_BINARY_LEN); | ||
let offset = 0; | ||
for (const serviceId of serviceIds) { | ||
result.set(serviceId.serviceIdFixedWidthBinary, offset); | ||
offset += SERVICE_ID_FIXED_WIDTH_BINARY_LEN; | ||
} | ||
return result; | ||
} | ||
} | ||
@@ -83,0 +92,0 @@ exports.ServiceId = ServiceId; |
/// <reference types="node" /> | ||
export * from './Errors'; | ||
import { Aci, ProtocolAddress } from './Address'; | ||
import { Aci, ProtocolAddress, ServiceId } from './Address'; | ||
export * from './Address'; | ||
@@ -390,2 +390,10 @@ export * as usernames from './usernames'; | ||
export declare function sealedSenderEncrypt(content: UnidentifiedSenderMessageContent, address: ProtocolAddress, identityStore: IdentityKeyStore): Promise<Buffer>; | ||
type SealedSenderMultiRecipientEncryptOptions = { | ||
content: UnidentifiedSenderMessageContent; | ||
recipients: ProtocolAddress[]; | ||
excludedRecipients?: ServiceId[]; | ||
identityStore: IdentityKeyStore; | ||
sessionStore: SessionStore; | ||
}; | ||
export declare function sealedSenderMultiRecipientEncrypt(options: SealedSenderMultiRecipientEncryptOptions): Promise<Buffer>; | ||
export declare function sealedSenderMultiRecipientEncrypt(content: UnidentifiedSenderMessageContent, recipients: ProtocolAddress[], identityStore: IdentityKeyStore, sessionStore: SessionStore): Promise<Buffer>; | ||
@@ -392,0 +400,0 @@ export declare function sealedSenderMultiRecipientMessageForSingleRecipient(message: Buffer): Buffer; |
@@ -931,5 +931,20 @@ "use strict"; | ||
exports.sealedSenderEncrypt = sealedSenderEncrypt; | ||
async function sealedSenderMultiRecipientEncrypt(content, recipients, identityStore, sessionStore) { | ||
async function sealedSenderMultiRecipientEncrypt(contentOrOptions, recipients, identityStore, sessionStore) { | ||
let excludedRecipients = undefined; | ||
if (contentOrOptions instanceof UnidentifiedSenderMessageContent) { | ||
if (!recipients || !identityStore || !sessionStore) { | ||
throw Error('missing arguments for sealedSenderMultiRecipientEncrypt'); | ||
} | ||
} | ||
else { | ||
({ | ||
content: contentOrOptions, | ||
recipients, | ||
excludedRecipients, | ||
identityStore, | ||
sessionStore, | ||
} = contentOrOptions); | ||
} | ||
const recipientSessions = await sessionStore.getExistingSessions(recipients); | ||
return await Native.SealedSender_MultiRecipientEncrypt(recipients, recipientSessions, content, identityStore); | ||
return await Native.SealedSender_MultiRecipientEncrypt(recipients, recipientSessions, Address_1.ServiceId.toConcatenatedFixedWidthBinary(excludedRecipients ?? []), contentOrOptions, identityStore); | ||
} | ||
@@ -936,0 +951,0 @@ exports.sealedSenderMultiRecipientEncrypt = sealedSenderMultiRecipientEncrypt; |
@@ -53,1 +53,4 @@ export { default as ServerPublicParams } from './ServerPublicParams'; | ||
export { default as BackupAuthCredentialResponse } from './backups/BackupAuthCredentialResponse'; | ||
export { default as GroupSendCredential } from './groupsend/GroupSendCredential'; | ||
export { default as GroupSendCredentialPresentation } from './groupsend/GroupSendCredentialPresentation'; | ||
export { default as GroupSendCredentialResponse } from './groupsend/GroupSendCredentialResponse'; |
@@ -8,3 +8,3 @@ "use strict"; | ||
exports.BackupAuthCredentialRequest = exports.BackupAuthCredentialPresentation = exports.BackupAuthCredential = exports.CreateCallLinkCredentialResponse = exports.CreateCallLinkCredentialRequestContext = exports.CreateCallLinkCredentialRequest = exports.CreateCallLinkCredentialPresentation = exports.CreateCallLinkCredential = exports.CallLinkAuthCredentialResponse = exports.CallLinkAuthCredentialPresentation = exports.CallLinkAuthCredential = exports.CallLinkSecretParams = exports.CallLinkPublicParams = exports.ReceiptSerial = exports.ReceiptCredentialResponse = exports.ReceiptCredentialRequestContext = exports.ReceiptCredentialRequest = exports.ReceiptCredentialPresentation = exports.ReceiptCredential = exports.ServerZkReceiptOperations = exports.ClientZkReceiptOperations = exports.ExpiringProfileKeyCredentialResponse = exports.ExpiringProfileKeyCredential = exports.ProfileKeyVersion = exports.ProfileKeyCredentialRequestContext = exports.ProfileKeyCredentialRequest = exports.ProfileKeyCredentialPresentation = exports.ProfileKeyCommitment = exports.ProfileKey = exports.ServerZkProfileOperations = exports.ClientZkProfileOperations = exports.UuidCiphertext = exports.ProfileKeyCiphertext = exports.GroupSecretParams = exports.GroupPublicParams = exports.GroupMasterKey = exports.GroupIdentifier = exports.ClientZkGroupCipher = exports.AuthCredentialWithPniResponse = exports.AuthCredentialWithPni = exports.AuthCredentialPresentation = exports.AuthCredentialResponse = exports.AuthCredential = exports.ServerZkAuthOperations = exports.ClientZkAuthOperations = exports.NotarySignature = exports.GenericServerSecretParams = exports.GenericServerPublicParams = exports.ServerSecretParams = exports.ServerPublicParams = void 0; | ||
exports.BackupAuthCredentialResponse = exports.BackupAuthCredentialRequestContext = void 0; | ||
exports.GroupSendCredentialResponse = exports.GroupSendCredentialPresentation = exports.GroupSendCredential = exports.BackupAuthCredentialResponse = exports.BackupAuthCredentialRequestContext = void 0; | ||
// Root | ||
@@ -121,2 +121,9 @@ var ServerPublicParams_1 = require("./ServerPublicParams"); | ||
Object.defineProperty(exports, "BackupAuthCredentialResponse", { enumerable: true, get: function () { return BackupAuthCredentialResponse_1.default; } }); | ||
// Group Send | ||
var GroupSendCredential_1 = require("./groupsend/GroupSendCredential"); | ||
Object.defineProperty(exports, "GroupSendCredential", { enumerable: true, get: function () { return GroupSendCredential_1.default; } }); | ||
var GroupSendCredentialPresentation_1 = require("./groupsend/GroupSendCredentialPresentation"); | ||
Object.defineProperty(exports, "GroupSendCredentialPresentation", { enumerable: true, get: function () { return GroupSendCredentialPresentation_1.default; } }); | ||
var GroupSendCredentialResponse_1 = require("./groupsend/GroupSendCredentialResponse"); | ||
Object.defineProperty(exports, "GroupSendCredentialResponse", { enumerable: true, get: function () { return GroupSendCredentialResponse_1.default; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -162,2 +162,10 @@ // | ||
export function GroupSecretParams_GetPublicParams(params: Serialized<GroupSecretParams>): Serialized<GroupPublicParams>; | ||
export function GroupSendCredentialPresentation_CheckValidContents(presentationBytes: Buffer): void; | ||
export function GroupSendCredentialPresentation_Verify(presentationBytes: Buffer, groupMembers: Buffer, now: Timestamp, serverParams: Serialized<ServerSecretParams>): void; | ||
export function GroupSendCredentialResponse_CheckValidContents(responseBytes: Buffer): void; | ||
export function GroupSendCredentialResponse_DefaultExpirationBasedOnCurrentTime(): Timestamp; | ||
export function GroupSendCredentialResponse_IssueDeterministic(concatenatedGroupMemberCiphertexts: Buffer, requester: Serialized<UuidCiphertext>, expiration: Timestamp, serverParams: Serialized<ServerSecretParams>, randomness: Buffer): Buffer; | ||
export function GroupSendCredentialResponse_Receive(responseBytes: Buffer, groupMembers: Buffer, localAci: Buffer, now: Timestamp, serverParams: Serialized<ServerPublicParams>, groupParams: Serialized<GroupSecretParams>): Buffer; | ||
export function GroupSendCredential_CheckValidContents(paramsBytes: Buffer): void; | ||
export function GroupSendCredential_PresentDeterministic(credentialBytes: Buffer, serverParams: Serialized<ServerPublicParams>, randomness: Buffer): Buffer; | ||
export function HKDF_DeriveSecrets(outputLength: number, ikm: Buffer, label: Buffer | null, salt: Buffer | null): Buffer; | ||
@@ -279,3 +287,3 @@ export function HsmEnclaveClient_CompleteHandshake(cli: Wrapper<HsmEnclaveClient>, handshakeReceived: Buffer): void; | ||
export function SealedSender_Encrypt(destination: Wrapper<ProtocolAddress>, content: Wrapper<UnidentifiedSenderMessageContent>, identityKeyStore: IdentityKeyStore): Promise<Buffer>; | ||
export function SealedSender_MultiRecipientEncrypt(recipients: Wrapper<ProtocolAddress>[], recipientSessions: Wrapper<SessionRecord>[], content: Wrapper<UnidentifiedSenderMessageContent>, identityKeyStore: IdentityKeyStore): Promise<Buffer>; | ||
export function SealedSender_MultiRecipientEncrypt(recipients: Wrapper<ProtocolAddress>[], recipientSessions: Wrapper<SessionRecord>[], excludedRecipients: Buffer, content: Wrapper<UnidentifiedSenderMessageContent>, identityKeyStore: IdentityKeyStore): Promise<Buffer>; | ||
export function SealedSender_MultiRecipientMessageForSingleRecipient(encodedMultiRecipientMessage: Buffer): Buffer; | ||
@@ -282,0 +290,0 @@ export function SenderCertificate_Deserialize(data: Buffer): SenderCertificate; |
{ | ||
"name": "@signalapp/libsignal-client", | ||
"version": "0.36.1", | ||
"version": "0.37.0", | ||
"license": "AGPL-3.0-only", | ||
@@ -8,2 +8,3 @@ "main": "dist/index.js", | ||
"files": [ | ||
"dist/acknowledgments.md", | ||
"dist/*.js", | ||
@@ -26,3 +27,4 @@ "dist/*.d.ts", | ||
"lint": "eslint . --ext .js,.jsx,.ts,.tsx", | ||
"format": "p() { prettier ${@:- --write} '**/*.{css,js,json,md,scss,ts,tsx}'; }; p" | ||
"format": "p() { prettier ${@:- --write} '**/*.{css,js,json,md,scss,ts,tsx}'; }; p", | ||
"prepack": "cp ../acknowledgments/acknowledgments.md dist" | ||
}, | ||
@@ -29,0 +31,0 @@ "dependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
51426549
148
4887
2