Skip to main content

process_other_master_key_signatures

Function process_other_master_key_signatures 

Source
fn process_other_master_key_signatures(
    signing_user_id: &UserId,
    user_signing_key: Option<&CrossSigningKeyRow>,
    stored_master_keys: &BTreeMap<OwnedUserId, CrossSigningKeyRow>,
    new_master_keys: &BTreeMap<OwnedUserId, BTreeMap<String, CrossSigningKey>>,
) -> Result<(Vec<ValidSignature>, BTreeMap<OwnedUserId, BTreeMap<String, Failure>>), SignaturesUploadError>
Expand description

This function is part of upload_keys_signature and processes signatures uploaded for Master keys owned by other users.

ยงFailures

Here are the cases that will produce failures to be returned by the endpoint:

  • We do not have any stored user-signing key for the user. Such a key is necessary to check the uploaded device signatures (See upload_keys_signature).
  • We do not have the corresponding Master key object for an uploaded one (e.g it is not in the database, or the one we have is different).
  • The actual signature is invalid (See https://spec.matrix.org/v1.16/appendices/#signing-json).