X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/2fc6b0dd10a94cf365b48df7fe6b0518e5dabdd1..06bd821502f57dcb4ef89295b221fc2b9a4f1ae3:/src/main-vmail.sml diff --git a/src/main-vmail.sml b/src/main-vmail.sml index 8acb845..2490d02 100644 --- a/src/main-vmail.sml +++ b/src/main-vmail.sml @@ -35,10 +35,24 @@ val _ = | ["add", user, mailbox] => (case Client.getpass () of Client.Passwd passwd => - Main.requestNewMailbox {domain = domain, - user = user, - passwd = passwd, - mailbox = mailbox} + let + val mailbox = if size mailbox > 0 + andalso String.sub (mailbox, 0) <> #"/" then + let + val uid = Posix.ProcEnv.getuid () + val user = Posix.SysDB.getpwuid uid + val home = Posix.SysDB.Passwd.home user + in + home ^ "/" ^ mailbox + end + else + mailbox + in + Main.requestNewMailbox {domain = domain, + user = user, + passwd = passwd, + mailbox = mailbox} + end | _ => ()) | ["passwd", user] =>