basic internal ipv6 support
[hcoop/domtool2.git] / src / main.sml
index fcbcafe..dfe0bd5 100644 (file)
@@ -118,6 +118,7 @@ fun check G fname =
 
 fun notTmp s =
     String.sub (s, 0) <> #"."
+    andalso s <> "_darcs"
     andalso CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"." orelse ch = #"_" orelse ch = #"-") s
 
 fun setupUser () =
@@ -541,7 +542,7 @@ fun requestDbUser dbtype =
     let
        val (_, context) = requestContext (fn () => ())
        val bio = OpenSSL.connect true (context,
-                                       Config.Dbms.dbmsNode ^ ":" ^ Int.toString Config.slavePort)
+                                       Domain.nodeIp Config.Dbms.dbmsNode ^ ":" ^ Int.toString Config.slavePort)
     in
        Msg.send (bio, MsgCreateDbUser dbtype);
        case Msg.recv bio of
@@ -1109,7 +1110,7 @@ fun regenerateEither tc checker context =
 
        val ok = ref true
  
-       fun contactNode (node, ip) =
+       fun contactNode (node, ip, ipv6) =
            if node = Config.dispatcherName then
                Domain.resetLocal ()
            else let
@@ -1172,7 +1173,7 @@ fun regenerateEither tc checker context =
                            ignore (foldl checker' (basis', SM.empty) files)
                        end
                    end
-               else if String.isSuffix "_admin" user then
+               else if (String.isSuffix "_admin" user) orelse (String.isSuffix ".daemon" user) then
                    ()    
                else
                    (print ("Couldn't access " ^ user ^ "'s ~/.domtool directory.\n");