X-Git-Url: http://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/2a0307b3c1b24fd9b8d2256fe9bb5d8800f1c3f0..f0732b22620010ff8b2adc812483e9de70eb5f4f:/src/main.sml diff --git a/src/main.sml b/src/main.sml index 475d1aa..dfe0bd5 100644 --- a/src/main.sml +++ b/src/main.sml @@ -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 @@ -672,16 +673,17 @@ fun requestPortalPasswdMailbox p = let val (_, bio) = requestBio (fn () => ()) in - Msg.send (bio, MsgPortalPasswdMailbox p); - case Msg.recv bio of - NONE => print "Server closed connection unexpectedly.\n" - | SOME m => - case m of - MsgOk => print ("The password for " ^ #user p ^ "@" ^ #domain p ^ " has been changed.\n") - | MsgError s => print ("Set failed: " ^ s ^ "\n") - | _ => print "Unexpected server reply.\n"; - OpenSSL.close bio - end + (Msg.send (bio, MsgPortalPasswdMailbox p); + case Msg.recv bio of + NONE => (print "Server closed connection unexpectedly.\n"; OS.Process.failure) + | SOME m => + case m of + MsgOk => (print ("The password for " ^ #user p ^ "@" ^ #domain p ^ " has been changed.\n"); + OS.Process.success) + | MsgError s => (print ("Set failed: " ^ s ^ "\n"); OS.Process.failure) + | _ => (print "Unexpected server reply.\n"; OS.Process.failure)) + before OpenSSL.close bio + end fun requestRmMailbox p = let @@ -1108,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 @@ -1171,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");