From: Adam Chlipala Date: Wed, 23 May 2007 04:31:52 +0000 (+0000) Subject: Correct MySQL script syntax error X-Git-Tag: release_2010-11-19~206 X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/commitdiff_plain/a431ca343f74b88dab08f79f1cd118dd7b1c2922 Correct MySQL script syntax error --- diff --git a/configDefault/domtool.cfg b/configDefault/domtool.cfg index f668791..b6b56a0 100644 --- a/configDefault/domtool.cfg +++ b/configDefault/domtool.cfg @@ -11,7 +11,7 @@ val grep = "/bin/grep" 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 diff --git a/src/domain.sml b/src/domain.sml index ea3d70a..b192236 100644 --- a/src/domain.sml +++ b/src/domain.sml @@ -538,7 +538,7 @@ val _ = Env.containerV_one "domain" close () end - fun saveNamed (kind, soa : soa, masterIp) node = + fun saveNamed (kind, soa : soa, masterIp, slaveIps) node = if dom = "localhost" then () else let @@ -546,7 +546,7 @@ val _ = Env.containerV_one "domain" in write "\nzone \""; writeDom (); - write "\" IN {\n\ttype "; + write "\" {\n\ttype "; 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 - "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"); @@ -568,16 +572,18 @@ val _ = Env.containerV_one "domain" let val masterIp = case #master dns of - InternalMaster node => valOf (SM.find (nodeMap, node)) + InternalMaster node => nodeIp node | ExternalMaster ip => ip + + val slaveIps = map nodeIp (#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; - saveNamed ("master", #soa dns, masterIp) node) + saveNamed ("master", #soa dns, masterIp, slaveIps) node) | _ => masterNode := NONE; !befores dom end diff --git a/src/plugins/domtool-mysql b/src/plugins/domtool-mysql index 657ed00..48af512 100755 --- a/src/plugins/domtool-mysql +++ b/src/plugins/domtool-mysql @@ -6,6 +6,7 @@ case $1 in PASSWORD=$3 sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD';" + ;; passwd) USERNAME=$2 @@ -13,6 +14,7 @@ case $1 in sudo -H mysql -e "SET PASSWORD FOR '$USERNAME'@'localhost' = PASSWORD('$PASSWORD');" ;; + createdb) USERNAME=$2 DBNAME_BASE=$3