Revision ccdcdc5f
b/src/Ganeti/Objects.hs | ||
---|---|---|
95 | 95 |
import Text.JSON (showJSON, readJSON, JSON, JSValue(..), fromJSString) |
96 | 96 |
import qualified Text.JSON as J |
97 | 97 |
|
98 |
import qualified AutoConf |
|
98 | 99 |
import qualified Ganeti.Constants as C |
99 | 100 |
import qualified Ganeti.ConstantUtils as ConstantUtils |
100 | 101 |
import Ganeti.JSON |
... | ... | |
599 | 600 |
|
600 | 601 |
-- | IP family type |
601 | 602 |
$(declareIADT "IpFamily" |
602 |
[ ("IpFamilyV4", 'C.ip4Family)
|
|
603 |
, ("IpFamilyV6", 'C.ip6Family)
|
|
603 |
[ ("IpFamilyV4", 'AutoConf.pyAfInet4)
|
|
604 |
, ("IpFamilyV6", 'AutoConf.pyAfInet6)
|
|
604 | 605 |
]) |
605 | 606 |
$(makeJSONInstance ''IpFamily) |
606 | 607 |
|
b/src/Ganeti/Ssconf.hs | ||
---|---|---|
36 | 36 |
, sSFilePrefix |
37 | 37 |
) where |
38 | 38 |
|
39 |
import Ganeti.THH |
|
40 |
|
|
41 | 39 |
import Control.Exception |
42 | 40 |
import Control.Monad (liftM) |
43 | 41 |
import Data.Maybe (fromMaybe) |
... | ... | |
45 | 43 |
import System.FilePath ((</>)) |
46 | 44 |
import System.IO.Error (isDoesNotExistError) |
47 | 45 |
|
46 |
import qualified AutoConf |
|
47 |
import Ganeti.BasicTypes |
|
48 | 48 |
import qualified Ganeti.Constants as C |
49 | 49 |
import qualified Ganeti.Path as Path |
50 |
import Ganeti.BasicTypes
|
|
50 |
import Ganeti.THH
|
|
51 | 51 |
import Ganeti.Utils |
52 | 52 |
|
53 | 53 |
-- | Maximum ssconf file size we support. |
... | ... | |
119 | 119 |
|
120 | 120 |
-- | Parses a string containing an IP family |
121 | 121 |
parseIPFamily :: Int -> Result Socket.Family |
122 |
parseIPFamily fam | fam == C.ip4Family = Ok Socket.AF_INET
|
|
123 |
| fam == C.ip6Family = Ok Socket.AF_INET6
|
|
122 |
parseIPFamily fam | fam == AutoConf.pyAfInet4 = Ok Socket.AF_INET
|
|
123 |
| fam == AutoConf.pyAfInet6 = Ok Socket.AF_INET6
|
|
124 | 124 |
| otherwise = Bad $ "Unknown af_family value: " ++ show fam |
125 | 125 |
|
126 | 126 |
-- | Read the primary IP family. |
127 | 127 |
getPrimaryIPFamily :: Maybe FilePath -> IO (Result Socket.Family) |
128 | 128 |
getPrimaryIPFamily optpath = do |
129 |
result <- readSSConfFile optpath (Just (show C.ip4Family)) SSPrimaryIpFamily |
|
129 |
result <- readSSConfFile optpath |
|
130 |
(Just (show AutoConf.pyAfInet4)) |
|
131 |
SSPrimaryIpFamily |
|
130 | 132 |
return (liftM rStripSpace result >>= |
131 | 133 |
tryRead "Parsing af_family" >>= parseIPFamily) |
132 | 134 |
|
Also available in: Unified diff