Change DefaultAliasSource to $user@hcoop.net, add defaultMailUser extern
authorClinton Ebadi <clinton@unknownlamer.org>
Fri, 9 May 2014 09:43:31 +0000 (05:43 -0400)
committerClinton Ebadi <clinton@unknownlamer.org>
Fri, 9 May 2014 09:43:31 +0000 (05:43 -0400)
 * The type checker can be annoying, but I am not capable of the feats
   of hacking required to make it expand externs at type checking
   time (nor am I certain that's even a good idea)
 * Feature idea: allow binding a name passed to registerFunction in
   multiple `extern val' declarations. Extern already assumes the
   extern will be correctly type, so there's no additional peril.

lib/defaults.dtl
src/domain.sml

index f6f7878..32e3f60 100644 (file)
@@ -1,6 +1,8 @@
 extern val you : your_user;
 extern val defaultMailbox : email;
 extern val you : your_user;
 extern val defaultMailbox : email;
+extern val defaultMailUser : emailUser;
 extern val defaultServerAdmin : email;
 extern val defaultServerAdmin : email;
+(* The above are all "yourusername" *)
 
 var SSL : ssl = no_ssl;
 
 
 var SSL : ssl = no_ssl;
 
@@ -34,7 +36,7 @@ var WWW : [Vhost] = Skip;
 var CreateWWW : bool = true;
 var DefaultA : bool = true;
 var DefaultAlias : bool = true;
 var CreateWWW : bool = true;
 var DefaultA : bool = true;
 var DefaultAlias : bool = true;
-var DefaultAliasSource : aliasSource = defaultSource;
+var DefaultAliasSource : aliasSource = userSource defaultMailUser;
 var HandleMail : bool = true;
 var AddMX : bool = true;
 
 var HandleMail : bool = true;
 var AddMX : bool = true;
 
index e2528b6..aebf0f1 100644 (file)
@@ -279,6 +279,10 @@ val _  = Env.registerFunction ("defaultMailbox",
                               fn [] => SOME (EString (getUser ()), dl)
                               | _ => NONE)
 
                               fn [] => SOME (EString (getUser ()), dl)
                               | _ => NONE)
 
+val _  = Env.registerFunction ("defaultMailUser",
+                              fn [] => SOME (EString (getUser ()), dl)
+                              | _ => NONE)
+
 
 type soa = {ns : string,
            serial : int option,
 
 type soa = {ns : string,
            serial : int option,