On Tue, Dec 31, 2019 at 11:38:06AM -0500, Wietse Venema wrote: > I have a question about the v2 protocol spec. > > - \x0 : LOCAL : the connection was established on purpose by the > proxy without being relayed. The connection endpoints are the > sender and the receiver. Such connections exist when the proxy > sends health-checks to the server. The receiver must accept this > connection as valid and must use the real connection endpoints and > discard the protocol block including the family which is ignored. > > Real connection == the endpoints of the TCP connection from proxy to > Postfix?
That would be my reading of that text, most likely a health-check or other proxy-initiated connection. > - 0x0 : AF_UNSPEC : the connection is forwarded for an unknown, > unspecified or unsupported protocol. The sender should use this > family when sending LOCAL commands or when dealing with > unsupported protocol families. The receiver is free to accept the > connection anyway and use the real endpoint addresses or to reject > it. The receiver should ignore address information. > > What does 'reject' mean in this context? If it means closing the > connection, what is the point of rejecting a connection that was > made for the purpose of a health check? Yes, reject == close, but presumably only if the connection was not proxy-originated, i.e. not LOCAL. For Postfix, if the proxy cannot provide any address information, for a forwarded connection (should "never" happen in practice) we probably should close the connection. -- Viktor.