diff options
Diffstat (limited to 'xmppServer.hs')
-rw-r--r-- | xmppServer.hs | 13 |
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 | ) |
13 | import Data.Monoid ( (<>) ) | 13 | import Data.Monoid ( (<>) ) |
14 | import qualified Data.Text as Text | ||
14 | import qualified Data.Text.IO as Text | 15 | import qualified Data.Text.IO as Text |
15 | import Control.Monad | 16 | import Control.Monad |
17 | import qualified Network.BSD as BSD | ||
16 | 18 | ||
17 | 19 | ||
18 | import XMPPServer | 20 | import XMPPServer |
19 | import Server | 21 | import Server |
20 | 22 | ||
21 | main = runResourceT $ do | 23 | main = 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 |