[ https://issues.apache.org/jira/browse/SVN-4795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16706694#comment-16706694 ]
Branko Čibej commented on SVN-4795: ----------------------------------- The attached patch modifies the config parser as described, but only for authz and global group files. The semantics of other configuration files remain unchanged. > Support character classes in glob authz rules > --------------------------------------------- > > Key: SVN-4795 > URL: https://issues.apache.org/jira/browse/SVN-4795 > Project: Subversion > Issue Type: Improvement > Components: libsvn_repos, svnauthz > Affects Versions: all > Reporter: Branko Čibej > Priority: Major > Attachments: authz-glob-character-class.patch > > > *Proposal* > Change the way section names are parsed in authz files, so that anything > between the initial {{\[}} and the last {{\]}} are treated as the section > name/rule pattern. This will restrict the use of inline comments on rules, > but will allow fuller use of glob patterns. > *Discussion* > Wildcard rules in Subversion's authz file use {{apr_fnmatch()}} to match > patterns to path segments. APR's matcher supports character classes > ({{[A-Z]}} etc.), however, there is no way to use them in the authz file. For > example, given this rule: > {noformat} > [:glob:/**/*.[Dd]oc] > * = rw > {noformat} > the pattern will be parsed as "{{/\*\*/\*.[Dd}}", which is probably not what > the user intended and matches, for example, "{{/path/x.\[Dd}}" instead of the > expected "{{/path/x.doc}}". > This limitation was present in the authz rules since their inception and is a > side effect of how Subversion's config parser parses section names. See: > {{parse_section_name()}} in {{libsvn_subr/config_file.c}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005)