From 9180bde0f58689da44c5378ce6e60cb1452090da Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Mon, 7 Jan 2019 22:25:39 -0500 Subject: [PATCH] apache: update rewriteLogLevel for Apache 2.4 Apache 2.4 removes RewriteLog, and instead makes LogLevel work generically with modules. Restrict trace levels to 0..8, Apache rejects the config for anything but trace{1..8}. --- lib/mod_rewrite.dtl | 11 ++++++++--- src/plugins/apache.sml | 17 +++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/mod_rewrite.dtl b/lib/mod_rewrite.dtl index c41105d..ce0436c 100644 --- a/lib/mod_rewrite.dtl +++ b/lib/mod_rewrite.dtl @@ -69,6 +69,11 @@ extern val localProxyRewrite : no_spaces -> no_spaces -> proxy_port -> [^Vhost]; the new URI by substituting variables in the second argument as per Apache mod_rewrite.}} -extern val rewriteLogLevel : int -> [Vhost]; -{{See Apache - documentation for RewriteLogLevel.}} +extern type mod_rewrite_trace_level; +{{A mod_rewrite log level, between 0 and 8. 2 or 3 are useful for + debugging, higher will slow down apache considerably. 0 disables + rewrite logging.}} + +extern val rewriteLogLevel : mod_rewrite_trace_level -> [Vhost]; +{{See + documentation for mod_rewrite log levels.}} diff --git a/src/plugins/apache.sml b/src/plugins/apache.sml index 20bd7ed..451cd67 100644 --- a/src/plugins/apache.sml +++ b/src/plugins/apache.sml @@ -762,15 +762,20 @@ val () = Env.action_one "rewriteBase" write prefix; write "\"\n")) +val _ = Env.type_one "mod_rewrite_trace_level" + Env.int + (fn n => n > 0 andalso n <= 8) + val () = Env.action_one "rewriteLogLevel" ("level", Env.int) - (fn level => + (fn 0 => (checkRewrite (); - write "\tRewriteLog "; - write' (fn x => x); - write "/rewrite.log\n\tRewriteLogLevel "; - write (Int.toString level); - write "\n")) + write "\tLogLevel rewrite:warn\n") + | level => + (checkRewrite (); + write "\tLogLevel rewrite:trace"; + write (Int.toString level); + write "\n")) val () = Env.action_two "alias" ("from", Env.string, "to", Env.string) -- 2.20.1