From 1b7b664d2b3ebbd86511b085e881c7223adcf334 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 7 Jun 2018 20:51:44 -0400 Subject: Parse ip command output to determine broadcast addresses. --- src/Network/Tox.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Network') diff --git a/src/Network/Tox.hs b/src/Network/Tox.hs index a9b4f2e6..5bd23da8 100644 --- a/src/Network/Tox.hs +++ b/src/Network/Tox.hs @@ -493,8 +493,10 @@ forkTox tox = do -- TODO: Don't export this. announceToLan :: Socket -> NodeId -> IO () announceToLan sock nid = do + addrs <- broadcastAddrs + forM_ addrs $ \addr -> do (broadcast_info:_) <- getAddrInfo (Just defaultHints { addrFlags = [AI_NUMERICHOST], addrSocketType = Datagram }) - (Just "192.168.1.255") -- TODO: Detect broadcast address. + (Just addr) -- TODO: Detect broadcast address. (Just "33445") let broadcast = addrAddress broadcast_info bs = S.runPut $ DHT.putMessage (DHT.DHTLanDiscovery nid) -- cgit v1.2.3