package org.asamk.signal;
import org.asamk.signal.manager.Manager;
+import org.asamk.signal.manager.UntrustedIdentityException;
import org.asamk.signal.manager.api.RecipientIdentifier;
import org.asamk.signal.manager.groups.GroupId;
import org.asamk.signal.manager.groups.GroupUtils;
import org.asamk.signal.util.DateUtils;
import org.asamk.signal.util.Util;
-import org.signal.libsignal.metadata.ProtocolUntrustedIdentityException;
import org.slf4j.helpers.MessageFormatter;
import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
import org.whispersystems.signalservice.api.messages.SignalServiceContent;
@Override
public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) {
- if (envelope.hasSource()) {
+ if (envelope.hasSourceUuid()) {
var source = envelope.getSourceAddress();
writer.println("Envelope from: {} (device: {})", formatContact(source), envelope.getSourceDevice());
- if (source.getRelay().isPresent()) {
- writer.println("Relayed by: {}", source.getRelay().get());
- }
} else {
writer.println("Envelope from: unknown source");
}
writer.println("Got receipt.");
} else if (envelope.isSignalMessage() || envelope.isPreKeySignalMessage() || envelope.isUnidentifiedSender()) {
if (exception != null) {
- if (exception instanceof ProtocolUntrustedIdentityException) {
- var e = (ProtocolUntrustedIdentityException) exception;
+ if (exception instanceof UntrustedIdentityException) {
+ 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 = getLegacyIdentifier(m.resolveSignalServiceAddress(e.getSender()));
final var deviceId = callMessage.getDestinationDeviceId().get();
writer.println("Destination device id: {}", deviceId);
}
+ if (callMessage.getGroupId().isPresent()) {
+ final var groupId = GroupId.unknownVersion(callMessage.getGroupId().get());
+ writer.println("Destination group id: {}", groupId);
+ }
+ if (callMessage.getTimestamp().isPresent()) {
+ writer.println("Timestamp: {}", DateUtils.formatTimestamp(callMessage.getTimestamp().get()));
+ }
if (callMessage.getAnswerMessage().isPresent()) {
var answerMessage = callMessage.getAnswerMessage().get();
writer.println("Answer message: {}, sdp: {})", answerMessage.getId(), answerMessage.getSdp());
}
if (callMessage.getOpaqueMessage().isPresent()) {
final var opaqueMessage = callMessage.getOpaqueMessage().get();
- writer.println("Opaque message: size {}", opaqueMessage.getOpaque().length);
+ writer.println("Opaque message: size {}, urgency: {}",
+ opaqueMessage.getOpaque().length,
+ opaqueMessage.getUrgency().name());
}
}
private void printMention(
PlainTextWriter writer, SignalServiceDataMessage.Mention mention
) {
- final var address = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null));
+ final var address = m.resolveSignalServiceAddress(mention.getUuid());
writer.println("- {}: {} (length: {})", formatContact(address), mention.getStart(), mention.getLength());
}