on master help sign in
Server should only accept local connections
229975dEdwin Brady
src/Idris/REPL.hs+10−7
@@ -119,13 +119,16 @@ startServer orig stvar fn_in = do tid <- runIO $ forkOS serverLoop
119 (f:_) -> f
119 (f:_) -> f
120 _ -> ""
120 _ -> ""
121
121
122− loop ist sock = do (h,_,_) <- accept sock
122+ loop ist sock = do (h,host,_) <- accept sock
123+ if (host == "localhost" ||
124+ host == "127.0.0.1") then do
123− cmd <- hGetLine h
125+ cmd <- hGetLine h
124− takeMVar stvar
126+ takeMVar stvar
125− ist' <- processNetCmd stvar orig ist h fn cmd
127+ ist' <- processNetCmd stvar orig ist h fn cmd
126− putMVar stvar ist'
128+ putMVar stvar ist'
127− hClose h
129+ hClose h
128− loop ist' sock
130+ loop ist' sock
131+ else hClose h
129
132
130processNetCmd :: MVar IState ->
133processNetCmd :: MVar IState ->
131 IState -> IState -> Handle -> FilePath -> String -> IO IState
134 IState -> IState -> Handle -> FilePath -> String -> IO IState