On Wed, Apr 16, 2014 at 2:14 PM, Willy Tarreau <[email protected]> wrote:

>> > Note that this probably marks the death of protocol v2 that nobody 
>> > implemented
>> > yet, but that was supposed to be easier to parse...
>> Exim git HEAD has support (for the forthcoming 4.83 release) for Proxy
>> Protocol, when built with EXPERIMENTAL_PROXY.  This includes support for
>> proxy protocols 1 and 2 both.  (This is Exim as a server sat behind a
>> proxy speaking the proxy protocol, so that connection source checks can
>> use the external origin IP).
> Great! I noticed it had support for the protocol but did not notice it
> supported V2. So actually Exim can probably proudly claim to be the first
> one to implement v2 :-)

We can't claim it yet.  I recall when I worked on this that I just
threw in some skeleton code for v2.  Yesterday I verified that the v2
code does not work, so I'm in the process of fixing it.

>> Willy, what are your plans for protocol v2 please?  If it's going to die
>> an early death, I'd rather ensure that Exim rips out support for v2
>> before the first release with support for proxy protocol, otherwise
>> we're in for years of pain if someone deploys a proxy which does support
>> it.

+1

> Nothing is decided, I really think that v2 is much better than v1 in that
> it will significantly simplify the life of people who have to deal with
> recv(MSG_PEEK) like postscreen and all those who don't want to implement
> a possibly dangerous text-based parser.

Personally I prefer the text based one, but maybe that just means I'm
a little masochistic.

> David proposed nice improvements and there are other people asking for
> similar improvements. My first thought was that v2 could be compromised,
> but David's latest post seems to suggest otherwise.
>
> The real issue with v2 is that (Exim aside), nobody implements it yet.
> And for having started this protocol within haproxy, I know for sure
> that without any other agents, it becomes totally useless.
>
> So right now I'd rather say that we should evaluate the possibilities
> to extend it further, then implement it into haproxy. We could even
> imagine that the extension binary version becomes v3 if it changes in
> any significant way (at least we'll need to pass some frame length).
>
>> Todd, was v2 support added for feature completeness, or because you
>> needed to work with an implementation using it?

Completeness.  The only implementation I am aware of that is using
Exim with Proxy Protocol is using v1.

> If you want my opinion, do not remove it, even if you have no other
> user right now.

Ok.

> We've seen after implementing it for stunnel and stud
> that just a few agents are enough to ignite adoption in many other
> products. It should even be easy to implement into haproxy, it's just
> that we need to add a few keywords on the server side for this. BTW,

...Todd

Reply via email to