]> nmode's Git Repositories - signal-cli/commitdiff
Implement preliminary phone number privacy for sender certificate
authorAsamK <asamk@gmx.de>
Sun, 9 May 2021 17:34:07 +0000 (19:34 +0200)
committerAsamK <asamk@gmx.de>
Sun, 9 May 2021 17:34:07 +0000 (19:34 +0200)
lib/src/main/java/org/asamk/signal/manager/Manager.java
lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java

index 8632129c44d2d1216656330003000817da739c94..4abe1260383d9046d7515e8f6e20210e2ccf7a0a 100644 (file)
@@ -1284,11 +1284,13 @@ public class Manager implements Closeable {
     }
 
     private byte[] getSenderCertificate() {
     }
 
     private byte[] getSenderCertificate() {
-        // TODO support UUID capable sender certificates
-        // byte[] certificate = accountManager.getSenderCertificateForPhoneNumberPrivacy();
         byte[] certificate;
         try {
         byte[] certificate;
         try {
-            certificate = accountManager.getSenderCertificate();
+            if (account.isPhoneNumberShared()) {
+                certificate = accountManager.getSenderCertificate();
+            } else {
+                certificate = accountManager.getSenderCertificateForPhoneNumberPrivacy();
+            }
         } catch (IOException e) {
             logger.warn("Failed to get sender certificate, ignoring: {}", e.getMessage());
             return null;
         } catch (IOException e) {
             logger.warn("Failed to get sender certificate, ignoring: {}", e.getMessage());
             return null;
index 1620dbf258c313ae24055eb7e9b29d74c310a8ea..475f26e8f6e478df3095d2358eb3f291dbb825fe 100644 (file)
@@ -878,6 +878,11 @@ public class SignalAccount implements Closeable {
         return true;
     }
 
         return true;
     }
 
+    public boolean isPhoneNumberShared() {
+        // TODO make configurable
+        return true;
+    }
+
     public void finishRegistration(final UUID uuid, final MasterKey masterKey, final String pin) {
         this.pinMasterKey = masterKey;
         this.encryptedDeviceName = null;
     public void finishRegistration(final UUID uuid, final MasterKey masterKey, final String pin) {
         this.pinMasterKey = masterKey;
         this.encryptedDeviceName = null;