<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in httputils.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>12ead38a3265c876ad16de2b1607d07abd11f90b - fix(httputils): canonicalize paths when building X-Accel-Redirect URLs</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#12ead38a3265c876ad16de2b1607d07abd11f90b</link>
        <description>fix(httputils): canonicalize paths when building X-Accel-Redirect URLshttp_xaccel_url() compared the fullpath()-collapsed target file against anon-canonicalized DOKU_INC and the raw savedir config value. The lib/exe entrypoints define DOKU_INC as __DIR__.&apos;/../../&apos; and savedir defaults to the relative&apos;./data&apos;, so the in-tree prefix check never matched: nginx installs usingX-Accel-Redirect served in-tree files behind the /_x_accel_redirect/ escapehatch and returned 404 without extra location config.Canonicalize DOKU_INC and every configured root with fullpath() before theprefix comparisons so they match the already-canonicalized file path.The comparison lost its fullpath() wrapping in b8c2692f7, which replaced theearlier substr($file, strlen(fullpath(DOKU_INC)) + 1) with a raw DOKU_INCprefix check.

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Wed, 08 Jul 2026 12:25:45 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>a7e1021671c06230d0a9890646b3531d28d5d29a - &#55358;&#56598; Rector and PHPCS fixes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#a7e1021671c06230d0a9890646b3531d28d5d29a</link>
        <description>&#55358;&#56598; Rector and PHPCS fixes

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Thu, 25 Jun 2026 10:48:18 +0000</pubDate>
        <dc:creator>splitbrain &lt;86426+splitbrain@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>b8c2692f77aeaab8243ccaf179ab9a08f6267a65 - fix(httputils): build a proper internal URL for nginx X-Accel-Redirect</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#b8c2692f77aeaab8243ccaf179ab9a08f6267a65</link>
        <description>fix(httputils): build a proper internal URL for nginx X-Accel-RedirectUnlike Apache&apos;s mod_xsendfile and lighttpd&apos;s X-LIGHTTPD-send-file,which both accept an absolute file system path and stream the filedirectly, nginx treats X-Accel-Redirect as a URL: it performs aninternal subrequest against the value and resolves it through`internal` location blocks in its own configuration. The redirecttarget therefore must be a request path nginx can map back to a file,not the file system path itself.The previous implementation blindly stripped DOKU_INC&apos;s length fromthe file path, which produced a broken URL whenever a data directoryhad been relocated outside the DokuWiki tree.Route the file through three cases instead: files inside DOKU_INC keeptheir path relative to the wiki root; files in a relocated mediadir,mediaolddir, cachedir or savedir are mapped back to their default URLbelow data/; everything else falls through an opt-in /_x_accel_redirect/prefix.Path segments are URL-encoded so filenames with spaces or otherspecial characters resolve (fixes another potential bug in the previousimplementation).Nginx configuration:For the default layout no extra configuration is needed - files keeptheir path relative to the wiki root and the regular wiki locationalready serves them. For relocated data directories admins must add an`internal` location below the wiki&apos;s URL space pointing at the actualfile system path, e.g.:    location /data/media/ { internal; alias /srv/dokuwiki-media/; }For the /_x_accel_redirect/ fallback (used when a plugin serves filesfrom outside the wiki and its data directories), admins opt in byadding:    location /_x_accel_redirect/ { internal; alias /; }When the wiki is installed under a sub path, prefix both locationsaccordingly (e.g. /wiki/data/media/ and /wiki/_x_accel_redirect/).fixes: #2895

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Fri, 29 May 2026 20:00:21 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>6c16a3a9aa602bb7e269fb6d5d18e1353e17f97f - Use str_starts_with/str_ends_with</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#6c16a3a9aa602bb7e269fb6d5d18e1353e17f97f</link>
        <description>Use str_starts_with/str_ends_with

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Thu, 14 Sep 2023 20:32:18 +0000</pubDate>
        <dc:creator>fiwswe &lt;fiwswe@fwml.de&gt;</dc:creator>
    </item>
