diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-04-04 10:19:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-04 10:19:52 +0100 |
commit | 39ce38b024c8f2b140e2ecae492d3577508e8325 (patch) | |
tree | b2b081250d24d7ecc21871a29a0edf373b676936 | |
parent | Merge pull request #3049 from matrix-org/rav/use_staticjson (diff) | |
parent | improve mxid check performance ~4x (diff) | |
download | synapse-39ce38b024c8f2b140e2ecae492d3577508e8325.tar.xz |
Merge pull request #3053 from NotAFile/speedup-mxid-check
improve mxid check performance
-rw-r--r-- | synapse/types.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/synapse/types.py b/synapse/types.py index 7cb24cecb2..f1f41ccf90 100644 --- a/synapse/types.py +++ b/synapse/types.py @@ -12,11 +12,11 @@ # 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. -import string from synapse.api.errors import SynapseError from collections import namedtuple +import re class Requester(namedtuple("Requester", [ @@ -214,7 +214,8 @@ class GroupID(DomainSpecificString): return group_id -mxid_localpart_allowed_characters = set("_-./=" + string.ascii_lowercase + string.digits) +# A regex that matches any valid mxid characters +MXID_LOCALPART_REGEX = re.compile("^[_\-./=a-z0-9]*$") def contains_invalid_mxid_characters(localpart): @@ -226,7 +227,7 @@ def contains_invalid_mxid_characters(localpart): Returns: bool: True if there are any naughty characters """ - return any(c not in mxid_localpart_allowed_characters for c in localpart) + return not MXID_LOCALPART_REGEX.match(localpart) class StreamToken( |