messages_dgm: Properly handle receiver re-initialization
authorVolker Lendecke <vl@samba.org>
Thu, 7 Feb 2019 15:15:46 +0000 (16:15 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 14 Feb 2019 01:18:28 +0000 (02:18 +0100)
commit2543bba0364d8054e9ad316f5611621841bc061d
treeff2cce43f463d430216e2f606f8ba8ef43e76e8c
parent8d8f62c4b9dea381ce9f5833bc794553ae358173
messages_dgm: Properly handle receiver re-initialization

This only properly covers the small-message nonblocking case. Covering
the large-message and the blocking case is a much larger effort assuming
we want to re-send the failed message if parts of the message has gone
through properly. Don't do that for now.

This was found by sanba_dnsupdate constantly recreating its irpc handle to
winbindd in the RODC case.

The messaging_dgm code cached connected datagram sockets based on the
destination pid for 1 second. Which means the IRPC responses from
winbindd are never delivered to samba_dnsupdate,
which will then hit a timeout.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13786

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/knownfail.d/local-messaging [deleted file]
source3/lib/messages_dgm.c