Correct MySQL script syntax error
authorAdam Chlipala <adamc@hcoop.net>
Wed, 23 May 2007 04:31:52 +0000 (04:31 +0000)
committerAdam Chlipala <adamc@hcoop.net>
Wed, 23 May 2007 04:31:52 +0000 (04:31 +0000)
configDefault/domtool.cfg
src/domain.sml
src/plugins/domtool-mysql

index f668791..b6b56a0 100644 (file)
@@ -11,7 +11,7 @@ val grep = "/bin/grep"
 val sudo = "/usr/bin/sudo"
 val domtool_publish = "/usr/local/sbin/domtool-publish"
 
 val sudo = "/usr/bin/sudo"
 val domtool_publish = "/usr/local/sbin/domtool-publish"
 
-val defaultNs = "deleuze.hcoop.net"
+val defaultNs = "ns1.hcoop.net"
 
 val defaultRefresh = 172800
 val defaultRetry = 900
 
 val defaultRefresh = 172800
 val defaultRetry = 900
index ea3d70a..b192236 100644 (file)
@@ -538,7 +538,7 @@ val _ = Env.containerV_one "domain"
                                           close ()
                                       end
 
                                           close ()
                                       end
 
-                                  fun saveNamed (kind, soa : soa, masterIp) node =
+                                  fun saveNamed (kind, soa : soa, masterIp, slaveIps) node =
                                       if dom = "localhost" then
                                           ()
                                       else let
                                       if dom = "localhost" then
                                           ()
                                       else let
@@ -546,7 +546,7 @@ val _ = Env.containerV_one "domain"
                                           in
                                               write "\nzone \"";
                                               writeDom ();
                                           in
                                               write "\nzone \"";
                                               writeDom ();
-                                              write "\" IN {\n\ttype ";
+                                              write "\" {\n\ttype ";
                                               write kind;
                                               write ";\n\tfile \"";
                                               write Config.Bind.zonePath_real;
                                               write kind;
                                               write ";\n\tfile \"";
                                               write Config.Bind.zonePath_real;
@@ -554,7 +554,11 @@ val _ = Env.containerV_one "domain"
                                               writeDom ();
                                               write ".zone\";\n";
                                               case kind of
                                               writeDom ();
                                               write ".zone\";\n";
                                               case kind of
-                                                  "master" => write "\tallow-update { none; };\n"
+                                                  "master" => (write "\tallow-transfer {\n";
+                                                               app (fn ip => (write "\t\t";
+                                                                              write ip;
+                                                                              write ";\n")) slaveIps;
+                                                               write "\t};\n")
                                                 | _ => (write "\tmasters { ";
                                                         write masterIp;
                                                         write "; };\n");
                                                 | _ => (write "\tmasters { ";
                                                         write masterIp;
                                                         write "; };\n");
@@ -568,16 +572,18 @@ val _ = Env.containerV_one "domain"
                                       let
                                           val masterIp =
                                               case #master dns of
                                       let
                                           val masterIp =
                                               case #master dns of
-                                                  InternalMaster node => valOf (SM.find (nodeMap, node))
+                                                  InternalMaster node => nodeIp node
                                                 | ExternalMaster ip => ip
                                                 | ExternalMaster ip => ip
+
+                                          val slaveIps = map nodeIp (#slaves dns)
                                       in
                                           app (saveSoa ("slave", #soa dns)) (#slaves dns);
                                       in
                                           app (saveSoa ("slave", #soa dns)) (#slaves dns);
-                                          app (saveNamed ("slave", #soa dns, masterIp)) (#slaves dns);
+                                          app (saveNamed ("slave", #soa dns, masterIp, slaveIps)) (#slaves dns);
                                           case #master dns of
                                               InternalMaster node =>
                                               (masterNode := SOME node;
                                                saveSoa ("master", #soa dns) node;
                                           case #master dns of
                                               InternalMaster node =>
                                               (masterNode := SOME node;
                                                saveSoa ("master", #soa dns) node;
-                                               saveNamed ("master", #soa dns, masterIp) node)
+                                               saveNamed ("master", #soa dns, masterIp, slaveIps) node)
                                             | _ => masterNode := NONE;
                                           !befores dom
                                       end
                                             | _ => masterNode := NONE;
                                           !befores dom
                                       end
index 657ed00..48af512 100755 (executable)
@@ -6,6 +6,7 @@ case $1 in
                PASSWORD=$3
 
                sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD';"
                PASSWORD=$3
 
                sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD';"
+       ;;
 
        passwd)
                USERNAME=$2
 
        passwd)
                USERNAME=$2
@@ -13,6 +14,7 @@ case $1 in
 
                sudo -H mysql -e "SET PASSWORD FOR '$USERNAME'@'localhost' = PASSWORD('$PASSWORD');"
        ;;
 
                sudo -H mysql -e "SET PASSWORD FOR '$USERNAME'@'localhost' = PASSWORD('$PASSWORD');"
        ;;
+
        createdb)
                USERNAME=$2
                DBNAME_BASE=$3
        createdb)
                USERNAME=$2
                DBNAME_BASE=$3