On Tue, Jul 29, 2014 at 12:46 PM, Branko Čibej <br...@wandisco.com> wrote:
> On 29.07.2014 12:25, Julian Foad wrote:
>
> Brane wrote:
>
> if the patterns were:
>
>     [*/projects/f*/include/*.h]
>     [*/projects/*o/include/*.h]
>
> (Ugh, I don't like the prefix '*' which I think you're using to mean
> 'wildcards enabled'.)
>
>
> I don't care what prefix we use, but I do care that the rules that contain
> wildcards have a different syntax than the rules that do not. Otherwise,
> existing authz files (that may contain literal wildcard/pattern characters)
> would stop working.
>
> We currently support two forms of patterns:
>
>     [/literal-fspath]
>     [repos:/literal-fspath]
>
> the distinguishing feature is that in both cases, the literal-fspath must
> begin with a slash, otherwise the rule is invalid. If we want to support
> wildcards, we have to invent a different syntax for wildcard rules. My
> working proposal is to add a literal '*' before the leading slash in the
> path:
>
>     [*/fspath-pattern]
>     [repos:*/fspath-pattern]
>
> because neither of these syntaxes are currently valid. We can invent a
> different syntax, as long as it maintains that property; and we cannot
> replace the brackets around the rule with something else, without making
> very intrusive changes in the config parser code.

Another approach might be to add an "options" section to the authz
file (in a way that it is ignored by older servers), where one could
specify a matching strategy (and if needed 'priority' strategy and so
on).

[options]
matching = literal | basic-wildcards | regex | ...

Then it's not hidden as a syntax-artifact, but more explicit ...

-- 
Johan

Reply via email to