03318a766c
* tests for push rule pattern matching * tests for acl pattern matching * factor out common `re.escape` * Factor out common re.compile * Factor out common anchoring code * add word_boundary support to `glob_to_regex` * Use `glob_to_regex` in push rule evaluator NB that this drops support for character classes. I don't think anyone ever used them. * Improve efficiency of globs with multiple wildcards The idea here is that we compress multiple `*` globs into a single `.*`. We also need to consider `?`, since `*?*` is as hard to implement efficiently as `**`. * add assertion on regex pattern * Fix mypy * Simplify glob_to_regex * Inline the glob_to_regex helper function Signed-off-by: Dan Callahan <danc@element.io> * Moar comments Signed-off-by: Dan Callahan <danc@element.io> Co-authored-by: Dan Callahan <danc@element.io> |
||
---|---|---|
.. | ||
__init__.py | ||
__main__.py | ||
_base.py | ||
_base.pyi | ||
_util.py | ||
account_validity.py | ||
api.py | ||
appservice.py | ||
auth.py | ||
cache.py | ||
captcha.py | ||
cas.py | ||
consent.py | ||
database.py | ||
emailconfig.py | ||
experimental.py | ||
federation.py | ||
groups.py | ||
homeserver.py | ||
jwt.py | ||
key.py | ||
logger.py | ||
metrics.py | ||
oidc.py | ||
password_auth_providers.py | ||
push.py | ||
ratelimiting.py | ||
redis.py | ||
registration.py | ||
repository.py | ||
room.py | ||
room_directory.py | ||
saml2.py | ||
server.py | ||
server_notices.py | ||
spam_checker.py | ||
sso.py | ||
stats.py | ||
third_party_event_rules.py | ||
tls.py | ||
tracer.py | ||
user_directory.py | ||
voip.py | ||
workers.py |