httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject Re: Redesigning <Limit > from the ground up.
Date Tue, 13 Feb 2007 21:46:38 GMT
Nick Kew wrote:
> On Tue, 13 Feb 2007 14:00:09 -0600
> "William A. Rowe, Jr." <> wrote:
> The fundamental weakness of <Limit> is that it requires a module
> to cooperate proactively, and many modules don't.  That gives it
> different semantics to other standard containers.

Yes, that is correct, most modules don't, and are silent when their
directives are apparently (but not actually) <Limit >ed.

>> I believe it needs to be scrapped.  <Limit > needs to become a first
>> class container for httpd directives.  Now, we must further confuse
>> an already confused situation.
> I disagree.  <Limit> is far too firmly established to change its
> semantics.  Either we keep it as-is (warts and all) or we scrap it, 
> and generate a startup error that advises the user of alternatives.

Well, I'm proposing this for now to 2.4.

> One possible replacement would be to make it an optional argument
> to <Directory> & family:
> <Location /limited/ methods="GET POST HEAD">
> </Location>
> I haven't thought through the implementation details of that,
> but the semantics work, and I think they'd deal with your concerns.

Now that's an interesting idea.  I'll consider that.

Within the construct of the original suggestion, what if <Limit > in
my proposed form became <Method[s] >?  Would that help to disambiguate
the two?

> Now, if we were to rework containers, it might be time to
> bring in some kind of if-then-else logic (the road <LimitExcept>
> started down):
> <Location /limited/ method="GET POST HEAD">
> <Else Location /limited/ method!="GET POST HEAD">
> </Location>
> That's far too ugly as stated, but you get the idea.

It might be interesting.  But, I think we can proceed with either the
<Method[s] > or method= argument to Location, Directory and Files and
resolve an Else-syntax later.

View raw message