Function deltachat::securejoin::observe_securejoin_on_other_device
source · pub(crate) async fn observe_securejoin_on_other_device(
context: &Context,
mime_message: &MimeMessage,
contact_id: ContactId,
) -> Result<HandshakeMessage>
Expand description
Observe self-sent Securejoin message.
In a multi-device-setup, there may be other devices that “see” the handshake messages. If we see self-sent messages encrypted+signed correctly with our key, we can make some conclusions of it.
If we see self-sent {vc,vg}-request-with-auth, we know that we are Bob (joiner-observer) that just marked peer (Alice) as forward-verified either after receiving {vc,vg}-auth-required or immediately after scanning the QR-code if the key was already known.
If we see self-sent vc-contact-confirm or vg-member-added message, we know that we are Alice (inviter-observer) that just marked peer (Bob) as forward (and backward)-verified in response to correct vc-request-with-auth message.
In both cases we can mark the peer as forward-verified.