structure Domain :> DOMAIN = struct
structure SM = DataStructures.StringMap
+structure SS = DataStructures.StringSet
-val nodes = map #2 Config.nodeIps
+val nodes = map #1 Config.nodeIps
val nodeMap = foldl (fn ((node, ip), mp) => SM.insert (mp, node, ip))
SM.empty Config.nodeIps
+val usr = ref ""
+fun setUser ur = usr := ur
+fun getUser () = !usr
+
+val your_doms = ref SS.empty
+fun your_domains () = !your_doms
+
fun validIp s =
case map Int.fromString (String.fields (fn ch => ch = #".") s) of
[SOME n1, SOME n2, SOME n3, SOME n4] =>
fun validNode s = List.exists (fn s' => s = s') nodes
+fun yourDomain s = SS.member (your_domains (), s)
+
val _ = Env.type_one "ip"
Env.string
validIp
Env.string
validDomain
+val _ = Env.type_one "your_domain"
+ Env.string
+ yourDomain
+
val _ = Env.type_one "node"
Env.string
validNode
end,
fn () => !afters (!current))
+val () = Env.registerPreTycheck (fn () => (setUser Config.testUser;
+ Acl.read Config.aclFile;
+ your_doms := Acl.class {user = getUser (),
+ class = "domain"}))
+
val () = Env.registerPre (fn () => (ignore (Slave.shellF ([Config.rm, " -rf ", Config.tmpDir, ""],
fn cl => "Temp file cleanup failed: " ^ cl));
OS.FileSys.mkDir Config.tmpDir;
if !ErrorMsg.anyErrors then
()
else
- Slave.handleChanges (map #2 diffs);
+ Slave.handleChanges (map #2 diffs)(*;
ignore (Slave.shellF ([Config.rm, " -rf ", Config.tmpDir, ""],
- fn cl => "Temp file cleanup failed: " ^ cl))
+ fn cl => "Temp file cleanup failed: " ^ cl))*)
end)