Hi Willy,

4 week of junk food does clearly have it's drawbacks, I hope you at least 
managed some Easter/holiday themed food ;)

We're happy and grateful that you are still around supporting us, even through 
these difficult times.

Stay safe and all the best wishes for many years of haProxy still to come ;)

Regards,
Stefan

-----Original Message-----
From: Willy Tarreau <[email protected]> 
Sent: Sunday, 12 April 2020 18:19
To: Hativ <[email protected]>
Cc: Tim Düsterhus <[email protected]>; [email protected]
Subject: Re: TLV problem after updating to 2.1.14

Hello Hativ,

On Sun, Apr 12, 2020 at 09:49:02AM +0200, Hativ wrote:
> Hello Willy,
> > Hativ, if I send you a patch to test next week, is it possible to 
> > give it a try on your side ? I'm interested in knowing if a clean 
> > "LOCAL"
> > connection works fine with Dovecot. If so then in parallel we can 
> > file a report on Dovecot to make their parser more robust but at 
> > least we'd have a longterm solution that doesn't affect deployed 
> > servers.
> 
> I didn't get a patch so far.

I'm really sorry for this. It just turns out that having been enclosed for
4 weeks eating only junk food starts to seriously challenge my ability to 
concentrate on any work and stay focused more than five seconds... and the 
total lack of perspectives of any imminent improvement of this painful 
situation definitely does not help :-(

Here comes a patch (copy-pasted, you just have to copy that new line).
It's not the final one, because if it works, then we'll also need to remoe the 
unused local-specific parts from the "else" block, but that's a pure detail for 
now.

Thanks,
Willy

diff --git a/src/connection.c b/src/connection.c index 5a2fd95bc2..0bafcdb919 
100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -1378,6 +1378,7 @@ int make_proxy_line_v2(char *buf, int buf_len, struct 
server *srv, struct connec
        /* At least one of src or dst is not of AF_INET or AF_INET6 */
        if (  !src
           || !dst
+          || conn_is_back(remote)
           || (src->ss_family != AF_INET && src->ss_family != AF_INET6)
           || (dst->ss_family != AF_INET && dst->ss_family != AF_INET6)) {
                if (buf_len < PP2_HDR_LEN_UNSPEC)



Reply via email to