summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2013-03-12 10:13:10 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2013-03-12 10:22:58 +0100
commit77a83472135eef19d9953898d106e6a5ab015912 (patch)
tree387dd9260226cbfb204c09ee9b66ec51085af1c2 /util.c
parented959b801b98cb7dcceda100bceee923ce5acbc7 (diff)
downloadecon-77a83472135eef19d9953898d106e6a5ab015912.tar.gz
econ-77a83472135eef19d9953898d106e6a5ab015912.tar.bz2
econ-77a83472135eef19d9953898d106e6a5ab015912.zip
util: Set SO_BROADCAST for udp eonnect sockets by default
So that we can use it for econfind, and do not have the repeat all the code.
Diffstat (limited to 'util.c')
-rw-r--r--util.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/util.c b/util.c
index 867a8e0..4df5080 100644
--- a/util.c
+++ b/util.c
@@ -199,6 +199,13 @@ connect_to_host(int socktype, const char *host, const char *port)
fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (fd == -1)
continue;
+ if (socktype == SOCK_DGRAM) {
+ int broadcast_enable = 1;
+ if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST,
+ &broadcast_enable, sizeof(broadcast_enable)) < 0)
+ fprintf(stderr, "Failed to setsockopt broadcast: %s\n",
+ strerror(errno));
+ }
if (connect(fd, rp->ai_addr, rp->ai_addrlen) != -1)
break;