summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Propellor/CmdLine.hs8
-rw-r--r--src/Propellor/Server.hs4
-rw-r--r--src/Propellor/Ssh.hs13
3 files changed, 11 insertions, 14 deletions
diff --git a/src/Propellor/CmdLine.hs b/src/Propellor/CmdLine.hs
index 7002a3f6..11193ab3 100644
--- a/src/Propellor/CmdLine.hs
+++ b/src/Propellor/CmdLine.hs
@@ -166,11 +166,9 @@ spin target relay hst = do
void $ actionMessage "Push to central git repository" $
boolSystem "git" [Param "push"]
- cacheparams <- if False
- then pure []
- else if viarelay
- then pure ["-A"]
- else toCommand <$> sshCachingParams hn viarelay
+ cacheparams <- if viarelay
+ then pure ["-A"]
+ else toCommand <$> sshCachingParams hn
when viarelay $
void $ boolSystem "ssh-add" []
diff --git a/src/Propellor/Server.hs b/src/Propellor/Server.hs
index 38325003..be2eb1d3 100644
--- a/src/Propellor/Server.hs
+++ b/src/Propellor/Server.hs
@@ -131,7 +131,7 @@ sendGitUpdate hn fromh toh =
sendGitClone :: HostName -> IO ()
sendGitClone hn = void $ actionMessage ("Clone git repository to " ++ hn) $ do
branch <- getCurrentBranch
- cacheparams <- sshCachingParams hn False
+ cacheparams <- sshCachingParams hn
withTmpFile "propellor.git" $ \tmp _ -> allM id
[ boolSystem "git" [Param "bundle", Param "create", File tmp, Param "HEAD"]
, boolSystem "scp" $ cacheparams ++ [File tmp, Param ("root@"++hn++":"++remotebundle)]
@@ -156,7 +156,7 @@ sendPrecompiled hn = void $ actionMessage ("Uploading locally compiled propellor
withTmpDir "propellor" go
where
go tmpdir = do
- cacheparams <- sshCachingParams hn False
+ cacheparams <- sshCachingParams hn
let shimdir = takeFileName localdir
createDirectoryIfMissing True (tmpdir </> shimdir)
changeWorkingDirectory (tmpdir </> shimdir)
diff --git a/src/Propellor/Ssh.hs b/src/Propellor/Ssh.hs
index ecdb54d2..97c3eb6d 100644
--- a/src/Propellor/Ssh.hs
+++ b/src/Propellor/Ssh.hs
@@ -14,17 +14,16 @@ import Data.Time.Clock.POSIX
-- minutes, and if so stop that ssh process, in order to not try to
-- use an old stale connection. (atime would be nicer, but there's
-- a good chance a laptop uses noatime)
-sshCachingParams :: HostName -> Bool -> IO [CommandParam]
-sshCachingParams hn viarelay = do
+sshCachingParams :: HostName -> IO [CommandParam]
+sshCachingParams hn = do
home <- myHomeDir
let cachedir = home </> ".ssh" </> "propellor"
createDirectoryIfMissing False cachedir
let socketfile = cachedir </> hn ++ ".sock"
- let ps = catMaybes
- [ if viarelay then Just (Param "-A") else Nothing
- , Just $ Param "-o"
- , Just $ Param ("ControlPath=" ++ socketfile)
- , Just $ Params "-o ControlMaster=auto -o ControlPersist=yes"
+ let ps =
+ [ Param "-o"
+ , Param ("ControlPath=" ++ socketfile)
+ , Params "-o ControlMaster=auto -o ControlPersist=yes"
]
maybe noop (expireold ps socketfile)