Plugin Directory

Changeset 3776031


Ignore:
Timestamp:
10/30/2026 09:11:10 PM (22 hours ago)
Author:
rxnwebsolutions
Message:

Release 1.0.2: support forum link, login texts

Location:
edge-doctor
Files:
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • edge-doctor/tags/1.0.2/edge-doctor.php

    r3775965 r3776031  
    44 * Plugin URI:        https://rxnwebsolutions.com/edge-doctor/
    55 * Description:       Detects common misconfigurations between Cloudflare and WordPress and explains how to fix them. Read-only.
    6  * Version:           1.0.1
     6 * Version:           1.0.2
    77 * Requires at least: 6.5
    88 * Requires PHP:      7.4
    … …  
    1818defined( 'ABSPATH' ) || exit;
    1919
    20 define( 'EDGE_DOCTOR_VERSION', '1.0.1' );
     20define( 'EDGE_DOCTOR_VERSION', '1.0.2' );
    2121define( 'EDGE_DOCTOR_FILE', __FILE__ );
    2222define( 'EDGE_DOCTOR_DIR', plugin_dir_path( __FILE__ ) );
    … …  
    2727define( 'EDGE_DOCTOR_DOCS_SR', false );
    2828// Address for "Report a false positive". Empty until the plugin is published on WordPress.org, and the link is not in the HTML until then (DECISIONS.md, D7).
    29 define( 'EDGE_DOCTOR_SUPPORT_URL', '' );
     29define( 'EDGE_DOCTOR_SUPPORT_URL', 'https://wordpress.org/support/plugin/edge-doctor/' );
    3030define( 'EDGE_DOCTOR_MIN_PHP', '7.4' );
    3131define( 'EDGE_DOCTOR_MIN_WP', '6.5' );
  • edge-doctor/tags/1.0.2/languages/edge-doctor.pot

    r3775965 r3776031  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Edge Doctor for Cloudflare® 1.0.1\n"
     5"Project-Id-Version: Edge Doctor for Cloudflare® 1.0.2\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/edge-doctor\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-29T00:02:08+00:00\n"
     12"POT-Creation-Date: 2026-10-30T20:42:34+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    600600
    601601#: src/Check/PrivateCache/C1AdminCache.php:148
    602 msgid "The login page could not be confirmed at wp-login.php, so this result rests on wp-admin alone."
     602msgid "The login page could not be confirmed at the address WordPress gives, so this result rests on wp-admin alone."
    603603msgstr ""
    604604
    605605#: src/Check/PrivateCache/C1AdminCache.php:155
    606 msgid "Cloudflare answered for wp-login.php from its cache, but the answer was not the login page, so it is not the login page that is cached."
     606msgid "Cloudflare answered for the login page address from its cache, but the answer was not the login page, so it is not the login page that is cached."
    607607msgstr ""
    608608
    … …  
    620620
    621621#: src/Check/PrivateCache/C1AdminCache.php:285
    622 msgid "Find the cache rule that covers these addresses and exclude wp-admin and wp-login.php from it."
     622msgid "Find the cache rule that covers these addresses and exclude wp-admin and the login page from it."
    623623msgstr ""
    624624
    … …  
    632632
    633633#: src/Check/PrivateCache/C1AdminCache.php:294
    634 msgid "Narrow the rule so it does not cover wp-admin and wp-login.php at all."
     634msgid "Narrow the rule so it does not cover wp-admin and the login page at all."
    635635msgstr ""
    636636
    … …  
    10541054
    10551055#: src/Check/Result.php:306
    1056 msgid "The login page did not answer at wp-login.php, so it could not be checked. Its address has probably been changed, often by a security plugin."
     1056msgid "The login page could not be confirmed at the address WordPress gives, so it could not be checked. It may be hidden in a way WordPress does not know about."
    10571057msgstr ""
    10581058
    … …  
    11741174
    11751175#: src/Check/ServerRequests/E2AccessAjax.php:93
    1176 msgid "Narrow the Access application so it covers wp-admin and wp-login.php but leaves admin-ajax.php alone."
     1176msgid "Narrow the Access application so it covers wp-admin and the login page but leaves admin-ajax.php alone."
    11771177msgstr ""
    11781178
  • edge-doctor/tags/1.0.2/readme.txt

    r3775965 r3776031  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 1.0.1
     7Stable tag: 1.0.2
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    7575== Changelog ==
    7676
     77= 1.0.2 =
     78* The report page links to the support forum on WordPress.org for reporting a false positive.
     79* The texts for a login page that could not be confirmed now speak of the address WordPress gives for it, which is what has been measured since 1.0.1, and the cache and Access advice names the login page wherever it was moved.
     80
    7781= 1.0.1 =
    7882* The REST routes are registered on every site, also where the REST API is not under /wp-json/, as in WordPress Playground.
  • edge-doctor/tags/1.0.2/src/Check/PrivateCache/C1AdminCache.php

    r3775965 r3776031  
    142142                         * unconfirmed login page becomes a note on it. Only when wp-admin
    143143                         * is in order does the result say it could not look. A cached 404
    144                          * at wp-login.php is not the login page leaking.
     144                         * at the login page address is not the login page leaking.
    145145                         */
    146146                        if ( in_array( $admin_class, array( self::CACHEABLE, self::BYPASS ), true ) ) {
    147147                                $result = $this->judge( $admin_class );
    148                                 $result->with_note( __( 'The login page could not be confirmed at wp-login.php, so this result rests on wp-admin alone.', 'edge-doctor' ) );
     148                                $result->with_note( __( 'The login page could not be confirmed at the address WordPress gives, so this result rests on wp-admin alone.', 'edge-doctor' ) );
    149149                                $result->with_note( Result::reason_text( $reason ) );
    150150                        } else {
    … …  
    153153
    154154                        if ( self::CACHEABLE === $login_class ) {
    155                                 $result->with_note( __( 'Cloudflare answered for wp-login.php from its cache, but the answer was not the login page, so it is not the login page that is cached.', 'edge-doctor' ) );
     155                                $result->with_note( __( 'Cloudflare answered for the login page address from its cache, but the answer was not the login page, so it is not the login page that is cached.', 'edge-doctor' ) );
    156156                        }
    157157
    … …  
    283283                        $result->title   = __( 'Cloudflare is caching your admin pages', 'edge-doctor' );
    284284                        $result->summary = __( 'Cloudflare answered for wp-admin or the login page from its cache. A page built for one signed in person can be handed to somebody else, or to a visitor who is not signed in at all.', 'edge-doctor' );
    285                         $result->with_note( __( 'Find the cache rule that covers these addresses and exclude wp-admin and wp-login.php from it.', 'edge-doctor' ) );
     285                        $result->with_note( __( 'Find the cache rule that covers these addresses and exclude wp-admin and the login page from it.', 'edge-doctor' ) );
    286286
    287287                        return $result;
    … …  
    292292                        $result->title   = __( 'A cache rule reaches your admin pages', 'edge-doctor' );
    293293                        $result->summary = __( 'A cache rule covers wp-admin or the login page and is bypassing the cache for now. Only the headers your server sends keep those pages out, so a change at either end could start caching them.', 'edge-doctor' );
    294                         $result->with_note( __( 'Narrow the rule so it does not cover wp-admin and wp-login.php at all.', 'edge-doctor' ) );
     294                        $result->with_note( __( 'Narrow the rule so it does not cover wp-admin and the login page at all.', 'edge-doctor' ) );
    295295
    296296                        return $result;
  • edge-doctor/tags/1.0.2/src/Check/Result.php

    r3775965 r3776031  
    304304                                return __( 'Edge Doctor could not learn the public address of your server, because the Cloudflare trace did not answer or SERVER_ADDR is not a public address.', 'edge-doctor' );
    305305                        case self::REASON_LOGIN_NOT_FOUND:
    306                                 return __( 'The login page did not answer at wp-login.php, so it could not be checked. Its address has probably been changed, often by a security plugin.', 'edge-doctor' );
     306                                return __( 'The login page could not be confirmed at the address WordPress gives, so it could not be checked. It may be hidden in a way WordPress does not know about.', 'edge-doctor' );
    307307                        case self::REASON_EDGE_CHALLENGE:
    308308                                return __( 'Cloudflare answered the plugin with a challenge or a sign in page instead of the page, so it could not be read. The checks for requests from your server to itself report this.', 'edge-doctor' );
  • edge-doctor/tags/1.0.2/src/Check/ServerRequests/E2AccessAjax.php

    r3775965 r3776031  
    9191                        $result->title   = __( 'Cloudflare Access is in front of admin-ajax.php', 'edge-doctor' );
    9292                        $result->summary = __( 'A request to admin-ajax.php was sent to a Cloudflare Access sign in page. Your front end calls that address too, so features on the public site stop working for visitors who were never meant to sign in.', 'edge-doctor' );
    93                         $result->with_note( __( 'Narrow the Access application so it covers wp-admin and wp-login.php but leaves admin-ajax.php alone.', 'edge-doctor' ) );
     93                        $result->with_note( __( 'Narrow the Access application so it covers wp-admin and the login page but leaves admin-ajax.php alone.', 'edge-doctor' ) );
    9494                        $result->with_evidence( new Evidence( 'admin-ajax.php', (string) $ajax->status . ' to ' . $ajax_host, Evidence::LOOPBACK, true ) );
    9595
  • edge-doctor/trunk/edge-doctor.php

    r3775965 r3776031  
    44 * Plugin URI:        https://rxnwebsolutions.com/edge-doctor/
    55 * Description:       Detects common misconfigurations between Cloudflare and WordPress and explains how to fix them. Read-only.
    6  * Version:           1.0.1
     6 * Version:           1.0.2
    77 * Requires at least: 6.5
    88 * Requires PHP:      7.4
    … …  
    1818defined( 'ABSPATH' ) || exit;
    1919
    20 define( 'EDGE_DOCTOR_VERSION', '1.0.1' );
     20define( 'EDGE_DOCTOR_VERSION', '1.0.2' );
    2121define( 'EDGE_DOCTOR_FILE', __FILE__ );
    2222define( 'EDGE_DOCTOR_DIR', plugin_dir_path( __FILE__ ) );
    … …  
    2727define( 'EDGE_DOCTOR_DOCS_SR', false );
    2828// Address for "Report a false positive". Empty until the plugin is published on WordPress.org, and the link is not in the HTML until then (DECISIONS.md, D7).
    29 define( 'EDGE_DOCTOR_SUPPORT_URL', '' );
     29define( 'EDGE_DOCTOR_SUPPORT_URL', 'https://wordpress.org/support/plugin/edge-doctor/' );
    3030define( 'EDGE_DOCTOR_MIN_PHP', '7.4' );
    3131define( 'EDGE_DOCTOR_MIN_WP', '6.5' );
  • edge-doctor/trunk/languages/edge-doctor.pot

    r3775965 r3776031  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Edge Doctor for Cloudflare® 1.0.1\n"
     5"Project-Id-Version: Edge Doctor for Cloudflare® 1.0.2\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/edge-doctor\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-29T00:02:08+00:00\n"
     12"POT-Creation-Date: 2026-10-30T20:42:34+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    600600
    601601#: src/Check/PrivateCache/C1AdminCache.php:148
    602 msgid "The login page could not be confirmed at wp-login.php, so this result rests on wp-admin alone."
     602msgid "The login page could not be confirmed at the address WordPress gives, so this result rests on wp-admin alone."
    603603msgstr ""
    604604
    605605#: src/Check/PrivateCache/C1AdminCache.php:155
    606 msgid "Cloudflare answered for wp-login.php from its cache, but the answer was not the login page, so it is not the login page that is cached."
     606msgid "Cloudflare answered for the login page address from its cache, but the answer was not the login page, so it is not the login page that is cached."
    607607msgstr ""
    608608
    … …  
    620620
    621621#: src/Check/PrivateCache/C1AdminCache.php:285
    622 msgid "Find the cache rule that covers these addresses and exclude wp-admin and wp-login.php from it."
     622msgid "Find the cache rule that covers these addresses and exclude wp-admin and the login page from it."
    623623msgstr ""
    624624
    … …  
    632632
    633633#: src/Check/PrivateCache/C1AdminCache.php:294
    634 msgid "Narrow the rule so it does not cover wp-admin and wp-login.php at all."
     634msgid "Narrow the rule so it does not cover wp-admin and the login page at all."
    635635msgstr ""
    636636
    … …  
    10541054
    10551055#: src/Check/Result.php:306
    1056 msgid "The login page did not answer at wp-login.php, so it could not be checked. Its address has probably been changed, often by a security plugin."
     1056msgid "The login page could not be confirmed at the address WordPress gives, so it could not be checked. It may be hidden in a way WordPress does not know about."
    10571057msgstr ""
    10581058
    … …  
    11741174
    11751175#: src/Check/ServerRequests/E2AccessAjax.php:93
    1176 msgid "Narrow the Access application so it covers wp-admin and wp-login.php but leaves admin-ajax.php alone."
     1176msgid "Narrow the Access application so it covers wp-admin and the login page but leaves admin-ajax.php alone."
    11771177msgstr ""
    11781178
  • edge-doctor/trunk/readme.txt

    r3775965 r3776031  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 1.0.1
     7Stable tag: 1.0.2
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    7575== Changelog ==
    7676
     77= 1.0.2 =
     78* The report page links to the support forum on WordPress.org for reporting a false positive.
     79* The texts for a login page that could not be confirmed now speak of the address WordPress gives for it, which is what has been measured since 1.0.1, and the cache and Access advice names the login page wherever it was moved.
     80
    7781= 1.0.1 =
    7882* The REST routes are registered on every site, also where the REST API is not under /wp-json/, as in WordPress Playground.
  • edge-doctor/trunk/src/Check/PrivateCache/C1AdminCache.php

    r3775965 r3776031  
    142142                         * unconfirmed login page becomes a note on it. Only when wp-admin
    143143                         * is in order does the result say it could not look. A cached 404
    144                          * at wp-login.php is not the login page leaking.
     144                         * at the login page address is not the login page leaking.
    145145                         */
    146146                        if ( in_array( $admin_class, array( self::CACHEABLE, self::BYPASS ), true ) ) {
    147147                                $result = $this->judge( $admin_class );
    148                                 $result->with_note( __( 'The login page could not be confirmed at wp-login.php, so this result rests on wp-admin alone.', 'edge-doctor' ) );
     148                                $result->with_note( __( 'The login page could not be confirmed at the address WordPress gives, so this result rests on wp-admin alone.', 'edge-doctor' ) );
    149149                                $result->with_note( Result::reason_text( $reason ) );
    150150                        } else {
    … …  
    153153
    154154                        if ( self::CACHEABLE === $login_class ) {
    155                                 $result->with_note( __( 'Cloudflare answered for wp-login.php from its cache, but the answer was not the login page, so it is not the login page that is cached.', 'edge-doctor' ) );
     155                                $result->with_note( __( 'Cloudflare answered for the login page address from its cache, but the answer was not the login page, so it is not the login page that is cached.', 'edge-doctor' ) );
    156156                        }
    157157
    … …  
    283283                        $result->title   = __( 'Cloudflare is caching your admin pages', 'edge-doctor' );
    284284                        $result->summary = __( 'Cloudflare answered for wp-admin or the login page from its cache. A page built for one signed in person can be handed to somebody else, or to a visitor who is not signed in at all.', 'edge-doctor' );
    285                         $result->with_note( __( 'Find the cache rule that covers these addresses and exclude wp-admin and wp-login.php from it.', 'edge-doctor' ) );
     285                        $result->with_note( __( 'Find the cache rule that covers these addresses and exclude wp-admin and the login page from it.', 'edge-doctor' ) );
    286286
    287287                        return $result;
    … …  
    292292                        $result->title   = __( 'A cache rule reaches your admin pages', 'edge-doctor' );
    293293                        $result->summary = __( 'A cache rule covers wp-admin or the login page and is bypassing the cache for now. Only the headers your server sends keep those pages out, so a change at either end could start caching them.', 'edge-doctor' );
    294                         $result->with_note( __( 'Narrow the rule so it does not cover wp-admin and wp-login.php at all.', 'edge-doctor' ) );
     294                        $result->with_note( __( 'Narrow the rule so it does not cover wp-admin and the login page at all.', 'edge-doctor' ) );
    295295
    296296                        return $result;
  • edge-doctor/trunk/src/Check/Result.php

    r3775965 r3776031  
    304304                                return __( 'Edge Doctor could not learn the public address of your server, because the Cloudflare trace did not answer or SERVER_ADDR is not a public address.', 'edge-doctor' );
    305305                        case self::REASON_LOGIN_NOT_FOUND:
    306                                 return __( 'The login page did not answer at wp-login.php, so it could not be checked. Its address has probably been changed, often by a security plugin.', 'edge-doctor' );
     306                                return __( 'The login page could not be confirmed at the address WordPress gives, so it could not be checked. It may be hidden in a way WordPress does not know about.', 'edge-doctor' );
    307307                        case self::REASON_EDGE_CHALLENGE:
    308308                                return __( 'Cloudflare answered the plugin with a challenge or a sign in page instead of the page, so it could not be read. The checks for requests from your server to itself report this.', 'edge-doctor' );
  • edge-doctor/trunk/src/Check/ServerRequests/E2AccessAjax.php

    r3775965 r3776031  
    9191                        $result->title   = __( 'Cloudflare Access is in front of admin-ajax.php', 'edge-doctor' );
    9292                        $result->summary = __( 'A request to admin-ajax.php was sent to a Cloudflare Access sign in page. Your front end calls that address too, so features on the public site stop working for visitors who were never meant to sign in.', 'edge-doctor' );
    93                         $result->with_note( __( 'Narrow the Access application so it covers wp-admin and wp-login.php but leaves admin-ajax.php alone.', 'edge-doctor' ) );
     93                        $result->with_note( __( 'Narrow the Access application so it covers wp-admin and the login page but leaves admin-ajax.php alone.', 'edge-doctor' ) );
    9494                        $result->with_evidence( new Evidence( 'admin-ajax.php', (string) $ajax->status . ' to ' . $ajax_host, Evidence::LOOPBACK, true ) );
    9595
Note: See TracChangeset for help on using the changeset viewer.