diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-05-09 21:20:34 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-05-09 21:20:34 +0200 |
commit | 2fe6ecbb3ebbd2b2a9b5f66bbf02bc7f3092295a (patch) | |
tree | 9119abe616678fb7c8c98fbfc8c188347ad5bb32 | |
parent | 74fc0c9584b114decbe4c14bd6a8e220960794ca (diff) | |
download | wol-proxyd-2fe6ecbb3ebbd2b2a9b5f66bbf02bc7f3092295a.tar.bz2 wol-proxyd-2fe6ecbb3ebbd2b2a9b5f66bbf02bc7f3092295a.tar.xz |
we need set SO_BROADCAST to be able to send to broadcast addr
-rw-r--r-- | wol-proxyd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/wol-proxyd.c b/wol-proxyd.c index b36ce98..09f9377 100644 --- a/wol-proxyd.c +++ b/wol-proxyd.c @@ -59,7 +59,7 @@ static int run_proxy(const char *iface, int port) { struct sockaddr_in src, dst; char buf[256]; - int fd, n; + int fd, n = 1; socklen_t addrlen; fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); @@ -73,6 +73,7 @@ static int run_proxy(const char *iface, int port) if (bind(fd, (struct sockaddr *)&src, sizeof(src)) < 0) die("bind"); + setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &n, sizeof(n)); while (1) { n = recvfrom(fd, buf, sizeof(buf), 0, (struct sockaddr *)&src, |