ikiwiki hosting internals/ bugs/ ssl redirection infinite loop

this is a patch, really, with full description builtin:

    From 8f16b20818a14f27bb18aa3016d5808dd56082c9 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?=
    Date: Wed, 18 Nov 2015 23:08:10 -0500
    Subject: [PATCH] fix ssl redirections

    it seems the previous redirections were not doing anything, or more
    precisely, they were looping:

        RewriteRule ^/(.*)  [L,R,NE]

    ... was generting the following rule:

        RewriteRule ^/(.*)  [L,R,NE]

    because url_escaped wasn't passed to the template. but even if was, it
    would still do an infinite redirect loop on itself. what it needs is
    https_url_escaped, which wasn't passed either.
    ---
     ikisite                    | 4 ++++
     templates/apache-site.tmpl | 2 +-
     2 files changed, 5 insertions(+), 1 deletion(-)

    diff --git a/ikisite b/ikisite
    index 9197ca3..a847c20 100755
    --- a/ikisite
    +++ b/ikisite
    @@ -1621,6 +1621,10 @@ sub enable {
                    cgidir => cgidir($hostname),
                    logdir => logdir($hostname),
                    source_hostname => "source.$hostname",
    +               # Value escaped to prevent leakage
    +               # into RewriteEngine regexp.
    +               url_escaped => quotemeta($redirurl),
    +               https_url_escaped => quotemeta($httpsredirurl),
                    @ssl_template_vars
            );

    diff --git a/templates/apache-site.tmpl b/templates/apache-site.tmpl
    index 58e8697..7823b87 100644
    --- a/templates/apache-site.tmpl
    +++ b/templates/apache-site.tmpl
    @@ -15,7 +15,7 @@

            RewriteEngine On
    -       RewriteRule ^/(.*) $1 [L,R,NE]
    +       RewriteRule ^/(.*) $1 [L,R,NE]

            DocumentRoot

    --
    2.1.4

works in production in http://anarc.at/ (encrypted with letsencrypt!). -- anarcat

> applied --Joey