X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/0e0442b0650ceb74175905578054db8877b1bbbd..4555c311c5b74225cd3de63dc88e12644262dc2a:/src/main.sml diff --git a/src/main.sml b/src/main.sml index 1816f78..3a31c34 100644 --- a/src/main.sml +++ b/src/main.sml @@ -56,6 +56,7 @@ fun check' G fname = fun basis () = let + val _ = ErrorMsg.reset () val dir = Posix.FileSys.opendir Config.libRoot fun loop files = @@ -117,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 () = @@ -540,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 @@ -671,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 @@ -1170,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");