ports/net-mgmt/collectd5/files/patch-src_libcollectdclient_network.c
Dag-Erling Smørgrav ea0f1337b8 Add a patch that sends a probe packet to the server when setting up the
client socket.  It helps in a few cases where the server has multiple
addresses, only some of them are reachable, and connect() succeeds even
though sendto() will fail.

Approved by:	maintainer
2017-11-29 13:12:24 +00:00

16 lines
390 B
C

--- src/libcollectdclient/network.c.orig
+++ src/libcollectdclient/network.c
@@ -174,6 +174,13 @@
continue;
}
+ status = sendto(srv->fd, "", 1, 0, ai_ptr->ai_addr, ai_ptr->ai_addrlen);
+ if (status != 1) {
+ close(srv->fd);
+ srv->fd = -1;
+ continue;
+ }
+
srv->sa = malloc(ai_ptr->ai_addrlen);
if (srv->sa == NULL) {
close(srv->fd);