X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/a7b414a8703d27a012811f5621ecab28b329351f..db756bfe10ab302d9991e68ec4b5ed34230d39e2:/src/main/java/org/asamk/signal/ReceiveMessageHandler.java diff --git a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java index b59eeee2..ce4f1068 100644 --- a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java @@ -18,6 +18,7 @@ import org.whispersystems.signalservice.api.messages.calls.SignalServiceCallMess import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.messages.shared.SharedContact; import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import org.whispersystems.signalservice.api.util.InvalidNumberException; import java.io.IOException; import java.util.Base64; @@ -67,20 +68,23 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { var e = (UntrustedIdentityException) exception; writer.println( "The user’s key is untrusted, either the user has reinstalled Signal or a third party sent this message."); + final var recipientName = m.resolveSignalServiceAddress(e.getName()).getLegacyIdentifier(); writer.println( - "Use 'signal-cli -u {0} listIdentities -n {1}', verify the key and run 'signal-cli -u {0} trust -v \"FINGER_PRINT\" {1}' to mark it as trusted", + "Use 'signal-cli -u {} listIdentities -n {}', verify the key and run 'signal-cli -u {} trust -v \"FINGER_PRINT\" {}' to mark it as trusted", m.getUsername(), - e.getName()); + recipientName, + m.getUsername(), + recipientName); writer.println( "If you don't care about security, use 'signal-cli -u {} trust -a {}' to trust it without verification", m.getUsername(), - e.getName()); + recipientName); } else { writer.println("Exception: {} ({})", exception.getMessage(), exception.getClass().getSimpleName()); } } if (content == null) { - writer.println("Failed to decrypt message."); + writer.println("No message content"); } else { writer.println("Sender: {} (device: {})", formatContact(content.getSender()), @@ -664,7 +668,11 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { private String formatContact(SignalServiceAddress address) { final var number = address.getLegacyIdentifier(); - var name = m.getContactOrProfileName(number); + String name = null; + try { + name = m.getContactOrProfileName(number); + } catch (InvalidNumberException ignored) { + } if (name == null || name.isEmpty()) { return number; } else {