Skip to content
Snippets Groups Projects
  • Richard van der Hoff's avatar
    03318a76
    Merge pull request from GHSA-x345-32rc-8h85 · 03318a76
    Richard van der Hoff authored
    
    * 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: default avatarDan Callahan <danc@element.io>
    
    * Moar comments
    
    Signed-off-by: default avatarDan Callahan <danc@element.io>
    
    Co-authored-by: default avatarDan Callahan <danc@element.io>
    03318a76
    History
    Merge pull request from GHSA-x345-32rc-8h85
    Richard van der Hoff authored
    
    * 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: default avatarDan Callahan <danc@element.io>
    
    * Moar comments
    
    Signed-off-by: default avatarDan Callahan <danc@element.io>
    
    Co-authored-by: default avatarDan Callahan <danc@element.io>