mirror of
https://mau.dev/maunium/synapse.git
synced 2024-11-18 16:02:15 +01:00
improve mxid check performance ~4x
Signed-off-by: Adrian Tschira <nota@notafile.com>
This commit is contained in:
parent
88cc9cc69e
commit
11597ddea5
1 changed files with 4 additions and 3 deletions
|
@ -12,11 +12,11 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
import string
|
|
||||||
|
|
||||||
from synapse.api.errors import SynapseError
|
from synapse.api.errors import SynapseError
|
||||||
|
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
|
import re
|
||||||
|
|
||||||
|
|
||||||
class Requester(namedtuple("Requester", [
|
class Requester(namedtuple("Requester", [
|
||||||
|
@ -214,7 +214,8 @@ class GroupID(DomainSpecificString):
|
||||||
return group_id
|
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):
|
def contains_invalid_mxid_characters(localpart):
|
||||||
|
@ -226,7 +227,7 @@ def contains_invalid_mxid_characters(localpart):
|
||||||
Returns:
|
Returns:
|
||||||
bool: True if there are any naughty characters
|
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(
|
class StreamToken(
|
||||||
|
|
Loading…
Reference in a new issue