<?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 Ip.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>85cddb538a58d7b2cfc0a3b41359a9310d6a6843 - Merge branch &apos;client_ip_header&apos;</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#85cddb538a58d7b2cfc0a3b41359a9310d6a6843</link>
        <description>Merge branch &apos;client_ip_header&apos;* client_ip_header:  Clean up stale realip references after client_ip_header rename  remove realip option, add default in conf/dokuwiki.php  convert tests to data provider  add comment to the real-ip test  add custom client_ip_header

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 18 Apr 2026 19:29:36 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>90c2f6e39ea5f0855d81ad8451f2288d642a1ed0 - Clean up stale realip references after client_ip_header rename</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#90c2f6e39ea5f0855d81ad8451f2288d642a1ed0</link>
        <description>Clean up stale realip references after client_ip_header renameUpdate docblocks in Ip.php and common.php, fix old tests to usethe new config key, remove outdated translations, fix method casingin test, and add example to English config description.

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 18 Apr 2026 19:28:49 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>fe6048cc082a03daebd73c3dc15a83d942259ce1 - remove realip option, add default in conf/dokuwiki.php</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#fe6048cc082a03daebd73c3dc15a83d942259ce1</link>
        <description>remove realip option, add default in conf/dokuwiki.php

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Tue, 14 Apr 2026 22:39:23 +0000</pubDate>
        <dc:creator>Alexander Lehmann &lt;alexlehm@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>743a69085ea848604e66e72287d87479b11949d6 - &#55358;&#56598; Rector and PHPCS fixes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#743a69085ea848604e66e72287d87479b11949d6</link>
        <description>&#55358;&#56598; Rector and PHPCS fixes

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 11 Apr 2026 18:04:50 +0000</pubDate>
        <dc:creator>splitbrain &lt;86426+splitbrain@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>3da79fe1554a8729ecedab8de664f28694728d98 - Merge pull request #4490 from WillForan/32bitpack</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#3da79fe1554a8729ecedab8de664f28694728d98</link>
        <description>Merge pull request #4490 from WillForan/32bitpack32bit IPv6 unpack

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Fri, 10 Apr 2026 17:49:46 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>093fe67e98c0cdb4b73fd46938e49b64971483c2 - updated rector and applied it</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#093fe67e98c0cdb4b73fd46938e49b64971483c2</link>
        <description>updated rector and applied it

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 07 Mar 2026 20:26:13 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>2b760c9fcca4fe881d642e76c6be9eb7abdaf282 - add custom client_ip_header</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#2b760c9fcca4fe881d642e76c6be9eb7abdaf282</link>
        <description>add custom client_ip_header

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Thu, 15 Jan 2026 21:08:47 +0000</pubDate>
        <dc:creator>Alexander Lehmann &lt;alexlehm@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2f70db90a6d48ecf1f6af51603dba5a630662d2a - fix: 32bit IP tests w/string of decimal representation, overflows</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#2f70db90a6d48ecf1f6af51603dba5a630662d2a</link>
        <description>fix: 32bit IP tests w/string of decimal representation, overflowsMath in PHP is hard! sprintf(&quot;%.0f&quot;,0x7FFFFFFFFFFFFFFF) == sprintf(&quot;%.0f&quot;,0x7FFFFFFFFFFFFF00)Changes  * 32bit gets own version of tests where expected values are strings  * decimalToBinary32 to replace `sprintf(&quot;%032b%032b&quot;...)`, avoids overflow  * overflow check in ipv4 too  * refactor    * partsTo64 for 32bit parts into dec value as str (bcmath)    * Ip32::$b32 as class constant    * condition always PHP_INT_SIZE == 4 for 32bit (instead of == 8 for 64)

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Thu, 04 Dec 2025 17:10:41 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a060f5a0bcf2bd42191c466160b31778110b4a6f - refactor(ip): PSR-12 functions</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#a060f5a0bcf2bd42191c466160b31778110b4a6f</link>
        <description>refactor(ip): PSR-12 functions  bitmask64_32        -&gt; bitmask64On32  make_bitmask_32     -&gt; makeBitmaskOn32  ipv6_upper_lower_32 -&gt; ipv6UpperLowerOn32also * uncomment working 7FFF ipv6 test and * fix README suggested podman to use `docker://wpstaging`

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Thu, 04 Dec 2025 16:10:13 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>91da8d440c37d90167dc8ee25e6de7f854a11f1e - chore(inc/Ip32): move 32bit funcs into own file/class.</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#91da8d440c37d90167dc8ee25e6de7f854a11f1e</link>
        <description>chore(inc/Ip32): move 32bit funcs into own file/class.easier to remove when x86 is officially deprecated

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 20 Sep 2025 19:15:38 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e7cd6878575ddbb7f1fe122e1ffb19bc9dbf740a - Merge remote-tracking branch &apos;upstream/master&apos; into 32bitpack</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#e7cd6878575ddbb7f1fe122e1ffb19bc9dbf740a</link>
        <description>Merge remote-tracking branch &apos;upstream/master&apos; into 32bitpack

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 20 Sep 2025 19:01:29 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>25a70af9b4a17fa21228193868c69038088160af - fix(inc/Ip): 32bit arch compatible range check</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#25a70af9b4a17fa21228193868c69038088160af</link>
        <description>fix(inc/Ip): 32bit arch compatible range check * added docs about running tests on 32bit w/ podman. * Updated tests to use string instead of int for comparison when 32bit. * added `make_bitmask_32` and `bitmask64_32`. updated `ipInRange` to   use them.Test failing for `test_ip_to_number````podman run -v $PWD/..:/dokuwiki \  --workdir /dokuwiki/_test -it \  docker://wpstaging/php:8.3-32bit \ ./vendor/bin/phpunit --verbose --stderr --filter ip_test``````1) ip_test::test_ip_to_number with data set #3 (&apos;38AF:3033:AA39:CDE3:1A46:094C...D:5300&apos;, 6, 4.084536385505709E+18, 1.8932109165344407E+18)Failed asserting that two strings are identical.--- Expected+++ Actual@@ @@-&apos;4084536385505709056&apos;+&apos;4084536381210742243&apos;/dokuwiki/_test/tests/inc/Ip.test.php:522) ip_test::test_ip_to_number with data set #5 (&apos;193.53.125.7&apos;, 4, 0, 3241508103)Failed asserting that -1053459193 is identical to 3241508103.```

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Sat, 20 Sep 2025 18:45:51 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>da569c7faab5733df1c75ed6eaaa93a85453bb0a - refactor: ipv6_upper_lower_32 from ipToNumber</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#da569c7faab5733df1c75ed6eaaa93a85453bb0a</link>
        <description>refactor: ipv6_upper_lower_32 from ipToNumberpull 32-bit specific code into it&apos;s own functionhopefully to be tested in _test/tests/inc/Ip.test.php (?)Stuck on differnce between J2 and N4J should be **unsigned** 64 bit, big endian byte order longbut see negatives!?$ip = inet_pton(&apos;ffff:ffff:ffff:fff0:ffff:ffff:ffff:ffff&apos;);print_r(unpack(&apos;J2&apos;, $ip));Array(    [1] =&gt; -16    [2] =&gt; -1)For referenceprint_r(unpack(&apos;N4&apos;, $ip));Array(    [1] =&gt; 4294967295    [2] =&gt; 4294967280    [3] =&gt; 4294967295    [4] =&gt; 4294967295)print_r(unpack(&apos;v8&apos;, $ip));Array(    [1] =&gt; 65535    [2] =&gt; 65535    [3] =&gt; 65535    [4] =&gt; 61695    [5] =&gt; 65535    [6] =&gt; 65535    [7] =&gt; 65535    [8] =&gt; 65535)

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Wed, 23 Jul 2025 23:46:59 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c9e618ca72c49effe0088731b1a1fb91280aac9a - WIP: ipv6 calc for 32bit #4485 (LLM slop)</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#c9e618ca72c49effe0088731b1a1fb91280aac9a</link>
        <description>WIP: ipv6 calc for 32bit #4485 (LLM slop)first pass with chatGPT

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Wed, 23 Jul 2025 13:44:48 +0000</pubDate>
        <dc:creator>WillForan &lt;willforan@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7caad012096d50d402153b447067b9edf4edeb88 - extend tests, fix issues with new Ip methods</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#7caad012096d50d402153b447067b9edf4edeb88</link>
        <description>extend tests, fix issues with new Ip methods

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Wed, 04 Jun 2025 09:39:47 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>33cb4e0125bb3ea66842b52c5d02739268775800 - Make is_ssl and baseurl use proper proxy checks</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#33cb4e0125bb3ea66842b52c5d02739268775800</link>
        <description>Make is_ssl and baseurl use proper proxy checksThis should not only address #4455 but also ensures that the relatedheaders are only used when they come from a trusted reverse proxy chain.

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Tue, 03 Jun 2025 12:22:14 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
<item>
        <title>ced0b55f80d7b970652d113461ee14228babe506 - Fix Ip tests</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#ced0b55f80d7b970652d113461ee14228babe506</link>
        <description>Fix Ip testsWe no longer use the old regexp based config, so the tests failed.

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Thu, 09 Jan 2025 16:02:25 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>19d5ba27782e35d8c5d7e3db41e9834c96868bbb - rename trustedproxy option to trustedproxies</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#19d5ba27782e35d8c5d7e3db41e9834c96868bbb</link>
        <description>rename trustedproxy option to trustedproxiesWe use a new format (array instead of regex) and need a sure way torecognize it. Zebra&apos;s approach would not have survived the editing viaconfig manager.As a side effect this also introduces a new languange string, which isgood because the old one did no longer apply.

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Thu, 09 Jan 2025 15:17:44 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>e449acd0873bae825fe0d4cd2e166c494235efc4 - some small cleanups in Ip class</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#e449acd0873bae825fe0d4cd2e166c494235efc4</link>
        <description>some small cleanups in Ip classmost importantly do not crash on invalid config

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Thu, 09 Jan 2025 14:59:22 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>c7f6b7b7a4e54be385b5ea54ae0fe82abf57997b - Move IP functions into a class</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/inc/Ip.php#c7f6b7b7a4e54be385b5ea54ae0fe82abf57997b</link>
        <description>Move IP functions into a class

            List of files:
            /dokuwiki/inc/Ip.php</description>
        <pubDate>Wed, 26 Oct 2022 18:26:58 +0000</pubDate>
        <dc:creator>Zebra North &lt;mrzebra@mrzebra.co.uk&gt;</dc:creator>
    </item>
</channel>
</rss>
