From 29647c828015df5db9a558351fe65b12f1014cee Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Mon, 4 Aug 2014 17:21:26 +0200 Subject: [PATCH] cmdmon: allow binding to address that doesn't exist yet --- cmdmon.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmdmon.c b/cmdmon.c index bde2a6f..37f0d3d 100644 --- a/cmdmon.c +++ b/cmdmon.c @@ -199,6 +199,14 @@ prepare_socket(int family, int port_number) LOG(LOGS_ERR, LOGF_CmdMon, "Could not set reuseaddr socket options"); /* Don't quit - we might survive anyway */ } + +#ifdef IP_FREEBIND + /* Allow binding to address that doesn't exist yet */ + if (setsockopt(sock_fd, IPPROTO_IP, IP_FREEBIND, (char *)&on_off, sizeof(on_off)) < 0) { + LOG(LOGS_ERR, LOGF_CmdMon, "Could not set free bind socket option"); + } +#endif + #ifdef HAVE_IPV6 if (family == AF_INET6) { #ifdef IPV6_V6ONLY