disable hostname validation and canonicalization on android
This commit is contained in:
parent
71851f3180
commit
d994f35937
1 changed files with 7 additions and 1 deletions
|
@ -6,6 +6,7 @@
|
||||||
-}
|
-}
|
||||||
|
|
||||||
{-# LANGUAGE TypeFamilies, QuasiQuotes, MultiParamTypeClasses, TemplateHaskell, OverloadedStrings, RankNTypes #-}
|
{-# LANGUAGE TypeFamilies, QuasiQuotes, MultiParamTypeClasses, TemplateHaskell, OverloadedStrings, RankNTypes #-}
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
|
||||||
module Assistant.WebApp.Configurators.Ssh where
|
module Assistant.WebApp.Configurators.Ssh where
|
||||||
|
|
||||||
|
@ -66,7 +67,9 @@ sshInputAForm hostnamefield def = SshInput
|
||||||
where
|
where
|
||||||
check_hostname = checkM (liftIO . checkdns) hostnamefield
|
check_hostname = checkM (liftIO . checkdns) hostnamefield
|
||||||
checkdns t = do
|
checkdns t = do
|
||||||
|
#ifndef __ANDROID__
|
||||||
let h = T.unpack t
|
let h = T.unpack t
|
||||||
|
let canonname = Just $ defaultHints { addrFlags = [AI_CANONNAME] }
|
||||||
r <- catchMaybeIO $ getAddrInfo canonname (Just h) Nothing
|
r <- catchMaybeIO $ getAddrInfo canonname (Just h) Nothing
|
||||||
return $ case catMaybes . map addrCanonName <$> r of
|
return $ case catMaybes . map addrCanonName <$> r of
|
||||||
-- canonicalize input hostname if it had no dot
|
-- canonicalize input hostname if it had no dot
|
||||||
|
@ -75,7 +78,10 @@ sshInputAForm hostnamefield def = SshInput
|
||||||
| otherwise -> Right $ T.pack fullname
|
| otherwise -> Right $ T.pack fullname
|
||||||
Just [] -> Right t
|
Just [] -> Right t
|
||||||
Nothing -> Left bad_hostname
|
Nothing -> Left bad_hostname
|
||||||
canonname = Just $ defaultHints { addrFlags = [AI_CANONNAME] }
|
#else
|
||||||
|
-- getAddrInfo currently broken on Android
|
||||||
|
return $ Right t
|
||||||
|
#endif
|
||||||
|
|
||||||
check_username = checkBool (all (`notElem` "/:@ \t") . T.unpack)
|
check_username = checkBool (all (`notElem` "/:@ \t") . T.unpack)
|
||||||
bad_username textField
|
bad_username textField
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue