HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't send DNS info to servers that don't run DNS daemons
[hcoop/domtool2.git]
/
src
/
domain.sml
diff --git
a/src/domain.sml
b/src/domain.sml
index
488d7a8
..
82367ce
100644
(file)
--- a/
src/domain.sml
+++ b/
src/domain.sml
@@
-27,6
+27,7
@@
structure SS = DataStructures.StringSet
val ssl_context = ref (NONE : OpenSSL.context option)
fun set_context ctx = ssl_context := SOME ctx
val ssl_context = ref (NONE : OpenSSL.context option)
fun set_context ctx = ssl_context := SOME ctx
+fun get_context () = valOf (!ssl_context)
val nodes = map #1 Config.nodeIps
val nodeMap = foldl (fn ((node, ip), mp) => SM.insert (mp, node, ip))
val nodes = map #1 Config.nodeIps
val nodeMap = foldl (fn ((node, ip), mp) => SM.insert (mp, node, ip))
@@
-235,6
+236,10
@@
val _ = Env.type_one "node"
Env.string
validNode
Env.string
validNode
+val _ = Env.type_one "mime_type"
+ Env.string
+ (CharVector.exists (fn ch => ch = #"/"))
+
val _ = Env.registerFunction ("your_ip_to_ip",
fn [e] => SOME e
| _ => NONE)
val _ = Env.registerFunction ("your_ip_to_ip",
fn [e] => SOME e
| _ => NONE)
@@
-277,7
+282,8
@@
val masterD = (EApp ((EVar "internalMaster", dl),
(EString Config.masterNode, dl)),
dl)
(EString Config.masterNode, dl)),
dl)
-val slavesD = (EList (map (fn s => (EString s, dl)) Config.slaveNodes), dl)
+val slavesD = (EList (map (fn s => (EString s, dl))
+ (List.filter (fn x => List.exists (fn y => y = x) (Config.dnsNodes_all @ Config.dnsNodes_admin)) Config.slaveNodes)), dl)
val _ = Defaults.registerDefault ("Aliases",
(TList (TBase "your_domain", dl), dl),
val _ = Defaults.registerDefault ("Aliases",
(TList (TBase "your_domain", dl), dl),
@@
-609,7
+615,7
@@
val _ = Env.containerV_one "domain"
fun saveSoa (kind, soa : soa) node =
let
fun saveSoa (kind, soa : soa) node =
let
- val {write, writeDom, close} = domainsFile {node = node, name = "soa"}
+ val {write, writeDom, close} = domainsFile {node = node, name = "soa
.conf
"}
in
write kind;
write "\n";
in
write kind;
write "\n";
@@
-979,7
+985,7
@@
fun considerAll ds {node, domain} =
""
end
""
end
-val () = registerDescriber (considerAll [Filename {filename = "soa",
+val () = registerDescriber (considerAll [Filename {filename = "soa
.conf
",
heading = "DNS SOA:",
showEmpty = false}])
heading = "DNS SOA:",
showEmpty = false}])
@@
-989,4
+995,15
@@
val () = Env.registerAction ("domainHost",
(EString (host ^ "." ^ currentDomain ()), dl))
| (_, args) => Env.badArgs ("domainHost", args))
(EString (host ^ "." ^ currentDomain ()), dl))
| (_, args) => Env.badArgs ("domainHost", args))
+val ouc = ref (fn () => ())
+
+fun registerOnUsersChange f =
+ let
+ val f' = !ouc
+ in
+ ouc := (fn () => (f' (); f ()))
+ end
+
+fun onUsersChange () = !ouc ()
+
end
end