Skip to content

Commit 3d3d32a

Browse files
committed
Update libsignal to 2.6.0
1 parent 6df898d commit 3d3d32a

File tree

10 files changed

+26
-25
lines changed

10 files changed

+26
-25
lines changed

Signal-Windows.Lib/Models/SignalAttachment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public SignalServiceAttachmentPointer ToAttachmentPointer()
3030
ContentType,
3131
Key,
3232
Relay,
33-
(uint)Util.toIntExact(Size),
33+
(uint)Util.ToIntExact(Size),
3434
null,
3535
Digest,
3636
FileName,

Signal-Windows.Lib/Signal-Windows.Lib.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@
161161
</ItemGroup>
162162
<ItemGroup>
163163
<PackageReference Include="libsignal-service-dotnet">
164-
<Version>2.5.15.2</Version>
164+
<Version>2.6.0</Version>
165165
</PackageReference>
166166
<PackageReference Include="Microsoft.EntityFrameworkCore">
167167
<Version>1.1.4</Version>

Signal-Windows.Lib/SignalLibHandle.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
using libsignalservice.push;
2424
using Strilanc.Value;
2525
using libsignalservice.messages.multidevice;
26+
using libsignalservice.crypto;
2627

2728
namespace Signal_Windows.Lib
2829
{
@@ -373,11 +374,6 @@ public void SaveAndDispatchSignalConversation(SignalConversation updatedConversa
373374
SemaphoreSlim.Release();
374375
Logger.LogTrace("SaveAndDispatchSignalConversation() released");
375376
}
376-
377-
public void RetrieveAttachment(SignalServiceAttachmentPointer pointer, Stream downloadStream, Stream tempStream)
378-
{
379-
MessageReceiver.retrieveAttachment(pointer, downloadStream, tempStream, 0);
380-
}
381377
#endregion
382378

383379
#region attachment api
@@ -631,9 +627,9 @@ private void InitNetwork()
631627
{
632628
try
633629
{
634-
MessageReceiver = new SignalServiceMessageReceiver(CancelSource.Token, LibUtils.ServiceUrls, new StaticCredentialsProvider(Store.Username, Store.Password, Store.SignalingKey, (int)Store.DeviceId), LibUtils.USER_AGENT);
635-
Pipe = MessageReceiver.createMessagePipe();
636-
MessageSender = new SignalServiceMessageSender(CancelSource.Token, LibUtils.ServiceUrls, Store.Username, Store.Password, (int)Store.DeviceId, new Store(), Pipe, null, LibUtils.USER_AGENT);
630+
MessageReceiver = new SignalServiceMessageReceiver(CancelSource.Token, LibUtils.ServiceConfiguration, new StaticCredentialsProvider(Store.Username, Store.Password, Store.SignalingKey, (int)Store.DeviceId), LibUtils.USER_AGENT);
631+
Pipe = MessageReceiver.CreateMessagePipe();
632+
MessageSender = new SignalServiceMessageSender(CancelSource.Token, LibUtils.ServiceConfiguration, Store.Username, Store.Password, (int)Store.DeviceId, new Store(), Pipe, null, LibUtils.USER_AGENT);
637633
IncomingMessagesTask = Task.Factory.StartNew(() => new IncomingMessages(CancelSource.Token, Pipe, this).HandleIncomingMessages(), TaskCreationOptions.LongRunning);
638634
OutgoingMessages = new OutgoingMessages(CancelSource.Token, MessageSender, this);
639635
OutgoingMessagesTask = Task.Factory.StartNew(() => OutgoingMessages.HandleOutgoingMessages(), TaskCreationOptions.LongRunning);
@@ -737,9 +733,11 @@ private string RetrieveAttachmentUrl(SignalServiceAttachmentPointer pointer)
737733
return MessageReceiver.RetrieveAttachmentDownloadUrl(pointer);
738734
}
739735

740-
private void DecryptAttachment(SignalServiceAttachmentPointer pointer, Stream tempStream, Stream downloadStream)
736+
private void DecryptAttachment(SignalServiceAttachmentPointer pointer, Stream ciphertextFileStream, Stream plaintextFileStream)
741737
{
742-
MessageReceiver.DecryptAttachment(pointer, tempStream, downloadStream);
738+
byte[] buf = new byte[32];
739+
Stream s = new AttachmentCipherInputStream(ciphertextFileStream, pointer.Key, pointer.Digest);
740+
s.CopyTo(plaintextFileStream);
743741
}
744742

745743
private async Task RecoverDownloads()

Signal-Windows.Lib/Storage/DB.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ public static void RefreshPreKeys(SignalServiceAccountManager accountManager) //
596596
{
597597
List<PreKeyRecord> oneTimePreKeys = GeneratePreKeys();
598598
SignedPreKeyRecord signedPreKeyRecord = generateSignedPreKey(GetIdentityKeyPair());
599-
accountManager.setPreKeys(GetIdentityKeyPair().getPublicKey(), signedPreKeyRecord, oneTimePreKeys);
599+
accountManager.SetPreKeys(GetIdentityKeyPair().getPublicKey(), signedPreKeyRecord, oneTimePreKeys);
600600
}
601601

602602
private static List<PreKeyRecord> GeneratePreKeys()

Signal-Windows.Lib/Util/LibUtils.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using libsignalservice;
2+
using libsignalservice.configuration;
23
using libsignalservice.push;
34
using Microsoft.Extensions.Logging;
45
using Microsoft.Toolkit.Uwp.Notifications;
@@ -69,7 +70,8 @@ public class LibUtils
6970
public const string GlobalMutexName = "SignalWindowsPrivateMessenger_Mutex";
7071
public const string GlobalEventWaitHandleName = "SignalWindowsPrivateMessenger_EventWaitHandle";
7172
public static string URL = "https://textsecure-service.whispersystems.org";
72-
public static SignalServiceUrl[] ServiceUrls = new SignalServiceUrl[] { new SignalServiceUrl(URL, null) };
73+
public static SignalServiceUrl[] ServiceUrls = new SignalServiceUrl[] { new SignalServiceUrl("https://textsecure-service.whispersystems.org") };
74+
public static SignalServiceConfiguration ServiceConfiguration = new SignalServiceConfiguration(ServiceUrls, null);
7375
public static bool MainPageActive = false;
7476
public static string USER_AGENT = "Signal-Windows";
7577
public static uint PREKEY_BATCH_SIZE = 100;

Signal-Windows/App.xaml.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
using Windows.ApplicationModel.Background;
2525
using Windows.Networking.BackgroundTransfer;
2626
using Windows.UI;
27+
using libsignalservice.configuration;
2728

2829
namespace Signal_Windows
2930
{
@@ -34,8 +35,8 @@ sealed partial class App : Application
3435
{
3536
private static App Instance;
3637
private static ILogger Logger = LibsignalLogging.CreateLogger<App>();
37-
public static string URL = "https://textsecure-service.whispersystems.org";
38-
public static SignalServiceUrl[] ServiceUrls = new SignalServiceUrl[] { new SignalServiceUrl(URL, null) };
38+
public static SignalServiceUrl[] ServiceUrls = new SignalServiceUrl[] { new SignalServiceUrl("https://textsecure-service.whispersystems.org") };
39+
public static SignalServiceConfiguration ServiceConfiguration = new SignalServiceConfiguration(ServiceUrls, null);
3940
public static StorageFolder LocalCacheFolder = ApplicationData.Current.LocalCacheFolder;
4041
public static bool MainPageActive = false;
4142
public static string USER_AGENT = "Signal-Windows";

Signal-Windows/ViewModels/AddContactPageViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public async Task RefreshContacts(CancellationToken? cancellationToken = null)
116116
RefreshingContacts = true;
117117
Contacts.Clear();
118118
signalContacts.Clear();
119-
SignalServiceAccountManager accountManager = new SignalServiceAccountManager(App.ServiceUrls, App.Handle.Store.Username, App.Handle.Store.Password, (int)App.Handle.Store.DeviceId, App.USER_AGENT);
119+
SignalServiceAccountManager accountManager = new SignalServiceAccountManager(App.ServiceConfiguration, App.Handle.Store.Username, App.Handle.Store.Password, (int)App.Handle.Store.DeviceId, App.USER_AGENT);
120120
ContactStore contactStore = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AllContactsReadOnly);
121121
List<PhoneContact> intermediateContacts = new List<PhoneContact>();
122122
if (contactStore != null)
@@ -190,7 +190,7 @@ public async Task RefreshContacts(CancellationToken? cancellationToken = null)
190190
}
191191
}
192192

193-
var signalContactDetails = accountManager.getContacts(intermediateContacts.Select(c => c.PhoneNumber).ToList());
193+
var signalContactDetails = accountManager.GetContacts(intermediateContacts.Select(c => c.PhoneNumber).ToList());
194194
foreach (var contact in intermediateContacts)
195195
{
196196
var foundContact = signalContactDetails.FirstOrDefault(c => c.getNumber() == contact.PhoneNumber);

Signal-Windows/ViewModels/FinishRegistrationPageViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ internal async Task OnNavigatedTo()
2626
await Task.Run(() =>
2727
{
2828
string SignalingKey = Base64.encodeBytes(Util.getSecretBytes(52));
29-
App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.AccountManager.verifyAccountWithCode(
29+
App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.AccountManager.VerifyAccountWithCode(
3030
App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.VerificationCode.Replace("-", ""),
3131
SignalingKey, App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterFinalizationPageInstance.SignalRegistrationId,
3232
true);
@@ -50,7 +50,7 @@ await Task.Run(() =>
5050

5151
/* create prekeys */
5252
LibsignalDBContext.RefreshPreKeys(
53-
new SignalServiceAccountManager(App.ServiceUrls, store.Username, store.Password, (int)store.DeviceId, App.USER_AGENT));
53+
new SignalServiceAccountManager(App.ServiceConfiguration, store.Username, store.Password, (int)store.DeviceId, App.USER_AGENT));
5454

5555
/* reload again with prekeys and their offsets */
5656
store = LibsignalDBContext.GetSignalStore();

Signal-Windows/ViewModels/LinkPageViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public async Task BeginLinking()
8181
/* prepare qrcode */
8282
string password = Base64.encodeBytes(Util.getSecretBytes(18));
8383
IdentityKeyPair tmpIdentity = KeyHelper.generateIdentityKeyPair();
84-
SignalServiceAccountManager accountManager = new SignalServiceAccountManager(App.ServiceUrls, CancelSource.Token, "Signal-Windows");
84+
SignalServiceAccountManager accountManager = new SignalServiceAccountManager(App.ServiceConfiguration, CancelSource.Token, "Signal-Windows");
8585
string uuid = accountManager.GetNewDeviceUuid(CancelSource.Token);
8686
string tsdevice = "tsdevice:/?uuid=" + Uri.EscapeDataString(uuid) + "&pub_key=" + Uri.EscapeDataString(Base64.encodeBytesWithoutPadding(tmpIdentity.getPublicKey().serialize()));
8787
Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
@@ -117,7 +117,7 @@ public async Task BeginLinking()
117117
}).AsTask().Wait();
118118

119119
/* create prekeys */
120-
LibsignalDBContext.RefreshPreKeys(new SignalServiceAccountManager(App.ServiceUrls, store.Username, store.Password, (int)store.DeviceId, App.USER_AGENT));
120+
LibsignalDBContext.RefreshPreKeys(new SignalServiceAccountManager(App.ServiceConfiguration, store.Username, store.Password, (int)store.DeviceId, App.USER_AGENT));
121121

122122
/* reload again with prekeys and their offsets */
123123
store = LibsignalDBContext.GetSignalStore();

Signal-Windows/ViewModels/RegisterFinalizationPageViewModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,14 @@ internal async Task OnNavigatedTo()
8080
private SignalServiceAccountManager InitRegistration(bool voice)
8181
{
8282
App.Handle.PurgeAccountData();
83-
SignalServiceAccountManager accountManager = new SignalServiceAccountManager(App.ServiceUrls, App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterPageInstance.FinalNumber, Password, 1 /*device id isn't actually used*/, App.USER_AGENT);
83+
SignalServiceAccountManager accountManager = new SignalServiceAccountManager(App.ServiceConfiguration, App.CurrentSignalWindowsFrontend(App.MainViewId).Locator.RegisterPageInstance.FinalNumber, Password, 1 /*device id isn't actually used*/, App.USER_AGENT);
8484
if (voice)
8585
{
86-
accountManager.requestVoiceVerificationCode();
86+
accountManager.RequestVoiceVerificationCode();
8787
}
8888
else
8989
{
90-
accountManager.requestSmsVerificationCode();
90+
accountManager.RequestSmsVerificationCode();
9191
}
9292
return accountManager;
9393
}

0 commit comments

Comments
 (0)