mailman: add MailmanForceSSL env var
[hcoop/domtool2.git] / src / plugins / mailman.sml
index 4a2bfeb..a601155 100644 (file)
@@ -83,6 +83,7 @@ val () = Env.actionV_one "mailmanVhost"
                 val places = Env.env (Env.list mailmanPlace) (env, "MailmanPlaces")
 
                 val ssl = Env.env Apache.ssl (env, "SSL")
+                val forcessl = Env.env Env.bool (env, "MailmanForceSSL")
                 val user = Env.env Env.string (env, "User")
                 val sadmin = Env.env Env.string (env, "ServerAdmin")
 
@@ -126,6 +127,15 @@ val () = Env.actionV_one "mailmanVhost"
                             print "    ServerAdmin ";
                             print sadmin;
                             print "\n";
+                            case ssl of
+                                SOME cert =>
+                                (print "\n\tSSLEngine on\n\tSSLCertificateFile ";
+                                 print cert;
+                                 print "\n")
+                              | NONE => if forcessl then
+                                            (print "RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]")
+                                        else
+                                            ();
                             (*
                              print "    SuexecUserGroup list list\n";
                             print "\n";