Plugin Directory

Changeset 3315979


Ignore:
Timestamp:
06/22/2025 08:29:46 PM (9 months ago)
Author:
fullworks
Message:

Release version 1.7.4

Location:
stop-user-enumeration
Files:
2 added
12 deleted
16 edited
1 copied

Legend:

Unmodified
Added
Removed
  • stop-user-enumeration/tags/1.7.4/changelog.txt

    r3315967 r3315979  
    66* Enhanced IP address validation using FILTER_VALIDATE_IP
    77* Fixed X-Forwarded-For header handling to properly parse multiple IPs
    8 
    9 = it ran further ithink but   ℹ Starting 'wp cli info' on the cli container.
    10 
    11                               OS:   Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64
    12                               Shell:
    13                               PHP binary:   /usr/local/bin/php
    14                               PHP version:  7.4.33
    15                               php.ini used: /usr/local/etc/php/php.ini
    16                               MySQL binary: /usr/bin/mysql
    17                               MySQL version:    mysql  Ver 15.1 Distrib 10.6.10-MariaDB, for Linux (x86_64) using readline 5.1
    18                               SQL modes:
    19                               WP-CLI root dir:  phar://wp-cli.phar/vendor/wp-cli/wp-cli
    20                               WP-CLI vendor dir:    phar://wp-cli.phar/vendor
    21                               WP_CLI phar path: /var/www/html
    22                               WP-CLI packages dir:
    23                               WP-CLI cache dir: /home/runner/.wp-cli/cache
    24                               WP-CLI global config:
    25                               WP-CLI project config:
    26                               WP-CLI version:   2.7.1
    27                               ✔ Ran `wp cli info` in 'cli'. (in 0s 311ms)
    28                               ℹ Starting 'wp plugin list' on the cli container.
    29 
    30                               name  status  update  version
    31                               hello inactive    none    1.7.2
    32                               stop-user-enumeration active  version higher than expected    1.7.3
    33                               ✔ Ran `wp plugin list` in 'cli'. (in 0s 481ms)
    34                               ℹ Starting 'wp plugin list-checks' on the cli container.
    35 
    36                               Error: 'list-checks' is not a registered subcommand of 'plugin'. See 'wp help plugin' for available subcommands.
    37 
    38                               ✖ Command failed with exit code 1bu1.7.2 =
    398* Fix ability to by-pass the WP REST API protection functionality, props Bob @ WpScan
    409
  • stop-user-enumeration/tags/1.7.4/includes/vendor/autoload.php

    r3282442 r3315979  
    1515        }
    1616    }
    17     trigger_error(
    18         $err,
    19         E_USER_ERROR
    20     );
     17    throw new RuntimeException($err);
    2118}
    2219
  • stop-user-enumeration/tags/1.7.4/includes/vendor/composer/InstalledVersions.php

    r3157454 r3315979  
    2828{
    2929    /**
     30     * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
     31     * @internal
     32     */
     33    private static $selfDir = null;
     34
     35    /**
    3036     * @var mixed[]|null
    3137     * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
    3238     */
    3339    private static $installed;
     40
     41    /**
     42     * @var bool
     43     */
     44    private static $installedIsLocalDir;
    3445
    3546    /**
     
    310321        self::$installed = $data;
    311322        self::$installedByVendor = array();
     323
     324        // when using reload, we disable the duplicate protection to ensure that self::$installed data is
     325        // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
     326        // so we have to assume it does not, and that may result in duplicate data being returned when listing
     327        // all installed packages for example
     328        self::$installedIsLocalDir = false;
     329    }
     330
     331    /**
     332     * @return string
     333     */
     334    private static function getSelfDir()
     335    {
     336        if (self::$selfDir === null) {
     337            self::$selfDir = strtr(__DIR__, '\\', '/');
     338        }
     339
     340        return self::$selfDir;
    312341    }
    313342
     
    323352
    324353        $installed = array();
     354        $copiedLocalDir = false;
    325355
    326356        if (self::$canGetVendors) {
     357            $selfDir = self::getSelfDir();
    327358            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     359                $vendorDir = strtr($vendorDir, '\\', '/');
    328360                if (isset(self::$installedByVendor[$vendorDir])) {
    329361                    $installed[] = self::$installedByVendor[$vendorDir];
     
    331363                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332364                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     365                    self::$installedByVendor[$vendorDir] = $required;
     366                    $installed[] = $required;
     367                    if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
     368                        self::$installed = $required;
     369                        self::$installedIsLocalDir = true;
    336370                    }
     371                }
     372                if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
     373                    $copiedLocalDir = true;
    337374                }
    338375            }
     
    351388        }
    352389
    353         if (self::$installed !== array()) {
     390        if (self::$installed !== array() && !$copiedLocalDir) {
    354391            $installed[] = self::$installed;
    355392        }
  • stop-user-enumeration/tags/1.7.4/includes/vendor/composer/autoload_classmap.php

    r3282442 r3315979  
    77
    88return array(
    9     'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_real.php',
    10     'Composer\\Autoload\\ClassLoader' => $vendorDir . '/composer/ClassLoader.php',
    11     'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_static.php',
    129    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    1310    'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
  • stop-user-enumeration/tags/1.7.4/includes/vendor/composer/autoload_static.php

    r3282442 r3315979  
    3232
    3333    public static $classMap = array (
    34         'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_real.php',
    35         'Composer\\Autoload\\ClassLoader' => __DIR__ . '/..' . '/composer/ClassLoader.php',
    36         'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_static.php',
    3734        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    3835        'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
  • stop-user-enumeration/tags/1.7.4/includes/vendor/composer/installed.php

    r3315967 r3315979  
    22    'root' => array(
    33        'name' => 'fullworks/stop-user-enumeration',
    4         'pretty_version' => 'dev-main',
    5         'version' => 'dev-main',
    6         'reference' => '6ffddee56d5d535eb64d10c4bcf0942755b48504',
     4        'pretty_version' => 'v1.7.4',
     5        'version' => '1.7.4.0',
     6        'reference' => '9cd863225735486704216cf2e1ef7073b57e9283',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../../',
     
    3030        ),
    3131        'fullworks/stop-user-enumeration' => array(
    32             'pretty_version' => 'dev-main',
    33             'version' => 'dev-main',
    34             'reference' => '6ffddee56d5d535eb64d10c4bcf0942755b48504',
     32            'pretty_version' => 'v1.7.4',
     33            'version' => '1.7.4.0',
     34            'reference' => '9cd863225735486704216cf2e1ef7073b57e9283',
    3535            'type' => 'wordpress-plugin',
    3636            'install_path' => __DIR__ . '/../../../',
  • stop-user-enumeration/tags/1.7.4/readme.txt

    r3315967 r3315979  
    66Tested up to: 6.8
    77Requires PHP: 7.4
    8 Stable tag: 1.7.3
     8Stable tag: 1.7.4
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
  • stop-user-enumeration/tags/1.7.4/stop-user-enumeration.php

    r3315967 r3315979  
    44Plugin URI: https://fullworksplugins.com/products/stop-user-enumeration/
    55Description: Helps secure your site against hacking attacks through detecting  User Enumeration
    6 Version: 1.7.3
     6Version: 1.7.4
    77Author: Fullworks
    88Requires at least: 6.3
     
    4343
    4444// Define the plugin version constant.
    45 define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7.3' );
     45define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7.4' );
    4646
    4747// Include the autoloader to dynamically include the classes.
  • stop-user-enumeration/trunk/changelog.txt

    r3315967 r3315979  
    66* Enhanced IP address validation using FILTER_VALIDATE_IP
    77* Fixed X-Forwarded-For header handling to properly parse multiple IPs
    8 
    9 = it ran further ithink but   ℹ Starting 'wp cli info' on the cli container.
    10 
    11                               OS:   Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64
    12                               Shell:
    13                               PHP binary:   /usr/local/bin/php
    14                               PHP version:  7.4.33
    15                               php.ini used: /usr/local/etc/php/php.ini
    16                               MySQL binary: /usr/bin/mysql
    17                               MySQL version:    mysql  Ver 15.1 Distrib 10.6.10-MariaDB, for Linux (x86_64) using readline 5.1
    18                               SQL modes:
    19                               WP-CLI root dir:  phar://wp-cli.phar/vendor/wp-cli/wp-cli
    20                               WP-CLI vendor dir:    phar://wp-cli.phar/vendor
    21                               WP_CLI phar path: /var/www/html
    22                               WP-CLI packages dir:
    23                               WP-CLI cache dir: /home/runner/.wp-cli/cache
    24                               WP-CLI global config:
    25                               WP-CLI project config:
    26                               WP-CLI version:   2.7.1
    27                               ✔ Ran `wp cli info` in 'cli'. (in 0s 311ms)
    28                               ℹ Starting 'wp plugin list' on the cli container.
    29 
    30                               name  status  update  version
    31                               hello inactive    none    1.7.2
    32                               stop-user-enumeration active  version higher than expected    1.7.3
    33                               ✔ Ran `wp plugin list` in 'cli'. (in 0s 481ms)
    34                               ℹ Starting 'wp plugin list-checks' on the cli container.
    35 
    36                               Error: 'list-checks' is not a registered subcommand of 'plugin'. See 'wp help plugin' for available subcommands.
    37 
    38                               ✖ Command failed with exit code 1bu1.7.2 =
    398* Fix ability to by-pass the WP REST API protection functionality, props Bob @ WpScan
    409
  • stop-user-enumeration/trunk/includes/vendor/autoload.php

    r3282442 r3315979  
    1515        }
    1616    }
    17     trigger_error(
    18         $err,
    19         E_USER_ERROR
    20     );
     17    throw new RuntimeException($err);
    2118}
    2219
  • stop-user-enumeration/trunk/includes/vendor/composer/InstalledVersions.php

    r3157454 r3315979  
    2828{
    2929    /**
     30     * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
     31     * @internal
     32     */
     33    private static $selfDir = null;
     34
     35    /**
    3036     * @var mixed[]|null
    3137     * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
    3238     */
    3339    private static $installed;
     40
     41    /**
     42     * @var bool
     43     */
     44    private static $installedIsLocalDir;
    3445
    3546    /**
     
    310321        self::$installed = $data;
    311322        self::$installedByVendor = array();
     323
     324        // when using reload, we disable the duplicate protection to ensure that self::$installed data is
     325        // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
     326        // so we have to assume it does not, and that may result in duplicate data being returned when listing
     327        // all installed packages for example
     328        self::$installedIsLocalDir = false;
     329    }
     330
     331    /**
     332     * @return string
     333     */
     334    private static function getSelfDir()
     335    {
     336        if (self::$selfDir === null) {
     337            self::$selfDir = strtr(__DIR__, '\\', '/');
     338        }
     339
     340        return self::$selfDir;
    312341    }
    313342
     
    323352
    324353        $installed = array();
     354        $copiedLocalDir = false;
    325355
    326356        if (self::$canGetVendors) {
     357            $selfDir = self::getSelfDir();
    327358            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     359                $vendorDir = strtr($vendorDir, '\\', '/');
    328360                if (isset(self::$installedByVendor[$vendorDir])) {
    329361                    $installed[] = self::$installedByVendor[$vendorDir];
     
    331363                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332364                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     365                    self::$installedByVendor[$vendorDir] = $required;
     366                    $installed[] = $required;
     367                    if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
     368                        self::$installed = $required;
     369                        self::$installedIsLocalDir = true;
    336370                    }
     371                }
     372                if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
     373                    $copiedLocalDir = true;
    337374                }
    338375            }
     
    351388        }
    352389
    353         if (self::$installed !== array()) {
     390        if (self::$installed !== array() && !$copiedLocalDir) {
    354391            $installed[] = self::$installed;
    355392        }
  • stop-user-enumeration/trunk/includes/vendor/composer/autoload_classmap.php

    r3282442 r3315979  
    77
    88return array(
    9     'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_real.php',
    10     'Composer\\Autoload\\ClassLoader' => $vendorDir . '/composer/ClassLoader.php',
    11     'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_static.php',
    129    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    1310    'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
  • stop-user-enumeration/trunk/includes/vendor/composer/autoload_static.php

    r3282442 r3315979  
    3232
    3333    public static $classMap = array (
    34         'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_real.php',
    35         'Composer\\Autoload\\ClassLoader' => __DIR__ . '/..' . '/composer/ClassLoader.php',
    36         'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_static.php',
    3734        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    3835        'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
  • stop-user-enumeration/trunk/includes/vendor/composer/installed.php

    r3315967 r3315979  
    22    'root' => array(
    33        'name' => 'fullworks/stop-user-enumeration',
    4         'pretty_version' => 'dev-main',
    5         'version' => 'dev-main',
    6         'reference' => '6ffddee56d5d535eb64d10c4bcf0942755b48504',
     4        'pretty_version' => 'v1.7.4',
     5        'version' => '1.7.4.0',
     6        'reference' => '9cd863225735486704216cf2e1ef7073b57e9283',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../../',
     
    3030        ),
    3131        'fullworks/stop-user-enumeration' => array(
    32             'pretty_version' => 'dev-main',
    33             'version' => 'dev-main',
    34             'reference' => '6ffddee56d5d535eb64d10c4bcf0942755b48504',
     32            'pretty_version' => 'v1.7.4',
     33            'version' => '1.7.4.0',
     34            'reference' => '9cd863225735486704216cf2e1ef7073b57e9283',
    3535            'type' => 'wordpress-plugin',
    3636            'install_path' => __DIR__ . '/../../../',
  • stop-user-enumeration/trunk/readme.txt

    r3315967 r3315979  
    66Tested up to: 6.8
    77Requires PHP: 7.4
    8 Stable tag: 1.7.3
     8Stable tag: 1.7.4
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
  • stop-user-enumeration/trunk/stop-user-enumeration.php

    r3315967 r3315979  
    44Plugin URI: https://fullworksplugins.com/products/stop-user-enumeration/
    55Description: Helps secure your site against hacking attacks through detecting  User Enumeration
    6 Version: 1.7.3
     6Version: 1.7.4
    77Author: Fullworks
    88Requires at least: 6.3
     
    4343
    4444// Define the plugin version constant.
    45 define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7.3' );
     45define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7.4' );
    4646
    4747// Include the autoloader to dynamically include the classes.
Note: See TracChangeset for help on using the changeset viewer.