Merge pull request #2639 from uhoreg/backup_version_required

various key backups fixes
pull/2667/head
Hubert Chathi 4 years ago committed by GitHub
commit a91c6446bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,38 @@
# Copyright 2020 The Matrix.org Foundation C.I.C.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
type: object
title: RoomKeyBackup
description: "The backed up keys for a room."
properties:
sessions:
type: object
description: "A map of session IDs to key data."
additionalProperties:
allOf:
- $ref: "key_backup_data.yaml"
example: {
"sessionid1": {
"first_message_index": 1,
"forwarded_count": 0,
"is_verified": true,
"session_data": {
"ephemeral": "base64+ephemeral+key",
"ciphertext": "base64+ciphertext+of+JSON+data",
"mac": "base64+mac+of+ciphertext"
}
}
}
required:
- sessions

@ -130,7 +130,7 @@ paths:
example: "anopaquestring"
version:
type: string
description: The backup version
description: The backup version.
example: "1"
required:
- algorithm
@ -212,7 +212,7 @@ paths:
example: "anopaquestring"
version:
type: string
description: The backup version
description: The backup version.
example: "1"
required:
- algorithm
@ -450,7 +450,7 @@ paths:
type: string
name: version
description: |-
The backup from which to retrieve the key
The backup from which to retrieve the key.
required: true
x-example: "1"
- in: path
@ -569,22 +569,7 @@ paths:
description: "The backup data"
name: backupData
schema:
type: object
properties:
sessions:
type: object
description: |-
A map of session IDs to key data.
additionalProperties:
allOf:
- $ref: "definitions/key_backup_data.yaml"
example: {
"sessionid1": {
"ephemeral": "base64+ephemeral+key",
"ciphertext": "base64+ciphertext+of+JSON+data",
"mac": "base64+mac+of+ciphertext"
}
}
$ref: "definitions/room_key_backup.yaml"
responses:
200:
description: The update succeeded
@ -645,7 +630,7 @@ paths:
type: string
name: version
description: |-
The backup from which to retrieve the key
The backup from which to retrieve the key.
required: true
x-example: "1"
- in: path
@ -661,21 +646,7 @@ paths:
``sessions`` property will be returned (``{"sessions": {}}``).
schema:
type: object
properties:
sessions:
type: object
description: |-
A map of session IDs to key data.
additionalProperties:
allOf:
- $ref: "definitions/key_backup_data.yaml"
example: {
"sessionid1": {
"ephemeral": "base64+ephemeral+key",
"ciphertext": "base64+ciphertext+of+JSON+data",
"mac": "base64+mac+of+ciphertext"
}
}
$ref: "definitions/room_key_backup.yaml"
404:
description: |-
The backup was not found.
@ -702,7 +673,7 @@ paths:
type: string
name: version
description: |-
The backup from which to delete the key
The backup from which to delete the key.
required: true
x-example: "1"
- in: path
@ -761,7 +732,7 @@ paths:
required: true
x-example: "1"
- in: body
description: "The backup data"
description: "The backup data."
name: backupData
schema:
type: object
@ -769,16 +740,18 @@ paths:
rooms:
type: object
description: |-
A map of room IDs to session IDs to key data.
additionalProperties:
type: object
A map of room IDs to room key backup data.
additionalProperties:
allOf:
- $ref: "definitions/key_backup_data.yaml"
- $ref: "definitions/room_key_backup.yaml"
example: {
"!room:example.org": {
"sessions": {
"sessionid1": {
"first_message_index": 1,
"forwarded_count": 0,
"is_verified": true,
"session_data": {
"ephemeral": "base64+ephemeral+key",
"ciphertext": "base64+ciphertext+of+JSON+data",
"mac": "base64+mac+of+ciphertext"
@ -786,6 +759,9 @@ paths:
}
}
}
}
required:
- rooms
responses:
200:
description: The update succeeded
@ -846,8 +822,8 @@ paths:
type: string
name: version
description: |-
The backup from which to retrieve the keys. If omitted, the keys are
retrieved from the current backup.
The backup from which to retrieve the keys.
required: true
x-example: "1"
responses:
200:
@ -860,16 +836,18 @@ paths:
rooms:
type: object
description: |-
A map of room IDs to session IDs to key data.
additionalProperties:
type: object
A map of room IDs to room key backup data.
additionalProperties:
allOf:
- $ref: "definitions/key_backup_data.yaml"
- $ref: "definitions/room_key_backup.yaml"
example: {
"!room:example.org": {
"sessions": {
"sessionid1": {
"first_message_index": 1,
"forwarded_count": 0,
"is_verified": true,
"session_data": {
"ephemeral": "base64+ephemeral+key",
"ciphertext": "base64+ciphertext+of+JSON+data",
"mac": "base64+mac+of+ciphertext"
@ -877,6 +855,7 @@ paths:
}
}
}
}
404:
description: The backup was not found.
examples:

@ -0,0 +1 @@
Fixed some errors in the key backup spec.
Loading…
Cancel
Save