summaryrefslogtreecommitdiff
path: root/xmppServer.hs
diff options
context:
space:
mode:
Diffstat (limited to 'xmppServer.hs')
-rw-r--r--xmppServer.hs13
1 files changed, 8 insertions, 5 deletions
diff --git a/xmppServer.hs b/xmppServer.hs
index d67b7552..464d3b1d 100644
--- a/xmppServer.hs
+++ b/xmppServer.hs
@@ -11,18 +11,21 @@ import Network.Socket
11 , AddrInfoFlag(AI_CANONNAME) 11 , AddrInfoFlag(AI_CANONNAME)
12 ) 12 )
13import Data.Monoid ( (<>) ) 13import Data.Monoid ( (<>) )
14import qualified Data.Text as Text
14import qualified Data.Text.IO as Text 15import qualified Data.Text.IO as Text
15import Control.Monad 16import Control.Monad
17import qualified Network.BSD as BSD
16 18
17 19
18import XMPPServer 20import XMPPServer
19import Server 21import Server
20 22
21main = runResourceT $ do 23main = runResourceT $ do
22 (sv,peer_params) <- xmppServer 24 hostname <- fmap Text.pack $ liftIO BSD.getHostName
25 sv <- xmppServer
23 XMPPServerParameters 26 XMPPServerParameters
24 { xmppChooseResourceName = \k sock desired -> return "nobody@localhost/tty666" 27 { xmppChooseResourceName = \k sock desired -> return $ "nobody@" <> hostname <> "/tty666"
25 , xmppTellMyNameToClient = return "localhost" 28 , xmppTellMyNameToClient = return hostname
26 , xmppTellMyNameToPeer = \addr -> return "localhost" 29 , xmppTellMyNameToPeer = \addr -> return "localhost"
27 , xmppNewConnection = \k outchan -> return () 30 , xmppNewConnection = \k outchan -> return ()
28 , xmppEOF = \k -> return () 31 , xmppEOF = \k -> return ()
@@ -32,7 +35,7 @@ main = runResourceT $ do
32 , xmppRosterOthers = \k -> return [] 35 , xmppRosterOthers = \k -> return []
33 , xmppSubscribeToRoster = \k -> return () 36 , xmppSubscribeToRoster = \k -> return ()
34 , xmppLookupPeerName = \k -> return "localhost" 37 , xmppLookupPeerName = \k -> return "localhost"
35 , xmppLookupClientJID = \k -> return "nobody@localhost/tty666" 38 , xmppLookupClientJID = \k -> return $ "nobody@" <> hostname <> "/tty666"
36 , xmppDeliverMessage = \fail msg -> do 39 , xmppDeliverMessage = \fail msg -> do
37 let msgs = msgLangMap (stanzaType msg) 40 let msgs = msgLangMap (stanzaType msg)
38 body = fmap (maybe "" id . msgBody . snd) $ take 1 msgs 41 body = fmap (maybe "" id . msgBody . snd) $ take 1 msgs
@@ -49,7 +52,7 @@ main = runResourceT $ do
49 (Just testaddr0) 52 (Just testaddr0)
50 (Just "5269") 53 (Just "5269")
51 putStrLn $ "Connecting to "++show testaddr 54 putStrLn $ "Connecting to "++show testaddr
52 control sv (ConnectWithEndlessRetry testaddr peer_params 10000) 55 addPeer sv testaddr
53 56
54 quitVar <- newEmptyTMVarIO 57 quitVar <- newEmptyTMVarIO
55 installHandler sigTERM (CatchOnce (atomically $ putTMVar quitVar True)) Nothing 58 installHandler sigTERM (CatchOnce (atomically $ putTMVar quitVar True)) Nothing