synapse-product/synapse
Richard van der Hoff 03318a766c
Merge pull request from GHSA-x345-32rc-8h85
* 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>
2021-05-11 11:47:23 +02:00
..
_scripts Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
api Improved validation for received requests (#9817) 2021-04-23 19:20:44 +01:00
app Improved validation for received requests (#9817) 2021-04-23 19:20:44 +01:00
appservice Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
config Merge pull request from GHSA-x345-32rc-8h85 2021-05-11 11:47:23 +02:00
crypto remove HomeServer.get_config (#9815) 2021-04-14 19:09:08 +01:00
events Remove synapse.types.Collection (#9856) 2021-04-22 16:43:50 +01:00
federation Revert "Experimental Federation Speedup (#9702)" 2021-04-28 11:38:33 +01:00
groups Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
handlers Fix tight loop handling presence replication. (#9900) 2021-04-28 14:42:50 +01:00
http Improved validation for received requests (#9817) 2021-04-23 19:20:44 +01:00
logging Merge branch 'master' into develop 2021-04-22 11:23:56 +01:00
metrics Merge branch 'master' into develop 2021-04-21 14:55:06 +01:00
module_api Don't send normal presence updates over federation replication stream (#9828) 2021-04-19 10:50:49 +01:00
push Merge pull request from GHSA-x345-32rc-8h85 2021-05-11 11:47:23 +02:00
replication Split presence out of master (#9820) 2021-04-23 12:21:55 +01:00
res/templates Port "Allow users to click account renewal links multiple times without hitting an 'Invalid Token' page #74" from synapse-dinsic (#9832) 2021-04-19 19:16:34 +01:00
rest Remove various bits of compatibility code for Python <3.6 (#9879) 2021-04-27 13:13:07 +01:00
server_notices Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
spam_checker_api Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
state Remove synapse.types.Collection (#9856) 2021-04-22 16:43:50 +01:00
static Add initial support for a "pick your IdP" page (#9017) 2021-01-05 11:25:28 +00:00
storage Revert "Experimental Federation Speedup (#9702)" 2021-04-28 11:38:33 +01:00
streams Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
util Merge pull request from GHSA-x345-32rc-8h85 2021-05-11 11:47:23 +02:00
__init__.py 1.33.1 2021-05-06 14:06:38 +01:00
event_auth.py Improved validation for received requests (#9817) 2021-04-23 19:20:44 +01:00
notifier.py Remove synapse.types.Collection (#9856) 2021-04-22 16:43:50 +01:00
python_dependencies.py Unpin attrs dep after new version has been released (#9946) 2021-05-07 12:57:21 +01:00
server.py Remove various bits of compatibility code for Python <3.6 (#9879) 2021-04-27 13:13:07 +01:00
types.py Make DomainSpecificString an attrs class (#9875) 2021-04-23 15:46:29 +01:00
visibility.py Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00