diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-03-12 10:13:10 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-03-12 10:22:58 +0100 |
commit | 77a83472135eef19d9953898d106e6a5ab015912 (patch) | |
tree | 387dd9260226cbfb204c09ee9b66ec51085af1c2 /util.c | |
parent | ed959b801b98cb7dcceda100bceee923ce5acbc7 (diff) | |
download | econ-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.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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; |