tag xmpp pushes with jid

This fixes the issue mentioned in the last commit.

Turns out just collecting UUID of clients behind a XMPP remote is
insufficient (although I should probably still do it for other reasons),
because a single remote repo might be connected via both XMPP and local
pairing. So a way is needed to know when a push was received from any
client using a given XMPP remote over XMPP, as opposed to via ssh.
This commit is contained in:
Joey Hess 2013-03-06 16:29:19 -04:00
parent c23ea9e311
commit cbb6e1fae4
7 changed files with 76 additions and 49 deletions

View file

@ -5,14 +5,20 @@
- Licensed under the GNU GPL version 3 or higher.
-}
module Utility.Base64 (toB64, fromB64) where
module Utility.Base64 (toB64, fromB64Maybe, fromB64) where
import Codec.Binary.Base64
import Data.Bits.Utils
import Control.Applicative
import Data.Maybe
toB64 :: String -> String
toB64 = encode . s2w8
fromB64Maybe :: String -> Maybe String
fromB64Maybe s = w82s <$> decode s
fromB64 :: String -> String
fromB64 s = maybe bad w82s $ decode s
where bad = error "bad base64 encoded data"
fromB64 = fromMaybe bad . fromB64Maybe
where
bad = error "bad base64 encoded data"