<item>
        <title>d4f83172d9533c4d84f450fe22ef630816b21d75 - code style: line breaks</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#d4f83172d9533c4d84f450fe22ef630816b21d75</link>
        <description>code style: line breaks

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Thu, 31 Aug 2023 20:44:40 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>26dfc2323f8f70cb69aac4c8c51bf7997809f2ca - Rector to rename print to echo calls</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#26dfc2323f8f70cb69aac4c8c51bf7997809f2ca</link>
        <description>Rector to rename print to echo calls

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Thu, 31 Aug 2023 20:00:27 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>24870174d2ee45460ba6bcfe5f5a0ae94715efd7 - Apply rector fixes to the rest of inc</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#24870174d2ee45460ba6bcfe5f5a0ae94715efd7</link>
        <description>Apply rector fixes to the rest of inc

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Tue, 29 Aug 2023 17:42:15 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>2b9be4565f8205c2186c4b537e1fa49846bf2fe9 - some more fixes for undefined vars</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#2b9be4565f8205c2186c4b537e1fa49846bf2fe9</link>
        <description>some more fixes for undefined varsThis makes more use of $INPUT to access $_SERVER and fixes a warning inone of the search methods.

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Thu, 10 Nov 2022 10:52:58 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>13c3790029ae5e3cfa88666224cecc73c343d9ec - streamline zlib checking #1410</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#13c3790029ae5e3cfa88666224cecc73c343d9ec</link>
        <description>streamline zlib checking #1410Instead of having various function_exists checks all over the place,this introduces the constants DOKU_HAS_GZIP and DOKU_HAS_BZIP. Allnon-3rdparty parts of the code using gz* functions should now check ifzlib is actually available.

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Fri, 27 Nov 2015 08:29:01 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>4a0b76690b2a0dbfe3365e9bb71886f41ef6a4e6 - make sure zlib exists when trying to use gzip_output #1410</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#4a0b76690b2a0dbfe3365e9bb71886f41ef6a4e6</link>
        <description>make sure zlib exists when trying to use gzip_output #1410

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Fri, 27 Nov 2015 08:00:22 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>42ea7f447f39fbc2f79eaaec31f8c10ede59c5d0 - Many PHPDocs, some unused and dyn declared vars</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#42ea7f447f39fbc2f79eaaec31f8c10ede59c5d0</link>
        <description>Many PHPDocs, some unused and dyn declared varsmany PHPDocssome unused variablessome dynamically declared variables declared

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Wed, 01 Oct 2014 09:30:27 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f327a5f0a9ef72e6dd79d9d200f81c330aa4903c - Merge branch &apos;master&apos; into FS#2388</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#f327a5f0a9ef72e6dd79d9d200f81c330aa4903c</link>
        <description>Merge branch &apos;master&apos; into FS#2388

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Sun, 02 Mar 2014 21:00:08 +0000</pubDate>
        <dc:creator>Christopher Smith &lt;chris@jalakai.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>901248028bc3b7497093ab3853f2f6e347fbc397 - fix httputils PHPDocs</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#901248028bc3b7497093ab3853f2f6e347fbc397</link>
        <description>fix httputils PHPDocs

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Mon, 17 Feb 2014 18:22:57 +0000</pubDate>
        <dc:creator>Gerrit Uitslag &lt;klapinklapin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>446b5b5934799f1f906ea8903b1e96c981f1c1b2 - FS#2388 give relative path to sendfile on nginx</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#446b5b5934799f1f906ea8903b1e96c981f1c1b2</link>
        <description>FS#2388 give relative path to sendfile on nginx

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Sat, 15 Feb 2014 09:59:18 +0000</pubDate>
        <dc:creator>Dominik Eckelmann &lt;deckelmann@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>40e0b44409037978b0bce4b451b1569c3bc3ee19 - use http_sendfile correct</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#40e0b44409037978b0bce4b451b1569c3bc3ee19</link>
        <description>use http_sendfile correct

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Sat, 15 Feb 2014 09:58:33 +0000</pubDate>
        <dc:creator>Dominik Eckelmann &lt;deckelmann@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b051e9742775994c33cb6570e27605bbe930efe4 - code changes in the rest of the code base to support testing fetch</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#b051e9742775994c33cb6570e27605bbe930efe4</link>
        <description>code changes in the rest of the code base to support testing fetch

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Fri, 22 Mar 2013 17:55:19 +0000</pubDate>
        <dc:creator>Christopher Smith &lt;chris@jalakai.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>9d2e1be699d573eebda922cf67f030d3d2aa462d - introduced http_status() for sending HTTP status code FS#1698</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#9d2e1be699d573eebda922cf67f030d3d2aa462d</link>
        <description>introduced http_status() for sending HTTP status code FS#1698It seems, some servers require a special Status: header for sending theHTTP status code from PHP (F)CGI to the server. This patch introduces anew function (adopted from CodeIgniter) for simplifying the statushandling.

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Sat, 16 Feb 2013 17:29:20 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>93b2e67758f1933a37de8ba366d22fc8c1dbcef5 - Declare timestamp parameter of http_conditionalRequest as int</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#93b2e67758f1933a37de8ba366d22fc8c1dbcef5</link>
        <description>Declare timestamp parameter of http_conditionalRequest as int

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Fri, 24 Aug 2012 12:29:05 +0000</pubDate>
        <dc:creator>Michael Hamann &lt;michael@content-space.de&gt;</dc:creator>
    </item>
<item>
        <title>96946cc94d3ecb3832e2a1ce35c49743e25329e1 - replaced $HTTP_RAW_POST_DATA with http_get_raw_post_data function</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#96946cc94d3ecb3832e2a1ce35c49743e25329e1</link>
        <description>replaced $HTTP_RAW_POST_DATA with http_get_raw_post_data function

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Wed, 21 Mar 2012 10:25:00 +0000</pubDate>
        <dc:creator>Dominik Eckelmann &lt;deckelmann@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6619f42eb475ad91a0b73d1aa6268ff41c6129a2 - Refactor CSS and JS caching</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/httputils.php#6619f42eb475ad91a0b73d1aa6268ff41c6129a2</link>
        <description>Refactor CSS and JS caching  * Increase HTTP cache time since the resources are timestamped on request    anyway  * Check userscript.js only once for JS cache validation  * Use cache class

            List of files:
            /dokuwiki/inc/httputils.php</description>
        <pubDate>Fri, 01 Jul 2011 14:49:28 +0000</pubDate>
        <dc:creator>Adrian Lang &lt;mail@adrianlang.de&gt;</dc:creator>
    </item>
</channel>
</rss>
