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)