From 5a678244e28f3388dc907662224e1082017cb8f2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 27 May 2013 13:45:07 -0400 Subject: [PATCH] avoid duplicate srv lookup when testing xmpp --- Assistant/WebApp/Configurators/XMPP.hs | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/Assistant/WebApp/Configurators/XMPP.hs b/Assistant/WebApp/Configurators/XMPP.hs index ff2b347150..1dddad7a78 100644 --- a/Assistant/WebApp/Configurators/XMPP.hs +++ b/Assistant/WebApp/Configurators/XMPP.hs @@ -187,24 +187,14 @@ jidField = checkBool (isJust . parseJID) bad textField validateForm :: XMPPForm -> IO (Either SomeException XMPPCreds) validateForm f = do let jid = fromMaybe (error "bad JID") $ parseJID (formJID f) - let domain = T.unpack $ strDomain $ jidDomain jid - hostports <- lookupSRV $ mkSRVTcp "xmpp-client" domain let username = fromMaybe "" (strNode <$> jidNode jid) - case hostports of - ((h, PortNumber p):_) -> testXMPP $ XMPPCreds - { xmppUsername = username - , xmppPassword = formPassword f - , xmppHostname = h - , xmppPort = fromIntegral p - , xmppJID = formJID f - } - _ -> testXMPP $ XMPPCreds - { xmppUsername = username - , xmppPassword = formPassword f - , xmppHostname = T.unpack $ strDomain $ jidDomain jid - , xmppPort = 5222 - , xmppJID = formJID f - } + testXMPP $ XMPPCreds + { xmppUsername = username + , xmppPassword = formPassword f + , xmppHostname = T.unpack $ strDomain $ jidDomain jid + , xmppPort = 5222 + , xmppJID = formJID f + } testXMPP :: XMPPCreds -> IO (Either SomeException XMPPCreds) testXMPP creds = either Left (const $ Right creds)