From 71998e0d8bb039a9c790d4715fcd5370678d4707 Mon Sep 17 00:00:00 2001 From: Jon Kristensen Date: Sun, 10 Feb 2013 20:27:29 +0100 Subject: [PATCH] Change module structure We can treat all functions related to SASL negotiation as a submodule to Pontarius XMPP if there are no dependencies from the internal Network.Xmpp modules to the SASL functionality. Because of this, `auth' and `authSimple' were moved from Session.hs to Sasl.hs. As the bind and the `{urn:ietf:params:xml:ns:xmpp-session}session' functionality are related only to the SASL negotation functionality, these functions has been moved to the SASL submodule as well. As these changes only leaves `connect' in the Session module, it seems fitting to move `connect' to Network.Xmpp.Stream (not Network.Xmpp.Connection, as `connect' depends on `startStream'). The internal Network.Xmpp modules (Connection.hs) no longer depend on the Concurrent submodule. This will decrease the coupling between Network.Xmpp and the concurrent implementation, making it easier for developers to replace the concurrent implementation if they wanted to. As Network.Xmpp.Connection is really a module that breaks the encapsulation that is Network.Xmpp and the concurrent interface, I have renamed it Network.Xmpp.Internal. As this frees up the Network.Xmpp.Connection name, Network.Xmpp.Connection_ can reclaim it. The high-level "utility" functions of Network.Xmpp.Utilities, Network.Xmpp.Presence, and Network.Xmpp.Message has been moved to Network.Xmpp.Utilities. This module contains functions that at most only depend on the internal Network.Xmpp.Types module, and doesn't belong in any other module. The functionality of Jid.hs was moved to Types.hs. Moved some of the functions of Network.Xmpp.Pickle to Network.Xmpp.Marshal, and removed the Network.Xmpp.Pickle module. A module imports diagram corresponding to the one of my last patch shows the new module structure. I also include a diagram showing the `Sasl' and `Concurrent' module imports. --- import_visualisation-new-full.png | Bin 0 -> 334334 bytes import_visualisation-new.png | Bin 0 -> 82538 bytes pontarius-xmpp.cabal | 9 +- source/Network/Xmpp.hs | 8 +- source/Network/Xmpp/Bind.hs | 57 --- source/Network/Xmpp/Concurrent.hs | 39 ++- source/Network/Xmpp/Concurrent/Monad.hs | 2 +- source/Network/Xmpp/Concurrent/Threads.hs | 2 +- source/Network/Xmpp/Connection.hs | 325 +++++++++++++++--- source/Network/Xmpp/Connection_.hs | 285 --------------- source/Network/Xmpp/IM/Message.hs | 2 +- source/Network/Xmpp/Internal.hs | 39 +++ source/Network/Xmpp/Jid.hs | 205 ----------- source/Network/Xmpp/Marshal.hs | 33 +- source/Network/Xmpp/Message.hs | 36 -- source/Network/Xmpp/Pickle.hs | 78 ----- source/Network/Xmpp/Presence.hs | 10 - source/Network/Xmpp/Sasl.hs | 110 +++++- source/Network/Xmpp/Sasl/Common.hs | 4 +- .../Network/Xmpp/Sasl/Mechanisms/DigestMd5.hs | 3 +- source/Network/Xmpp/Sasl/Mechanisms/Plain.hs | 3 +- source/Network/Xmpp/Session.hs | 116 ------- source/Network/Xmpp/Stream.hs | 18 +- source/Network/Xmpp/Tls.hs | 2 +- source/Network/Xmpp/Types.hs | 201 ++++++++++- source/Network/Xmpp/Utilities.hs | 35 +- source/Network/Xmpp/Xep/InbandRegistration.hs | 2 +- source/Network/Xmpp/Xep/ServiceDiscovery.hs | 4 +- 28 files changed, 763 insertions(+), 865 deletions(-) create mode 100644 import_visualisation-new-full.png create mode 100644 import_visualisation-new.png delete mode 100644 source/Network/Xmpp/Bind.hs delete mode 100644 source/Network/Xmpp/Connection_.hs create mode 100644 source/Network/Xmpp/Internal.hs delete mode 100644 source/Network/Xmpp/Jid.hs delete mode 100644 source/Network/Xmpp/Message.hs delete mode 100644 source/Network/Xmpp/Pickle.hs delete mode 100644 source/Network/Xmpp/Presence.hs delete mode 100644 source/Network/Xmpp/Session.hs diff --git a/import_visualisation-new-full.png b/import_visualisation-new-full.png new file mode 100644 index 0000000000000000000000000000000000000000..75b6ba92d371a1d4c30a2579ff8e3656b5ad3f35 GIT binary patch literal 334334 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 z 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

