From d18e4ea0d46a9390a75b270fe5f17dc3bc23f29a Mon Sep 17 00:00:00 2001
From: Richard van der Hoff <richard@matrix.org>
Date: Wed, 5 Jun 2019 10:58:51 +0100
Subject: [PATCH] Implement room v5 which enforces signing key validity

Implements [MSC2077](https://github.com/matrix-org/matrix-doc/pull/2077) and
fixes #5247 and #4364.
---
 changelog.d/5354.bugfix      |  2 ++
 synapse/api/room_versions.py | 10 +++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)
 create mode 100644 changelog.d/5354.bugfix

diff --git a/changelog.d/5354.bugfix b/changelog.d/5354.bugfix
new file mode 100644
index 000000000000..0c56032b3080
--- /dev/null
+++ b/changelog.d/5354.bugfix
@@ -0,0 +1,2 @@
+Add a new room version where the timestamps on events are checked against the validity periods on signing keys.
+
diff --git a/synapse/api/room_versions.py b/synapse/api/room_versions.py
index 501cdfb6a41a..d644803d3843 100644
--- a/synapse/api/room_versions.py
+++ b/synapse/api/room_versions.py
@@ -82,12 +82,12 @@ class RoomVersions(object):
         StateResolutionVersions.V2,
         enforce_key_validity=False,
     )
-    VDH_TEST_KEY_VALIDITY = RoomVersion(
-        "vdh-test-key-validity",
-        RoomDisposition.UNSTABLE,
+    V5 = RoomVersion(
+        "5",
+        RoomDisposition.STABLE,
         EventFormatVersions.V3,
         StateResolutionVersions.V2,
-        enforce_key_validity=False,
+        enforce_key_validity=True,
     )
 
 
@@ -97,6 +97,6 @@ class RoomVersions(object):
         RoomVersions.V2,
         RoomVersions.V3,
         RoomVersions.V4,
-        RoomVersions.VDH_TEST_KEY_VALIDITY,
+        RoomVersions.V5,
     )
 }   # type: dict[str, RoomVersion]