diff options
author | Joey Hess <joey@kitenet.net> | 2013-05-15 20:52:46 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-05-15 20:55:32 -0400 |
commit | 713c345ab0480a3c5b5bae0d5f732c378e4ebe2f (patch) | |
tree | 1d1657e8606ac3c07b7e77a1bf4b5aab64be9ffb /standalone/android/haskell-patches | |
parent | a243fb1c7f04817fa19209689849aa2fe8631b3d (diff) |
patched DNS library to use getprop to find the DNS server (dunno if it will work)
Diffstat (limited to 'standalone/android/haskell-patches')
-rw-r--r-- | standalone/android/haskell-patches/dns_0.3.6-0001-use-getprop-to-get-dns-server.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/standalone/android/haskell-patches/dns_0.3.6-0001-use-getprop-to-get-dns-server.patch b/standalone/android/haskell-patches/dns_0.3.6-0001-use-getprop-to-get-dns-server.patch new file mode 100644 index 000000000..069bdd20a --- /dev/null +++ b/standalone/android/haskell-patches/dns_0.3.6-0001-use-getprop-to-get-dns-server.patch @@ -0,0 +1,73 @@ +From 8459f93270c7a6e8a2ebd415db2110a66bf1ec41 Mon Sep 17 00:00:00 2001 +From: Joey Hess <joey@kitenet.net> +Date: Wed, 15 May 2013 20:31:14 -0400 +Subject: [PATCH] use getprop to get dns server + +--- + Network/DNS/Resolver.hs | 13 +++++++++++-- + dns.cabal | 4 ++++ + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/Network/DNS/Resolver.hs b/Network/DNS/Resolver.hs +index 70ab9ed..9b27336 100644 +--- a/Network/DNS/Resolver.hs ++++ b/Network/DNS/Resolver.hs +@@ -41,6 +41,8 @@ import Network.Socket.ByteString.Lazy + import Prelude hiding (lookup) + import System.Random + import System.Timeout ++import System.Process (readProcess) ++import System.Directory + + #if mingw32_HOST_OS == 1 + import Network.Socket (send) +@@ -73,7 +75,7 @@ data ResolvConf = ResolvConf { + -} + defaultResolvConf :: ResolvConf + defaultResolvConf = ResolvConf { +- resolvInfo = RCFilePath "/etc/resolv.conf" ++ resolvInfo = RCFilePath "/system/etc/resolv.conf" + , resolvTimeout = 3 * 1000 * 1000 + , resolvBufsize = 512 + } +@@ -111,7 +113,14 @@ makeResolvSeed conf = ResolvSeed <$> addr + where + addr = case resolvInfo conf of + RCHostName numhost -> makeAddrInfo numhost +- RCFilePath file -> toAddr <$> readFile file >>= makeAddrInfo ++ RCFilePath file -> do ++ exists <- doesFileExist file ++ if exists ++ then toAddr <$> readFile file >>= makeAddrInfo ++ else do ++ s <- readProcess "getprop" ["net.dns1"] "" ++ makeAddrInfo $ takeWhile (/= '\n') s ++ + toAddr cs = let l:_ = filter ("nameserver" `isPrefixOf`) $ lines cs + in extract l + extract = reverse . dropWhile isSpace . reverse . dropWhile isSpace . drop 11 +diff --git a/dns.cabal b/dns.cabal +index 40671f6..2c19734 100644 +--- a/dns.cabal ++++ b/dns.cabal +@@ -34,6 +34,8 @@ library + , network >= 2.3 + , network-conduit + , random ++ , process ++ , directory + else + Build-Depends: base >= 4 && < 5 + , attoparsec +@@ -49,6 +51,8 @@ library + , network-bytestring + , network-conduit + , random ++ , process ++ , directory + Source-Repository head + Type: git + Location: git://github.com/kazu-yamamoto/dns.git +-- +1.7.10.4 + |