From 7720aa30008e62e2cbe55bcb01925be0e7c0ad90 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 8 Dec 2018 13:30:15 -0400 Subject: add news item for debug-me 1.20181208 --- doc/news/version_1.20181208.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/news/version_1.20181208.mdwn diff --git a/doc/news/version_1.20181208.mdwn b/doc/news/version_1.20181208.mdwn new file mode 100644 index 0000000..02a67c0 --- /dev/null +++ b/doc/news/version_1.20181208.mdwn @@ -0,0 +1,3 @@ +debug-me 1.20181208 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Update to lts-12.10, support ghc 8.4, and aeson 1.3."""]] \ No newline at end of file -- cgit v1.2.3 From 88263101ab8baf6f2b6a6a9edebc148b1bba7916 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 26 Sep 2019 19:48:18 -0400 Subject: Update to lts-13.29, support ghc 8.6.5, and aeson 1.4. First tried lts-14.7, but the version of cabal-install currently in debian unstable (2.2.0.0) is not able to parse its cabal files. Small fix for MonadFail changes. This commit was sponsored by Jochen Bartl on Patreon. --- CHANGELOG | 6 ++++++ Role/User.hs | 28 ++++++++++++++++------------ debug-me.cabal | 4 ++-- stack.yaml | 6 +++--- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index cb3b0de..f16e1b1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +debug-me (1.20190926) UNRELEASED; urgency=medium + + * Update to lts-13.29, support ghc 8.6.5, and aeson 1.4. + + -- Joey Hess Thu, 26 Sep 2019 19:44:58 -0400 + debug-me (1.20181208) unstable; urgency=medium * Update to lts-12.10, support ghc 8.4, and aeson 1.3. diff --git a/Role/User.hs b/Role/User.hs index 6ec0302..987b880 100644 --- a/Role/User.hs +++ b/Role/User.hs @@ -247,17 +247,17 @@ getDeveloperMessage ichan ochan us now = maybe getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do st <- readTVar us - Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg)) + msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg)) case msg of - ControlMessage (Control (SessionKey spk _) _) -> do + Developer cmsg@(ControlMessage (Control (SessionKey spk _) _)) -> do let sigverifier = mkSigVerifier $ case spk of GpgSigned pk _ _ -> pk UnSigned pk -> pk - if verifySigned sigverifier msg - then return (InputMessage msg) - else return (BadlySignedMessage msg) - _ -> if verifySigned (sigVerifier st) msg - then case msg of + if verifySigned sigverifier cmsg + then return (InputMessage cmsg) + else return (BadlySignedMessage cmsg) + Developer cmsg -> if verifySigned (sigVerifier st) cmsg + then case cmsg of ActivityMessage entered -> do -- Don't need to retain backlog -- before the Activity that entered @@ -266,22 +266,26 @@ getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do truncateBacklog (backLog st) entered if isLegalEntered entered (st { backLog = bl' }) then do - let l = mkLog (Developer msg) now + let l = mkLog (Developer cmsg) now writeTVar us $ st { backLog = l :| toList bl' , lastAcceptedEntered = Just (hash entered) } - return (InputMessage msg) + return (InputMessage cmsg) else do let reject = EnteredRejected { enteredRejected = hash entered , enteredLastAccepted = lastAcceptedEntered st } - RejectedMessage msg + RejectedMessage cmsg <$> sendDeveloper ochan us reject now ControlMessage (Control _ _) -> - return (InputMessage msg) - else return (BadlySignedMessage msg) + return (InputMessage cmsg) + else return (BadlySignedMessage cmsg) + -- This cannot really happen, because restoreHashes is + -- always passed a Developer message, but ghc doesn't know + -- that. + User _ -> error "unexpectedly received User message where Developer message expected" -- | Truncate the Backlog to remove entries older than the one -- that the Activity Entered refers to, but only if the referred diff --git a/debug-me.cabal b/debug-me.cabal index 385ef8a..31aaad2 100644 --- a/debug-me.cabal +++ b/debug-me.cabal @@ -1,5 +1,5 @@ Name: debug-me -Version: 1.20181208 +Version: 1.20190926 Cabal-Version: >= 1.8 Maintainer: Joey Hess Author: Joey Hess @@ -63,7 +63,7 @@ Executable debug-me , stm-chans (>= 3.0) , posix-pty (>= 0.2.1) , terminal-size (>= 0.3) - , aeson (>= 0.11 && < 1.4) + , aeson (>= 0.11 && < 1.5) , sandi (>= 0.4) , text (>= 1.2.2) , optparse-applicative (>= 0.12) diff --git a/stack.yaml b/stack.yaml index ca6d0ad..c8d8fef 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,8 +1,8 @@ packages: - '.' -resolver: lts-12.10 +resolver: lts-13.29 extra-deps: -- graphviz-2999.20.0.2 +- graphviz-2999.20.0.3 - posix-pty-0.2.1.1 -- sandi-0.4.2 +- sandi-0.5 explicit-setup-deps: -- cgit v1.2.3 From 69b3e0abcd4985bcf138eaf193dd869b9f4e0bc0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 26 Sep 2019 20:05:15 -0400 Subject: Avoid a crash when run without a controlling tty, which may happen in some container environments. --- CHANGELOG | 2 ++ ControlWindow.hs | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index f16e1b1..81d07f2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,7 @@ debug-me (1.20190926) UNRELEASED; urgency=medium + * Avoid a crash when run without a controlling tty, which may happen + in some container environments. * Update to lts-13.29, support ghc 8.6.5, and aeson 1.4. -- Joey Hess Thu, 26 Sep 2019 19:44:58 -0400 diff --git a/ControlWindow.hs b/ControlWindow.hs index bd79d0f..29c81c9 100644 --- a/ControlWindow.hs +++ b/ControlWindow.hs @@ -98,9 +98,20 @@ type Response = String type PromptChan = TChan Prompt type ResponseChan = TChan Response +-- | Get a name for the debug-me user. When possible this will be the +-- actual username, but failing that, anything reasonable will do, +-- since it's only ever displayed to the person they are communicating +-- with. +getUserName :: IO String +getUserName = do + loginname <- try getLoginName :: IO (Either SomeException String) + case loginname of + Right n -> return n + Left _ -> return "user" + collectOutput :: TMChan ControlOutput -> PromptChan -> ResponseChan -> IO () collectOutput ochan promptchan responsechan = do - myusername <- fromString <$> getLoginName + myusername <- fromString <$> getUserName loop myusername where loop myusername = do -- cgit v1.2.3 From 5a818996271da687a21fd6e8d315c4a48ed4bc45 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 26 Sep 2019 20:05:32 -0400 Subject: releasing package debug-me version 1.20190926 --- CHANGELOG | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 81d07f2..34dbbcd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,10 +1,10 @@ -debug-me (1.20190926) UNRELEASED; urgency=medium +debug-me (1.20190926) unstable; urgency=medium * Avoid a crash when run without a controlling tty, which may happen in some container environments. * Update to lts-13.29, support ghc 8.6.5, and aeson 1.4. - -- Joey Hess Thu, 26 Sep 2019 19:44:58 -0400 + -- Joey Hess Thu, 26 Sep 2019 20:05:24 -0400 debug-me (1.20181208) unstable; urgency=medium -- cgit v1.2.3