On 03/08/2016 06:32 AM, William A Rowe Jr wrote:
On Mar 7, 2016 21:59, "Yehuda Katz" <yeh...@ymkatz.net
<mailto:yeh...@ymkatz.net>> wrote:
>
> On Mon, Mar 7, 2016 at 9:06 PM, William A Rowe Jr
<wr...@rowe-clan.net <mailto:wr...@rowe-clan.net>> wrote:
>>
>> On Mar 7, 2016 13:54, "Jan Kaluža" <jkal...@redhat.com
<mailto:jkal...@redhat.com>> wrote:
>> >
>> > On 03/07/2016 04:17 PM, Jim Jagielski wrote:
>> >>
>> >> Intstead of adding YAD (yet another directive ;) ), would it
>> >> be possible to somehow leverage Listen itself, maybe with some
>> >> sort of flag?
>> >
>> >
>> > Yes, that would be quite possible. I was thinking about that way,
but I have chosen YAD as a first approach. If you think adding flag to
Listen is better way, I can rework my patch.
>> >
>> > Regards,
>> > Jan Kaluza
>> >
>>
>> Reviewing the behavior, an unadorned new directive makes more sense
to me than cluttering Listen, which already takes one optional protocol
behavior argument.
>>
>> The same handler can process both directives.
>
> A benefit of using a flag is: what happens if the default changes at
some point? YAD would need to be created to go back to the old behavior
- which would make things more complicated. Is it possible to use
something like a plus/minus or question mark symbol with each
address:port which would allow the default to be changed at some future
point without requiring having this discussion again?
>
> Example:
> Listen ?192.170.2.1:80 <http://192.170.2.1:80> # Use IP_FREEBIND to
listen when IP is available (new behavior)
> Listen +192.170.2.5:8000 <http://192.170.2.5:8000> # Require IP to
be available (old behavior)
> Listen [2001:db8::a00:20ff:fea7:ccea]:80 # Current default behavior
(old)
Interesting point, I raised the same consideration for piped logging
syntax some years ago. But at that time it was the consensus that the
default would change with the next major version.
I see small probably that this would become a default behavior, from the
perspective of robustness alone. I see that you simply suggest a
tri-state (and trailing '?' Vs '!' makes more intuitive sense to me),
but I'm not seeing a consensus yet that the default would change in the
future.
I think that the default behaviour should not be changed, at least not
in major version.
I have chosen FreeListen over the flags, because I personally think it's
better to have two directives than single one with more and more flags
changing its behaviour. But I care more about that feature, not about a
way how it is enabled in the end :).
Jan Kaluza
The same can be accomplished by adding a third 'FixedListen' directive,
leaving Listen itself free to switch behaviors.
But from the migration perspective, I'd be loath to switch any default
Listen behavior without the admin's explicit intervention. POLS.