&_2MnO^r+?<3gFr(^Di)3QUu4F-2_ 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 literal 0 HcmV?d00001 diff --git a/import_visualisation-new.png b/import_visualisation-new.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c7bdce8fc9fd3b692d7cecf6a641bd22d03de0 GIT binary patch literal 82538 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.1.3 , hslogger >=1.1.0 Exposed-modules: Network.Xmpp - , Network.Xmpp.Connection + , Network.Xmpp.Internal , Network.Xmpp.IM Other-modules: Data.Conduit.Tls , Network.Xmpp.Bind @@ -67,14 +67,10 @@ Library , Network.Xmpp.Concurrent.Presence , Network.Xmpp.Concurrent.Threads , Network.Xmpp.Concurrent.Monad - , Network.Xmpp.Connection_ + , Network.Xmpp.Connection , Network.Xmpp.IM.Message , Network.Xmpp.IM.Presence - , Network.Xmpp.Jid , Network.Xmpp.Marshal - , Network.Xmpp.Message - , Network.Xmpp.Pickle - , Network.Xmpp.Presence , Network.Xmpp.Sasl , Network.Xmpp.Sasl.Common , Network.Xmpp.Sasl.Mechanisms @@ -83,7 +79,6 @@ Library , Network.Xmpp.Sasl.Mechanisms.Scram , Network.Xmpp.Sasl.StringPrep , Network.Xmpp.Sasl.Types - , Network.Xmpp.Session , Network.Xmpp.Stream , Network.Xmpp.Tls , Network.Xmpp.Types diff --git a/source/Network/Xmpp.hs b/source/Network/Xmpp.hs index d0e2e9c..6f9da93 100644 --- a/source/Network/Xmpp.hs +++ b/source/Network/Xmpp.hs @@ -18,7 +18,7 @@ -- of XMPP (RFC 6120): setup and teardown of XML streams, channel encryption, -- authentication, error handling, and communication primitives for messaging. -- --- For low-level access to Pontarius XMPP, see the "Network.Xmpp.Connection" +-- For low-level access to Pontarius XMPP, see the "Network.Xmpp.Internal" -- module. {-# LANGUAGE NoMonomorphismRestriction, OverloadedStrings #-} @@ -96,7 +96,7 @@ module Network.Xmpp , PresenceType(..) , PresenceError(..) -- *** Creating - , module Network.Xmpp.Presence + , presTo -- *** Sending -- | Sends a presence stanza. In general, the presence stanza should have no -- 'to' attribute, in which case the server to which the client is connected @@ -154,10 +154,8 @@ module Network.Xmpp import Network import Network.Xmpp.Concurrent -import Network.Xmpp.Message -import Network.Xmpp.Presence +import Network.Xmpp.Utilities import Network.Xmpp.Sasl import Network.Xmpp.Sasl.Types -import Network.Xmpp.Session import Network.Xmpp.Tls import Network.Xmpp.Types diff --git a/source/Network/Xmpp/Bind.hs b/source/Network/Xmpp/Bind.hs deleted file mode 100644 index a3676e6..0000000 --- a/source/Network/Xmpp/Bind.hs +++ /dev/null @@ -1,57 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -{-# OPTIONS_HADDOCK hide #-} - -module Network.Xmpp.Bind where - -import Control.Exception - -import Data.Text as Text -import Data.XML.Pickle -import Data.XML.Types - -import Network.Xmpp.Connection_ -import Network.Xmpp.Pickle -import Network.Xmpp.Types - -import Control.Monad.State(modify) - -import Control.Concurrent.STM.TMVar - -import Control.Monad.Error - --- Produces a `bind' element, optionally wrapping a resource. -bindBody :: Maybe Text -> Element -bindBody = pickleElem $ - -- Pickler to produce a - -- "" - -- element, with a possible "[JID]" - -- child. - xpBind . xpOption $ xpElemNodes "resource" (xpContent xpId) - --- Sends a (synchronous) IQ set request for a (`Just') given or server-generated --- resource and extract the JID from the non-error response. -xmppBind :: Maybe Text -> TMVar Connection -> IO (Either XmppFailure Jid) -xmppBind rsrc c = runErrorT $ do - answer <- ErrorT $ pushIQ' "bind" Nothing Set Nothing (bindBody rsrc) c - case answer of - Right IQResult{iqResultPayload = Just b} -> do - let jid = unpickleElem xpJid b - case jid of - Right jid' -> do - ErrorT $ withConnection (do - modify $ \s -> s{cJid = Just jid'} - return $ Right jid') c -- not pretty - return jid' - otherwise -> throwError XmppOtherFailure - -- TODO: Log: ("Bind couldn't unpickle JID from " ++ show answer) - otherwise -> throwError XmppOtherFailure - where - -- Extracts the character data in the `jid' element. - xpJid :: PU [Node] Jid - xpJid = xpBind $ xpElemNodes jidName (xpContent xpPrim) - jidName = "{urn:ietf:params:xml:ns:xmpp-bind}jid" - --- A `bind' element pickler. -xpBind :: PU [Node] b -> PU [Node] b -xpBind c = xpElemNodes "{urn:ietf:params:xml:ns:xmpp-bind}bind" c diff --git a/source/Network/Xmpp/Concurrent.hs b/source/Network/Xmpp/Concurrent.hs index fa94910..8e7c02b 100644 --- a/source/Network/Xmpp/Concurrent.hs +++ b/source/Network/Xmpp/Concurrent.hs @@ -11,6 +11,7 @@ module Network.Xmpp.Concurrent , toChans , newSession , writeWorker + , session ) where import Network.Xmpp.Concurrent.Monad @@ -31,9 +32,17 @@ import Network.Xmpp.Concurrent.Presence import Network.Xmpp.Concurrent.Types import Network.Xmpp.Concurrent.Threads import Network.Xmpp.Marshal -import Network.Xmpp.Pickle import Network.Xmpp.Types import Text.Xml.Stream.Elements +import Network +import Data.Text as Text +import Network.Xmpp.Tls +import qualified Network.TLS as TLS +import Network.Xmpp.Sasl +import Network.Xmpp.Sasl.Mechanisms +import Network.Xmpp.Sasl.Types +import Data.Maybe +import Network.Xmpp.Stream import Control.Monad.Error @@ -111,3 +120,31 @@ writeWorker stCh writeR = forever $ do atomically $ unGetTChan stCh next -- If the writing failed, the -- connection is dead. threadDelay 250000 -- Avoid free spinning. + +-- | Creates a 'Session' object by setting up a connection with an XMPP server. +-- +-- Will connect to the specified host. If the fourth parameters is a 'Just' +-- value, @session@ will attempt to secure the connection with TLS. If the fifth +-- parameters is a 'Just' value, @session@ will attempt to authenticate and +-- acquire an XMPP resource. +session :: HostName -- ^ Host to connect to + -> Text -- ^ The realm host name (to + -- distinguish the XMPP service) + -> PortID -- ^ Port to connect to + -> Maybe TLS.TLSParams -- ^ TLS settings, if securing the + -- connection to the server is + -- desired + -> Maybe ([SaslHandler], Maybe Text) -- ^ SASL handlers and the desired + -- JID resource (or Nothing to let + -- the server decide) + -> IO (Either XmppFailure (Session, Maybe AuthFailure)) +session hostname realm port tls sasl = runErrorT $ do + con <- ErrorT $ connect hostname port realm + if isJust tls + then ErrorT $ startTls (fromJust tls) con + else return () + aut <- if isJust sasl + then ErrorT $ auth (fst $ fromJust sasl) (snd $ fromJust sasl) con + else return Nothing + ses <- ErrorT $ newSession con + return (ses, aut) diff --git a/source/Network/Xmpp/Concurrent/Monad.hs b/source/Network/Xmpp/Concurrent/Monad.hs index ff0f07a..588c9e3 100644 --- a/source/Network/Xmpp/Concurrent/Monad.hs +++ b/source/Network/Xmpp/Concurrent/Monad.hs @@ -9,7 +9,7 @@ import qualified Control.Exception.Lifted as Ex import Control.Monad.Reader import Network.Xmpp.Concurrent.Types -import Network.Xmpp.Connection_ +import Network.Xmpp.Connection diff --git a/source/Network/Xmpp/Concurrent/Threads.hs b/source/Network/Xmpp/Concurrent/Threads.hs index c55fc16..7c78682 100644 --- a/source/Network/Xmpp/Concurrent/Threads.hs +++ b/source/Network/Xmpp/Concurrent/Threads.hs @@ -16,7 +16,7 @@ import Control.Monad.State.Strict import qualified Data.ByteString as BS import Network.Xmpp.Concurrent.Types -import Network.Xmpp.Connection_ +import Network.Xmpp.Connection import Control.Concurrent.STM.TMVar diff --git a/source/Network/Xmpp/Connection.hs b/source/Network/Xmpp/Connection.hs index 263b452..0006073 100644 --- a/source/Network/Xmpp/Connection.hs +++ b/source/Network/Xmpp/Connection.hs @@ -1,41 +1,284 @@ --- | --- Module: $Header$ --- --- Maintainer: info@jonkri.com --- Stability: unstable --- Portability: portable --- --- This module allows for low-level access to Pontarius XMPP. Generally, the --- "Network.Xmpp" module should be used instead. --- --- The 'Connection' object provides the most low-level access to the XMPP --- stream: a simple and single-threaded interface which exposes the conduit --- 'Event' source, as well as the input and output byte streams. Custom stateful --- 'Connection' functions can be executed using 'withConnection'. --- --- The TLS, SASL, and 'Session' functionalities of Pontarius XMPP are built on --- top of this API. - -module Network.Xmpp.Connection - ( Connection(..) - , ConnectionState(..) - , ConnectionHandle(..) - , ServerFeatures(..) - , connect - , withConnection - , startTls - , simpleAuth - , auth - , pushStanza - , pullStanza - , closeConnection - , newSession - ) - - where - -import Network.Xmpp.Connection_ -import Network.Xmpp.Session -import Network.Xmpp.Tls -import Network.Xmpp.Types -import Network.Xmpp.Concurrent +{-# OPTIONS_HADDOCK hide #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE OverloadedStrings #-} + +module Network.Xmpp.Connection where + +import Control.Applicative((<$>)) +import Control.Concurrent (forkIO, threadDelay) +import System.IO.Error (tryIOError) +import Control.Monad +import Control.Monad.IO.Class +import Control.Monad.Trans.Class +--import Control.Monad.Trans.Resource +import qualified Control.Exception.Lifted as Ex +import qualified GHC.IO.Exception as GIE +import Control.Monad.State.Strict + +import Data.ByteString as BS +import Data.ByteString.Char8 as BSC8 +import Data.Conduit +import Data.Conduit.Binary as CB +import Data.Conduit.Internal as DCI +import qualified Data.Conduit.List as CL +import Data.IORef +import Data.Text(Text) +import qualified Data.Text as T +import Data.XML.Pickle +import Data.XML.Types + +import Network +import Network.Xmpp.Types +import Network.Xmpp.Marshal + +import System.IO + +import Text.Xml.Stream.Elements +import Text.XML.Stream.Parse as XP +import Text.XML.Unresolved(InvalidEventStream(..)) + +import System.Log.Logger +import Data.ByteString.Base64 + +import Control.Concurrent.STM.TMVar +import Control.Monad.Error + +-- Enable/disable debug output +-- This will dump all incoming and outgoing network taffic to the console, +-- prefixed with "in: " and "out: " respectively +debug :: Bool +debug = False + +-- TODO: Can the TLS send/recv functions throw something other than an IO error? + +wrapIOException :: IO a -> StateT Connection IO (Either XmppFailure a) +wrapIOException action = do + r <- liftIO $ tryIOError action + case r of + Right b -> return $ Right b + Left e -> return $ Left $ XmppIOException e + +pushElement :: Element -> StateT Connection IO (Either XmppFailure Bool) +pushElement x = do + send <- gets (cSend . cHandle) + wrapIOException $ send $ renderElement x + +-- | Encode and send stanza +pushStanza :: Stanza -> TMVar Connection -> IO (Either XmppFailure Bool) +pushStanza s = withConnection' . pushElement $ pickleElem xpStanza s + +-- XML documents and XMPP streams SHOULD be preceeded by an XML declaration. +-- UTF-8 is the only supported XMPP encoding. The standalone document +-- declaration (matching "SDDecl" in the XML standard) MUST NOT be included in +-- XMPP streams. RFC 6120 defines XMPP only in terms of XML 1.0. +pushXmlDecl :: StateT Connection IO (Either XmppFailure Bool) +pushXmlDecl = do + con <- gets cHandle + wrapIOException $ (cSend con) "" + +pushOpenElement :: Element -> StateT Connection IO (Either XmppFailure Bool) +pushOpenElement e = do + sink <- gets (cSend . cHandle) + wrapIOException $ sink $ renderOpenElement e + +-- `Connect-and-resumes' the given sink to the connection source, and pulls a +-- `b' value. +runEventsSink :: Sink Event IO b -> StateT Connection IO (Either XmppFailure b) +runEventsSink snk = do -- TODO: Wrap exceptions? + source <- gets cEventSource + (src', r) <- lift $ source $$++ snk + modify (\s -> s{cEventSource = src'}) + return $ Right r + +pullElement :: StateT Connection IO (Either XmppFailure Element) +pullElement = do + Ex.catches (do + e <- runEventsSink (elements =$ await) + case e of + Left f -> return $ Left f + Right Nothing -> return $ Left XmppOtherFailure -- TODO + Right (Just r) -> return $ Right r + ) + [ Ex.Handler (\StreamEnd -> return $ Left StreamEndFailure) + , Ex.Handler (\(InvalidXmppXml s) -- Invalid XML `Event' encountered, or missing element close tag + -> return $ Left XmppOtherFailure) -- TODO: Log: s + , Ex.Handler $ \(e :: InvalidEventStream) -- xml-conduit exception + -> return $ Left XmppOtherFailure -- TODO: Log: (show e) + ] + +-- Pulls an element and unpickles it. +pullUnpickle :: PU [Node] a -> StateT Connection IO (Either XmppFailure a) +pullUnpickle p = do + elem <- pullElement + case elem of + Left e -> return $ Left e + Right elem' -> do + let res = unpickleElem p elem' + case res of + Left e -> return $ Left XmppOtherFailure -- TODO: Log + Right r -> return $ Right r + +-- | Pulls a stanza (or stream error) from the stream. +pullStanza :: TMVar Connection -> IO (Either XmppFailure Stanza) +pullStanza = withConnection' $ do + res <- pullUnpickle xpStreamStanza + case res of + Left e -> return $ Left e + Right (Left e) -> return $ Left $ StreamErrorFailure e + Right (Right r) -> return $ Right r + +-- Performs the given IO operation, catches any errors and re-throws everything +-- except 'ResourceVanished' and IllegalOperation, in which case it will return False instead +catchPush :: IO () -> IO Bool +catchPush p = Ex.catch + (p >> return True) + (\e -> case GIE.ioe_type e of + GIE.ResourceVanished -> return False + GIE.IllegalOperation -> return False + _ -> Ex.throwIO e + ) + +-- Connection state used when there is no connection. +xmppNoConnection :: Connection +xmppNoConnection = Connection + { cHandle = ConnectionHandle { cSend = \_ -> return False + , cRecv = \_ -> Ex.throwIO + XmppOtherFailure + , cFlush = return () + , cClose = return () + } + , cEventSource = DCI.ResumableSource zeroSource (return ()) + , cFeatures = SF Nothing [] [] + , cState = ConnectionClosed + , cHostName = Nothing + , cJid = Nothing + , cStreamLang = Nothing + , cStreamId = Nothing + , cPreferredLang = Nothing + , cToJid = Nothing + , cJidWhenPlain = False + , cFrom = Nothing + } + where + zeroSource :: Source IO output + zeroSource = liftIO . Ex.throwIO $ XmppOtherFailure + +connectTcp :: HostName -> PortID -> Text -> IO (Either XmppFailure (TMVar Connection)) +connectTcp host port hostname = do + let PortNumber portNumber = port + debugM "Pontarius.Xmpp" $ "Connecting to " ++ host ++ " on port " ++ + (show portNumber) ++ " through the realm " ++ (T.unpack hostname) ++ "." + h <- connectTo host port + debugM "Pontarius.Xmpp" "Setting NoBuffering mode on handle." + hSetBuffering h NoBuffering + let eSource = DCI.ResumableSource + ((sourceHandle h $= logConduit) $= XP.parseBytes def) + (return ()) + let hand = ConnectionHandle { cSend = \d -> do + let d64 = encode d + debugM "Pontarius.Xmpp" $ + "Sending TCP data: " ++ (BSC8.unpack d64) + ++ "." + catchPush $ BS.hPut h d + , cRecv = \n -> do + d <- BS.hGetSome h n + let d64 = encode d + debugM "Pontarius.Xmpp" $ + "Received TCP data: " ++ + (BSC8.unpack d64) ++ "." + return d + , cFlush = hFlush h + , cClose = hClose h + } + let con = Connection + { cHandle = hand + , cEventSource = eSource + , cFeatures = (SF Nothing [] []) + , cState = ConnectionPlain + , cHostName = (Just hostname) + , cJid = Nothing + , cPreferredLang = Nothing -- TODO: Allow user to set + , cStreamLang = Nothing + , cStreamId = Nothing + , cToJid = Nothing -- TODO: Allow user to set + , cJidWhenPlain = False -- TODO: Allow user to set + , cFrom = Nothing + } + con' <- mkConnection con + return $ Right con' + where + logConduit :: Conduit ByteString IO ByteString + logConduit = CL.mapM $ \d -> do + let d64 = encode d + debugM "Pontarius.Xmpp" $ "Received TCP data: " ++ (BSC8.unpack d64) ++ + "." + return d + + +-- Closes the connection and updates the XmppConMonad Connection state. +-- killConnection :: TMVar Connection -> IO (Either Ex.SomeException ()) +killConnection :: TMVar Connection -> IO (Either XmppFailure ()) +killConnection = withConnection $ do + cc <- gets (cClose . cHandle) + err <- wrapIOException cc + -- (Ex.try cc :: IO (Either Ex.SomeException ())) + put xmppNoConnection + return err + +-- Sends an IQ request and waits for the response. If the response ID does not +-- match the outgoing ID, an error is thrown. +pushIQ' :: StanzaId + -> Maybe Jid + -> IQRequestType + -> Maybe LangTag + -> Element + -> TMVar Connection + -> IO (Either XmppFailure (Either IQError IQResult)) +pushIQ' iqID to tp lang body con = do + pushStanza (IQRequestS $ IQRequest iqID Nothing to lang tp body) con + res <- pullStanza con + case res of + Left e -> return $ Left e + Right (IQErrorS e) -> return $ Right $ Left e + Right (IQResultS r) -> do + unless + (iqID == iqResultID r) . liftIO . Ex.throwIO $ + XmppOtherFailure + -- TODO: Log: ("In sendIQ' IDs don't match: " ++ show iqID ++ + -- " /= " ++ show (iqResultID r) ++ " .") + return $ Right $ Right r + _ -> return $ Left XmppOtherFailure + -- TODO: Log: "sendIQ': unexpected stanza type " + +-- | Send "" and wait for the server to finish processing and to +-- close the connection. Any remaining elements from the server are returned. +-- Surpresses StreamEndFailure exceptions, but may throw a StreamCloseError. +closeStreams :: TMVar Connection -> IO (Either XmppFailure [Element]) +closeStreams = withConnection $ do + send <- gets (cSend . cHandle) + cc <- gets (cClose . cHandle) + liftIO $ send "" + void $ liftIO $ forkIO $ do + threadDelay 3000000 -- TODO: Configurable value + (Ex.try cc) :: IO (Either Ex.SomeException ()) + return () + collectElems [] + where + -- Pulls elements from the stream until the stream ends, or an error is + -- raised. + collectElems :: [Element] -> StateT Connection IO (Either XmppFailure [Element]) + collectElems es = do + result <- pullElement + case result of + Left StreamEndFailure -> return $ Right es + Left e -> return $ Left $ StreamCloseError (es, e) + Right e -> collectElems (e:es) + +debugConduit :: Pipe l ByteString ByteString u IO b +debugConduit = forever $ do + s' <- await + case s' of + Just s -> do + liftIO $ BS.putStrLn (BS.append "in: " s) + yield s + Nothing -> return () diff --git a/source/Network/Xmpp/Connection_.hs b/source/Network/Xmpp/Connection_.hs deleted file mode 100644 index 38a7532..0000000 --- a/source/Network/Xmpp/Connection_.hs +++ /dev/null @@ -1,285 +0,0 @@ -{-# OPTIONS_HADDOCK hide #-} -{-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE OverloadedStrings #-} - -module Network.Xmpp.Connection_ where - -import Control.Applicative((<$>)) -import Control.Concurrent (forkIO, threadDelay) -import System.IO.Error (tryIOError) -import Control.Monad -import Control.Monad.IO.Class -import Control.Monad.Trans.Class ---import Control.Monad.Trans.Resource -import qualified Control.Exception.Lifted as Ex -import qualified GHC.IO.Exception as GIE -import Control.Monad.State.Strict - -import Data.ByteString as BS -import Data.ByteString.Char8 as BSC8 -import Data.Conduit -import Data.Conduit.Binary as CB -import Data.Conduit.Internal as DCI -import qualified Data.Conduit.List as CL -import Data.IORef -import Data.Text(Text) -import qualified Data.Text as T -import Data.XML.Pickle -import Data.XML.Types - -import Network -import Network.Xmpp.Types -import Network.Xmpp.Marshal -import Network.Xmpp.Pickle - -import System.IO - -import Text.Xml.Stream.Elements -import Text.XML.Stream.Parse as XP -import Text.XML.Unresolved(InvalidEventStream(..)) - -import System.Log.Logger -import Data.ByteString.Base64 - -import Control.Concurrent.STM.TMVar -import Control.Monad.Error - --- Enable/disable debug output --- This will dump all incoming and outgoing network taffic to the console, --- prefixed with "in: " and "out: " respectively -debug :: Bool -debug = False - --- TODO: Can the TLS send/recv functions throw something other than an IO error? - -wrapIOException :: IO a -> StateT Connection IO (Either XmppFailure a) -wrapIOException action = do - r <- liftIO $ tryIOError action - case r of - Right b -> return $ Right b - Left e -> return $ Left $ XmppIOException e - -pushElement :: Element -> StateT Connection IO (Either XmppFailure Bool) -pushElement x = do - send <- gets (cSend . cHandle) - wrapIOException $ send $ renderElement x - --- | Encode and send stanza -pushStanza :: Stanza -> TMVar Connection -> IO (Either XmppFailure Bool) -pushStanza s = withConnection' . pushElement $ pickleElem xpStanza s - --- XML documents and XMPP streams SHOULD be preceeded by an XML declaration. --- UTF-8 is the only supported XMPP encoding. The standalone document --- declaration (matching "SDDecl" in the XML standard) MUST NOT be included in --- XMPP streams. RFC 6120 defines XMPP only in terms of XML 1.0. -pushXmlDecl :: StateT Connection IO (Either XmppFailure Bool) -pushXmlDecl = do - con <- gets cHandle - wrapIOException $ (cSend con) "" - -pushOpenElement :: Element -> StateT Connection IO (Either XmppFailure Bool) -pushOpenElement e = do - sink <- gets (cSend . cHandle) - wrapIOException $ sink $ renderOpenElement e - --- `Connect-and-resumes' the given sink to the connection source, and pulls a --- `b' value. -runEventsSink :: Sink Event IO b -> StateT Connection IO (Either XmppFailure b) -runEventsSink snk = do -- TODO: Wrap exceptions? - source <- gets cEventSource - (src', r) <- lift $ source $$++ snk - modify (\s -> s{cEventSource = src'}) - return $ Right r - -pullElement :: StateT Connection IO (Either XmppFailure Element) -pullElement = do - Ex.catches (do - e <- runEventsSink (elements =$ await) - case e of - Left f -> return $ Left f - Right Nothing -> return $ Left XmppOtherFailure -- TODO - Right (Just r) -> return $ Right r - ) - [ Ex.Handler (\StreamEnd -> return $ Left StreamEndFailure) - , Ex.Handler (\(InvalidXmppXml s) -- Invalid XML `Event' encountered, or missing element close tag - -> return $ Left XmppOtherFailure) -- TODO: Log: s - , Ex.Handler $ \(e :: InvalidEventStream) -- xml-conduit exception - -> return $ Left XmppOtherFailure -- TODO: Log: (show e) - ] - --- Pulls an element and unpickles it. -pullUnpickle :: PU [Node] a -> StateT Connection IO (Either XmppFailure a) -pullUnpickle p = do - elem <- pullElement - case elem of - Left e -> return $ Left e - Right elem' -> do - let res = unpickleElem p elem' - case res of - Left e -> return $ Left XmppOtherFailure -- TODO: Log - Right r -> return $ Right r - --- | Pulls a stanza (or stream error) from the stream. -pullStanza :: TMVar Connection -> IO (Either XmppFailure Stanza) -pullStanza = withConnection' $ do - res <- pullUnpickle xpStreamStanza - case res of - Left e -> return $ Left e - Right (Left e) -> return $ Left $ StreamErrorFailure e - Right (Right r) -> return $ Right r - --- Performs the given IO operation, catches any errors and re-throws everything --- except 'ResourceVanished' and IllegalOperation, in which case it will return False instead -catchPush :: IO () -> IO Bool -catchPush p = Ex.catch - (p >> return True) - (\e -> case GIE.ioe_type e of - GIE.ResourceVanished -> return False - GIE.IllegalOperation -> return False - _ -> Ex.throwIO e - ) - --- Connection state used when there is no connection. -xmppNoConnection :: Connection -xmppNoConnection = Connection - { cHandle = ConnectionHandle { cSend = \_ -> return False - , cRecv = \_ -> Ex.throwIO - XmppOtherFailure - , cFlush = return () - , cClose = return () - } - , cEventSource = DCI.ResumableSource zeroSource (return ()) - , cFeatures = SF Nothing [] [] - , cState = ConnectionClosed - , cHostName = Nothing - , cJid = Nothing - , cStreamLang = Nothing - , cStreamId = Nothing - , cPreferredLang = Nothing - , cToJid = Nothing - , cJidWhenPlain = False - , cFrom = Nothing - } - where - zeroSource :: Source IO output - zeroSource = liftIO . Ex.throwIO $ XmppOtherFailure - -connectTcp :: HostName -> PortID -> Text -> IO (Either XmppFailure (TMVar Connection)) -connectTcp host port hostname = do - let PortNumber portNumber = port - debugM "Pontarius.Xmpp" $ "Connecting to " ++ host ++ " on port " ++ - (show portNumber) ++ " through the realm " ++ (T.unpack hostname) ++ "." - h <- connectTo host port - debugM "Pontarius.Xmpp" "Setting NoBuffering mode on handle." - hSetBuffering h NoBuffering - let eSource = DCI.ResumableSource - ((sourceHandle h $= logConduit) $= XP.parseBytes def) - (return ()) - let hand = ConnectionHandle { cSend = \d -> do - let d64 = encode d - debugM "Pontarius.Xmpp" $ - "Sending TCP data: " ++ (BSC8.unpack d64) - ++ "." - catchPush $ BS.hPut h d - , cRecv = \n -> do - d <- BS.hGetSome h n - let d64 = encode d - debugM "Pontarius.Xmpp" $ - "Received TCP data: " ++ - (BSC8.unpack d64) ++ "." - return d - , cFlush = hFlush h - , cClose = hClose h - } - let con = Connection - { cHandle = hand - , cEventSource = eSource - , cFeatures = (SF Nothing [] []) - , cState = ConnectionPlain - , cHostName = (Just hostname) - , cJid = Nothing - , cPreferredLang = Nothing -- TODO: Allow user to set - , cStreamLang = Nothing - , cStreamId = Nothing - , cToJid = Nothing -- TODO: Allow user to set - , cJidWhenPlain = False -- TODO: Allow user to set - , cFrom = Nothing - } - con' <- mkConnection con - return $ Right con' - where - logConduit :: Conduit ByteString IO ByteString - logConduit = CL.mapM $ \d -> do - let d64 = encode d - debugM "Pontarius.Xmpp" $ "Received TCP data: " ++ (BSC8.unpack d64) ++ - "." - return d - - --- Closes the connection and updates the XmppConMonad Connection state. --- killConnection :: TMVar Connection -> IO (Either Ex.SomeException ()) -killConnection :: TMVar Connection -> IO (Either XmppFailure ()) -killConnection = withConnection $ do - cc <- gets (cClose . cHandle) - err <- wrapIOException cc - -- (Ex.try cc :: IO (Either Ex.SomeException ())) - put xmppNoConnection - return err - --- Sends an IQ request and waits for the response. If the response ID does not --- match the outgoing ID, an error is thrown. -pushIQ' :: StanzaId - -> Maybe Jid - -> IQRequestType - -> Maybe LangTag - -> Element - -> TMVar Connection - -> IO (Either XmppFailure (Either IQError IQResult)) -pushIQ' iqID to tp lang body con = do - pushStanza (IQRequestS $ IQRequest iqID Nothing to lang tp body) con - res <- pullStanza con - case res of - Left e -> return $ Left e - Right (IQErrorS e) -> return $ Right $ Left e - Right (IQResultS r) -> do - unless - (iqID == iqResultID r) . liftIO . Ex.throwIO $ - XmppOtherFailure - -- TODO: Log: ("In sendIQ' IDs don't match: " ++ show iqID ++ - -- " /= " ++ show (iqResultID r) ++ " .") - return $ Right $ Right r - _ -> return $ Left XmppOtherFailure - -- TODO: Log: "sendIQ': unexpected stanza type " - --- | Send "" and wait for the server to finish processing and to --- close the connection. Any remaining elements from the server are returned. --- Surpresses StreamEndFailure exceptions, but may throw a StreamCloseError. -closeStreams :: TMVar Connection -> IO (Either XmppFailure [Element]) -closeStreams = withConnection $ do - send <- gets (cSend . cHandle) - cc <- gets (cClose . cHandle) - liftIO $ send "" - void $ liftIO $ forkIO $ do - threadDelay 3000000 -- TODO: Configurable value - (Ex.try cc) :: IO (Either Ex.SomeException ()) - return () - collectElems [] - where - -- Pulls elements from the stream until the stream ends, or an error is - -- raised. - collectElems :: [Element] -> StateT Connection IO (Either XmppFailure [Element]) - collectElems es = do - result <- pullElement - case result of - Left StreamEndFailure -> return $ Right es - Left e -> return $ Left $ StreamCloseError (es, e) - Right e -> collectElems (e:es) - -debugConduit :: Pipe l ByteString ByteString u IO b -debugConduit = forever $ do - s' <- await - case s' of - Just s -> do - liftIO $ BS.putStrLn (BS.append "in: " s) - yield s - Nothing -> return () diff --git a/source/Network/Xmpp/IM/Message.hs b/source/Network/Xmpp/IM/Message.hs index fe43744..b9af8f4 100644 --- a/source/Network/Xmpp/IM/Message.hs +++ b/source/Network/Xmpp/IM/Message.hs @@ -11,8 +11,8 @@ import Data.Text (Text) import Data.XML.Pickle import Data.XML.Types +import Network.Xmpp.Marshal import Network.Xmpp.Types -import Network.Xmpp.Pickle data MessageBody = MessageBody { bodyLang :: (Maybe LangTag) , bodyContent :: Text diff --git a/source/Network/Xmpp/Internal.hs b/source/Network/Xmpp/Internal.hs new file mode 100644 index 0000000..d921bc4 --- /dev/null +++ b/source/Network/Xmpp/Internal.hs @@ -0,0 +1,39 @@ +-- | +-- Module: $Header$ +-- +-- Maintainer: info@jonkri.com +-- Stability: unstable +-- Portability: portable +-- +-- This module allows for low-level access to Pontarius XMPP. Generally, the +-- "Network.Xmpp" module should be used instead. +-- +-- The 'Connection' object provides the most low-level access to the XMPP +-- stream: a simple and single-threaded interface which exposes the conduit +-- 'Event' source, as well as the input and output byte streams. Custom stateful +-- 'Connection' functions can be executed using 'withConnection'. +-- +-- The TLS, SASL, and 'Session' functionalities of Pontarius XMPP are built on +-- top of this API. + +module Network.Xmpp.Internal + ( Connection(..) + , ConnectionState(..) + , ConnectionHandle(..) + , ServerFeatures(..) + , connect + , withConnection + , startTls + , simpleAuth + , auth + , pushStanza + , pullStanza + ) + + where + +import Network.Xmpp.Connection +import Network.Xmpp.Sasl +import Network.Xmpp.Tls +import Network.Xmpp.Types +import Network.Xmpp.Stream diff --git a/source/Network/Xmpp/Jid.hs b/source/Network/Xmpp/Jid.hs deleted file mode 100644 index bb80884..0000000 --- a/source/Network/Xmpp/Jid.hs +++ /dev/null @@ -1,205 +0,0 @@ -{-# OPTIONS_HADDOCK hide #-} - --- This module deals with JIDs, also known as XMPP addresses. For more --- information on JIDs, see RFC 6122: XMPP: Address Format. - -module Network.Xmpp.Jid - ( Jid(..) - , fromText - , fromStrings - , isBare - , isFull - ) where - -import Control.Applicative ((<$>),(<|>)) -import Control.Monad(guard) - -import qualified Data.Attoparsec.Text as AP -import Data.Maybe(fromJust) -import qualified Data.Set as Set -import Data.String (IsString(..)) -import Data.Text (Text) -import qualified Data.Text as Text -import qualified Text.NamePrep as SP -import qualified Text.StringPrep as SP - --- | A JID is XMPP\'s native format for addressing entities in the network. It --- is somewhat similar to an e-mail address but contains three parts instead of --- two. -data Jid = Jid { -- | The @localpart@ of a JID is an optional identifier placed - -- before the domainpart and separated from the latter by a - -- \'\@\' character. Typically a localpart uniquely identifies - -- the entity requesting and using network access provided by a - -- server (i.e., a local account), although it can also - -- represent other kinds of entities (e.g., a chat room - -- associated with a multi-user chat service). The entity - -- represented by an XMPP localpart is addressed within the - -- context of a specific domain (i.e., - -- @localpart\@domainpart@). - localpart :: !(Maybe Text) - - -- | The domainpart typically identifies the /home/ server to - -- which clients connect for XML routing and data management - -- functionality. However, it is not necessary for an XMPP - -- domainpart to identify an entity that provides core XMPP - -- server functionality (e.g., a domainpart can identify an - -- entity such as a multi-user chat service, a - -- publish-subscribe service, or a user directory). - , domainpart :: !Text - - -- | The resourcepart of a JID is an optional identifier placed - -- after the domainpart and separated from the latter by the - -- \'\/\' character. A resourcepart can modify either a - -- @localpart\@domainpart@ address or a mere @domainpart@ - -- address. Typically a resourcepart uniquely identifies a - -- specific connection (e.g., a device or location) or object - -- (e.g., an occupant in a multi-user chat room) belonging to - -- the entity associated with an XMPP localpart at a domain - -- (i.e., @localpart\@domainpart/resourcepart@). - , resourcepart :: !(Maybe Text) - } deriving Eq - -instance Show Jid where - show (Jid nd dmn res) = - maybe "" ((++ "@") . Text.unpack) nd ++ Text.unpack dmn ++ - maybe "" (('/' :) . Text.unpack) res - -instance Read Jid where - readsPrec _ x = case fromText (Text.pack x) of - Nothing -> [] - Just j -> [(j,"")] - -instance IsString Jid where - fromString = fromJust . fromText . Text.pack - --- | Converts a Text to a JID. -fromText :: Text -> Maybe Jid -fromText t = do - (l, d, r) <- eitherToMaybe $ AP.parseOnly jidParts t - fromStrings l d r - where - eitherToMaybe = either (const Nothing) Just - --- | Converts localpart, domainpart, and resourcepart strings to a JID. Runs the --- appropriate stringprep profiles and validates the parts. -fromStrings :: Maybe Text -> Text -> Maybe Text -> Maybe Jid -fromStrings l d r = do - localPart <- case l of - Nothing -> return Nothing - Just l'-> do - l'' <- SP.runStringPrep nodeprepProfile l' - guard $ validPartLength l'' - let prohibMap = Set.fromList nodeprepExtraProhibitedCharacters - guard $ Text.all (`Set.notMember` prohibMap) l'' - return $ Just l'' - domainPart <- SP.runStringPrep (SP.namePrepProfile False) d - guard $ validDomainPart domainPart - resourcePart <- case r of - Nothing -> return Nothing - Just r' -> do - r'' <- SP.runStringPrep resourceprepProfile r' - guard $ validPartLength r'' - return $ Just r'' - return $ Jid localPart domainPart resourcePart - where - validDomainPart :: Text -> Bool - validDomainPart _s = True -- TODO - - validPartLength :: Text -> Bool - validPartLength p = Text.length p > 0 && Text.length p < 1024 - --- | Returns 'True' if the JID is /bare/, and 'False' otherwise. -isBare :: Jid -> Bool -isBare j | resourcepart j == Nothing = True - | otherwise = False - --- | Returns 'True' if the JID is /full/, and 'False' otherwise. -isFull :: Jid -> Bool -isFull = not . isBare - --- Parses an JID string and returns its three parts. It performs no validation --- or transformations. -jidParts :: AP.Parser (Maybe Text, Text, Maybe Text) -jidParts = do - -- Read until we reach an '@', a '/', or EOF. - a <- AP.takeWhile1 (AP.notInClass ['@', '/']) - -- Case 1: We found an '@', and thus the localpart. At least the domainpart - -- is remaining. Read the '@' and until a '/' or EOF. - do - b <- domainPartP - -- Case 1A: We found a '/' and thus have all the JID parts. Read the '/' - -- and until EOF. - do - c <- resourcePartP -- Parse resourcepart - return (Just a, b, Just c) - -- Case 1B: We have reached EOF; the JID is in the form - -- localpart@domainpart. - <|> do - AP.endOfInput - return (Just a, b, Nothing) - -- Case 2: We found a '/'; the JID is in the form - -- domainpart/resourcepart. - <|> do - b <- resourcePartP - AP.endOfInput - return (Nothing, a, Just b) - -- Case 3: We have reached EOF; we have an JID consisting of only a - -- domainpart. - <|> do - AP.endOfInput - return (Nothing, a, Nothing) - where - -- Read an '@' and everything until a '/'. - domainPartP :: AP.Parser Text - domainPartP = do - _ <- AP.char '@' - AP.takeWhile1 (/= '/') - -- Read everything until a '/'. - resourcePartP :: AP.Parser Text - resourcePartP = do - _ <- AP.char '/' - AP.takeText - --- The `nodeprep' StringPrep profile. -nodeprepProfile :: SP.StringPrepProfile -nodeprepProfile = SP.Profile { SP.maps = [SP.b1, SP.b2] - , SP.shouldNormalize = True - , SP.prohibited = [SP.a1 - , SP.c11 - , SP.c12 - , SP.c21 - , SP.c22 - , SP.c3 - , SP.c4 - , SP.c5 - , SP.c6 - , SP.c7 - , SP.c8 - , SP.c9 - ] - , SP.shouldCheckBidi = True - } - --- These characters needs to be checked for after normalization. -nodeprepExtraProhibitedCharacters :: [Char] -nodeprepExtraProhibitedCharacters = ['\x22', '\x26', '\x27', '\x2F', '\x3A', - '\x3C', '\x3E', '\x40'] - --- The `resourceprep' StringPrep profile. -resourceprepProfile :: SP.StringPrepProfile -resourceprepProfile = SP.Profile { SP.maps = [SP.b1] - , SP.shouldNormalize = True - , SP.prohibited = [ SP.a1 - , SP.c12 - , SP.c21 - , SP.c22 - , SP.c3 - , SP.c4 - , SP.c5 - , SP.c6 - , SP.c7 - , SP.c8 - , SP.c9 - ] - , SP.shouldCheckBidi = True - } \ No newline at end of file diff --git a/source/Network/Xmpp/Marshal.hs b/source/Network/Xmpp/Marshal.hs index bf5e5fa..38e9b0e 100644 --- a/source/Network/Xmpp/Marshal.hs +++ b/source/Network/Xmpp/Marshal.hs @@ -11,7 +11,6 @@ module Network.Xmpp.Marshal where import Data.XML.Pickle import Data.XML.Types -import Network.Xmpp.Pickle import Network.Xmpp.Types xpStreamStanza :: PU [Node] (Either StreamErrorInfo Stanza) @@ -207,3 +206,35 @@ xpStreamError = xpWrap (xpOption xpElemVerbatim) -- Application specific error conditions ) ) + +xpLangTag :: PU [Attribute] (Maybe LangTag) +xpLangTag = xpAttrImplied xmlLang xpPrim + +xmlLang :: Name +xmlLang = Name "lang" (Just "http://www.w3.org/XML/1998/namespace") (Just "xml") + +-- Given a pickler and an object, produces an Element. +pickleElem :: PU [Node] a -> a -> Element +pickleElem p = pickle $ xpNodeElem p + +-- Given a pickler and an element, produces an object. +unpickleElem :: PU [Node] a -> Element -> Either UnpickleError a +unpickleElem p x = unpickle (xpNodeElem p) x + +xpNodeElem :: PU [Node] a -> PU Element a +xpNodeElem xp = PU { pickleTree = \x -> head $ (pickleTree xp x) >>= \y -> + case y of + NodeElement e -> [e] + _ -> [] + , unpickleTree = \x -> case unpickleTree xp $ [NodeElement x] of + Left l -> Left l + Right (a,(_,c)) -> Right (a,(Nothing,c)) + } + +mbl :: Maybe [a] -> [a] +mbl (Just l) = l +mbl Nothing = [] + +lmb :: [t] -> Maybe [t] +lmb [] = Nothing +lmb x = Just x diff --git a/source/Network/Xmpp/Message.hs b/source/Network/Xmpp/Message.hs deleted file mode 100644 index 875421f..0000000 --- a/source/Network/Xmpp/Message.hs +++ /dev/null @@ -1,36 +0,0 @@ -{-# LANGUAGE RecordWildCards #-} -{-# OPTIONS_HADDOCK hide #-} - -module Network.Xmpp.Message - ( Message(..) - , MessageError(..) - , MessageType(..) - , answerMessage - , message - ) where - -import Data.XML.Types - -import Network.Xmpp.Types - --- | An empty message. -message :: Message -message = Message { messageID = Nothing - , messageFrom = Nothing - , messageTo = Nothing - , messageLangTag = Nothing - , messageType = Normal - , messagePayload = [] - } - --- Produce an answer message with the given payload, switching the "from" and --- "to" attributes in the original message. -answerMessage :: Message -> [Element] -> Maybe Message -answerMessage Message{messageFrom = Just frm, ..} payload = - Just Message{ messageFrom = messageTo - , messageID = Nothing - , messageTo = Just frm - , messagePayload = payload - , .. - } -answerMessage _ _ = Nothing \ No newline at end of file diff --git a/source/Network/Xmpp/Pickle.hs b/source/Network/Xmpp/Pickle.hs deleted file mode 100644 index 10b72a9..0000000 --- a/source/Network/Xmpp/Pickle.hs +++ /dev/null @@ -1,78 +0,0 @@ -{-# OPTIONS_HADDOCK hide #-} - -{-# LANGUAGE NoMonomorphismRestriction #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE TupleSections #-} - --- Marshalling between XML and Native Types - - -module Network.Xmpp.Pickle - ( mbToBool - , xmlLang - , xpLangTag - , xpNodeElem - , ignoreAttrs - , mbl - , lmb - , right - , unpickleElem' - , unpickleElem - , pickleElem - , ppElement - ) where - -import Data.XML.Types -import Data.XML.Pickle - -import Network.Xmpp.Types - -import Text.Xml.Stream.Elements - -mbToBool :: Maybe t -> Bool -mbToBool (Just _) = True -mbToBool _ = False - -xmlLang :: Name -xmlLang = Name "lang" (Just "http://www.w3.org/XML/1998/namespace") (Just "xml") - -xpLangTag :: PU [Attribute] (Maybe LangTag) -xpLangTag = xpAttrImplied xmlLang xpPrim - -xpNodeElem :: PU [Node] a -> PU Element a -xpNodeElem xp = PU { pickleTree = \x -> head $ (pickleTree xp x) >>= \y -> - case y of - NodeElement e -> [e] - _ -> [] - , unpickleTree = \x -> case unpickleTree xp $ [NodeElement x] of - Left l -> Left l - Right (a,(_,c)) -> Right (a,(Nothing,c)) - } - -ignoreAttrs :: PU t ((), b) -> PU t b -ignoreAttrs = xpWrap snd ((),) - -mbl :: Maybe [a] -> [a] -mbl (Just l) = l -mbl Nothing = [] - -lmb :: [t] -> Maybe [t] -lmb [] = Nothing -lmb x = Just x - -right :: Either [Char] t -> t -right (Left l) = error l -right (Right r) = r - -unpickleElem' :: PU [Node] c -> Element -> c -unpickleElem' p x = case unpickle (xpNodeElem p) x of - Left l -> error $ (show l) ++ "\n saw: " ++ ppElement x - Right r -> r - --- Given a pickler and an element, produces an object. -unpickleElem :: PU [Node] a -> Element -> Either UnpickleError a -unpickleElem p x = unpickle (xpNodeElem p) x - --- Given a pickler and an object, produces an Element. -pickleElem :: PU [Node] a -> a -> Element -pickleElem p = pickle $ xpNodeElem p diff --git a/source/Network/Xmpp/Presence.hs b/source/Network/Xmpp/Presence.hs deleted file mode 100644 index c859f14..0000000 --- a/source/Network/Xmpp/Presence.hs +++ /dev/null @@ -1,10 +0,0 @@ -{-# OPTIONS_HADDOCK hide #-} - -module Network.Xmpp.Presence where - -import Data.Text(Text) -import Network.Xmpp.Types - --- | Add a recipient to a presence notification. -presTo :: Presence -> Jid -> Presence -presTo pres to = pres{presenceTo = Just to} \ No newline at end of file diff --git a/source/Network/Xmpp/Sasl.hs b/source/Network/Xmpp/Sasl.hs index 2a61ae2..e272557 100644 --- a/source/Network/Xmpp/Sasl.hs +++ b/source/Network/Xmpp/Sasl.hs @@ -1,11 +1,18 @@ {-# OPTIONS_HADDOCK hide #-} {-# LANGUAGE NoMonomorphismRestriction, OverloadedStrings #-} +-- Submodule for functionality related to SASL negotation: +-- authentication functions, SASL functionality, bind functionality, +-- and the legacy `{urn:ietf:params:xml:ns:xmpp-session}session' +-- functionality. + module Network.Xmpp.Sasl ( xmppSasl , digestMd5 , scramSha1 , plain + , auth + , simpleAuth ) where import Control.Applicative @@ -29,7 +36,7 @@ import qualified Data.Text as Text import Data.Text (Text) import qualified Data.Text.Encoding as Text -import Network.Xmpp.Connection_ +import Network.Xmpp.Connection import Network.Xmpp.Stream import Network.Xmpp.Types @@ -40,6 +47,20 @@ import Network.Xmpp.Sasl.Mechanisms import Control.Concurrent.STM.TMVar +import Control.Exception + +import Data.XML.Pickle +import Data.XML.Types + +import Network.Xmpp.Types +import Network.Xmpp.Marshal + +import Control.Monad.State(modify) + +import Control.Concurrent.STM.TMVar + +import Control.Monad.Error + -- | Uses the first supported mechanism to authenticate, if any. Updates the -- state with non-password credentials and restarts the stream upon -- success. Returns `Nothing' on success, an `AuthFailure' if @@ -65,3 +86,90 @@ xmppSasl handlers = withConnection $ do Right a -> do _ <- runErrorT $ ErrorT restartStream return $ Right $ Nothing + +-- | Authenticate to the server using the first matching method and bind a +-- resource. +auth :: [SaslHandler] + -> Maybe Text + -> TMVar Connection + -> IO (Either XmppFailure (Maybe AuthFailure)) +auth mechanisms resource con = runErrorT $ do + ErrorT $ xmppSasl mechanisms con + jid <- lift $ xmppBind resource con + lift $ startSession con + return Nothing + +-- | Authenticate to the server with the given username and password +-- and bind a resource. +-- +-- Prefers SCRAM-SHA1 over DIGEST-MD5. +simpleAuth :: Text.Text -- ^ The username + -> Text.Text -- ^ The password + -> Maybe Text -- ^ The desired resource or 'Nothing' to let the + -- server assign one + -> TMVar Connection + -> IO (Either XmppFailure (Maybe AuthFailure)) +simpleAuth username passwd resource = flip auth resource $ + [ -- TODO: scramSha1Plus + scramSha1 username Nothing passwd + , digestMd5 username Nothing passwd + ] + +-- Produces a `bind' element, optionally wrapping a resource. +bindBody :: Maybe Text -> Element +bindBody = pickleElem $ + -- Pickler to produce a + -- "" + -- element, with a possible "[JID]" + -- child. + xpBind . xpOption $ xpElemNodes "resource" (xpContent xpId) + +-- Sends a (synchronous) IQ set request for a (`Just') given or server-generated +-- resource and extract the JID from the non-error response. +xmppBind :: Maybe Text -> TMVar Connection -> IO (Either XmppFailure Jid) +xmppBind rsrc c = runErrorT $ do + answer <- ErrorT $ pushIQ' "bind" Nothing Set Nothing (bindBody rsrc) c + case answer of + Right IQResult{iqResultPayload = Just b} -> do + let jid = unpickleElem xpJid b + case jid of + Right jid' -> do + ErrorT $ withConnection (do + modify $ \s -> s{cJid = Just jid'} + return $ Right jid') c -- not pretty + return jid' + otherwise -> throwError XmppOtherFailure + -- TODO: Log: ("Bind couldn't unpickle JID from " ++ show answer) + otherwise -> throwError XmppOtherFailure + where + -- Extracts the character data in the `jid' element. + xpJid :: PU [Node] Jid + xpJid = xpBind $ xpElemNodes jidName (xpContent xpPrim) + jidName = "{urn:ietf:params:xml:ns:xmpp-bind}jid" + +-- A `bind' element pickler. +xpBind :: PU [Node] b -> PU [Node] b +xpBind c = xpElemNodes "{urn:ietf:params:xml:ns:xmpp-bind}bind" c + +sessionXml :: Element +sessionXml = pickleElem + (xpElemBlank "{urn:ietf:params:xml:ns:xmpp-session}session") + () + +sessionIQ :: Stanza +sessionIQ = IQRequestS $ IQRequest { iqRequestID = "sess" + , iqRequestFrom = Nothing + , iqRequestTo = Nothing + , iqRequestLangTag = Nothing + , iqRequestType = Set + , iqRequestPayload = sessionXml + } + +-- Sends the session IQ set element and waits for an answer. Throws an error if +-- if an IQ error stanza is returned from the server. +startSession :: TMVar Connection -> IO () +startSession con = do + answer <- pushIQ' "session" Nothing Set Nothing sessionXml con + case answer of + Left e -> error $ show e + Right _ -> return () diff --git a/source/Network/Xmpp/Sasl/Common.hs b/source/Network/Xmpp/Sasl/Common.hs index e3dcc5c..c38c843 100644 --- a/source/Network/Xmpp/Sasl/Common.hs +++ b/source/Network/Xmpp/Sasl/Common.hs @@ -22,10 +22,10 @@ import Data.Word (Word8) import Data.XML.Pickle import Data.XML.Types -import Network.Xmpp.Connection_ -import Network.Xmpp.Pickle +import Network.Xmpp.Connection import Network.Xmpp.Sasl.StringPrep import Network.Xmpp.Sasl.Types +import Network.Xmpp.Marshal import qualified System.Random as Random diff --git a/source/Network/Xmpp/Sasl/Mechanisms/DigestMd5.hs b/source/Network/Xmpp/Sasl/Mechanisms/DigestMd5.hs index f8fc03c..3cab7e4 100644 --- a/source/Network/Xmpp/Sasl/Mechanisms/DigestMd5.hs +++ b/source/Network/Xmpp/Sasl/Mechanisms/DigestMd5.hs @@ -31,8 +31,7 @@ import qualified Data.ByteString as BS import Data.XML.Types -import Network.Xmpp.Connection_ -import Network.Xmpp.Pickle +import Network.Xmpp.Connection import Network.Xmpp.Stream import Network.Xmpp.Types import Network.Xmpp.Sasl.Common diff --git a/source/Network/Xmpp/Sasl/Mechanisms/Plain.hs b/source/Network/Xmpp/Sasl/Mechanisms/Plain.hs index 6f1626e..1ca91fe 100644 --- a/source/Network/Xmpp/Sasl/Mechanisms/Plain.hs +++ b/source/Network/Xmpp/Sasl/Mechanisms/Plain.hs @@ -35,10 +35,9 @@ import qualified Data.ByteString as BS import Data.XML.Types -import Network.Xmpp.Connection_ +import Network.Xmpp.Connection import Network.Xmpp.Stream import Network.Xmpp.Types -import Network.Xmpp.Pickle import qualified System.Random as Random diff --git a/source/Network/Xmpp/Session.hs b/source/Network/Xmpp/Session.hs deleted file mode 100644 index 67cf882..0000000 --- a/source/Network/Xmpp/Session.hs +++ /dev/null @@ -1,116 +0,0 @@ -{-# OPTIONS_HADDOCK hide #-} -{-# LANGUAGE OverloadedStrings #-} -module Network.Xmpp.Session where - -import qualified Control.Exception as Ex -import Control.Monad.Error -import Data.Text as Text -import Data.XML.Pickle -import Data.XML.Types(Element) -import Network -import qualified Network.TLS as TLS -import Network.Xmpp.Bind -import Network.Xmpp.Concurrent.Types -import Network.Xmpp.Concurrent -import Network.Xmpp.Connection_ -import Network.Xmpp.Marshal -import Network.Xmpp.Pickle -import Network.Xmpp.Sasl -import Network.Xmpp.Sasl.Mechanisms -import Network.Xmpp.Sasl.Types -import Network.Xmpp.Stream -import Network.Xmpp.Tls -import Network.Xmpp.Types -import Control.Concurrent.STM.TMVar -import Data.Maybe - --- | Creates a 'Session' object by setting up a connection with an XMPP server. --- --- Will connect to the specified host. If the fourth parameters is a 'Just' --- value, @session@ will attempt to secure the connection with TLS. If the fifth --- parameters is a 'Just' value, @session@ will attempt to authenticate and --- acquire an XMPP resource. -session :: HostName -- ^ Host to connect to - -> Text -- ^ The realm host name (to - -- distinguish the XMPP service) - -> PortID -- ^ Port to connect to - -> Maybe TLS.TLSParams -- ^ TLS settings, if securing the - -- connection to the server is - -- desired - -> Maybe ([SaslHandler], Maybe Text) -- ^ SASL handlers and the desired - -- JID resource (or Nothing to let - -- the server decide) - -> IO (Either XmppFailure (Session, Maybe AuthFailure)) -session hostname realm port tls sasl = runErrorT $ do - con <- ErrorT $ connect hostname port realm - if isJust tls - then ErrorT $ startTls (fromJust tls) con - else return () - aut <- if isJust sasl - then ErrorT $ auth (fst $ fromJust sasl) (snd $ fromJust sasl) con - else return Nothing - ses <- ErrorT $ newSession con - return (ses, aut) - --- | Connects to the XMPP server and opens the XMPP stream against the given --- host name, port, and realm. -connect :: HostName -> PortID -> Text -> IO (Either XmppFailure (TMVar Connection)) -connect address port hostname = do - con <- connectTcp address port hostname - case con of - Right con' -> do - result <- withConnection startStream con' - return $ Right con' - Left e -> do - return $ Left e - -sessionXml :: Element -sessionXml = pickleElem - (xpElemBlank "{urn:ietf:params:xml:ns:xmpp-session}session") - () - -sessionIQ :: Stanza -sessionIQ = IQRequestS $ IQRequest { iqRequestID = "sess" - , iqRequestFrom = Nothing - , iqRequestTo = Nothing - , iqRequestLangTag = Nothing - , iqRequestType = Set - , iqRequestPayload = sessionXml - } - --- Sends the session IQ set element and waits for an answer. Throws an error if --- if an IQ error stanza is returned from the server. -startSession :: TMVar Connection -> IO () -startSession con = do - answer <- pushIQ' "session" Nothing Set Nothing sessionXml con - case answer of - Left e -> error $ show e - Right _ -> return () - --- | Authenticate to the server using the first matching method and bind a --- resource. -auth :: [SaslHandler] - -> Maybe Text - -> TMVar Connection - -> IO (Either XmppFailure (Maybe AuthFailure)) -auth mechanisms resource con = runErrorT $ do - ErrorT $ xmppSasl mechanisms con - jid <- lift $ xmppBind resource con - lift $ startSession con - return Nothing - --- | Authenticate to the server with the given username and password --- and bind a resource. --- --- Prefers SCRAM-SHA1 over DIGEST-MD5. -simpleAuth :: Text.Text -- ^ The username - -> Text.Text -- ^ The password - -> Maybe Text -- ^ The desired resource or 'Nothing' to let the - -- server assign one - -> TMVar Connection - -> IO (Either XmppFailure (Maybe AuthFailure)) -simpleAuth username passwd resource = flip auth resource $ - [ -- TODO: scramSha1Plus - scramSha1 username Nothing passwd - , digestMd5 username Nothing passwd - ] diff --git a/source/Network/Xmpp/Stream.hs b/source/Network/Xmpp/Stream.hs index a4ce39e..1b3d10c 100644 --- a/source/Network/Xmpp/Stream.hs +++ b/source/Network/Xmpp/Stream.hs @@ -20,14 +20,16 @@ import Data.Void (Void) import Data.XML.Pickle import Data.XML.Types -import Network.Xmpp.Connection_ -import Network.Xmpp.Pickle +import Network.Xmpp.Connection import Network.Xmpp.Types import Network.Xmpp.Marshal import Text.Xml.Stream.Elements import Text.XML.Stream.Parse as XP +import Network +import Control.Concurrent.STM + -- import Text.XML.Stream.Elements -- Unpickles and returns a stream element. @@ -246,3 +248,15 @@ xpStreamFeatures = xpWrap "{urn:ietf:params:xml:ns:xmpp-sasl}mechanisms" (xpAll $ xpElemNodes "{urn:ietf:params:xml:ns:xmpp-sasl}mechanism" (xpContent xpId)) + +-- | Connects to the XMPP server and opens the XMPP stream against the given +-- host name, port, and realm. +connect :: HostName -> PortID -> Text -> IO (Either XmppFailure (TMVar Connection)) +connect address port hostname = do + con <- connectTcp address port hostname + case con of + Right con' -> do + result <- withConnection startStream con' + return $ Right con' + Left e -> do + return $ Left e diff --git a/source/Network/Xmpp/Tls.hs b/source/Network/Xmpp/Tls.hs index 0d5754e..e8c3c87 100644 --- a/source/Network/Xmpp/Tls.hs +++ b/source/Network/Xmpp/Tls.hs @@ -17,7 +17,7 @@ import Data.Conduit.Tls as TLS import Data.Typeable import Data.XML.Types -import Network.Xmpp.Connection_ +import Network.Xmpp.Connection import Network.Xmpp.Stream import Network.Xmpp.Types diff --git a/source/Network/Xmpp/Types.hs b/source/Network/Xmpp/Types.hs index 86dd602..13c6d5e 100644 --- a/source/Network/Xmpp/Types.hs +++ b/source/Network/Xmpp/Types.hs @@ -39,11 +39,13 @@ module Network.Xmpp.Types , ConnectionState(..) , StreamErrorInfo(..) , langTag - , module Network.Xmpp.Jid + , Jid(..) + , isBare + , isFull + , fromString ) where -import Control.Applicative ((<$>), many) import Control.Concurrent.STM import Control.Exception import Control.Monad.Error @@ -65,10 +67,16 @@ import qualified Network.TLS as TLS import qualified Network as N -import Network.Xmpp.Jid - import System.IO +import Control.Applicative ((<$>), (<|>), many) +import Control.Monad(guard) + +import qualified Data.Set as Set +import Data.String (IsString(..)) +import qualified Text.NamePrep as SP +import qualified Text.StringPrep as SP + -- | -- Wraps a string of random characters that, when using an appropriate -- @IDGenerator@, is guaranteed to be unique for the Xmpp session. @@ -815,3 +823,188 @@ withConnection' action con = do mkConnection :: Connection -> IO (TMVar Connection) mkConnection con = {- Connection `fmap` -} (atomically $ newTMVar con) + +--------------- +-- JID +--------------- + +-- | A JID is XMPP\'s native format for addressing entities in the network. It +-- is somewhat similar to an e-mail address but contains three parts instead of +-- two. +data Jid = Jid { -- | The @localpart@ of a JID is an optional identifier placed + -- before the domainpart and separated from the latter by a + -- \'\@\' character. Typically a localpart uniquely identifies + -- the entity requesting and using network access provided by a + -- server (i.e., a local account), although it can also + -- represent other kinds of entities (e.g., a chat room + -- associated with a multi-user chat service). The entity + -- represented by an XMPP localpart is addressed within the + -- context of a specific domain (i.e., + -- @localpart\@domainpart@). + localpart :: !(Maybe Text) + + -- | The domainpart typically identifies the /home/ server to + -- which clients connect for XML routing and data management + -- functionality. However, it is not necessary for an XMPP + -- domainpart to identify an entity that provides core XMPP + -- server functionality (e.g., a domainpart can identify an + -- entity such as a multi-user chat service, a + -- publish-subscribe service, or a user directory). + , domainpart :: !Text + + -- | The resourcepart of a JID is an optional identifier placed + -- after the domainpart and separated from the latter by the + -- \'\/\' character. A resourcepart can modify either a + -- @localpart\@domainpart@ address or a mere @domainpart@ + -- address. Typically a resourcepart uniquely identifies a + -- specific connection (e.g., a device or location) or object + -- (e.g., an occupant in a multi-user chat room) belonging to + -- the entity associated with an XMPP localpart at a domain + -- (i.e., @localpart\@domainpart/resourcepart@). + , resourcepart :: !(Maybe Text) + } deriving Eq + +instance Show Jid where + show (Jid nd dmn res) = + maybe "" ((++ "@") . Text.unpack) nd ++ Text.unpack dmn ++ + maybe "" (('/' :) . Text.unpack) res + +instance Read Jid where + readsPrec _ x = case fromText (Text.pack x) of + Nothing -> [] + Just j -> [(j,"")] + +instance IsString Jid where + fromString = fromJust . fromText . Text.pack + +-- | Converts a Text to a JID. +fromText :: Text -> Maybe Jid +fromText t = do + (l, d, r) <- eitherToMaybe $ AP.parseOnly jidParts t + fromStrings l d r + where + eitherToMaybe = either (const Nothing) Just + +-- | Converts localpart, domainpart, and resourcepart strings to a JID. Runs the +-- appropriate stringprep profiles and validates the parts. +fromStrings :: Maybe Text -> Text -> Maybe Text -> Maybe Jid +fromStrings l d r = do + localPart <- case l of + Nothing -> return Nothing + Just l'-> do + l'' <- SP.runStringPrep nodeprepProfile l' + guard $ validPartLength l'' + let prohibMap = Set.fromList nodeprepExtraProhibitedCharacters + guard $ Text.all (`Set.notMember` prohibMap) l'' + return $ Just l'' + domainPart <- SP.runStringPrep (SP.namePrepProfile False) d + guard $ validDomainPart domainPart + resourcePart <- case r of + Nothing -> return Nothing + Just r' -> do + r'' <- SP.runStringPrep resourceprepProfile r' + guard $ validPartLength r'' + return $ Just r'' + return $ Jid localPart domainPart resourcePart + where + validDomainPart :: Text -> Bool + validDomainPart _s = True -- TODO + + validPartLength :: Text -> Bool + validPartLength p = Text.length p > 0 && Text.length p < 1024 + +-- | Returns 'True' if the JID is /bare/, and 'False' otherwise. +isBare :: Jid -> Bool +isBare j | resourcepart j == Nothing = True + | otherwise = False + +-- | Returns 'True' if the JID is /full/, and 'False' otherwise. +isFull :: Jid -> Bool +isFull = not . isBare + +-- Parses an JID string and returns its three parts. It performs no validation +-- or transformations. +jidParts :: AP.Parser (Maybe Text, Text, Maybe Text) +jidParts = do + -- Read until we reach an '@', a '/', or EOF. + a <- AP.takeWhile1 (AP.notInClass ['@', '/']) + -- Case 1: We found an '@', and thus the localpart. At least the domainpart + -- is remaining. Read the '@' and until a '/' or EOF. + do + b <- domainPartP + -- Case 1A: We found a '/' and thus have all the JID parts. Read the '/' + -- and until EOF. + do + c <- resourcePartP -- Parse resourcepart + return (Just a, b, Just c) + -- Case 1B: We have reached EOF; the JID is in the form + -- localpart@domainpart. + <|> do + AP.endOfInput + return (Just a, b, Nothing) + -- Case 2: We found a '/'; the JID is in the form + -- domainpart/resourcepart. + <|> do + b <- resourcePartP + AP.endOfInput + return (Nothing, a, Just b) + -- Case 3: We have reached EOF; we have an JID consisting of only a + -- domainpart. + <|> do + AP.endOfInput + return (Nothing, a, Nothing) + where + -- Read an '@' and everything until a '/'. + domainPartP :: AP.Parser Text + domainPartP = do + _ <- AP.char '@' + AP.takeWhile1 (/= '/') + -- Read everything until a '/'. + resourcePartP :: AP.Parser Text + resourcePartP = do + _ <- AP.char '/' + AP.takeText + +-- The `nodeprep' StringPrep profile. +nodeprepProfile :: SP.StringPrepProfile +nodeprepProfile = SP.Profile { SP.maps = [SP.b1, SP.b2] + , SP.shouldNormalize = True + , SP.prohibited = [SP.a1 + , SP.c11 + , SP.c12 + , SP.c21 + , SP.c22 + , SP.c3 + , SP.c4 + , SP.c5 + , SP.c6 + , SP.c7 + , SP.c8 + , SP.c9 + ] + , SP.shouldCheckBidi = True + } + +-- These characters needs to be checked for after normalization. +nodeprepExtraProhibitedCharacters :: [Char] +nodeprepExtraProhibitedCharacters = ['\x22', '\x26', '\x27', '\x2F', '\x3A', + '\x3C', '\x3E', '\x40'] + +-- The `resourceprep' StringPrep profile. +resourceprepProfile :: SP.StringPrepProfile +resourceprepProfile = SP.Profile { SP.maps = [SP.b1] + , SP.shouldNormalize = True + , SP.prohibited = [ SP.a1 + , SP.c12 + , SP.c21 + , SP.c22 + , SP.c3 + , SP.c4 + , SP.c5 + , SP.c6 + , SP.c7 + , SP.c8 + , SP.c9 + ] + , SP.shouldCheckBidi = True + } diff --git a/source/Network/Xmpp/Utilities.hs b/source/Network/Xmpp/Utilities.hs index 11441a8..3eaa793 100644 --- a/source/Network/Xmpp/Utilities.hs +++ b/source/Network/Xmpp/Utilities.hs @@ -1,8 +1,9 @@ -{-# OPTIONS_HADDOCK hide #-} - {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} + +{-# OPTIONS_HADDOCK hide #-} -module Network.Xmpp.Utilities (idGenerator) where +module Network.Xmpp.Utilities (idGenerator, presTo, message, answerMessage) where import Network.Xmpp.Types @@ -10,6 +11,8 @@ import Control.Monad.STM import Control.Concurrent.STM.TVar import Prelude +import Data.XML.Types + import qualified Data.Attoparsec.Text as AP import qualified Data.Text as Text @@ -52,3 +55,29 @@ idGenerator prefix = atomically $ do -- Constructs a "Version" based on the major and minor version numbers. versionFromNumbers :: Integer -> Integer -> Version versionFromNumbers major minor = Version major minor + +-- | Add a recipient to a presence notification. +presTo :: Presence -> Jid -> Presence +presTo pres to = pres{presenceTo = Just to} + +-- | An empty message. +message :: Message +message = Message { messageID = Nothing + , messageFrom = Nothing + , messageTo = Nothing + , messageLangTag = Nothing + , messageType = Normal + , messagePayload = [] + } + +-- Produce an answer message with the given payload, switching the "from" and +-- "to" attributes in the original message. +answerMessage :: Message -> [Element] -> Maybe Message +answerMessage Message{messageFrom = Just frm, ..} payload = + Just Message{ messageFrom = messageTo + , messageID = Nothing + , messageTo = Just frm + , messagePayload = payload + , .. + } +answerMessage _ _ = Nothing diff --git a/source/Network/Xmpp/Xep/InbandRegistration.hs b/source/Network/Xmpp/Xep/InbandRegistration.hs index a2f6fe4..6e14447 100644 --- a/source/Network/Xmpp/Xep/InbandRegistration.hs +++ b/source/Network/Xmpp/Xep/InbandRegistration.hs @@ -19,7 +19,7 @@ import qualified Data.Text as Text import Data.XML.Pickle import qualified Data.XML.Types as XML -import Network.Xmpp.Connection_ +import Network.Xmpp.Connection import Network.Xmpp.Pickle import Network.Xmpp.Types import Network.Xmpp.Xep.ServiceDiscovery diff --git a/source/Network/Xmpp/Xep/ServiceDiscovery.hs b/source/Network/Xmpp/Xep/ServiceDiscovery.hs index d5325e0..2b695c4 100644 --- a/source/Network/Xmpp/Xep/ServiceDiscovery.hs +++ b/source/Network/Xmpp/Xep/ServiceDiscovery.hs @@ -27,8 +27,8 @@ import Data.XML.Types import Network.Xmpp import Network.Xmpp.Concurrent import Network.Xmpp.Concurrent.Types -import Network.Xmpp.Connection_ -import Network.Xmpp.Pickle +import Network.Xmpp.Connection +import Network.Xmpp.Marshal import Network.Xmpp.Types import Control.Concurrent.STM.TMVar