HCoop
/
hcoop
/
domtool2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e519d69
)
Domain aliases support for BIND
author
Adam Chlipala
<adamc@hcoop.net>
Sun, 29 Apr 2007 20:45:28 +0000
(20:45 +0000)
committer
Adam Chlipala
<adamc@hcoop.net>
Sun, 29 Apr 2007 20:45:28 +0000
(20:45 +0000)
src/plugins/bind.sml
patch
|
blob
|
blame
|
history
diff --git
a/src/plugins/bind.sml
b/src/plugins/bind.sml
index
9c72152
..
5ba7fed
100644
(file)
--- a/
src/plugins/bind.sml
+++ b/
src/plugins/bind.sml
@@
-31,15
+31,15
@@
val () = Slave.registerPreHandler (fn () => (namedChanged := false;
zoneChanged := false;
didDomain := ""))
zoneChanged := false;
didDomain := ""))
-val dns :
TextIO.outstream
option ref = ref NONE
+val dns :
Domain.files
option ref = ref NONE
val _ = Domain.registerBefore
val _ = Domain.registerBefore
- (fn _ => dns := Option.map (fn node => Domain.domainFile {node = node,
- name = "dns"})
+ (fn _ => dns := Option.map (fn node => Domain.domain
s
File {node = node,
+
name = "dns"})
(Domain.dnsMaster ()))
val _ = Domain.registerAfter
(Domain.dnsMaster ()))
val _ = Domain.registerAfter
- (fn _ => (Option.app
TextIO.closeOut
(!dns);
+ (fn _ => (Option.app
(fn files => #close files ())
(!dns);
dns := NONE))
val dl = ErrorMsg.dummyLoc
dns := NONE))
val dl = ErrorMsg.dummyLoc
@@
-69,15
+69,16
@@
val record = fn (EApp ((EApp ((EVar "dnsA", _), e1), _), e2), _) =>
fun writeRecord (evs, r) =
case !dns of
NONE => print "Warning: DNS directive ignored because no master DNS server is configured for this domain\n"
fun writeRecord (evs, r) =
case !dns of
NONE => print "Warning: DNS directive ignored because no master DNS server is configured for this domain\n"
- | SOME file =>
+ | SOME file
s
=>
let
let
- fun write s = TextIO.output (file, s)
+ fun write s = #write files s
+ fun writeDom () = #writeDom files ()
val ttl = Env.env Env.int (evs, "TTL")
in
case r of
A (from, to) => (write from;
write ".";
val ttl = Env.env Env.int (evs, "TTL")
in
case r of
A (from, to) => (write from;
write ".";
- write
(Domain.currentDomain ()
);
+ write
Dom (
);
write ".\t";
write (Int.toString ttl);
write "\tIN\tA\t";
write ".\t";
write (Int.toString ttl);
write "\tIN\tA\t";
@@
-85,7
+86,7
@@
fun writeRecord (evs, r) =
write "\n")
| CNAME (from, to) => (write from;
write ".";
write "\n")
| CNAME (from, to) => (write from;
write ".";
- write
(Domain.currentDomain ()
);
+ write
Dom (
);
write ".\t";
write (Int.toString ttl);
write "\tIN\tCNAME\t";
write ".\t";
write (Int.toString ttl);
write "\tIN\tCNAME\t";