X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/4bed2594d05a47e2b7499577df6a662206048ac9..HEAD:/src/plugins/exim.sml diff --git a/src/plugins/exim.sml b/src/plugins/exim.sml index 461fab1..b069389 100644 --- a/src/plugins/exim.sml +++ b/src/plugins/exim.sml @@ -22,12 +22,6 @@ structure Exim :> EXIM = struct open Ast -val dl = ErrorMsg.dummyLoc - -val _ = Defaults.registerDefault ("MailNodes", - (TList (TBase "mail_node", dl), dl), - (fn () => (EList (map (fn s => (EString s, dl)) Config.Exim.aliasTo), dl))) - val aliasesChanged = ref false val aliasesDefaultChanged = ref false val hostsChanged = ref false @@ -42,11 +36,11 @@ val () = Slave.registerFileHandler (fn fs => let val spl = OS.Path.splitDirFile (#file fs) in - if #file spl = "aliases" then + if #file spl = "aliases.base" then aliasesChanged := true else if #file spl = "aliases.default" then aliasesDefaultChanged := true - else if #file spl = "mail" then + else if #file spl = "mail.handle" then hostsChanged := true else if #file spl = "mail.relay" then relayHostsChanged := true @@ -57,7 +51,7 @@ val () = Slave.registerFileHandler (fn fs => val () = Slave.registerPostHandler (fn () => (if !aliasesChanged then - Slave.concatTo (fn s => s = "aliases") Config.Exim.aliases + Slave.concatTo (fn s => s = "aliases.base") Config.Exim.aliases else (); if !aliasesDefaultChanged then @@ -65,7 +59,7 @@ val () = Slave.registerPostHandler else (); if !hostsChanged then - Slave.enumerateTo (fn s => s = "mail") ":" Config.Exim.handleDomains + Slave.enumerateTo (fn s => s = "mail.handle") ":" Config.Exim.handleDomains else (); if !relayHostsChanged then @@ -87,7 +81,7 @@ val () = Env.actionV_none "handleMail" in app (fn node => #close (Domain.domainsFile {node = node, - name = "mail"}) ()) nodes + name = "mail.handle"}) ()) nodes end) val () = Env.actionV_none "relayMail" @@ -100,4 +94,18 @@ val () = Env.actionV_none "relayMail" name = "mail.relay"}) ()) nodes end) +val () = Domain.registerDescriber (Domain.considerAll + [Domain.Filename {filename = "aliases.base", + heading = "E-mail aliases:", + showEmpty = false}, + Domain.Filename {filename = "aliases.default", + heading = "Default e-mail alias:", + showEmpty = false}, + Domain.Filename {filename = "mail.handle", + heading = "E-mail handling is on.", + showEmpty = true}, + Domain.Filename {filename = "mail.relay", + heading = "E-mail relaying is on.", + showEmpty = true}]) + end