add remote directory to pair request
This commit is contained in:
parent
5401b9f249
commit
317ab14da2
3 changed files with 6 additions and 2 deletions
|
@ -36,8 +36,10 @@ data PairMsg
|
||||||
data PairData = PairData
|
data PairData = PairData
|
||||||
-- uname -n output, not a full domain name
|
-- uname -n output, not a full domain name
|
||||||
{ remoteHostName :: Maybe HostName
|
{ remoteHostName :: Maybe HostName
|
||||||
|
-- the address is included so that it can be verified, avoiding spoofing
|
||||||
, remoteAddress :: SomeAddr
|
, remoteAddress :: SomeAddr
|
||||||
, remoteUserName :: UserName
|
, remoteUserName :: UserName
|
||||||
|
, remoteDirectory :: FilePath
|
||||||
, sshPubKey :: SshPubKey
|
, sshPubKey :: SshPubKey
|
||||||
}
|
}
|
||||||
deriving (Eq, Read, Show)
|
deriving (Eq, Read, Show)
|
||||||
|
|
|
@ -43,7 +43,8 @@ pairListenerThread st dstatus = thread $ withSocketsDo $ do
|
||||||
let pairdata = verifiableVal v
|
let pairdata = verifiableVal v
|
||||||
let repo = remoteUserName pairdata ++ "@" ++
|
let repo = remoteUserName pairdata ++ "@" ++
|
||||||
fromMaybe (showAddr $ remoteAddress pairdata)
|
fromMaybe (showAddr $ remoteAddress pairdata)
|
||||||
(remoteHostName pairdata)
|
(remoteHostName pairdata) ++
|
||||||
|
(remoteDirectory pairdata)
|
||||||
let msg = repo ++ " is sending a pair request."
|
let msg = repo ++ " is sending a pair request."
|
||||||
{- Pair request alerts from the same host combine,
|
{- Pair request alerts from the same host combine,
|
||||||
- so repeated requests do not add additional alerts. -}
|
- so repeated requests do not add additional alerts. -}
|
||||||
|
|
|
@ -56,9 +56,10 @@ getStartPairR :: Handler RepHtml
|
||||||
getStartPairR = promptSecret Nothing $ \rawsecret secret -> do
|
getStartPairR = promptSecret Nothing $ \rawsecret secret -> do
|
||||||
hostname <- liftIO $ getHostname
|
hostname <- liftIO $ getHostname
|
||||||
username <- liftIO $ getUserName
|
username <- liftIO $ getUserName
|
||||||
|
reldir <- fromJust . relDir <$> lift getYesod
|
||||||
let sshkey = "" -- TODO generate/read ssh key
|
let sshkey = "" -- TODO generate/read ssh key
|
||||||
let mkmsg addr = PairReqM $ PairReq $
|
let mkmsg addr = PairReqM $ PairReq $
|
||||||
mkVerifiable (PairData hostname addr username sshkey) secret
|
mkVerifiable (PairData hostname addr username reldir sshkey) secret
|
||||||
pip <- liftIO $ PairingInProgress secret <$> multicastPairMsg mkmsg
|
pip <- liftIO $ PairingInProgress secret <$> multicastPairMsg mkmsg
|
||||||
dstatus <- daemonStatus <$> lift getYesod
|
dstatus <- daemonStatus <$> lift getYesod
|
||||||
liftIO $ modifyDaemonStatus_ dstatus $
|
liftIO $ modifyDaemonStatus_ dstatus $
|
||||||
|
|
Loading…
Add table
Reference in a new issue