diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-12-22 13:59:21 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-12-22 13:59:21 -0400 |
commit | 6c089cff615bc44ca94cc4ca77dc69f281dd2ab8 (patch) | |
tree | 028c8958b20c841864e4f9925389f0ea1fcd8bc8 /RemoteDaemon/Transport/Tor.hs | |
parent | 4218d2a77aa4aab0bb09d31463670cce3067bd9c (diff) |
close
Diffstat (limited to 'RemoteDaemon/Transport/Tor.hs')
-rw-r--r-- | RemoteDaemon/Transport/Tor.hs | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/RemoteDaemon/Transport/Tor.hs b/RemoteDaemon/Transport/Tor.hs index 0fbe9a720..43ff3a2c1 100644 --- a/RemoteDaemon/Transport/Tor.hs +++ b/RemoteDaemon/Transport/Tor.hs @@ -48,22 +48,8 @@ server th@(TransportHandle (LocalRepo r) _) = do replicateM_ maxConnections $ forkIO $ forever $ serveClient th u r q - nukeFile sock - soc <- S.socket S.AF_UNIX S.Stream S.defaultProtocol - S.bind soc (S.SockAddrUnix sock) - -- Allow everyone to read and write to the socket; tor - -- is probably running as a different user. - -- Connections have to authenticate to do anything, - -- so it's fine that other local users can connect to the - -- socket. - modifyFileMode sock $ addModes - [groupReadMode, groupWriteMode, otherReadMode, otherWriteMode] - - S.listen soc 2 debugM "remotedaemon" "Tor hidden service running" - forever $ do - (conn, _) <- S.accept soc - h <- setupHandle conn + serveUnixSocket sock $ \conn -> do ok <- atomically $ ifM (isFullTBMQueue q) ( return False , do |