Zone serial number generation
authorAdam Chlipala <adamc@hcoop.net>
Sun, 10 Dec 2006 19:58:26 +0000 (19:58 +0000)
committerAdam Chlipala <adamc@hcoop.net>
Sun, 10 Dec 2006 19:58:26 +0000 (19:58 +0000)
Makefile
configDefault/apache.cfg
configDefault/domtool.cfg
configDefault/domtool.cfs
src/plugins/bind.sml

index 4cbd293..bd83eb1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -73,13 +73,15 @@ openssl/mlton/FFI/libssl.h.mlb: openssl/openssl_sml.h
 bin/domtool-server: openssl/mlton/FFI/libssl.h.mlb \
                src/domtool-server.mlb src/domtool.lex.sml \
                src/domtool.grm.sig src/domtool.grm.sml \
-               $(COMMON_DEPS) src/*.sig src/*.sml
+               $(COMMON_DEPS) src/*.sig src/*.sml \
+               src/plugins/*.sig src/plugins/*.sml
        mlton -output bin/domtool-server -link-opt -ldl src/domtool-server.mlb
 
 bin/domtool-client: openssl/mlton/FFI/libssl.h.mlb \
                src/domtool-client.mlb src/domtool.lex.sml \
                src/domtool.grm.sig src/domtool.grm.sml \
-               $(COMMON_DEPS) src/*.sig src/*.sml
+               $(COMMON_DEPS) src/*.sig src/*.sml \
+               src/plugins/*.sig src/plugins/*.sml
        mlton -output bin/domtool-client -link-opt -ldl src/domtool-client.mlb
 
 bin/domtool-slave: openssl/mlton/FFI/libssl.h.mlb \
index 7e6f609..c5d6a22 100644 (file)
@@ -10,5 +10,6 @@ val proxyTargets = ["http://hcoop.net/cgi-bin/mailman",
                    "http://hcoop.net/pipermail"]
 
 val logDir = "/var/log/apache2"
+val logDir_real = "/var/log/apache2"
 
 end
index 0cc8c02..908ee61 100644 (file)
@@ -39,6 +39,7 @@ val serverKey = "/etc/domtool/serverkey.pem"
 
 val certDir = "/afs/hcoop.net/common/etc/domtool/certs"
 val keyDir = "/afs/hcoop.net/common/etc/domtool/keys"
+val serialDir = "/afs/hcoop.net/common/etc/domtool/serials"
 
 val dispatcherName = "deleuze.hcoop.net"
 
index 4223ed3..1dafb0c 100644 (file)
@@ -48,6 +48,7 @@ val serverKey : string
 
 val certDir : string
 val keyDir : string
+val serialDir : string
 
 val dispatcherName : string
 
index 9a05dce..217ef45 100644 (file)
@@ -131,7 +131,7 @@ val monthToInt = fn Date.Jan => 1
 
 fun padBy ch amt s =
     if size s < amt then
-       CharVector.tabulate (amt, fn _ => ch) ^ s
+       CharVector.tabulate (amt - size s, fn _ => ch) ^ s
     else
        s
 
@@ -177,13 +177,15 @@ val () = Slave.registerFileHandler (fn fs =>
                                                       val min = readILine inf
                                                       val () = TextIO.closeIn inf
 
+                                                      val serialPath = OS.Path.joinDirFile {dir = Config.serialDir,
+                                                                                            file = #domain fs}
+
                                                       val oldSerial = let
-                                                          val inf = TextIO.openIn (OS.Path.joinDirFile {dir = #dir fs,
-                                                                                                        file = "serial"})
+                                                          val inf = TextIO.openIn serialPath
                                                       in
                                                           SOME (readLine inf)
                                                           before TextIO.closeIn inf
-                                                      end handle IO.Io _ => NONE
+                                                      end handle IO.Io {name, ...} => NONE
 
                                                       val newSerial =
                                                           case serial of
@@ -205,8 +207,7 @@ val () = Slave.registerFileHandler (fn fs =>
                                                                              "00")
                                                               end
 
-                                                      val outf = TextIO.openOut (OS.Path.joinDirFile {dir = #dir fs,
-                                                                                                      file = "serial"})
+                                                      val outf = TextIO.openOut serialPath
                                                       val _ = TextIO.output (outf, newSerial)
                                                       val _ = TextIO.closeOut outf