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).