Merge branch 'master' of github.com:matrix-org/matrix-doc into erikj/limit_auth_events
commit
bbca5ce43a
@ -0,0 +1,18 @@
|
|||||||
|
# Copyright 2018 New Vector Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
homeserverAccessToken:
|
||||||
|
type: apiKey
|
||||||
|
description: The ``hs_token`` provided by the application service's registration.
|
||||||
|
name: access_token
|
||||||
|
in: query
|
@ -0,0 +1,24 @@
|
|||||||
|
# Copyright 2018 New Vector Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
title: Homeserver Information
|
||||||
|
description: |-
|
||||||
|
Used by clients to discover homeserver information.
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
base_url:
|
||||||
|
type: string
|
||||||
|
description: The base URL for the homeserver for client-server connections.
|
||||||
|
example: https://matrix.example.com
|
||||||
|
required:
|
||||||
|
- base_url
|
@ -0,0 +1,24 @@
|
|||||||
|
# Copyright 2018 New Vector Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
title: Identity Server Information
|
||||||
|
description: |-
|
||||||
|
Used by clients to discover identity server information.
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
base_url:
|
||||||
|
type: string
|
||||||
|
description: The base URL for the identity server for client-server connections.
|
||||||
|
example: https://identity.example.com
|
||||||
|
required:
|
||||||
|
- base_url
|
@ -0,0 +1,66 @@
|
|||||||
|
# Copyright 2018 New Vector Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
swagger: '2.0'
|
||||||
|
info:
|
||||||
|
title: "Matrix Client-Server Server Discovery API"
|
||||||
|
version: "1.0.0"
|
||||||
|
host: localhost:8008
|
||||||
|
schemes:
|
||||||
|
- https
|
||||||
|
basePath: /.well-known
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
paths:
|
||||||
|
"/matrix/client":
|
||||||
|
get:
|
||||||
|
summary: Gets Matrix server discovery information about the domain.
|
||||||
|
description: |-
|
||||||
|
Gets discovery information about the domain. The file may include
|
||||||
|
additional keys, which MUST follow the Java package naming convention,
|
||||||
|
e.g. ``com.example.myapp.property``. This ensures property names are
|
||||||
|
suitably namespaced for each application and reduces the risk of
|
||||||
|
clashes.
|
||||||
|
|
||||||
|
Note that this endpoint is not necessarily handled by the homeserver,
|
||||||
|
but by another webserver, to be used for discovering the homeserver URL.
|
||||||
|
operationId: getWellknown
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: Server discovery information.
|
||||||
|
examples:
|
||||||
|
application/json: {
|
||||||
|
"m.homeserver": {
|
||||||
|
"base_url": "https://matrix.example.com"
|
||||||
|
},
|
||||||
|
"m.identity_server": {
|
||||||
|
"base_url": "https://identity.example.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
m.homeserver:
|
||||||
|
description: Information about the homeserver to connect to.
|
||||||
|
"$ref": "definitions/wellknown/homeserver.yaml"
|
||||||
|
m.identity_server:
|
||||||
|
description: Optional. Information about the identity server to connect to.
|
||||||
|
"$ref": "definitions/wellknown/identity_server.yaml"
|
||||||
|
additionalProperties:
|
||||||
|
description: Application-dependent keys using Java package naming convention.
|
||||||
|
required:
|
||||||
|
- m.homeserver
|
||||||
|
404:
|
||||||
|
description: No server discovery information available.
|
||||||
|
tags:
|
||||||
|
- Server administration
|
@ -0,0 +1,189 @@
|
|||||||
|
# Copyright 2018 New Vector Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
swagger: '2.0'
|
||||||
|
info:
|
||||||
|
title: "Matrix Federation User Key Management API"
|
||||||
|
version: "1.0.0"
|
||||||
|
host: localhost:8448
|
||||||
|
schemes:
|
||||||
|
- https
|
||||||
|
basePath: /_matrix/federation/v1
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
securityDefinitions:
|
||||||
|
$ref: definitions/security.yaml
|
||||||
|
paths:
|
||||||
|
"/user/keys/claim":
|
||||||
|
post:
|
||||||
|
summary: Claims one-time encryption keys for a user.
|
||||||
|
description: |-
|
||||||
|
Claims one-time keys for use in pre-key messages.
|
||||||
|
operationId: claimUserEncryptionKeys
|
||||||
|
security:
|
||||||
|
- signedRequest: []
|
||||||
|
parameters:
|
||||||
|
- in: body
|
||||||
|
name: body
|
||||||
|
type: object
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
one_time_keys:
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
The keys to be claimed. A map from user ID, to a map from
|
||||||
|
device ID to algorithm name.
|
||||||
|
additionalProperties:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: algorithm
|
||||||
|
example: "signed_curve25519"
|
||||||
|
example: {
|
||||||
|
"@alice:example.com": {
|
||||||
|
"JLAFKJWSCS": "signed_curve25519"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
required:
|
||||||
|
- one_time_keys
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: The claimed keys
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
one_time_keys:
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
One-time keys for the queried devices. A map from user ID, to a
|
||||||
|
map from devices to a map from ``<algorithm>:<key_id>`` to the key object.
|
||||||
|
additionalProperties:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- object
|
||||||
|
required: ['one_time_keys']
|
||||||
|
examples:
|
||||||
|
application/json: {
|
||||||
|
"one_time_keys": {
|
||||||
|
"@alice:example.com": {
|
||||||
|
"JLAFKJWSCS": {
|
||||||
|
"signed_curve25518:AAAAHg": {
|
||||||
|
"key": "zKbLg+NrIjpnagy+pIY6uPL4ZwEG2v+8F9lmgsnlZzs",
|
||||||
|
"signatures": {
|
||||||
|
"@alice:example.com": {
|
||||||
|
"ed25519:JLAFKJWSCS": "FLWxXqGbwrb8SM3Y795eB6OA8bwBcoMZFXBqnTn58AYWZSqiD45tlBVcDa2L7RwdKXebW/VzDlnfVJ+9jok1Bw"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"/user/keys/query":
|
||||||
|
post:
|
||||||
|
summary: Download device identity keys.
|
||||||
|
description: |-
|
||||||
|
Returns the current devices and identity keys for the given users.
|
||||||
|
operationId: queryUserEncryptionKeys
|
||||||
|
security:
|
||||||
|
- signedRequest: []
|
||||||
|
parameters:
|
||||||
|
- in: body
|
||||||
|
name: body
|
||||||
|
type: object
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
device_keys:
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
The keys to be downloaded. A map from user ID, to a list of
|
||||||
|
device IDs, or to an empty list to indicate all devices for the
|
||||||
|
corresponding user.
|
||||||
|
additionalProperties:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: "Device ID"
|
||||||
|
example: {
|
||||||
|
"@alice:example.com": []
|
||||||
|
}
|
||||||
|
required: ['device_keys']
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: The device information.
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
device_keys:
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
Information on the queried devices. A map from user ID, to a
|
||||||
|
map from device ID to device information. For each device,
|
||||||
|
the information returned will be the same as uploaded via
|
||||||
|
``/keys/upload``, with the addition of an ``unsigned``
|
||||||
|
property.
|
||||||
|
additionalProperties:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
allOf:
|
||||||
|
- $ref: ../client-server/definitions/device_keys.yaml
|
||||||
|
properties:
|
||||||
|
unsigned:
|
||||||
|
title: UnsignedDeviceInfo
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
Additional data added to the device key information
|
||||||
|
by intermediate servers, and not covered by the
|
||||||
|
signatures.
|
||||||
|
properties:
|
||||||
|
device_display_name:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
The display name which the user set on the device.
|
||||||
|
required: ['device_keys']
|
||||||
|
examples:
|
||||||
|
application/json: {
|
||||||
|
"device_keys": {
|
||||||
|
"@alice:example.com": {
|
||||||
|
"JLAFKJWSCS": {
|
||||||
|
"user_id": "@alice:example.com",
|
||||||
|
"device_id": "JLAFKJWSCS",
|
||||||
|
"algorithms": [
|
||||||
|
"m.olm.v1.curve25519-aes-sha256",
|
||||||
|
"m.megolm.v1.aes-sha"
|
||||||
|
],
|
||||||
|
"keys": {
|
||||||
|
"curve25519:JLAFKJWSCS": "3C5BFWi2Y8MaVvjM8M22DBmh24PmgR0nPvJOIArzgyI",
|
||||||
|
"ed25519:JLAFKJWSCS": "lEuiRJBit0IG6nUf5pUzWTUEsRVVe/HJkoKuEww9ULI"
|
||||||
|
},
|
||||||
|
"signatures": {
|
||||||
|
"@alice:example.com": {
|
||||||
|
"ed25519:JLAFKJWSCS": "dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unsigned": {
|
||||||
|
"device_display_name": "Alice's mobile phone"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
!.gitignore
|
@ -0,0 +1,30 @@
|
|||||||
|
[tool.towncrier]
|
||||||
|
filename = "../application_service.rst"
|
||||||
|
directory = "newsfragments"
|
||||||
|
issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_"
|
||||||
|
title_format = "{version}"
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "breaking"
|
||||||
|
name = "Breaking Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "deprecation"
|
||||||
|
name = "Deprecations"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "new"
|
||||||
|
name = "New Endpoints"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "feature"
|
||||||
|
name = "Backwards Compatible Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "clarification"
|
||||||
|
name = "Spec Clarifications"
|
||||||
|
showcontent = true
|
@ -0,0 +1 @@
|
|||||||
|
Specify how to control the power level required for ``@room``
|
@ -0,0 +1 @@
|
|||||||
|
Add ``.well-known`` server discovery method
|
@ -0,0 +1 @@
|
|||||||
|
Share room decryption keys between devices
|
@ -0,0 +1 @@
|
|||||||
|
Add a common standard for user, room, and group mentions in messages.
|
@ -0,0 +1 @@
|
|||||||
|
Update all event examples to be accurate representations of their associated events.
|
@ -0,0 +1 @@
|
|||||||
|
Document the ``validated_at`` and ``added_at`` fields on ``GET /acount/3pid``.
|
@ -0,0 +1 @@
|
|||||||
|
Add ``POST /account/3pid/delete``
|
@ -0,0 +1 @@
|
|||||||
|
Add an ``inhibit_login`` registration option.
|
@ -0,0 +1 @@
|
|||||||
|
Document the 403 error for sending state events.
|
@ -0,0 +1 @@
|
|||||||
|
specify how to handle multiple olm sessions with the same device
|
@ -0,0 +1 @@
|
|||||||
|
Add more presence options to the ``set_presence`` parameter of ``/sync``. (Thanks @mujx!)
|
@ -0,0 +1 @@
|
|||||||
|
!.gitignore
|
@ -0,0 +1,30 @@
|
|||||||
|
[tool.towncrier]
|
||||||
|
filename = "../identity_service.rst"
|
||||||
|
directory = "newsfragments"
|
||||||
|
issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_"
|
||||||
|
title_format = "{version}"
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "breaking"
|
||||||
|
name = "Breaking Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "deprecation"
|
||||||
|
name = "Deprecations"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "new"
|
||||||
|
name = "New Endpoints"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "feature"
|
||||||
|
name = "Backwards Compatible Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "clarification"
|
||||||
|
name = "Spec Clarifications"
|
||||||
|
showcontent = true
|
@ -0,0 +1,6 @@
|
|||||||
|
r0.1.0
|
||||||
|
======
|
||||||
|
|
||||||
|
The first release of the Push Gateway specification. This release contains
|
||||||
|
a single endpoint, ``/notify``, that pushers may use to send push notifications
|
||||||
|
to clients.
|
@ -0,0 +1 @@
|
|||||||
|
!.gitignore
|
@ -0,0 +1,30 @@
|
|||||||
|
[tool.towncrier]
|
||||||
|
filename = "../push_gateway.rst"
|
||||||
|
directory = "newsfragments"
|
||||||
|
issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_"
|
||||||
|
title_format = "{version}"
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "breaking"
|
||||||
|
name = "Breaking Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "deprecation"
|
||||||
|
name = "Deprecations"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "new"
|
||||||
|
name = "New Endpoints"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "feature"
|
||||||
|
name = "Backwards Compatible Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "clarification"
|
||||||
|
name = "Spec Clarifications"
|
||||||
|
showcontent = true
|
@ -0,0 +1 @@
|
|||||||
|
!.gitignore
|
@ -0,0 +1,30 @@
|
|||||||
|
[tool.towncrier]
|
||||||
|
filename = "../server_server.rst"
|
||||||
|
directory = "newsfragments"
|
||||||
|
issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_"
|
||||||
|
title_format = "{version}"
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "breaking"
|
||||||
|
name = "Breaking Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "deprecation"
|
||||||
|
name = "Deprecations"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "new"
|
||||||
|
name = "New Endpoints"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "feature"
|
||||||
|
name = "Backwards Compatible Changes"
|
||||||
|
showcontent = true
|
||||||
|
|
||||||
|
[[tool.towncrier.type]]
|
||||||
|
directory = "clarification"
|
||||||
|
name = "Spec Clarifications"
|
||||||
|
showcontent = true
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"content": {
|
||||||
|
"key": "value"
|
||||||
|
},
|
||||||
|
"type": "org.example.custom.event"
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"$ref": "event.json",
|
||||||
|
"room_id": "!jEsUZKDJdhlrceRyVU:domain.com"
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"$ref": "event.json",
|
||||||
|
"event_id": "$143273582443PhrSn:domain.com",
|
||||||
|
"room_id": "!jEsUZKDJdhlrceRyVU:domain.com",
|
||||||
|
"sender": "@example:domain.com",
|
||||||
|
"origin_server_ts": 1432735824653,
|
||||||
|
"unsigned": {
|
||||||
|
"age": 1234
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"$ref": "room_event.json",
|
||||||
|
"state_key": "ArbitraryString"
|
||||||
|
}
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.call.hangup",
|
||||||
"content": {
|
"content": {
|
||||||
"version" : 0,
|
"version" : 0,
|
||||||
"call_id": "12345"
|
"call_id": "12345"
|
||||||
},
|
}
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.call.hangup",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"$ref": "core/event.json",
|
||||||
"type": "m.direct",
|
"type": "m.direct",
|
||||||
"content": {
|
"content": {
|
||||||
"@bob:example.com": [
|
"@bob:example.com": [
|
||||||
"!abcdefgh:example.com",
|
"!abcdefgh:example.com",
|
||||||
"!hgfedcba:example.com"
|
"!hgfedcba:example.com"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"content": {
|
||||||
|
"algorithm": "m.megolm.v1.aes-sha2",
|
||||||
|
"room_id": "!Cuyf34gef24t:localhost",
|
||||||
|
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
||||||
|
"session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8Llf...",
|
||||||
|
"sender_key": "RF3s+E7RkTQTGF2d8Deol0FkQvgII2aJDf3/Jp5mxVU",
|
||||||
|
"sender_claimed_ed25519_key": "aj40p+aw64yPIdsxoog8jhPu9i7l7NcFRecuOQblE3Y",
|
||||||
|
"forwarding_curve25519_key_chain": [
|
||||||
|
"hPQNcabIABgGnx3/ACv/jmMmiQHoeFfuLB17tzWp6Hw"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"type": "m.forwarded_room_key"
|
||||||
|
}
|
@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
|
"$ref": "core/event.json",
|
||||||
|
"sender": "@example:localhost",
|
||||||
|
"type": "m.presence",
|
||||||
"content": {
|
"content": {
|
||||||
"avatar_url": "mxc://localhost:wefuiwegh8742w",
|
"avatar_url": "mxc://localhost:wefuiwegh8742w",
|
||||||
"last_active_ago": 2478593,
|
"last_active_ago": 2478593,
|
||||||
"presence": "online",
|
"presence": "online",
|
||||||
"currently_active": false
|
"currently_active": false
|
||||||
},
|
}
|
||||||
"sender": "@example:localhost",
|
|
||||||
"type": "m.presence"
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"type": "m.receipt",
|
"$ref": "core/room_edu.json",
|
||||||
"room_id": "!KpjVgQyZpzBwvMBsnT:matrix.org",
|
"type": "m.receipt",
|
||||||
"content": {
|
"content": {
|
||||||
"$1435641916114394fHBLK:matrix.org": {
|
"$1435641916114394fHBLK:matrix.org": {
|
||||||
"m.read": {
|
"m.read": {
|
||||||
"@rikj:jki.re": {
|
"@rikj:jki.re": {
|
||||||
"ts": 1436451550453
|
"ts": 1436451550453
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
"content": {
|
"state_key": "domain.com",
|
||||||
"aliases": ["#somewhere:localhost", "#another:localhost"]
|
|
||||||
},
|
|
||||||
"state_key": "localhost",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.aliases",
|
"type": "m.room.aliases",
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
"content": {
|
||||||
"sender": "@example:localhost"
|
"aliases": ["#somewhere:domain.com", "#another:domain.com"]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.canonical_alias",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"alias": "#somewhere:localhost"
|
"alias": "#somewhere:localhost"
|
||||||
},
|
}
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.canonical_alias",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
"content": {
|
|
||||||
"creator": "@example:localhost"
|
|
||||||
},
|
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.create",
|
"type": "m.room.create",
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
"state_key": "",
|
||||||
"sender": "@example:localhost"
|
"content": {
|
||||||
|
"creator": "@example:domain.com",
|
||||||
|
"room_version": "1",
|
||||||
|
"m.federate": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
{
|
{
|
||||||
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.room.encrypted",
|
||||||
"content": {
|
"content": {
|
||||||
"algorithm": "m.megolm.v1.aes-sha2",
|
"algorithm": "m.megolm.v1.aes-sha2",
|
||||||
"ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg...",
|
"ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg...",
|
||||||
"device_id": "RJYKSTBOIE",
|
"device_id": "RJYKSTBOIE",
|
||||||
"sender_key": "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA",
|
"sender_key": "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA",
|
||||||
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ"
|
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ"
|
||||||
},
|
}
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"origin_server_ts": 1476648761524,
|
|
||||||
"sender": "@example:localhost",
|
|
||||||
"type": "m.room.encrypted"
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.encryption",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"algorithm": "m.megolm.v1.aes-sha2",
|
"algorithm": "m.megolm.v1.aes-sha2",
|
||||||
"rotation_period_ms": 604800000,
|
"rotation_period_ms": 604800000,
|
||||||
"rotation_period_msgs": 100
|
"rotation_period_msgs": 100
|
||||||
},
|
}
|
||||||
"event_id": "$WLGTSEFJJKJ:localhost",
|
|
||||||
"origin_server_ts": 1476648761524,
|
|
||||||
"sender": "@example:localhost",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"state_key": "",
|
|
||||||
"type": "m.room.encryption"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242353,
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.guest_access",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"guest_access": "can_join"
|
"guest_access": "can_join"
|
||||||
},
|
}
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217938,
|
|
||||||
"event_id": "$WLGTSEFSEG:localhost",
|
|
||||||
"type": "m.room.guest_access",
|
|
||||||
"room_id": "!Cuyf34gef24u:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.history_visibility",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"history_visibility": "shared"
|
"history_visibility": "shared"
|
||||||
},
|
}
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.history_visibility",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.join_rules",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"join_rule": "public"
|
"join_rule": "public"
|
||||||
},
|
}
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.join_rules",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
|
"state_key": "@alice:domain.com",
|
||||||
|
"type": "m.room.member",
|
||||||
"content": {
|
"content": {
|
||||||
"membership": "join",
|
"membership": "join",
|
||||||
"avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto",
|
"avatar_url": "mxc://domain.com/SEsfnsuifSDFSSEF#auto",
|
||||||
"displayname": "Alice Margatroid"
|
"displayname": "Alice Margatroid"
|
||||||
},
|
}
|
||||||
"state_key": "@alice:localhost",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.member",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,14 @@
|
|||||||
{
|
{
|
||||||
"age": 146,
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.room.message",
|
||||||
"content": {
|
"content": {
|
||||||
"body": "Bee Gees - Stayin' Alive",
|
"body": "Bee Gees - Stayin' Alive",
|
||||||
"url": "mxc://localhost/ffed755USFFxlgbQYZGtryd",
|
"url": "mxc://domain.com/ffed755USFFxlgbQYZGtryd",
|
||||||
"info": {
|
"info": {
|
||||||
"duration": 2140786,
|
"duration": 2140786,
|
||||||
"size": 1563685,
|
"size": 1563685,
|
||||||
"mimetype": "audio/mpeg"
|
"mimetype": "audio/mpeg"
|
||||||
},
|
},
|
||||||
"msgtype": "m.audio"
|
"msgtype": "m.audio"
|
||||||
},
|
}
|
||||||
"event_id": "$143273582443PhrSn:localhost",
|
|
||||||
"origin_server_ts": 1432735824653,
|
|
||||||
"room_id": "!jEsUZKDJdhlrceRyVU:localhost",
|
|
||||||
"type": "m.room.message",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.room.message",
|
||||||
"content": {
|
"content": {
|
||||||
"body": "thinks this is an example emote",
|
"body": "thinks this is an example emote",
|
||||||
"msgtype": "m.emote",
|
"msgtype": "m.emote",
|
||||||
"format": "org.matrix.custom.html",
|
"format": "org.matrix.custom.html",
|
||||||
"formatted_body": "thinks <b>this</b> is an example emote"
|
"formatted_body": "thinks <b>this</b> is an example emote"
|
||||||
},
|
}
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.message",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.room.message",
|
||||||
"content": {
|
"content": {
|
||||||
"body": "This is an example notice",
|
"body": "This is an example notice",
|
||||||
"msgtype": "m.notice",
|
"msgtype": "m.notice",
|
||||||
"format": "org.matrix.custom.html",
|
"format": "org.matrix.custom.html",
|
||||||
"formatted_body": "This is an <strong>example</strong> notice"
|
"formatted_body": "This is an <strong>example</strong> notice"
|
||||||
},
|
}
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.message",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.room.message",
|
||||||
"content": {
|
"content": {
|
||||||
"body": "This is an example text message",
|
"body": "This is an example text message",
|
||||||
"msgtype": "m.text",
|
"msgtype": "m.text",
|
||||||
"format": "org.matrix.custom.html",
|
"format": "org.matrix.custom.html",
|
||||||
"formatted_body": "<b>This is an example text message</b>"
|
"formatted_body": "<b>This is an example text message</b>"
|
||||||
},
|
}
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.message",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/room_event.json",
|
||||||
|
"type": "m.room.message.feedback",
|
||||||
"content": {
|
"content": {
|
||||||
"type": "delivered",
|
"type": "delivered",
|
||||||
"target_event_id": "$WEIGFHFW:localhost"
|
"target_event_id": "$WEIGFHFW:localhost"
|
||||||
},
|
}
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.message.feedback",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.name",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"name": "The room name"
|
"name": "The room name"
|
||||||
},
|
}
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.name",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
"content": {
|
|
||||||
"pinned": ["$someevent:localhost"]
|
|
||||||
},
|
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.pinned_events",
|
"type": "m.room.pinned_events",
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
"state_key": "",
|
||||||
"sender": "@example:localhost"
|
"content": {
|
||||||
|
"pinned": ["$someevent:domain.com"]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
{
|
{
|
||||||
"unsigned": {
|
"$ref": "core/room_event.json",
|
||||||
"age": 242352
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"reason": "Spamming"
|
|
||||||
},
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.redaction",
|
"type": "m.room.redaction",
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"redacts": "$fukweghifu23:localhost",
|
"redacts": "$fukweghifu23:localhost",
|
||||||
"sender": "@example:localhost"
|
"content": {
|
||||||
|
"reason": "Spamming"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"age": 242352,
|
"$ref": "core/state_event.json",
|
||||||
|
"type": "m.room.topic",
|
||||||
|
"state_key": "",
|
||||||
"content": {
|
"content": {
|
||||||
"topic": "A room topic"
|
"topic": "A room topic"
|
||||||
},
|
}
|
||||||
"state_key": "",
|
|
||||||
"origin_server_ts": 1431961217939,
|
|
||||||
"event_id": "$WLGTSEFSEF:localhost",
|
|
||||||
"type": "m.room.topic",
|
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
|
||||||
"sender": "@example:localhost"
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"$ref": "core/event.json",
|
||||||
|
"type": "m.room_key",
|
||||||
"content": {
|
"content": {
|
||||||
"algorithm": "m.megolm.v1.aes-sha2",
|
"algorithm": "m.megolm.v1.aes-sha2",
|
||||||
"room_id": "!Cuyf34gef24t:localhost",
|
"room_id": "!Cuyf34gef24t:localhost",
|
||||||
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
||||||
"session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEY..."
|
"session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEY..."
|
||||||
},
|
}
|
||||||
"type": "m.room_key"
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"content": {
|
||||||
|
"action": "cancel_request",
|
||||||
|
"requesting_device_id": "RJYKSTBOIE",
|
||||||
|
"request_id": "1495474790150.19"
|
||||||
|
},
|
||||||
|
"type": "m.room_key_request"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"content": {
|
||||||
|
"body": {
|
||||||
|
"algorithm": "m.megolm.v1.aes-sha2",
|
||||||
|
"room_id": "!Cuyf34gef24t:localhost",
|
||||||
|
"session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ",
|
||||||
|
"sender_key": "RF3s+E7RkTQTGF2d8Deol0FkQvgII2aJDf3/Jp5mxVU"
|
||||||
|
},
|
||||||
|
"action": "request",
|
||||||
|
"requesting_device_id": "RJYKSTBOIE",
|
||||||
|
"request_id": "1495474790150.19"
|
||||||
|
},
|
||||||
|
"type": "m.room_key_request"
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"type": "m.typing",
|
"$ref": "core/room_edu.json",
|
||||||
"room_id": "!z0mnsuiwhifuhwwfw:matrix.org",
|
"type": "m.typing",
|
||||||
"content": {
|
"content": {
|
||||||
"user_ids": ["@alice:matrix.org", "@bob:example.com"]
|
"user_ids": ["@alice:matrix.org", "@bob:example.com"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
allOf:
|
||||||
|
- $ref: core-event-schema/event.yaml
|
||||||
|
|
||||||
|
description: |-
|
||||||
|
This event type is used to forward keys for end-to-end encryption. Typically
|
||||||
|
it is encrypted as an ``m.room.encrypted`` event, then sent as a `to-device`_
|
||||||
|
event.
|
||||||
|
properties:
|
||||||
|
content:
|
||||||
|
properties:
|
||||||
|
algorithm:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
The encryption algorithm the key in this event is to be used with.
|
||||||
|
room_id:
|
||||||
|
type: string
|
||||||
|
description: The room where the key is used.
|
||||||
|
sender_key:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
The Curve25519 key of the device which initiated the session originally.
|
||||||
|
session_id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the session that the key is for.
|
||||||
|
session_key:
|
||||||
|
type: string
|
||||||
|
description: The key to be exchanged.
|
||||||
|
sender_claimed_ed25519_key:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
The Ed25519 key of the device which initiated the session originally.
|
||||||
|
It is 'claimed' because the receiving device has no way to tell that the
|
||||||
|
original room_key actually came from a device which owns the private part of
|
||||||
|
this key unless they have done device verification.
|
||||||
|
forwarding_curve25519_key_chain:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
Chain of Curve25519 keys. It starts out empty, but each time the
|
||||||
|
key is forwarded to another device, the previous sender in the chain is added
|
||||||
|
to the end of the list. For example, if the key is forwarded from A to B to
|
||||||
|
C, this field is empty between A and B, and contains A's Curve25519 key between
|
||||||
|
B and C.
|
||||||
|
required:
|
||||||
|
- algorithm
|
||||||
|
- room_id
|
||||||
|
- session_id
|
||||||
|
- session_key
|
||||||
|
- sender_claimed_ed25519_key
|
||||||
|
- forwarding_curve25519_key_chain
|
||||||
|
- sender_key
|
||||||
|
type: object
|
||||||
|
type:
|
||||||
|
enum:
|
||||||
|
- m.forwarded_room_key
|
||||||
|
type: string
|
||||||
|
type: object
|
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
allOf:
|
||||||
|
- $ref: core-event-schema/event.yaml
|
||||||
|
|
||||||
|
description: |-
|
||||||
|
This event type is used to request keys for end-to-end encryption. It is sent as an
|
||||||
|
unencrypted `to-device`_ event.
|
||||||
|
properties:
|
||||||
|
content:
|
||||||
|
properties:
|
||||||
|
body:
|
||||||
|
description: |-
|
||||||
|
Information about the requested key. Required when ``action`` is
|
||||||
|
``request``.
|
||||||
|
properties:
|
||||||
|
algorithm:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
The encryption algorithm the requested key in this event is to be used
|
||||||
|
with.
|
||||||
|
room_id:
|
||||||
|
type: string
|
||||||
|
description: The room where the key is used.
|
||||||
|
sender_key:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
The Curve25519 key of the device which initiated the session originally.
|
||||||
|
session_id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the session that the key is for.
|
||||||
|
required:
|
||||||
|
- algorithm
|
||||||
|
- room_id
|
||||||
|
- session_id
|
||||||
|
- sender_key
|
||||||
|
type: object
|
||||||
|
title: RequestedKeyInfo
|
||||||
|
action:
|
||||||
|
enum:
|
||||||
|
- request
|
||||||
|
- cancel_request
|
||||||
|
type: string
|
||||||
|
requesting_device_id:
|
||||||
|
description: ID of the device requesting the key.
|
||||||
|
type: string
|
||||||
|
request_id:
|
||||||
|
description: |-
|
||||||
|
A random string uniquely identifying the request for a key. If the key is
|
||||||
|
requested multiple times, it should be reused. It should also reused in order
|
||||||
|
to cancel a request.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- action
|
||||||
|
- requesting_device_id
|
||||||
|
- request_id
|
||||||
|
type: object
|
||||||
|
type:
|
||||||
|
enum:
|
||||||
|
- m.room_key_request
|
||||||
|
type: string
|
||||||
|
type: object
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue