on master help sign in
Server should only accept local connections

You probably don't want people editing your programs remotely, in general :).

commit229975d61c7e5728ba5ce41e62c471596bcb92b4 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateMon 28 Oct 2013, 23:36 (13 years ago) parent7c86659
1 file changed+10−7
src/Idris/REPL.hs+10−7
src/Idris/REPL.hs+10−7
@@ -119,13 +119,16 @@ startServer orig stvar fn_in = do tid <- runIO $ forkOS serverLoop
119119 (f:_) -> f
120120 _ -> ""
121121
122− loop ist sock = do (h,_,_) <- accept sock
123− cmd <- hGetLine h
124− takeMVar stvar
125− ist' <- processNetCmd stvar orig ist h fn cmd
126− putMVar stvar ist'
127− hClose h
128− loop ist' sock
122+ loop ist sock = do (h,host,_) <- accept sock
123+ if (host == "localhost" ||
124+ host == "127.0.0.1") then do
125+ cmd <- hGetLine h
126+ takeMVar stvar
127+ ist' <- processNetCmd stvar orig ist h fn cmd
128+ putMVar stvar ist'
129+ hClose h
130+ loop ist' sock
131+ else hClose h
129132
130133processNetCmd :: MVar IState ->
131134 IState -> IState -> Handle -> FilePath -> String -> IO IState