apache: support mod_dir DirectorySlash release_20190107
authorClinton Ebadi <clinton@unknownlamer.org>
Tue, 8 Jan 2019 02:09:34 +0000 (21:09 -0500)
committerClinton Ebadi <clinton@unknownlamer.org>
Tue, 8 Jan 2019 02:09:34 +0000 (21:09 -0500)
Also update copyright, including past years I forgot to update.

lib/apache_options.dtl
src/plugins/apache.sml

index 47753ab..f304f13 100644 (file)
@@ -21,6 +21,15 @@ extern val directoryIndex : [no_spaces] -> [^Vhost];
 {{Give the list of filenames to try for the default page of a directory, to be
   considered in the order given.}}
 
 {{Give the list of filenames to try for the default page of a directory, to be
   considered in the order given.}}
 
+extern val directorySlash : bool -> [^Vhost];
+{{Determine whether Apache should redirect requests for directories
+  lacking a trailing slash to include the trailing slash. Enabled by
+  default, and should only be disabled if you know what you are doing.
+  See the <a
+  href="https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryslash">Apache
+  documentation for the security implications</a> of disabling the
+  redirection.}}
+
 extern val forceType : no_spaces -> [Location];
 extern val forceTypeOff : [Location];
 {{Force all files in the current directory to be served with the given MIME
 extern val forceType : no_spaces -> [Location];
 extern val forceTypeOff : [Location];
 {{Force all files in the current directory to be served with the given MIME
index 1a89983..20bd7ed 100644 (file)
@@ -1,6 +1,6 @@
 (* HCoop Domtool (http://hcoop.sourceforge.net/)
  * Copyright (c) 2006-2009, Adam Chlipala
 (* HCoop Domtool (http://hcoop.sourceforge.net/)
  * Copyright (c) 2006-2009, Adam Chlipala
- * Copyright (c) 2013 Clinton Ebadi
+ * Copyright (c) 2013,2014,2015,2017,2018,2019 Clinton Ebadi
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -887,6 +887,13 @@ val () = Env.action_one "directoryIndex"
              app (fn opt => (write " "; write opt)) opts;
              write "\n"))
 
              app (fn opt => (write " "; write opt)) opts;
              write "\n"))
 
+val () = Env.action_one "directorySlash"
+       ("enable", Env.bool)
+       (fn enable =>
+           (write "\tDirectorySlash ";
+            if enable then write "On" else write "Off";
+            write "\n"))
+
 val () = Env.action_one "serverAliasHost"
         ("host", Env.string)
         (fn host =>
 val () = Env.action_one "serverAliasHost"
         ("host", Env.string)
         (fn host =>