X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/467a48bac508b56f84dce7ee0b81a22fd0d32161..d72b838560b1a4186ac121c7d605773b49fcdf46:/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java diff --git a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java index 814952aa..e49e6125 100644 --- a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java @@ -5,14 +5,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.asamk.Signal; import org.asamk.signal.manager.Manager; +import org.asamk.signal.manager.UntrustedIdentityException; import org.asamk.signal.manager.api.RecipientIdentifier; -import org.signal.libsignal.metadata.ProtocolUntrustedIdentityException; import org.whispersystems.signalservice.api.messages.SignalServiceContent; import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; import org.whispersystems.signalservice.api.util.InvalidNumberException; import java.util.List; -import java.util.UUID; import static org.asamk.signal.util.Util.getLegacyIdentifier; @@ -34,10 +33,6 @@ public class JsonMessageEnvelope { @JsonProperty final Integer sourceDevice; - @JsonProperty - @JsonInclude(JsonInclude.Include.NON_NULL) - final String relay; - @JsonProperty final long timestamp; @@ -64,38 +59,34 @@ public class JsonMessageEnvelope { public JsonMessageEnvelope( SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception, Manager m ) { - if (!envelope.isUnidentifiedSender() && envelope.hasSource()) { - var source = envelope.getSourceAddress(); + if (!envelope.isUnidentifiedSender() && envelope.hasSourceUuid()) { + var source = m.resolveSignalServiceAddress(envelope.getSourceAddress()); this.source = getLegacyIdentifier(source); this.sourceNumber = source.getNumber().orNull(); - this.sourceUuid = source.getUuid().transform(UUID::toString).orNull(); + this.sourceUuid = source.getUuid().toString(); this.sourceDevice = envelope.getSourceDevice(); - this.relay = source.getRelay().orNull(); } else if (envelope.isUnidentifiedSender() && content != null) { - final var source = content.getSender(); + final var source = m.resolveSignalServiceAddress(content.getSender()); this.source = getLegacyIdentifier(source); this.sourceNumber = source.getNumber().orNull(); - this.sourceUuid = source.getUuid().transform(UUID::toString).orNull(); + this.sourceUuid = source.getUuid().toString(); this.sourceDevice = content.getSenderDevice(); - this.relay = null; - } else if (exception instanceof ProtocolUntrustedIdentityException) { - var e = (ProtocolUntrustedIdentityException) exception; + } else if (exception instanceof UntrustedIdentityException) { + var e = (UntrustedIdentityException) exception; final var source = m.resolveSignalServiceAddress(e.getSender()); this.source = getLegacyIdentifier(source); this.sourceNumber = source.getNumber().orNull(); - this.sourceUuid = source.getUuid().transform(UUID::toString).orNull(); + this.sourceUuid = source.getUuid().toString(); this.sourceDevice = e.getSenderDevice(); - this.relay = null; } else { this.source = null; this.sourceNumber = null; this.sourceUuid = null; this.sourceDevice = null; - this.relay = null; } String name; try { - name = m.getContactOrProfileName(RecipientIdentifier.Single.fromString(this.source, m.getUsername())); + name = m.getContactOrProfileName(RecipientIdentifier.Single.fromString(this.source, m.getSelfNumber())); } catch (InvalidNumberException | NullPointerException e) { name = null; } @@ -129,7 +120,6 @@ public class JsonMessageEnvelope { sourceUuid = null; sourceName = null; sourceDevice = null; - relay = null; timestamp = messageReceived.getTimestamp(); receiptMessage = null; dataMessage = new JsonDataMessage(messageReceived); @@ -144,7 +134,6 @@ public class JsonMessageEnvelope { sourceUuid = null; sourceName = null; sourceDevice = null; - relay = null; timestamp = receiptReceived.getTimestamp(); receiptMessage = JsonReceiptMessage.deliveryReceipt(timestamp, List.of(timestamp)); dataMessage = null; @@ -159,7 +148,6 @@ public class JsonMessageEnvelope { sourceUuid = null; sourceName = null; sourceDevice = null; - relay = null; timestamp = messageReceived.getTimestamp(); receiptMessage = null; dataMessage = null;