updated plugin `Jetpack Protect` version 1.4.0

This commit is contained in:
KawaiiPunk 2023-06-05 11:21:22 +00:00 committed by Gitium
parent b7bbe6d733
commit 63d1d30fa8
115 changed files with 3634 additions and 726 deletions

View File

@ -5,9 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 1.3.1-alpha - unreleased
## 1.4.0 - 2023-05-05
### Added
- Add brute force protection. [#28401]
This is an alpha version! The changes listed here are not final.
### Changed
- General: indicate full compatibility with the latest version of WordPress, 6.2. [#29341]
- Improve the firewall status heading to provide more information based on the current configuration. [#28401]
- Updated package dependencies. [#29480]
## 1.3.0 - 2023-03-13
### Added

View File

@ -1 +1 @@
<?php return array('dependencies' => array('moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => 'b9bb051878ccf8c991dd');
<?php return array('dependencies' => array('moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => 'f5a19d5afbdcef2dfd58');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -5,24 +5,24 @@
"license": "GPL-2.0-or-later",
"require": {
"ext-json": "*",
"automattic/jetpack-assets": "^1.17.33",
"automattic/jetpack-admin-ui": "^0.2.17",
"automattic/jetpack-autoloader": "^2.11.16",
"automattic/jetpack-assets": "^1.17.34",
"automattic/jetpack-admin-ui": "^0.2.19",
"automattic/jetpack-autoloader": "^2.11.18",
"automattic/jetpack-composer-plugin": "^1.1.10",
"automattic/jetpack-config": "^1.14.0",
"automattic/jetpack-identity-crisis": "^0.8.39",
"automattic/jetpack-my-jetpack": "^2.7.13",
"automattic/jetpack-config": "^1.15.1",
"automattic/jetpack-identity-crisis": "^0.8.40",
"automattic/jetpack-my-jetpack": "^2.9.1",
"automattic/jetpack-plugins-installer": "^0.2.3",
"automattic/jetpack-sync": "^1.47.2",
"automattic/jetpack-sync": "^1.47.4",
"automattic/jetpack-transport-helper": "^0.1.4",
"automattic/jetpack-plans": "^0.2.10",
"automattic/jetpack-waf": "^0.10.1",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-waf": "^0.11.4",
"automattic/jetpack-status": "^1.17.0"
},
"require-dev": {
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/wordbless": "0.4.1"
"automattic/wordbless": "0.4.2"
},
"autoload": {
"classmap": [
@ -71,6 +71,6 @@
"automattic/jetpack-autoloader": true,
"automattic/jetpack-composer-plugin": true
},
"autoloader-suffix": "c4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0"
"autoloader-suffix": "c4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0"
}
}

View File

@ -3,7 +3,7 @@
* Plugin Name: Jetpack Protect
* Plugin URI: https://wordpress.org/plugins/jetpack-protect
* Description: Security tools that keep your site safe and sound, from posts to plugins.
* Version: 1.3.0
* Version: 1.4.0
* Author: Automattic - Jetpack Security team
* Author URI: https://jetpack.com/protect/
* License: GPLv2 or later
@ -32,7 +32,7 @@ if ( ! defined( 'ABSPATH' ) ) {
exit;
}
define( 'JETPACK_PROTECT_VERSION', '1.3.0' );
define( 'JETPACK_PROTECT_VERSION', '1.4.0' );
define( 'JETPACK_PROTECT_DIR', plugin_dir_path( __FILE__ ) );
define( 'JETPACK_PROTECT_ROOT_FILE', __FILE__ );
define( 'JETPACK_PROTECT_ROOT_FILE_RELATIVE_PATH', plugin_basename( __FILE__ ) );

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.20] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.4.19] - 2023-02-20
### Changed
- Minor internal updates.
@ -115,6 +119,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Creates the MC Stats package
[1.4.20]: https://github.com/Automattic/jetpack-a8c-mc-stats/compare/v1.4.19...v1.4.20
[1.4.19]: https://github.com/Automattic/jetpack-a8c-mc-stats/compare/v1.4.18...v1.4.19
[1.4.18]: https://github.com/Automattic/jetpack-a8c-mc-stats/compare/v1.4.17...v1.4.18
[1.4.17]: https://github.com/Automattic/jetpack-a8c-mc-stats/compare/v1.4.16...v1.4.17

View File

@ -8,6 +8,9 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.19] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [0.2.18] - 2023-04-04
### Changed
- Menu icon: update to latest version of the Jetpack logo [#29418]
## [0.2.17] - 2023-02-20
### Changed
- Minor internal updates.
@ -96,6 +104,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Fixing menu visibility issues.
[0.2.19]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.18...0.2.19
[0.2.18]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.17...0.2.18
[0.2.17]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.16...0.2.17
[0.2.16]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.15...0.2.16
[0.2.15]: https://github.com/Automattic/jetpack-admin-ui/compare/0.2.14...0.2.15

View File

@ -7,8 +7,12 @@
"require-dev": {
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/jetpack-logo": "^1.6.1",
"automattic/wordbless": "dev-master"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -13,7 +13,7 @@ namespace Automattic\Jetpack\Admin_UI;
*/
class Admin_Menu {
const PACKAGE_VERSION = '0.2.17';
const PACKAGE_VERSION = '0.2.19';
/**
* Whether this class has been initialized
@ -65,20 +65,6 @@ class Admin_Menu {
}
}
/**
* Enqueue styles for the top level menu
*
* @return void
*/
public static function enqueue_style() {
wp_enqueue_style(
'jetpack-admin-ui',
plugin_dir_url( __FILE__ ) . 'css/jetpack-icon.css',
array(),
self::PACKAGE_VERSION
);
}
/**
* Callback to the admin_menu hook that will register the enqueued menu items
*
@ -87,16 +73,18 @@ class Admin_Menu {
public static function admin_menu_hook_callback() {
$can_see_toplevel_menu = true;
$jetpack_plugin_present = class_exists( 'Jetpack_React_Page' );
$icon = class_exists( '\Automattic\Jetpack\Assets\Logo' )
? ( new \Automattic\Jetpack\Assets\Logo() )->get_base64_logo()
: 'dashicons-admin-plugins';
if ( ! $jetpack_plugin_present ) {
add_action( 'admin_print_scripts', array( __CLASS__, 'enqueue_style' ) );
add_menu_page(
'Jetpack',
'Jetpack',
'read',
'jetpack',
'__return_null',
'div',
$icon,
3
);

View File

@ -1,14 +0,0 @@
@font-face {
font-family: 'jetpack';
src: url( '../fonts/jetpack/jetpack.eot' );
src: url( '../fonts/jetpack/jetpack.eot?#iefix' ) format( 'embedded-opentype' ),
url( '../fonts/jetpack/jetpack.woff' ) format( 'woff' ),
url( '../fonts/jetpack/jetpack.ttf' ) format( 'truetype' );
font-weight: normal;
font-style: normal;
}
li.toplevel_page_jetpack .wp-menu-image:before {
font-family: 'jetpack' !important;
content: '\f100';
}

View File

@ -1,33 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2017-12-4: Created with FontForge (http://fontforge.org)
-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20170925 at Mon Dec 4 15:18:51 2017
By Michael Arestad
</metadata>
<defs>
<font id="jetpack" horiz-adv-x="200" >
<font-face
font-family="jetpack"
font-weight="400"
font-stretch="normal"
units-per-em="512"
panose-1="2 0 5 3 0 0 0 0 0 0"
ascent="448"
descent="-64"
bbox="51.2002 -12.7998 460.8 396.8"
underline-thickness="25.6"
underline-position="-51.2"
unicode-range="U+0020-F100"
/>
<missing-glyph />
<glyph glyph-name="space" unicode=" "
/>
<glyph glyph-name="jetpack-logo__icon" unicode="&#xf100;" horiz-adv-x="512"
d="M256 396.8c112.64 0 204.8 -92.1602 204.8 -204.8s-92.1602 -204.8 -204.8 -204.8s-204.8 92.1602 -204.8 204.8s92.1602 204.8 204.8 204.8zM230.4 166.4v179.199l-102.4 -179.199h102.4zM281.6 38.4004l102.4 179.199h-102.4v-179.199z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -5,9 +5,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.17.33] - 2023-03-07
## [1.17.34] - 2023-03-20
### Changed
- Updated package dependencies. [#29289]
- Updated package dependencies. [#29471]
## [1.17.33] - 2023-03-08
### Changed
- Updated package dependencies. [#29216]
## [1.17.32] - 2023-02-20
### Changed
@ -308,6 +312,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Statically access asset tools
[1.17.34]: https://github.com/Automattic/jetpack-assets/compare/v1.17.33...v1.17.34
[1.17.33]: https://github.com/Automattic/jetpack-assets/compare/v1.17.32...v1.17.33
[1.17.32]: https://github.com/Automattic/jetpack-assets/compare/v1.17.31...v1.17.32
[1.17.31]: https://github.com/Automattic/jetpack-assets/compare/v1.17.30...v1.17.31

View File

@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.15.1] - 2023-03-28
### Changed
- Minor internal updates.
## [1.15.0] - 2023-03-27
### Added
- Initialize yoast promo package in jetpack plugin [#29641]
## [1.14.0] - 2023-02-20
### Added
- Added the Import package. [#28824]
@ -168,6 +176,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Trying to add deterministic initialization.
[1.15.0]: https://github.com/Automattic/jetpack-config/compare/v1.14.0...v1.15.0
[1.14.0]: https://github.com/Automattic/jetpack-config/compare/v1.13.0...v1.14.0
[1.13.0]: https://github.com/Automattic/jetpack-config/compare/v1.12.0...v1.13.0
[1.12.0]: https://github.com/Automattic/jetpack-config/compare/v1.11.1...v1.12.0

View File

@ -22,7 +22,7 @@
"link-template": "https://github.com/Automattic/jetpack-config/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "1.14.x-dev"
"dev-trunk": "1.15.x-dev"
}
}
}

View File

@ -27,6 +27,7 @@ use Automattic\Jetpack\Sync\Main as Sync_Main;
use Automattic\Jetpack\VideoPress\Initializer as VideoPress_Pkg_Initializer;
use Automattic\Jetpack\Waf\Waf_Initializer as Jetpack_Waf_Main;
use Automattic\Jetpack\WordAds\Initializer as Jetpack_WordAds_Main;
use Automattic\Jetpack\Yoast_Promo as Yoast_Promo;
/**
* The configuration class.
@ -56,6 +57,7 @@ class Config {
'stats' => false,
'stats_admin' => false,
'blaze' => false,
'yoast_promo' => false,
'import' => false,
);
@ -165,6 +167,10 @@ class Config {
$this->ensure_class( 'Automattic\Jetpack\Blaze' ) && $this->ensure_feature( 'blaze' );
}
if ( $this->config['yoast_promo'] ) {
$this->ensure_class( 'Automattic\Jetpack\Yoast_Promo' ) && $this->ensure_feature( 'yoast_promo' );
}
if ( $this->config['import'] ) {
$this->ensure_class( 'Automattic\Jetpack\Import\Main' )
&& $this->ensure_feature( 'import' );
@ -362,6 +368,14 @@ class Config {
return true;
}
/**
* Enables Yoast Promo.
*/
protected function enable_yoast_promo() {
Yoast_Promo::init();
return true;
}
/**
* Enables the Import feature.
*/

View File

@ -5,7 +5,34 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.51.1] - 2023-03-07
## [1.51.7] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.51.6] - 2023-04-04
### Changed
- Updated package dependencies. [#29854]
### Removed
- Do not attempt to load non minified files since they are not shipped with the package anymore. [#29864]
## [1.51.5] - 2023-03-29
### Changed
- Minor internal updates.
## [1.51.4] - 2023-03-28
### Changed
- Minor internal updates.
## [1.51.3] - 2023-03-27
### Fixed
- Fix redirect allow-list for Calypso domain names. [#29671]
## [1.51.2] - 2023-03-20
### Changed
- Updated package dependencies. [#29471]
## [1.51.1] - 2023-03-08
### Changed
- Improve JS code in the connection owner removal notice. [#29087]
- Updated package dependencies. [#29216]
@ -770,6 +797,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Separate the connection library into its own package.
[1.51.7]: https://github.com/Automattic/jetpack-connection/compare/v1.51.6...v1.51.7
[1.51.6]: https://github.com/Automattic/jetpack-connection/compare/v1.51.5...v1.51.6
[1.51.5]: https://github.com/Automattic/jetpack-connection/compare/v1.51.4...v1.51.5
[1.51.4]: https://github.com/Automattic/jetpack-connection/compare/v1.51.3...v1.51.4
[1.51.3]: https://github.com/Automattic/jetpack-connection/compare/v1.51.2...v1.51.3
[1.51.2]: https://github.com/Automattic/jetpack-connection/compare/v1.51.1...v1.51.2
[1.51.1]: https://github.com/Automattic/jetpack-connection/compare/v1.51.0...v1.51.1
[1.51.0]: https://github.com/Automattic/jetpack-connection/compare/v1.50.1...v1.51.0
[1.50.1]: https://github.com/Automattic/jetpack-connection/compare/v1.50.0...v1.50.1

View File

@ -4,12 +4,12 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-a8c-mc-stats": "^1.4.19",
"automattic/jetpack-admin-ui": "^0.2.17",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-roles": "^1.4.22",
"automattic/jetpack-status": "^1.16.2",
"automattic/jetpack-redirect": "^1.7.24"
"automattic/jetpack-a8c-mc-stats": "^1.4.20",
"automattic/jetpack-admin-ui": "^0.2.19",
"automattic/jetpack-constants": "^1.6.22",
"automattic/jetpack-roles": "^1.4.23",
"automattic/jetpack-status": "^1.16.4",
"automattic/jetpack-redirect": "^1.7.25"
},
"require-dev": {
"automattic/wordbless": "@dev",
@ -17,6 +17,9 @@
"brain/monkey": "2.6.1",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"legacy",

View File

@ -1 +1 @@
<?php return array('dependencies' => array(), 'version' => 'a96178e4d62fb695caa0');
<?php return array('dependencies' => array(), 'version' => 'd9dbf909a3d10fb26f39');

View File

@ -1 +1 @@
!function(){var e={775:function(e){let n;window._tkq=window._tkq||[];const t=console.error;const o={initialize:function(e,n){o.setUser(e,n),o.identifyUser()},mc:{bumpStat:function(e,n){const t=function(e,n){let t="";if("object"==typeof e)for(const n in e)t+="&x_"+encodeURIComponent(n)+"="+encodeURIComponent(e[n]);else t="&x_"+encodeURIComponent(e)+"="+encodeURIComponent(n);return t}(e,n);(new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?v=wpcom-no-pv"+t+"&t="+Math.random()}},tracks:{recordEvent:function(e,n){n=n||{},0===e.indexOf("jetpack_")?window._tkq.push(["recordEvent",e,n]):t('- Event name must be prefixed by "jetpack_"')},recordPageView:function(e){o.tracks.recordEvent("jetpack_page_view",{path:e})}},setUser:function(e,t){n={ID:e,username:t}},identifyUser:function(){n&&window._tkq.push(["identifyUser",n.ID,n.username])},clearedIdentity:function(){window._tkq.push(["clearIdentity"])}};e.exports=o}},n={};var t=function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={exports:{}};return e[o](i,i.exports,t),i.exports}(775);window.analytics=t}();
(()=>{var e={775:e=>{let n;window._tkq=window._tkq||[];const t=console.error;const o={initialize:function(e,n){o.setUser(e,n),o.identifyUser()},mc:{bumpStat:function(e,n){const t=function(e,n){let t="";if("object"==typeof e)for(const n in e)t+="&x_"+encodeURIComponent(n)+"="+encodeURIComponent(e[n]);else t="&x_"+encodeURIComponent(e)+"="+encodeURIComponent(n);return t}(e,n);(new Image).src=document.location.protocol+"//pixel.wp.com/g.gif?v=wpcom-no-pv"+t+"&t="+Math.random()}},tracks:{recordEvent:function(e,n){n=n||{},0===e.indexOf("jetpack_")?window._tkq.push(["recordEvent",e,n]):t('- Event name must be prefixed by "jetpack_"')},recordPageView:function(e){o.tracks.recordEvent("jetpack_page_view",{path:e})}},setUser:function(e,t){n={ID:e,username:t}},identifyUser:function(){n&&window._tkq.push(["identifyUser",n.ID,n.username])},clearedIdentity:function(){window._tkq.push(["clearIdentity"])}};e.exports=o}},n={};var t=function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={exports:{}};return e[o](i,i.exports,t),i.exports}(775);window.analytics=t})();

View File

@ -12,7 +12,7 @@ namespace Automattic\Jetpack\Connection;
*/
class Package_Version {
const PACKAGE_VERSION = '1.51.1';
const PACKAGE_VERSION = '1.51.7';
const PACKAGE_SLUG = 'connection';

View File

@ -487,21 +487,16 @@ class Tokens {
*
* @todo Refactor to properly load the XMLRPC client independently.
*
* @param int $user_id The user identifier.
* @param bool|null $deprecated Deprecated.
* @param int $user_id The user identifier.
*
* @return bool Whether the disconnection of the user was successful.
*/
public function disconnect_user( $user_id, $deprecated = null ) {
public function disconnect_user( $user_id ) {
$tokens = $this->get_user_tokens();
if ( ! $tokens ) {
return false;
}
if ( null !== $deprecated ) {
_deprecated_argument( __METHOD__, '1.46.0', 'Parameter $can_overwrite_primary_user is deprecated' );
}
if ( ! isset( $tokens[ $user_id ] ) ) {
return false;
}

View File

@ -125,7 +125,6 @@ class Tracking {
'dependencies' => array( 'jp-tracks' ),
'enqueue' => $enqueue,
'in_footer' => true,
'nonmin_path' => 'js/tracks-callables.js',
)
);
}
@ -142,7 +141,6 @@ class Tracking {
'dependencies' => array( 'jquery' ),
'enqueue' => true,
'in_footer' => true,
'nonmin_path' => 'js/tracks-ajax.js',
)
);

View File

@ -42,9 +42,9 @@ class Authorize_Redirect {
$domains[] = 'jetpack.wordpress.com';
$domains[] = 'wordpress.com';
// Calypso envs.
$domains[] = 'http://calypso.localhost:3000/';
$domains[] = 'https://wpcalypso.wordpress.com/';
$domains[] = 'https://horizon.wordpress.com/';
$domains[] = 'calypso.localhost';
$domains[] = 'wpcalypso.wordpress.com';
$domains[] = 'horizon.wordpress.com';
return array_unique( $domains );
}
);

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.6.22] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.6.21] - 2023-02-20
### Changed
- Minor internal updates.
@ -146,6 +150,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Packages: Finish the constants package
[1.6.22]: https://github.com/Automattic/jetpack-constants/compare/v1.6.21...v1.6.22
[1.6.21]: https://github.com/Automattic/jetpack-constants/compare/v1.6.20...v1.6.21
[1.6.20]: https://github.com/Automattic/jetpack-constants/compare/v1.6.19...v1.6.20
[1.6.19]: https://github.com/Automattic/jetpack-constants/compare/v1.6.18...v1.6.19

View File

@ -9,6 +9,9 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.25] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.4.24] - 2023-02-20
### Changed
- Minor internal updates.
@ -151,6 +155,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Moving jetpack_is_mobile into a package
[1.4.25]: https://github.com/Automattic/jetpack-device-detection/compare/v1.4.24...v1.4.25
[1.4.24]: https://github.com/Automattic/jetpack-device-detection/compare/v1.4.23...v1.4.24
[1.4.23]: https://github.com/Automattic/jetpack-device-detection/compare/v1.4.22...v1.4.23
[1.4.22]: https://github.com/Automattic/jetpack-device-detection/compare/v1.4.21...v1.4.22

View File

@ -8,6 +8,9 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,7 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.8.39] - 2023-03-07
## [0.8.40] - 2023-03-20
### Changed
- Updated package dependencies. [#29471]
- Updated package dependencies. [#29480]
## [0.8.39] - 2023-03-08
### Changed
- Updated package dependencies. [#29216]
@ -332,6 +337,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated package dependencies.
- Use Connection/Urls for home_url and site_url functions migrated from Sync.
[0.8.40]: https://github.com/Automattic/jetpack-identity-crisis/compare/v0.8.39...v0.8.40
[0.8.39]: https://github.com/Automattic/jetpack-identity-crisis/compare/v0.8.38...v0.8.39
[0.8.38]: https://github.com/Automattic/jetpack-identity-crisis/compare/v0.8.37...v0.8.38
[0.8.37]: https://github.com/Automattic/jetpack-identity-crisis/compare/v0.8.36...v0.8.37

View File

@ -1 +1 @@
<?php return array('dependencies' => array('react', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '52ddba6f415e978d2aac');
<?php return array('dependencies' => array('react', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'fb59dccf666add58f6fb');

View File

@ -4,11 +4,11 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-connection": "^1.51.2",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-status": "^1.16.2",
"automattic/jetpack-logo": "^1.5.22",
"automattic/jetpack-assets": "^1.17.33"
"automattic/jetpack-assets": "^1.17.34"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",

View File

@ -28,7 +28,7 @@ class Identity_Crisis {
/**
* Package Version
*/
const PACKAGE_VERSION = '0.8.39';
const PACKAGE_VERSION = '0.8.40';
/**
* Instance of the object.

View File

@ -5,8 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.2] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [0.1.1] - 2023-03-28
### Changed
- Update README.md [#28401]
## 0.1.0 - 2023-02-28
### Added
- Added a utility function to extract an array of IP addresses from a given string. [#29131]
- Add jetpack-ip package functionality [#28846]
- Initialized the package. [#28765]
[0.1.2]: https://github.com/automattic/jetpack-ip/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/automattic/jetpack-ip/compare/v0.1.0...v0.1.1

View File

@ -9,6 +9,9 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -12,7 +12,7 @@ namespace Automattic\Jetpack\IP;
*/
class Utils {
const PACKAGE_VERSION = '0.1.0';
const PACKAGE_VERSION = '0.1.2';
/**
* Get the current user's IP address.

View File

@ -5,7 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.3.1] - 2023-03-07
## [2.3.4] - 2023-03-28
### Fixed
- JITM: Fix button overflow when text length is too big [#29749]
## [2.3.3] - 2023-03-27
### Changed
- JITM: Update styles [#29709]
## [2.3.2] - 2023-03-20
### Changed
- Updated package dependencies. [#29471]
## [2.3.1] - 2023-03-08
### Changed
- Updated package dependencies. [#29216]
@ -550,6 +562,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Update Jetpack to use new JITM package
[2.3.3]: https://github.com/Automattic/jetpack-jitm/compare/v2.3.2...v2.3.3
[2.3.2]: https://github.com/Automattic/jetpack-jitm/compare/v2.3.1...v2.3.2
[2.3.1]: https://github.com/Automattic/jetpack-jitm/compare/v2.3.0...v2.3.1
[2.3.0]: https://github.com/Automattic/jetpack-jitm/compare/v2.2.42...v2.3.0
[2.2.42]: https://github.com/Automattic/jetpack-jitm/compare/v2.2.41...v2.2.42

View File

@ -1 +1 @@
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '7c399cb086c6eb967ade');
<?php return array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'ef911dd8f37f702652eb');

File diff suppressed because one or more lines are too long

View File

@ -5,13 +5,13 @@
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-a8c-mc-stats": "^1.4.19",
"automattic/jetpack-assets": "^1.17.33",
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-assets": "^1.17.34",
"automattic/jetpack-connection": "^1.51.4",
"automattic/jetpack-device-detection": "^1.4.24",
"automattic/jetpack-logo": "^1.5.22",
"automattic/jetpack-partner": "^1.7.22",
"automattic/jetpack-redirect": "^1.7.24",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-status": "^1.16.3"
},
"require-dev": {
"brain/monkey": "2.6.1",

View File

@ -20,7 +20,7 @@ use Automattic\Jetpack\Status;
*/
class JITM {
const PACKAGE_VERSION = '2.3.1';
const PACKAGE_VERSION = '2.3.4';
/**
* The configuration method that is called from the jetpack-config package.

View File

@ -7,7 +7,7 @@
@import '../../plugins/jetpack/_inc/client/scss/calypso-colors';
@mixin clear-fix {
&:after {
&::after {
content: ".";
display: block;
height: 0;
@ -58,6 +58,7 @@ $jp-gray-20: #a7aaad;
border-color: black;
background: $white;
color: black;
width: 100%;
// Primary buttons
&.is-primary {
@ -85,7 +86,7 @@ $jp-gray-20: #a7aaad;
cursor: default;
}
&.is-compact {
padding: 12px;
height: 32px;
font-size: 14px;
line-height: 1;
white-space: nowrap;
@ -117,7 +118,8 @@ $jp-gray-20: #a7aaad;
clear: both;
position: relative;
margin: rem( 48px ) rem( 20px ) 0 auto;
padding: 16px ;
padding: rem( 16px );
padding-left: rem( 20px );
box-sizing: border-box;
background-color: $white;
background-image: url( "../images/background.png" );
@ -129,11 +131,6 @@ $jp-gray-20: #a7aaad;
@include clear-fix;
@include breakpoint( ">480px" ) {
margin-bottom: rem( 16px );
padding: rem( 24px );
}
// Compact Card
&.is-compact {
margin-bottom: rem( 1px );
@ -235,7 +232,8 @@ $jp-gray-20: #a7aaad;
}
@include breakpoint( ">480px" ) {
padding: rem( 12px ) rem( 16px );
padding: rem( 16px );
padding-left: rem( 20px );
&.is-dismissible {
padding-right: rem( 16px );
@ -246,7 +244,13 @@ $jp-gray-20: #a7aaad;
.jitm-banner__buttons_container {
display: flex;
height: 50%;
margin: auto 16px auto;
margin: auto rem( 16px ) auto 0;
gap: rem( 16px );
overflow: hidden;
@include breakpoint( ">480px" ) {
margin-left: rem( 16px );
}
}
.jitm-banner__icons {
@ -302,7 +306,7 @@ $jp-gray-20: #a7aaad;
top: rem( 2px );
@include breakpoint( "<480px" ) {
margin-bottom: rem( 12px );
margin-bottom: rem( 16px );
}
svg {
@ -313,7 +317,7 @@ $jp-gray-20: #a7aaad;
.jitm-jp-logo {
height: inherit;
width: rem( 42px );
width: rem( 40px );
fill: inherit;
}
}
@ -321,10 +325,6 @@ $jp-gray-20: #a7aaad;
@include breakpoint( ">480px" ) {
align-items: center;
}
@include breakpoint( "<960px" ) {
margin-bottom: 10px;
}
}
.jitm-banner__content {
@ -332,6 +332,7 @@ $jp-gray-20: #a7aaad;
display: flex;
flex-grow: 1;
flex-wrap: wrap;
flex-shrink: 100000;
@include breakpoint( "<480px" ) {
margin-right: 0;
@ -365,14 +366,15 @@ $jp-gray-20: #a7aaad;
}
.jitm-banner__title {
font-size: 16px;
font-size: rem( 15px );
font-weight: 700;
line-height: 136%;
}
.jitm-banner__description {
font-size: rem( 14px );
line-height: 1.4;
margin-top: rem( 6px );
font-size: rem( 13px );
line-height: 150%;
margin-top: rem( 2px );
}
.banner__list {
@ -394,9 +396,8 @@ $jp-gray-20: #a7aaad;
.jitm-banner__action {
align-self: center;
font-size: rem( 12px );
margin: rem( 8px ) 0 0;
text-align: left;
width: 100%;
overflow: hidden;
.jitm-banner__prices {
display: flex;
@ -421,7 +422,6 @@ $jp-gray-20: #a7aaad;
}
@include breakpoint( ">480px" ) {
margin: 0 rem( 4px ) 0 rem( 8px );
text-align: center;
width: auto;
@ -443,10 +443,10 @@ $jp-gray-20: #a7aaad;
margin-top: auto;
margin-bottom: auto;
&:before {
&::before {
color: darken($gray, 20%);
font: 400 16px/1 dashicons;
content: '\f158';
font: 400 20px/1 dashicons;
content: '\f335';
}
@include breakpoint( ">660px" ) {

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.8.2] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.8.1] - 2023-02-20
### Changed
- Minor internal updates.
@ -238,6 +242,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Licensing: Add support for Jetpack licenses
[1.8.2]: https://github.com/Automattic/jetpack-licensing/compare/v1.8.1...v1.8.2
[1.8.1]: https://github.com/Automattic/jetpack-licensing/compare/v1.8.0...v1.8.1
[1.8.0]: https://github.com/Automattic/jetpack-licensing/compare/v1.7.14...v1.8.0
[1.7.14]: https://github.com/Automattic/jetpack-licensing/compare/v1.7.13...v1.7.14

View File

@ -4,13 +4,16 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-connection": "^1.51.0"
"automattic/jetpack-connection": "^1.51.7"
},
"require-dev": {
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.6.1] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.6.0] - 2023-04-04
### Added
- Add new method to get a base64 encoded SVG of the Jetpack logo. [#29418]
## [1.5.22] - 2023-02-20
### Changed
- Minor internal updates.
@ -146,6 +154,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Packages: Add a basic Jetpack Logo package
[1.6.1]: https://github.com/Automattic/jetpack-logo/compare/v1.6.0...v1.6.1
[1.6.0]: https://github.com/Automattic/jetpack-logo/compare/v1.5.22...v1.6.0
[1.5.22]: https://github.com/Automattic/jetpack-logo/compare/v1.5.21...v1.5.22
[1.5.21]: https://github.com/Automattic/jetpack-logo/compare/v1.5.20...v1.5.21
[1.5.20]: https://github.com/Automattic/jetpack-logo/compare/v1.5.19...v1.5.20

View File

@ -8,6 +8,9 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"
@ -30,7 +33,7 @@
"link-template": "https://github.com/Automattic/jetpack-logo/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "1.5.x-dev"
"dev-trunk": "1.6.x-dev"
}
}
}

View File

@ -80,11 +80,15 @@ class Logo {
/**
* Return array containing the Jetpack logo and text
*
* @since 1.6.0 - Added $color parameter.
*
* @param string $color The color of the logo.
*
* @return array
*/
private function get_jp_logo_parts() {
private function get_jp_logo_parts( $color = '#069e08' ) {
return array(
'logo' => '<path fill="#069e08" d="M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16c8.8,0,16-7.2,16-16S24.8,0,16,0z M15.2,18.7h-8l8-15.5V18.7z M16.8,28.8 V13.3h8L16.8,28.8z"/>',
'logo' => '<path fill="' . $color . '" d="M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16c8.8,0,16-7.2,16-16S24.8,0,16,0z M15.2,18.7h-8l8-15.5V18.7z M16.8,28.8 V13.3h8L16.8,28.8z"/>',
'text' => '<path d="M41.3,26.6c-0.5-0.7-0.9-1.4-1.3-2.1c2.3-1.4,3-2.5,3-4.6V8h-3V6h6v13.4C46,22.8,45,24.8,41.3,26.6z" />
<path d="M65,18.4c0,1.1,0.8,1.3,1.4,1.3c0.5,0,2-0.2,2.6-0.4v2.1c-0.9,0.3-2.5,0.5-3.7,0.5c-1.5,0-3.2-0.5-3.2-3.1V12H60v-2h2.1V7.1 H65V10h4v2h-4V18.4z" />
<path d="M71,10h3v1.3c1.1-0.8,1.9-1.3,3.3-1.3c2.5,0,4.5,1.8,4.5,5.6s-2.2,6.3-5.8,6.3c-0.9,0-1.3-0.1-2-0.3V28h-3V10z M76.5,12.3 c-0.8,0-1.6,0.4-2.5,1.2v5.9c0.6,0.1,0.9,0.2,1.8,0.2c2,0,3.2-1.3,3.2-3.9C79,13.4,78.1,12.3,76.5,12.3z" />
@ -94,4 +98,25 @@ class Logo {
<path d="M58.5,21.3c-1.5,0.5-2.7,0.6-4.2,0.6c-3.6,0-5.8-1.8-5.8-6c0-3.1,1.9-5.9,5.5-5.9s4.9,2.5,4.9,4.9c0,0.8,0,1.5-0.1,2h-7.3 c0.1,2.5,1.5,2.8,3.6,2.8c1.1,0,2.2-0.3,3.4-0.7C58.5,19,58.5,21.3,58.5,21.3z M56,15c0-1.4-0.5-2.9-2-2.9c-1.4,0-2.3,1.3-2.4,2.9 C51.6,15,56,15,56,15z" />',
);
}
/**
* Return a base64 encoded SVG of the Jetpack logo.
* Can be used as a data URI to use the logo inline in CSS.
*
* @since 1.6.0
*
* @param string $color The color of the logo.
*
* @return string
*/
public function get_base64_logo( $color = '#ffffff' ) {
$logo_text = $this->get_jp_logo_parts( $color );
$base_logo = sprintf(
'<svg xmlns="http://www.w3.org/2000/svg" x="20px" y="20px" viewBox="-4 -5 41 41">%1$s</svg>',
$logo_text['logo']
);
$encoded_logo = base64_encode( $base_logo ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode -- The encoded version is used as data URI to use the logo in CSS.
return 'data:image/svg+xml;base64,' . $encoded_logo;
}
}

View File

@ -5,9 +5,28 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.7.13] - 2023-03-07
## [2.9.1] - 2023-03-28
### Changed
- Updated package dependencies. [#29289]
- Move GoldenTokenModal component to licensing package. [#29748]
## [2.9.0] - 2023-03-27
### Added
- Adds new route for Golden Token. Also the experience of redeeming one [#29644]
- Clarified when license activation fails that a user connection is required, added a link to complete the connection, and added functionality to redirect back to license activation when the connection is done. [#29443]
## [2.8.1] - 2023-03-20
### Changed
- Product Interstitial: Use browser history to go back, in case they're coming from somewhere outside of the app. [#29138]
- Updated My Jetpack wpwrap color to --jp-white-off [#29568]
- Updated package dependencies. [#29471]
## [2.8.0] - 2023-03-13
### Added
- Add Zendesk chat module to My Jetpack page [#28712]
## [2.7.13] - 2023-03-08
### Changed
- Updated package dependencies. [#29216]
## [2.7.12] - 2023-02-28
### Changed
@ -762,6 +781,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Created package
[2.9.0]: https://github.com/Automattic/jetpack-my-jetpack/compare/2.8.1...2.9.0
[2.8.1]: https://github.com/Automattic/jetpack-my-jetpack/compare/2.8.0...2.8.1
[2.8.0]: https://github.com/Automattic/jetpack-my-jetpack/compare/2.7.13...2.8.0
[2.7.13]: https://github.com/Automattic/jetpack-my-jetpack/compare/2.7.12...2.7.13
[2.7.12]: https://github.com/Automattic/jetpack-my-jetpack/compare/2.7.11...2.7.12
[2.7.11]: https://github.com/Automattic/jetpack-my-jetpack/compare/2.7.10...2.7.11

View File

@ -1 +1 @@
<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => 'f9d5720dee05c77d6f54');
<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => '9fc14b80f5a467303947');

View File

@ -5,9 +5,9 @@
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-admin-ui": "^0.2.17",
"automattic/jetpack-assets": "^1.17.33",
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-jitm": "^2.3.1",
"automattic/jetpack-assets": "^1.17.34",
"automattic/jetpack-connection": "^1.51.4",
"automattic/jetpack-jitm": "^2.3.4",
"automattic/jetpack-licensing": "^1.8.1",
"automattic/jetpack-plugins-installer": "^0.2.3",
"automattic/jetpack-redirect": "^1.7.24",
@ -17,7 +17,7 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/wordbless": "@dev",
"automattic/jetpack-videopress": "^0.11.1"
"automattic/jetpack-videopress": "^0.13.4-alpha"
},
"autoload": {
"classmap": [
@ -62,7 +62,7 @@
"link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}"
},
"branch-alias": {
"dev-trunk": "2.7.x-dev"
"dev-trunk": "2.9.x-dev"
},
"version-constants": {
"::PACKAGE_VERSION": "src/class-initializer.php"

View File

@ -30,7 +30,7 @@ class Initializer {
*
* @var string
*/
const PACKAGE_VERSION = '2.7.13';
const PACKAGE_VERSION = '2.9.1';
/**
* Initialize My Jetpack

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.7.23] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.7.22] - 2023-02-20
### Changed
- Minor internal updates.
@ -212,6 +216,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add partner subsidiary id to upgrade URLs.
[1.7.23]: https://github.com/Automattic/jetpack-partner/compare/v1.7.22...v1.7.23
[1.7.22]: https://github.com/Automattic/jetpack-partner/compare/v1.7.21...v1.7.22
[1.7.21]: https://github.com/Automattic/jetpack-partner/compare/v1.7.20...v1.7.21
[1.7.20]: https://github.com/Automattic/jetpack-partner/compare/v1.7.19...v1.7.20

View File

@ -4,8 +4,8 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-connection": "^1.51.0",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-connection": "^1.51.7",
"automattic/jetpack-status": "^1.16.4"
},
"require-dev": {
"brain/monkey": "2.6.1",
@ -13,6 +13,9 @@
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/wordbless": "@dev"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.13] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [0.2.12] - 2023-03-20
### Changed
- Updated package dependencies. [#29480]
## [0.2.11] - 2023-02-20
### Changed
- Minor internal updates.
@ -96,6 +104,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Use `composer update` rather than `install` in scripts, as composer.lock isn't checked in.
[0.2.13]: https://github.com/Automattic/jetpack-password-checker/compare/v0.2.12...v0.2.13
[0.2.12]: https://github.com/Automattic/jetpack-password-checker/compare/v0.2.11...v0.2.12
[0.2.11]: https://github.com/Automattic/jetpack-password-checker/compare/v0.2.10...v0.2.11
[0.2.10]: https://github.com/Automattic/jetpack-password-checker/compare/v0.2.9...v0.2.10
[0.2.9]: https://github.com/Automattic/jetpack-password-checker/compare/v0.2.8...v0.2.9

View File

@ -9,6 +9,9 @@
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.7.25] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.7.24] - 2023-02-20
### Changed
- Minor internal updates.
@ -176,6 +180,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Create Jetpack Redirect package
[1.7.25]: https://github.com/Automattic/jetpack-redirect/compare/v1.7.24...v1.7.25
[1.7.24]: https://github.com/Automattic/jetpack-redirect/compare/v1.7.23...v1.7.24
[1.7.23]: https://github.com/Automattic/jetpack-redirect/compare/v1.7.22...v1.7.23
[1.7.22]: https://github.com/Automattic/jetpack-redirect/compare/v1.7.21...v1.7.22

View File

@ -4,13 +4,16 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-status": "^1.16.4"
},
"require-dev": {
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.23] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.4.22] - 2023-02-20
### Changed
- Minor internal updates.
@ -143,6 +147,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Jetpack DNA: Introduce a Roles package
[1.4.23]: https://github.com/Automattic/jetpack-roles/compare/v1.4.22...v1.4.23
[1.4.22]: https://github.com/Automattic/jetpack-roles/compare/v1.4.21...v1.4.22
[1.4.21]: https://github.com/Automattic/jetpack-roles/compare/v1.4.20...v1.4.21
[1.4.20]: https://github.com/Automattic/jetpack-roles/compare/v1.4.19...v1.4.20

View File

@ -9,6 +9,9 @@
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
"src/"

View File

@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.17.0] - 2023-04-17
### Changed
- When Jetpack is available, `Modules::get()` no longer translates `module_tags`. Use Jetpack's `jetpack_get_module_i18n_tag()` function if you need translations. [#30067]
## [1.16.4] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [1.16.3] - 2023-03-28
### Changed
- Move brute force protection into WAF package. [#28401]
## [1.16.2] - 2023-02-20
### Changed
- Minor internal updates.
@ -240,6 +252,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Packages: Introduce a status package
[1.17.0]: https://github.com/Automattic/jetpack-status/compare/v1.16.4...v1.17.0
[1.16.4]: https://github.com/Automattic/jetpack-status/compare/v1.16.3...v1.16.4
[1.16.3]: https://github.com/Automattic/jetpack-status/compare/v1.16.2...v1.16.3
[1.16.2]: https://github.com/Automattic/jetpack-status/compare/v1.16.1...v1.16.2
[1.16.1]: https://github.com/Automattic/jetpack-status/compare/v1.16.0...v1.16.1
[1.16.0]: https://github.com/Automattic/jetpack-status/compare/v1.15.4...v1.16.0

View File

@ -4,12 +4,16 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-constants": "^1.6.21"
"automattic/jetpack-constants": "^1.6.22"
},
"require-dev": {
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4",
"automattic/jetpack-changelogger": "^3.3.2"
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/jetpack-ip": "^0.1.2"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"classmap": [
@ -33,7 +37,7 @@
"link-template": "https://github.com/Automattic/jetpack-status/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "1.16.x-dev"
"dev-trunk": "1.17.x-dev"
}
}
}

View File

@ -8,6 +8,7 @@
namespace Automattic\Jetpack;
use Automattic\Jetpack\Constants as Constants;
use Automattic\Jetpack\IP\Utils as IP_Utils;
/**
* Class Automattic\Jetpack\Modules
@ -79,9 +80,8 @@ class Modules {
if ( $mod['module_tags'] ) {
$mod['module_tags'] = explode( ',', $mod['module_tags'] );
$mod['module_tags'] = array_map( 'trim', $mod['module_tags'] );
$mod['module_tags'] = array_map( 'jetpack_get_module_i18n_tag', $mod['module_tags'] );
} else {
$mod['module_tags'] = array( jetpack_get_module_i18n_tag( 'Other' ) );
$mod['module_tags'] = array( 'Other' );
}
if ( $mod['plan_classes'] ) {
@ -95,7 +95,7 @@ class Modules {
$mod['feature'] = explode( ',', $mod['feature'] );
$mod['feature'] = array_map( 'trim', $mod['feature'] );
} else {
$mod['feature'] = array( jetpack_get_module_i18n_tag( 'Other' ) );
$mod['feature'] = array( 'Other' );
}
$modules_details[ $module ] = $mod;
@ -434,9 +434,8 @@ class Modules {
}
// Protect won't work with mis-configured IPs.
if ( 'protect' === $module && Constants::is_defined( 'JETPACK__PLUGIN_DIR' ) ) {
include_once JETPACK__PLUGIN_DIR . 'modules/protect/shared-functions.php';
if ( ! jetpack_protect_get_ip() ) {
if ( 'protect' === $module ) {
if ( ! IP_Utils::get_ip() ) {
$state->state( 'message', 'protect_misconfigured_ip' );
return false;
}

View File

@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.47.4] - 2023-03-28
### Changed
- Move brute force protection into WAF package. [#28401]
## [1.47.3] - 2023-03-20
### Changed
- Updated package dependencies. [#29480]
## [1.47.2] - 2023-02-20
### Changed
- Minor internal updates.
@ -818,6 +826,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Packages: Move sync to a classmapped package
[1.47.4]: https://github.com/Automattic/jetpack-sync/compare/v1.47.3...v1.47.4
[1.47.3]: https://github.com/Automattic/jetpack-sync/compare/v1.47.2...v1.47.3
[1.47.2]: https://github.com/Automattic/jetpack-sync/compare/v1.47.1...v1.47.2
[1.47.1]: https://github.com/Automattic/jetpack-sync/compare/v1.47.0...v1.47.1
[1.47.0]: https://github.com/Automattic/jetpack-sync/compare/v1.46.1...v1.47.0

View File

@ -4,12 +4,13 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-connection": "^1.51.0",
"automattic/jetpack-connection": "^1.51.3",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-identity-crisis": "^0.8.38",
"automattic/jetpack-password-checker": "^0.2.11",
"automattic/jetpack-identity-crisis": "^0.8.40",
"automattic/jetpack-password-checker": "^0.2.12",
"automattic/jetpack-ip": "^0.1.1",
"automattic/jetpack-roles": "^1.4.22",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-status": "^1.16.3"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",

View File

@ -8,6 +8,7 @@
namespace Automattic\Jetpack\Sync;
use Automattic\Jetpack\Connection\Manager as Connection_Manager;
use Automattic\Jetpack\IP\Utils as IP_Utils;
use Automattic\Jetpack\Roles;
/**
@ -426,15 +427,9 @@ class Listener {
);
if ( $this->should_send_user_data_with_actor( $current_filter ) ) {
$ip = isset( $_SERVER['REMOTE_ADDR'] ) ? filter_var( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : '';
if ( defined( 'JETPACK__PLUGIN_DIR' ) ) {
if ( ! function_exists( 'jetpack_protect_get_ip' ) ) {
require_once JETPACK__PLUGIN_DIR . 'modules/protect/shared-functions.php';
}
$ip = jetpack_protect_get_ip();
}
$ip = IP_Utils::get_ip();
$actor['ip'] = $ip;
$actor['ip'] = $ip ? $ip : '';
$actor['user_agent'] = isset( $_SERVER['HTTP_USER_AGENT'] ) ? filter_var( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : 'unknown';
}

View File

@ -12,7 +12,7 @@ namespace Automattic\Jetpack\Sync;
*/
class Package_Version {
const PACKAGE_VERSION = '1.47.2';
const PACKAGE_VERSION = '1.47.4';
const PACKAGE_SLUG = 'sync';

View File

@ -45,8 +45,7 @@ class Protect extends Module {
* @param array $failed_attempt Failed attempt data.
*/
public function maybe_log_failed_login_attempt( $failed_attempt ) {
$protect = \Jetpack_Protect_Module::instance();
if ( $protect->has_login_ability() && ! Jetpack_Constants::is_true( 'XMLRPC_REQUEST' ) ) {
if ( $failed_attempt['has_login_ability'] && ! Jetpack_Constants::is_true( 'XMLRPC_REQUEST' ) ) {
do_action( 'jetpack_valid_failed_login_attempt', $failed_attempt );
}
}

View File

@ -5,8 +5,39 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.10.1] - 2023-03-07
- Updated package dependencies.
## [0.11.4] - 2023-04-27
### Added
- Fix hardblock issue if user only has Protect installed [#30278]
## [0.11.3] - 2023-04-17
### Fixed
- Fix brute force protection not initializing on atomic. [#30113]
## [0.11.2] - 2023-04-10
### Added
- Add Jetpack Autoloader package suggestion. [#29988]
## [0.11.1] - 2023-04-03
### Fixed
- Return early if we detect the older BFP implementation from the main plugin [#29794]
## [0.11.0] - 2023-03-28
### Added
- Added brute force protection to the WAF configuration REST API endpoints [#28401]
- Move the brute force protection module into the package. [#28401]
### Changed
- Change "whitelist" to "allow list". [#28401]
- Move the brute force protection transient cleanup and shared functions to dedicated namespaced classes. [#28401]
- Use WAF IP allow list option in brute force protection feature. [#28401]
## [0.10.2] - 2023-03-20
### Changed
- Updated package dependencies. [#29480]
## [0.10.1] - 2023-03-08
### Changed
- Minor internal updates.
## [0.10.0] - 2023-02-28
### Added
@ -162,6 +193,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Core: do not ship .phpcs.dir.xml in production builds.
[0.11.4]: https://github.com/Automattic/jetpack-waf/compare/v0.11.3...v0.11.4
[0.11.3]: https://github.com/Automattic/jetpack-waf/compare/v0.11.2...v0.11.3
[0.11.2]: https://github.com/Automattic/jetpack-waf/compare/v0.11.1...v0.11.2
[0.11.1]: https://github.com/Automattic/jetpack-waf/compare/v0.11.0...v0.11.1
[0.11.0]: https://github.com/Automattic/jetpack-waf/compare/v0.10.2...v0.11.0
[0.10.2]: https://github.com/Automattic/jetpack-waf/compare/v0.10.1...v0.10.2
[0.10.1]: https://github.com/Automattic/jetpack-waf/compare/v0.10.0...v0.10.1
[0.10.0]: https://github.com/Automattic/jetpack-waf/compare/v0.9.3...v0.10.0
[0.9.3]: https://github.com/Automattic/jetpack-waf/compare/v0.9.2...v0.9.3

View File

@ -4,10 +4,10 @@
"type": "jetpack-library",
"license": "GPL-2.0-or-later",
"require": {
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-ip": "^0.1.0",
"automattic/jetpack-status": "^1.16.2",
"automattic/jetpack-connection": "^1.51.7",
"automattic/jetpack-constants": "^1.6.22",
"automattic/jetpack-ip": "^0.1.2",
"automattic/jetpack-status": "^1.17.0",
"wikimedia/aho-corasick": "^1.0"
},
"require-dev": {
@ -15,6 +15,9 @@
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/wordbless": "@dev"
},
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"autoload": {
"files": [
"cli.php"
@ -48,7 +51,7 @@
"link-template": "https://github.com/Automattic/jetpack-waf/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "0.10.x-dev"
"dev-trunk": "0.11.x-dev"
}
},
"config": {

View File

@ -0,0 +1,773 @@
<?php // phpcs:ignore - WordPress.Files.FileName.InvalidClassFileName
namespace Automattic\Jetpack\Waf\Brute_Force_Protection;
use Automattic\Jetpack\Connection\Client;
use Automattic\Jetpack\Redirect;
use Jetpack_Options;
use WP_Error;
/**
* Class Brute_Force_Protection_Blocked_Login_Page
*
* Instanciated on the wp-login page when Jetpack modules are loaded and $pagenow
* is available, or during the login_head hook.
*
* Class will only be instanciated if Brute Force Protection has detected a hard blocked IP address.
*/
class Brute_Force_Protection_Blocked_Login_Page {
/**
* Instance of the class.
*
* @var Brute_Force_Protection_Blocked_Login_Page
*/
private static $instance = null;
/**
* Can send recovery emails. defaults to true.
*
* @var bool
*/
public $can_send_recovery_emails;
/**
* The IP address.
*
* @var string
*/
public $ip_address;
/**
* Valid blocked user ID.
*
* @var int
*/
public $valid_blocked_user_id;
/**
* The email address.
*
* @var string
*/
public $email_address;
/**
* Status code for too many requests.
*
* @var int
*/
const HTTP_STATUS_CODE_TOO_MANY_REQUESTS = 429;
/**
* Singleton implementation
*
* @param string $ip_address - the IP address.
*
* @return object
*/
public static function instance( $ip_address ) {
if ( ! is_a( self::$instance, 'Brute_Force_Protection_Blocked_Login_Page' ) ) {
self::$instance = new Brute_Force_Protection_Blocked_Login_Page( $ip_address );
}
return self::$instance;
}
/**
* Singleton implementation
*
* @param string $ip_address - the IP address.
*/
public function __construct( $ip_address ) {
/**
* Filter controls if an email recovery form is shown to blocked IPs.
*
* A recovery form allows folks to re-gain access to the login form
* via an email link if their IP was mistakenly blocked.
*
* @module protect
*
* @since 5.6.0
*
* @param bool $can_send_recovery_emails Defaults to true.
*/
$this->can_send_recovery_emails = apply_filters( 'jetpack_protect_can_send_recovery_emails', true );
$this->ip_address = $ip_address;
add_filter( 'wp_authenticate_user', array( $this, 'check_valid_blocked_user' ), 10, 1 );
add_filter( 'site_url', array( $this, 'add_args_to_login_post_url' ), 10, 3 );
add_filter( 'network_site_url', array( $this, 'add_args_to_login_post_url' ), 10, 3 );
add_filter( 'lostpassword_url', array( $this, 'add_args_to_lostpassword_url' ), 10, 2 );
add_filter( 'login_url', array( $this, 'add_args_to_login_url' ), 10, 3 );
add_filter( 'lostpassword_redirect', array( $this, 'add_args_to_lostpassword_redirect_url' ), 10, 1 );
}
/**
* Gets the URL that redirects to the support page on unblocking
*
* @since 8.5.0
*
* @return string
*/
public static function get_help_url() {
return Redirect::get_url( 'jetpack-support-protect', array( 'anchor' => 'troubleshooting' ) );
}
/**
* Add arguments to lost password redirect url.
*
* @param string $url - the URL.
*/
public function add_args_to_lostpassword_redirect_url( $url ) {
if ( $this->valid_blocked_user_id ) {
$url = empty( $url ) ? wp_login_url() : $url;
$url = add_query_arg(
array(
'validate_jetpack_protect_recovery' => isset( $_GET['validate_jetpack_protect_recovery'] ) ? filter_var( wp_unslash( $_GET['validate_jetpack_protect_recovery'] ) ) : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
'user_id' => isset( $_GET['user_id'] ) ? (int) $_GET['user_id'] : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
'checkemail' => 'confirm',
),
$url
);
}
return $url;
}
/**
* Add arguments to lost password redirect url.
*
* @param string $url - the URL.
* @param string $redirect - where to redirect to.
*/
public function add_args_to_lostpassword_url( $url, $redirect ) {
if ( $this->valid_blocked_user_id ) {
$args = array(
'validate_jetpack_protect_recovery' => isset( $_GET['validate_jetpack_protect_recovery'] ) ? filter_var( wp_unslash( $_GET['validate_jetpack_protect_recovery'] ) ) : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
'user_id' => isset( $_GET['user_id'] ) ? (int) $_GET['user_id'] : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
'action' => 'lostpassword',
);
if ( ! empty( $redirect ) ) {
$args['redirect_to'] = $redirect;
}
$url = add_query_arg( $args, $url );
}
return $url;
}
/**
* Add arguments to login post url.
*
* @param string $url - the URL.
* @param string $path - the path.
* @param string $scheme -the scheme(?).
*/
public function add_args_to_login_post_url( $url, $path, $scheme ) {
if ( $this->valid_blocked_user_id && ( 'login_post' === $scheme || 'login' === $scheme ) ) {
$url = add_query_arg(
array(
'validate_jetpack_protect_recovery' => isset( $_GET['validate_jetpack_protect_recovery'] ) ? filter_var( wp_unslash( $_GET['validate_jetpack_protect_recovery'] ) ) : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
'user_id' => isset( $_GET['user_id'] ) ? (int) $_GET['user_id'] : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
),
$url
);
}
return $url;
}
/**
* Add arguments to login post url.
*
* @param string $url - the URL.
* @param string $redirect - where we want to redirect to.
* @param string $force_reauth -if we're forcing reauthorization.
*/
public function add_args_to_login_url( $url, $redirect, $force_reauth ) {
if ( $this->valid_blocked_user_id ) {
$args = array(
'validate_jetpack_protect_recovery' => isset( $_GET['validate_jetpack_protect_recovery'] ) ? filter_var( wp_unslash( $_GET['validate_jetpack_protect_recovery'] ) ) : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
'user_id' => isset( $_GET['user_id'] ) ? (int) $_GET['user_id'] : null, // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
);
if ( ! empty( $redirect ) ) {
$args['redirect_to'] = $redirect;
}
if ( ! empty( $force_reauth ) ) {
$args['reauth'] = '1';
}
$url = add_query_arg( $args, $url );
}
return $url;
}
/**
* Check if user is blocked.
*
* @param string $user - the user.
*/
public function check_valid_blocked_user( $user ) {
if ( $this->valid_blocked_user_id && $this->valid_blocked_user_id != $user->ID ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
return new WP_Error( 'invalid_recovery_token', __( 'The recovery token is not valid for this user.', 'jetpack-waf' ) );
}
return $user;
}
/**
* Check if user is valid.
*/
public function is_blocked_user_valid() {
if ( ! $this->can_send_recovery_emails ) {
return false;
}
if ( $this->valid_blocked_user_id ) {
return true;
}
if ( ! isset( $_GET['validate_jetpack_protect_recovery'], $_GET['user_id'] ) ) { // phpcs:ignore: WordPress.Security.NonceVerification.Recommended -- no changes made if this isn't set.
return false;
}
if ( ! $this->is_valid_protect_recovery_key( filter_var( wp_unslash( $_GET['validate_jetpack_protect_recovery'] ) ), (int) $_GET['user_id'] ) ) { // phpcs:ignore: WordPress.Security.NonceVerification.Recommended -- no changes made if this isn't set.
return false;
}
$this->valid_blocked_user_id = (int) $_GET['user_id']; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Nothing on the site is changed in response to this request.
return true;
}
/**
* Checks if recovery key is valid.
*
* @param string $key - they recovery key.
* @param string $user_id - the User ID.
*/
public function is_valid_protect_recovery_key( $key, $user_id ) {
$path = sprintf( '/sites/%d/protect/recovery/confirm', Jetpack_Options::get_option( 'id' ) );
$response = Client::wpcom_json_api_request_as_blog(
$path,
'1.1',
array(
'method' => 'post',
),
array(
'token' => $key,
'user_id' => $user_id,
'ip' => $this->ip_address,
)
);
$result = json_decode( wp_remote_retrieve_body( $response ) );
if ( is_wp_error( $result ) || empty( $result ) || isset( $result->error ) ) {
return false;
}
return true;
}
/**
* Check if we should render the recovery form.
*/
public function render_and_die() {
if ( ! $this->can_send_recovery_emails ) {
$this->render_blocked_login_message();
return;
}
if ( isset( $_GET['validate_jetpack_protect_recovery'] ) && ! empty( $_GET['user_id'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- no site changes, just throws invalid token error.
$error = new WP_Error( 'invalid_token', __( "Oops, we couldn't validate the recovery token.", 'jetpack-waf' ) );
$this->protect_die( $error );
return;
}
if (
isset( $_GET['jetpack-protect-recovery'] ) &&
isset( $_POST['_wpnonce'] ) &&
wp_verify_nonce( $_POST['_wpnonce'], 'bypass-protect' ) // phpcs:ignore WordPress.Security.ValidatedSanitizedInput -- WP Core doesn't unstrip or sanitize nonces either.
) {
$this->process_recovery_email();
return;
}
if ( isset( $_GET['loggedout'] ) && 'true' === $_GET['loggedout'] ) {
$this->protect_die( __( 'You successfully logged out.', 'jetpack-waf' ) );
}
$this->render_recovery_form();
}
/**
* Render the blocked login message.
*/
public function render_blocked_login_message() {
$this->protect_die( $this->get_html_blocked_login_message() );
}
/**
* Process sending a recovery email.
*/
public function process_recovery_email() {
$sent = $this->send_recovery_email();
$show_recovery_form = true;
if ( is_wp_error( $sent ) ) {
if ( 'email_already_sent' === $sent->get_error_code() ) {
$show_recovery_form = false;
}
$this->protect_die( $sent, null, true, $show_recovery_form );
} else {
$this->render_recovery_success();
}
}
/**
* Send the recovery form.
*/
public function send_recovery_email() {
$email = isset( $_POST['email'] ) ? wp_unslash( $_POST['email'] ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- only triggered after bypass-protect nonce check is done, and sanitization is checked on the next line.
if ( sanitize_email( $email ) !== $email || ! is_email( $email ) ) {
return new WP_Error( 'invalid_email', __( "Oops, looks like that's not the right email address. Please try again!", 'jetpack-waf' ) );
}
$user = get_user_by( 'email', trim( $email ) );
if ( ! $user ) {
return new WP_Error( 'invalid_user', __( "Oops, we couldn't find a user with that email. Please try again!", 'jetpack-waf' ) );
}
$this->email_address = $email;
$path = sprintf( '/sites/%d/protect/recovery/request', Jetpack_Options::get_option( 'id' ) );
$response = Client::wpcom_json_api_request_as_blog(
$path,
'1.1',
array(
'method' => 'post',
),
array(
'user_id' => $user->ID,
'ip' => $this->ip_address,
)
);
$code = wp_remote_retrieve_response_code( $response );
$result = json_decode( wp_remote_retrieve_body( $response ) );
if ( self::HTTP_STATUS_CODE_TOO_MANY_REQUESTS === $code ) {
// translators: email address the recovery instructions were sent to.
return new WP_Error( 'email_already_sent', sprintf( __( 'Recovery instructions were sent to %s. Check your inbox!', 'jetpack-waf' ), $this->email_address ) );
} elseif ( is_wp_error( $result ) || empty( $result ) || isset( $result->error ) ) {
return new WP_Error( 'email_send_error', __( 'Oops, we were unable to send a recovery email. Try again.', 'jetpack-waf' ) );
}
return true;
}
/**
* Prevent login by locking the login page.
*
* @param string $content - the content of the page.
* @param string $title - the page title.
* @param string $back_link - the back link.
* @param string $recovery_form - the recovery form.
*/
public function protect_die( $content, $title = null, $back_link = false, $recovery_form = false ) {
if ( empty( $title ) ) {
$title = __( 'Jetpack has locked your site\'s login page.', 'jetpack-waf' );
}
if ( is_wp_error( $content ) ) {
$svg = '<svg class="gridicon gridicons-notice" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm1 15h-2v-2h2v2zm0-4h-2l-.5-6h3l-.5 6z"/></g></svg>';
$content = '<span class="error"> ' . $svg . $content->get_error_message() . '</span>';
}
$content = '<p>' . $content . '</p>';
// If for some reason the login pop up box show up in the wp-admin.
if ( isset( $_GET['interim-login'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- no changes to the site itself, just rendering an error message.
$content = '<style>html{ background-color: #fff; } #error-message { margin:0 auto; padding: 1em; box-shadow: none; } </style>' . $content;
}
$this->display_page( $title, $content, $back_link, $recovery_form );
}
/**
* Render the recovery form.
*/
public function render_recovery_form() {
$content = $this->get_html_blocked_login_message();
$this->protect_die( $content, null, null, true );
}
/**
* Render the recovery instructions.
*/
public function render_recovery_success() {
// translators: the email address the recovery email was sent to.
$this->protect_die( sprintf( __( 'Recovery instructions were sent to %s. Check your inbox!', 'jetpack-waf' ), $this->email_address ) );
}
/**
* Get the HTML for the blocked login message.
*/
public function get_html_blocked_login_message() {
$icon = '<svg class="gridicon gridicons-spam" style="fill:#d94f4f" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M17 2H7L2 7v10l5 5h10l5-5V7l-5-5zm-4 15h-2v-2h2v2zm0-4h-2l-.5-6h3l-.5 6z"/></g></svg>';
$ip = str_replace( 'http://', '', esc_url( 'http://' . $this->ip_address ) );
return sprintf(
// translators: the IP address that was flagged.
__( '<p>Your IP address <code>%2$s</code> has been flagged for potential security violations. You can unlock your login by sending yourself a special link via email. <a href="%3$s">Learn More</a></p>', 'jetpack-waf' ), // phpcs:ignore WordPress.WP.I18n.NoHtmlWrappedStrings
$icon,
$ip,
esc_url( self::get_help_url() )
);
}
/**
* Get the HTML recovery form.
*/
public function get_html_recovery_form() {
ob_start(); ?>
<div>
<form method="post" action="?jetpack-protect-recovery=true">
<?php wp_nonce_field( 'bypass-protect' ); ?>
<p><label for="email"><?php esc_html_e( 'Your email', 'jetpack-waf' ); ?><br/></label>
<input type="email" name="email" class="text-input"/>
<input type="submit" class="button"
value="<?php esc_attr_e( 'Send email', 'jetpack-waf' ); ?>"/>
</p>
</form>
</div>
<?php
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
/**
* Display the page.
*
* @param string $title - the page title.
* @param string $message - the message we're sending.
* @param string $back_button - the back button.
* @param string $recovery_form - the recovery form.
*/
public function display_page( $title, $message, $back_button = false, $recovery_form = false ) {
if ( ! headers_sent() ) {
nocache_headers();
header( 'Content-Type: text/html; charset=utf-8' );
}
$text_direction = 'ltr';
if ( is_rtl() ) {
$text_direction = 'rtl';
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
<?php
if ( function_exists( 'language_attributes' ) && function_exists( 'is_rtl' ) ) {
language_attributes();
} else {
echo "dir='$text_direction'"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
?>
>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width">
<?php
if ( get_option( 'blog_public' ) ) {
echo "<meta name='robots' content='noindex,follow' />\n";
} else {
echo "<meta name='robots' content='noindex,nofollow' />\n";
}
?>
<title><?php echo esc_html( $title ); ?></title>
<style type="text/css">
html {
background: #f6f6f6;
}
body {
color: #2e4453;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
margin: 2em auto;
padding: 1em 2em;
max-width: 460px;
text-align: left;
}
body.is-rtl {
text-align: right;
}
h1 {
clear: both;
color: #3d596d;
font-size: 24px;
margin:0 0 24px 0;
padding: 0;
font-weight: 400;
}
#error-message {
box-sizing: border-box;
background: white;
box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3;
padding: 24px;
}
#error-message img {
margin: 0 auto;
display: block;
}
#error-page {
margin-top: 50px;
}
#error-page p {
font-size: 14px;
line-height: 1.5;
margin: 24px 0 0;
}
#error-page code {
font-family: Consolas, Monaco, monospace;
}
ul li {
margin-bottom: 10px;
font-size: 14px;
}
a {
color: #00aadc;
}
label {
font-weight: bold;
font-size:16px;
}
a:hover,
a:active {
color: #0085be;
}
a:focus {
color: #124964;
-webkit-box-shadow: 0 0 0 1px #4f94d4,
0 0 2px 1px rgba(30, 140, 190, .8);
box-shadow: 0 0 0 1px #4f94d4,
0 0 2px 1px rgba(30, 140, 190, .8);
outline: none;
}
.button {
background: #00aadc;
color: white;
border-color: #008ab3;
border-style: solid;
border-width: 1px 1px 2px;
cursor: pointer;
display: inline-block;
margin: 0;
margin-right: 0px;
outline: 0;
overflow: hidden;
font-weight: 500;
text-overflow: ellipsis;
text-decoration: none;
vertical-align: top;
box-sizing: border-box;
font-size: 14px;
line-height: 21px;
border-radius: 4px;
padding: 7px 14px 9px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-size: 14px;
width: 100%;
}
.button:hover,
.button:focus {
border-color: #005082;
outline: none;
}
.button:focus {
border-color: #005082;
-webkit-box-shadow: 0 0 3px rgba(0, 115, 170, .8);
box-shadow: 0 0 3px rgba(0, 115, 170, .8);
outline: none;
}
.button::-moz-focus-inner {
border: 0;
}
.button:active {
border-width: 2px 1px 1px;
}
.gridicon {
fill: currentColor;
vertical-align: middle;
}
#error-footer {
padding: 16px;
}
#error-footer a {
text-decoration: none;
line-height:20px;
font-size: 14px;
color: #4f748e;
}
#error-footer a:hover {
color: #2e4453;
}
#error-footer .gridicon{
width: 16px;
}
#error-footer .gridicons-help {
width: 24px;
margin-right:8px;
}
.is-rtl #error-footer .gridicons-help {
margin-left:8px;
}
.error {
background: #d94f4f;
color:#FFF;
display: block;
border-radius: 3px;
line-height: 1.5;
padding: 16px;
padding-left: 42px;
}
.is-rtl .error {
padding-right: 42px;
}
.error .gridicon {
float: left;
margin-left: -32px;
}
.is-rtl .error .gridicon {
float: right;
margin-right: -32px;
}
.text-input {
margin: 0;
padding: 7px 14px;
width: 100%;
color: #2e4453;
font-size: 16px;
line-height: 1.5;
border: 1px solid #c8d7e1;
background-color: white;
transition: all .15s ease-in-out;
box-sizing: border-box;
margin: 8px 0 16px;
}
#image {
display: block;
width: 200px;
margin: 0 auto;
}
<?php
$rtl_class = '';
if ( 'rtl' === $text_direction ) {
$rtl_class = 'class="is-rtl"';
echo 'body { font-family: Tahoma, Arial; }';
}
?>
</style>
</head>
<body id="error-page" <?php echo $rtl_class; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<h1 id="error-title"><?php echo esc_html( $title ); ?></h1>
<div id="error-message">
<svg id="image" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 250 134">
<path fill="#E9EFF4" d="M205.2,129.8c3.7-0.7,7.4-0.9,11.1-1.1l5.5-0.1l5.5,0c3.7,0,7.4,0.1,11.1,0.2c3.7,0.1,7.4,0.3,11.1,0.8 c0.3,0,0.5,0.3,0.5,0.6c0,0.2-0.2,0.4-0.5,0.5c-3.7,0.5-7.4,0.6-11.1,0.8c-3.7,0.1-7.4,0.2-11.1,0.2l-5.5,0l-5.5-0.1 c-3.7-0.1-7.4-0.4-11.1-1.1c-0.1,0-0.2-0.2-0.2-0.3C205,129.9,205.1,129.8,205.2,129.8"/>
<path fill="#E9EFF4" d="M0.2,130.9c3-0.7,5.9-0.9,8.9-1.1l4.4-0.1l4.4,0c3,0,5.9,0.1,8.9,0.2c3,0.1,5.9,0.3,8.9,0.8 c0.3,0,0.5,0.3,0.4,0.6c0,0.2-0.2,0.4-0.4,0.4c-3,0.5-5.9,0.6-8.9,0.8c-3,0.1-5.9,0.2-8.9,0.2l-4.4,0l-4.4-0.1 c-3-0.1-5.9-0.4-8.9-1.1c-0.1,0-0.2-0.2-0.2-0.3C0,131,0.1,130.9,0.2,130.9"/>
<path fill="#C8D7E2" d="M101.6,130.1H70.1V52.5c0-8.5,6.9-15.3,15.3-15.3h16.1V130.1z"/>
<path fill="#0DA9DD" d="M191.5,130.1h-73.8v-5.4c0-8.9,7.2-16.1,16.1-16.1h57.7V130.1z"/>
<path fill="#C7E9F5" d="M55.2,25.6l-0.1,9.8L55,57l-0.1,21.6c0,0.2,0.2,0.4,0.4,0.4c0.2,0,0.4-0.2,0.4-0.4L56.6,57l0.8-21.6 c0.1-3.3,0.2-6.5,0.3-9.8H55.2z"/>
<path fill="#C7E9F5" d="M203.1,25.6l0.1,18.1c0.2,28.8,0.4,57.6,1.2,86.3c0,0.4,0.4,0.8,0.8,0.8c0.4,0,0.8-0.3,0.8-0.8 c0.8-28.8,1-57.6,1.2-86.3l0.1-18.1H203.1z"/>
<path fill="#7FD3F2" d="M55.3,25.6v-8.2v-6.8c0-5.9,4-10.7,9-10.7h134c5,0,9,4.8,9,10.7v14.9H55.3z"/>
<path fill="#005083" d="M210.7,25.6c-13.3,1.1-26.7,1-40,1l-40,0.2l-40-0.2c-13.3-0.1-26.7,0-40-1V25c13.3-1.1,26.7-1,40-1l40-0.2 l40,0.2c13.3,0.1,26.7,0,40,1V25.6z"/>
<polygon fill="#C7E9F5" points="168.7,95.6 117.7,95.6 117.7,44.6 "/>
<path fill="#C8D7E2" d="M191.5,56.5c0,11-8.9,19.9-19.9,19.9c-11,0-19.9-8.9-19.9-19.9c0-11,8.9-19.9,19.9-19.9 C182.6,36.6,191.5,45.5,191.5,56.5"/>
<path fill="#FFFFFF" d="M213.2,95.5c-3.3-5.1-3.2-16.7-3.2-28.4h-32.3c0,0-5.2,25.5,4.6,33c7.5-0.1,29.9-0.6,29.9-0.6"/>
<path fill="#C8D7E2" d="M213.5,95.3l-0.1-0.1l-0.3-0.5c-0.2-0.4-0.3-0.7-0.5-1.1c-0.3-0.8-0.5-1.6-0.7-2.4c-0.1-0.5-0.2-1.1-0.3-1.6 c-0.4,0-0.8,0-1.2,0c0.5,2.1,1.1,4.3,2.4,6.1l0.2,0.2c0.2,0,0.4-0.1,0.5-0.3C213.6,95.5,213.6,95.4,213.5,95.3L213.5,95.3z"/>
<path fill="#C8D7E2" d="M212.5,98.6c-0.1,0-0.2,0-0.3,0l-0.1,0H212l-0.3,0l-0.6,0l-1.3,0l-2.5,0l-5,0l-19.5,0.2 c-1.9-1.7-3.1-4.1-3.8-6.5c-0.8-2.6-1.1-5.4-1.2-8.2c-0.2-5.2,0.3-10.4,1.1-15.6l5.7-0.1c0-0.9,0-1.8,0-2.6l-4.4,0l-2.5,0 c-0.4,0-0.8,0.2-1,0.5c-0.1,0.2-0.2,0.3-0.3,0.5l-0.1,0.3l-0.2,1.2c-0.3,1.7-0.5,3.3-0.7,5c-0.3,3.3-0.5,6.7-0.4,10.1 c0.1,3.4,0.5,6.7,1.5,10c0.5,1.6,1.2,3.2,2.2,4.7c0.5,0.7,1,1.4,1.7,2c0.3,0.3,0.6,0.6,1,0.9l0.1,0.1c0.1,0,0.2,0.1,0.3,0.2 c0.2,0.1,0.5,0.1,0.6,0.1l0.6,0l20-0.6l5-0.2l2.5-0.1l1.2,0l0.3,0l0.2,0c0,0,0.3,0,0.4-0.1c0.3-0.2,0.5-0.5,0.5-0.9 C213.1,99.1,212.9,98.7,212.5,98.6z"/>
<path fill="#FFFFFF" d="M223.1,84.8c-3.3-5.1-4.8-16.7-4.8-28.4h-32.3c0,0-3.5,25.5,6.3,33c7.5-0.1,29.9-0.6,29.9-0.6"/>
<path fill="#C8D7E2" d="M222.9,84.9c-1.3-2.1-2.2-4.4-2.8-6.7c-0.6-2.4-1.1-4.8-1.5-7.2c-0.7-4.8-1-9.1-1-13.9l0,0l-31,0.1l0,0 c-0.4,2.8-0.5,5.1-0.5,7.9c-0.1,2.9,0,5.7,0.3,8.6c0.3,2.8,0.8,5.7,1.7,8.3c0.9,2.6,2.3,5.2,4.5,6.9l-0.4-0.1l14.9-0.2 c5-0.1,10-0.1,14.9-0.1c0.1,0,0.3,0.1,0.3,0.3c0,0.1-0.1,0.3-0.2,0.3c-5,0.2-10,0.4-14.9,0.5l-14.9,0.4c-0.1,0-0.3,0-0.4-0.1l0,0 c-2.5-1.9-3.9-4.7-5-7.4c-1-2.8-1.5-5.7-1.9-8.6c-0.3-2.9-0.4-5.8-0.4-8.8c0.1-2.9,0.2-5.8,0.6-8.8c0-0.4,0.4-0.6,0.7-0.6h0 l32.3,0.1h0c0.3,0,0.6,0.3,0.6,0.6v0c0,4.8,0.2,9.6,0.7,14.4c0.3,2.4,0.6,4.8,1.2,7.1c0.5,2.3,1.2,4.7,2.4,6.8c0,0.1,0,0.1,0,0.2 C223.1,85,223,85,222.9,84.9"/>
<path fill="#C8D7E2" d="M192.1,67.1c1.6-0.9,3.4-1.2,5.1-1.3c1.7-0.2,3.5-0.2,5.2-0.2c3.5,0.1,6.9,0.2,10.3,1c0.1,0,0.2,0.2,0.2,0.3 c0,0.1-0.1,0.2-0.2,0.2c-3.4,0.2-6.9,0-10.3,0c-1.7,0-3.4,0-5.1,0c-1.7,0-3.4,0.1-5.1,0.3l0,0c-0.1,0-0.1,0-0.1-0.1 C192,67.2,192.1,67.1,192.1,67.1"/>
<path fill="#C8D7E2" d="M194.1,74c1.4,0,2.7,0,4.1,0c1.4,0,2.7,0,4.1,0c2.7,0,5.4-0.1,8.2-0.2c0.1,0,0.3,0.1,0.3,0.3 c0,0.1-0.1,0.2-0.2,0.3c-1.3,0.5-2.7,0.7-4.1,0.9c-1.4,0.2-2.8,0.2-4.2,0.3c-1.4,0-2.8,0-4.2-0.2c-1.4-0.2-2.8-0.4-4.1-1.1 c-0.1,0-0.1-0.1,0-0.2C193.9,74.1,194,74,194.1,74L194.1,74z"/>
<path fill="#86A6BD" d="M40.2,88.6c-0.5,0-0.8-0.4-0.9-0.9l-0.1-8.2c0-0.7,0-1.4,0-2.1c0.1-0.7,0.2-1.5,0.4-2.2c0.4-1.4,1-2.8,1.9-4 c1.7-2.5,4.3-4.3,7.1-5.1c0.7-0.2,1.5-0.3,2.2-0.5c0.7-0.1,1.5-0.1,2.2-0.1c1.3,0,2.9,0,4.4,0.4c2.9,0.7,5.6,2.5,7.4,4.9 c0.9,1.2,1.6,2.6,2.1,4c0.5,1.4,0.6,3,0.6,4.4l0,16.4c0,0.7-0.6,1.3-1.3,1.3l-6.7,0c-0.7,0-1.3-0.6-1.3-1.3v0l0-10.8l0-5.4 c0-1.4-0.7-2.8-1.8-3.5c-0.6-0.4-1.3-0.6-2-0.7c-0.7,0-1.9,0-2.5,0c-1.4,0.1-2.7,1-3.3,2.3c-0.3,0.7-0.4,1.3-0.4,2.1l0,2.7 l-0.1,5.4l0,0c0,0.5-0.4,0.9-1,0.9"/>
<path fill="#FFFFFF" d="M41.1,86.9l0.1-7.3c-0.1-2.6,0.7-5,2.1-7.1c1.4-2,3.6-3.5,5.9-4.1c0.6-0.2,1.2-0.3,1.8-0.3 c0.6,0,1.2-0.1,1.9,0c1.4,0,2.5,0,3.7,0.4c2.4,0.6,4.5,2,5.9,4c0.7,1,1.3,2.1,1.6,3.2c0.4,1.2,0.5,2.3,0.5,3.7l0,15.1l0,0l-4.2,0 l0-9.5l0-5.4c0-2.2-1.2-4.4-3-5.5c-0.9-0.6-2-0.9-3.1-1c-1.1,0-1.7,0-2.9,0c-2.2,0.2-4.2,1.7-5.1,3.6c-0.5,0.9-0.7,2.1-0.6,3.1 l0,2.7l0.1,4.4l0,0L41.1,86.9L41.1,86.9"/>
<path fill="#86A6BD" d="M36.3,133c-1.9,0-3.8-1.1-4.8-2.8c-0.5-0.8-0.7-1.8-0.7-2.8l0-2.4l0-9.6l-0.1-9.6l0-4.8c0-0.7,0-1.8,0.3-2.8 c0.3-1,0.9-1.8,1.7-2.5c0.8-0.6,1.7-1.1,2.7-1.3c1.1-0.2,1.8-0.1,2.6-0.1l4.8,0l9.6-0.1l19.2,0c2.1,0,4.1,1.2,5.1,3 c0.5,0.9,0.8,2,0.8,3l0,2.4l0,9.6l-0.1,9.6l0,4.8c0,0.7,0,1.8-0.4,2.8c-0.3,0.9-1,1.8-1.7,2.4c-0.8,0.6-1.7,1.1-2.7,1.2 c-1.1,0.1-1.8,0-2.6,0.1l-4.8,0l-9.6-0.1L36.3,133z"/>
<path fill="#FFFFFF" d="M74.8,112.3l-0.1-9.6l0-2.4c0-0.6-0.1-1.1-0.4-1.6c-0.6-1-1.7-1.6-2.8-1.6l-19.2,0L42.7,97l-4.8,0 c-0.8,0-1.7,0-2.2,0c-0.6,0.1-1.1,0.3-1.6,0.7c-0.5,0.4-0.8,0.9-1,1.4c-0.2,0.6-0.2,1.1-0.2,2l0,4.8l-0.1,9.6l0,9.6l0,2.4 c0,0.6,0.2,1.3,0.5,1.8c0.6,1.1,1.9,1.8,3.1,1.8l19.2-0.1l9.6-0.1l4.8,0c0.8,0,1.7,0,2.2-0.1c0.6-0.1,1.2-0.4,1.6-0.8 c0.5-0.4,0.8-0.9,1-1.5c0.2-0.6,0.2-1.1,0.2-2l0-4.8L74.8,112.3z"/>
<path fill="#86A6BD" d="M48.1,121.4l2.9-6.2c0.3-0.6,0.2-1.3-0.3-1.8c-1-1-1.5-2.5-1.2-4c0.3-1.7,1.7-3.1,3.4-3.4 c2.9-0.6,5.4,1.6,5.4,4.4c0,1.2-0.5,2.3-1.3,3.1c-0.5,0.5-0.6,1.2-0.3,1.8l2.9,6.2c0.1,0.2-0.1,0.5-0.3,0.5H48.4 C48.1,121.9,48,121.6,48.1,121.4"/>
</svg>
<?php echo $message; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- message includes HTML that's marked up ourselves. ?>
<?php
if ( $recovery_form ) {
echo $this->get_html_recovery_form(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- content is escaped in the function.
}
?>
</div>
<div id="error-footer">
<?php
if ( $back_button && ! $recovery_form ) {
if ( 'rtl' === $text_direction ) {
$back_button_icon = '<svg class="gridicon gridicons-arrow-right" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z"/></g></svg>';
} else {
$back_button_icon = '<svg class="gridicon gridicons-arrow-left" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></g></svg>';
}
?>
<a href='javascript:history.back()'
<?php
printf(
/* translators: %s is HTML markup, for a back icon. */
__( '%s Back', 'jetpack-waf' ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
$back_button_icon // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
);
?>
</a>
<?php
} else {
$help_icon = '<svg class="gridicon gridicons-help" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm1 16h-2v-2h2v2zm0-4.14V15h-2v-2c0-.552.448-1 1-1 1.103 0 2-.897 2-2s-.897-2-2-2-2 .897-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 1.862-1.278 3.413-3 3.86z"/></g></svg>';
?>
<a href="<?php echo esc_url( self::get_help_url() ); ?>" rel="noopener noreferrer" target="_blank">
<?php
printf(
/* translators: %s is HTML markup, for a help icon. */
__( '%s Get help unlocking your site', 'jetpack-waf' ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
$help_icon // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
);
?>
</a>
<?php } ?>
</div>
</body>
</html>
<?php
die();
}
}

View File

@ -0,0 +1,181 @@
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
namespace Automattic\Jetpack\Waf\Brute_Force_Protection;
if ( ! class_exists( 'Brute_Force_Protection_Math_Authenticate' ) ) {
/**
* The math captcha fallback if we can't talk to the Protect API
*/
class Brute_Force_Protection_Math_Authenticate {
/**
* If the class is loaded.
*
* @var bool
*/
public static $loaded;
/**
* Class constructor.
*/
public function __construct() {
if ( self::$loaded ) {
return;
}
self::$loaded = 1;
add_action( 'login_form', array( $this, 'math_form' ) );
if ( isset( $_POST['jetpack_protect_process_math_form'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing -- No changes made, just queues the math authenticator hook.
add_action( 'init', array( $this, 'process_generate_math_page' ) );
}
}
/**
* The timeout window.
*/
private static function time_window() {
return ceil( time() / ( MINUTE_IN_SECONDS * 2 ) );
}
/**
* Verifies that a user answered the math problem correctly while logging in.
*
* @return bool Returns true if the math is correct
* @throws Error If insuffient $_POST variables are present.
* @throws Error Message if the math is wrong.
*/
public static function math_authenticate() {
if ( isset( $_COOKIE['jpp_math_pass'] ) ) {
$brute_force_protection = Brute_Force_Protection::instance();
$transient = $brute_force_protection->get_transient( 'jpp_math_pass_' . sanitize_key( $_COOKIE['jpp_math_pass'] ) );
if ( ! $transient || $transient < 1 ) {
self::generate_math_page();
}
return true;
}
$ans = isset( $_POST['jetpack_protect_num'] ) ? (int) $_POST['jetpack_protect_num'] : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing -- answers are salted.
$correct_ans = isset( $_POST['jetpack_protect_answer'] ) ? sanitize_key( $_POST['jetpack_protect_answer'] ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing
$time_window = self::time_window();
$salt = get_site_option( 'jetpack_protect_key' ) . '|' . get_site_option( 'admin_email' ) . '|';
$salted_ans_1 = hash_hmac( 'sha1', $ans, $salt . $time_window );
$salted_ans_2 = hash_hmac( 'sha1', $ans, $salt . ( $time_window - 1 ) );
if ( ! $correct_ans || ! $ans ) {
self::generate_math_page();
} elseif ( ! hash_equals( $salted_ans_1, $correct_ans ) && ! hash_equals( $salted_ans_2, $correct_ans ) ) {
wp_die(
wp_kses(
__(
'<strong>You failed to correctly answer the math problem.</strong> This is used to combat spam when Jetpacks Brute Force Attack Protection API is unavailable. Please use your browsers back button to return to the login form, press the "refresh" button to generate a new math problem, and try to log in again.',
'jetpack-waf'
),
array( 'strong' => array() )
),
'',
array( 'response' => 401 )
);
} else {
return true;
}
}
/**
* Creates an interim page to collect answers to a math captcha
*
* @param string $error - the error message.
*/
public static function generate_math_page( $error = false ) {
ob_start();
?>
<h2><?php esc_html_e( 'Please solve this math problem to prove that you are not a bot. Once you solve it, you will need to log in again.', 'jetpack-waf' ); ?></h2>
<?php if ( $error ) : ?>
<h3><?php esc_html_e( 'Your answer was incorrect, please try again.', 'jetpack-waf' ); ?></h3>
<?php endif ?>
<form action="<?php echo esc_url( wp_login_url() ); ?>" method="post" accept-charset="utf-8">
<?php self::math_form(); ?>
<input type="hidden" name="jetpack_protect_process_math_form" value="1" id="jetpack_protect_process_math_form" />
<p><input type="submit" value="<?php esc_attr_e( 'Continue &rarr;', 'jetpack-waf' ); ?>"></p>
</form>
<?php
$mathpage = ob_get_contents();
ob_end_clean();
wp_die(
$mathpage, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- content is escaped.
'',
array( 'response' => 401 )
);
}
/**
* Generates the math page.
*/
public function process_generate_math_page() {
$ans = isset( $_POST['jetpack_protect_num'] ) ? (int) $_POST['jetpack_protect_num'] : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing -- answers are salted.
$correct_ans = isset( $_POST['jetpack_protect_answer'] ) ? sanitize_key( $_POST['jetpack_protect_answer'] ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing
$time_window = self::time_window();
$salt = get_site_option( 'jetpack_protect_key' ) . '|' . get_site_option( 'admin_email' ) . '|';
$salted_ans_1 = hash_hmac( 'sha1', $ans, $salt . $time_window );
$salted_ans_2 = hash_hmac( 'sha1', $ans, $salt . ( $time_window - 1 ) );
if ( ! hash_equals( $salted_ans_1, $correct_ans ) && ! hash_equals( $salted_ans_2, $correct_ans ) ) {
self::generate_math_page( true );
} else {
$temp_pass = substr( hash_hmac( 'sha1', wp_rand( 1, 100000000 ), get_site_option( 'jetpack_protect_key' ) ), 5, 25 );
$brute_force_protection = Brute_Force_Protection::instance();
$brute_force_protection->set_transient( 'jpp_math_pass_' . $temp_pass, 3, DAY_IN_SECONDS );
setcookie( 'jpp_math_pass', $temp_pass, time() + DAY_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN, false, true );
remove_action( 'login_form', array( $this, 'math_form' ) );
return true;
}
}
/**
* Requires a user to solve a simple equation. Added to any WordPress login form.
*
* @return VOID outputs html
*/
public static function math_form() {
// Check if jpp_math_pass cookie is set and it matches valid transient.
if ( isset( $_COOKIE['jpp_math_pass'] ) ) {
$brute_force_protection = Brute_Force_Protection::instance();
$transient = $brute_force_protection->get_transient( 'jpp_math_pass_' . sanitize_key( $_COOKIE['jpp_math_pass'] ) );
if ( $transient && $transient > 0 ) {
return '';
}
}
$num1 = wp_rand( 0, 10 );
$num2 = wp_rand( 1, 10 );
$ans = $num1 + $num2;
$time_window = self::time_window();
$salt = get_site_option( 'jetpack_protect_key' ) . '|' . get_site_option( 'admin_email' ) . '|';
$salted_ans = hash_hmac( 'sha1', $ans, $salt . $time_window );
?>
<div style="margin: 5px 0 20px;">
<p style="font-size: 14px;">
<?php esc_html_e( 'Prove your humanity', 'jetpack-waf' ); ?>
</p>
<br/>
<label for="jetpack_protect_answer" style="vertical-align:super;">
<?php echo esc_html( "$num1 &nbsp; + &nbsp; $num2 &nbsp; = &nbsp;" ); ?>
</label>
<input type="number" id="jetpack_protect_answer" name="jetpack_protect_num" value="" size="2" style="width:50px;height:25px;vertical-align:middle;font-size:13px;" class="input" />
<input type="hidden" name="jetpack_protect_answer" value="<?php echo esc_attr( $salted_ans ); ?>" />
</div>
<?php
}
}
}

View File

@ -0,0 +1,240 @@
<?php
/**
* Class for functions shared by the Brute force protection feature and its related json-endpoints
*
* @package automattic/jetpack-waf
*/
namespace Automattic\Jetpack\Waf\Brute_Force_Protection;
use Automattic\Jetpack\IP\Utils as IP_Utils;
use Automattic\Jetpack\Waf\Waf_Rules_Manager;
use WP_Error;
/**
* Shared Functions class.
*/
class Brute_Force_Protection_Shared_Functions {
/**
* Returns an array of IP objects that will never be blocked by the Brute force protection feature
*
* @deprecated 0.11.0 Use format_allow_list()
*/
public static function format_whitelist() {
_deprecated_function( __METHOD__, 'waf-0.11.0', __CLASS__ . '::format_allow_list' );
return self::format_allow_list();
}
/**
* Returns an array of IP objects that will never be blocked by the Brute force protection feature
*
* The array is segmented into a local allow list which applies only to the current site
* and a global allow list which, for multisite installs, applies to the entire networko
*
* @return array
*/
public static function format_allow_list() {
$local_allow_list = self::get_local_allow_list();
$formatted = array(
'local' => array(),
);
foreach ( $local_allow_list as $item ) {
if ( $item->range ) {
$formatted['local'][] = $item->range_low . ' - ' . $item->range_high;
} else {
$formatted['local'][] = $item->ip_address;
}
}
if ( is_multisite() && current_user_can( 'manage_network' ) ) {
$formatted['global'] = array();
$global_allow_list = self::get_global_allow_list();
if ( false === $global_allow_list ) {
// If the global allow list has never been set, check for a legacy option set prior to 3.6.
$global_allow_list = get_site_option( 'jetpack_protect_whitelist', array() );
}
foreach ( $global_allow_list as $item ) {
if ( $item->range ) {
$formatted['global'][] = $item->range_low . ' - ' . $item->range_high;
} else {
$formatted['global'][] = $item->ip_address;
}
}
}
return $formatted;
}
/**
* Gets the local Brute force protection allow list.
*
* @deprecated 0.11.0 Use get_local_allow_list()
*/
public static function get_local_whitelist() {
_deprecated_function( __METHOD__, 'waf-0.11.0', __CLASS__ . '::get_local_allow_list' );
return self::get_local_allow_list();
}
/**
* Gets the local Brute force protection allow list.
*
* The 'local' part of the allow list only really applies to multisite installs,
* which can have a network wide allow list, as well as a local list that applies
* only to the current site. On single site installs, there will only be a local
* allow list.
*
* @return array A list of IP Address objects or an empty array
*/
public static function get_local_allow_list() {
$allow_list = get_option( Waf_Rules_Manager::IP_ALLOW_LIST_OPTION_NAME );
if ( false === $allow_list ) {
// The local allow list has never been set.
if ( is_multisite() ) {
// On a multisite, we can check for a legacy site_option that existed prior to v 3.6, or default to an empty array.
$allow_list = get_site_option( 'jetpack_protect_whitelist', array() );
} else {
// On a single site, we can just use an empty array.
$allow_list = array();
}
} else {
$allow_list = IP_Utils::get_ip_addresses_from_string( $allow_list );
$allow_list = array_map(
function ( $ip_address ) {
return self::create_ip_object( $ip_address );
},
$allow_list
);
}
return $allow_list;
}
/**
* Get the global, network-wide allow list.
*
* @deprecated 0.11.0 Use get_global_allow_list()
*/
public static function get_global_whitelist() {
_deprecated_function( __METHOD__, 'waf-0.11.0', __CLASS__ . '::get_global_allow_list' );
return self::get_global_allow_list();
}
/**
* Get the global, network-wide allow list.
*
* It will revert to the legacy site_option if jetpack_protect_global_whitelist has never been set.
*
* @return array
*/
public static function get_global_allow_list() {
$allow_list = get_site_option( 'jetpack_protect_global_whitelist' );
if ( false === $allow_list ) {
// The global allow list has never been set. Check for legacy site_option, or default to an empty array.
$allow_list = get_site_option( 'jetpack_protect_whitelist', array() );
}
return $allow_list;
}
/**
* Convert a string into an IP Address object.
*
* @param string $ip_address The IP Address to convert.
* @return object An IP Address object.
*/
private static function create_ip_object( $ip_address ) {
$range = false;
if ( strpos( $ip_address, '-' ) ) {
$ip_address = explode( '-', $ip_address );
$range = true;
}
$new_item = new \stdClass();
$new_item->range = $range;
if ( $range ) {
$new_item->range_low = trim( $ip_address[0] );
$new_item->range_high = trim( $ip_address[1] );
} else {
$new_item->ip_address = $ip_address;
}
return $new_item;
}
/**
* Save IP allow list.
*
* @deprecated 0.11.0 Use save_allow_list()
*
* @param mixed $allow_list IP allow list.
* @param bool $global (default: false) Global.
*/
public static function save_whitelist( $allow_list, $global = false ) {
_deprecated_function( __METHOD__, 'waf-0.11.0', __CLASS__ . '::save_allow_list' );
return self::save_allow_list( $allow_list, $global );
}
/**
* Save IP allow list.
*
* @access public
* @param mixed $allow_list IP allow list.
* @param bool $global (default: false) Global.
* @return Bool.
*/
public static function save_allow_list( $allow_list, $global = false ) {
$allow_list_error = false;
$new_items = array();
if ( ! is_array( $allow_list ) ) {
return new WP_Error( 'invalid_parameters', __( 'Expecting an array', 'jetpack-waf' ) );
}
if ( $global && ! is_multisite() ) {
return new WP_Error( 'invalid_parameters', __( 'Cannot use global flag on non-multisites', 'jetpack-waf' ) );
}
if ( $global && ! current_user_can( 'manage_network' ) ) {
return new WP_Error( 'permission_denied', __( 'Only super admins can edit the global allow list', 'jetpack-waf' ) );
}
// Validate each item.
foreach ( $allow_list as $item ) {
$item = trim( $item );
if ( empty( $item ) ) {
continue;
}
$new_item = self::create_ip_object( $item );
if ( $new_item->range ) {
if ( ! filter_var( $new_item->range_low, FILTER_VALIDATE_IP ) || ! filter_var( $new_item->range_high, FILTER_VALIDATE_IP ) ) {
$allow_list_error = true;
break;
}
if ( ! IP_Utils::convert_ip_address( $new_item->range_low ) || ! IP_Utils::convert_ip_address( $new_item->range_high ) ) {
$allow_list_error = true;
break;
}
} else {
if ( ! filter_var( $new_item->ip_address, FILTER_VALIDATE_IP ) ) {
$allow_list_error = true;
break;
}
if ( ! IP_Utils::convert_ip_address( $new_item->ip_address ) ) {
$allow_list_error = true;
break;
}
}
$new_items[] = $new_item;
} // End item loop.
if ( ! empty( $allow_list_error ) ) {
return new WP_Error( 'invalid_ip', __( 'One of your IP addresses was not valid.', 'jetpack-waf' ) );
}
if ( $global ) {
update_site_option( 'jetpack_protect_global_whitelist', $new_items );
// Once a user has saved their global allow list, we can permanently remove the legacy option.
delete_site_option( 'jetpack_protect_whitelist' );
} else {
$new_items = array_map(
function ( $item ) {
if ( $item->range ) {
return $item->range_low . '-' . $item->range_high;
}
return $item->ip_address;
},
$new_items
);
update_option( Waf_Rules_Manager::IP_ALLOW_LIST_OPTION_NAME, implode( ' ', $new_items ) );
}
return true;
}
}

View File

@ -0,0 +1,63 @@
<?php
/**
* Adapted from Purge Transients by Seebz
* https://github.com/Seebz/Snippets/tree/master/Wordpress/plugins/purge-transients
*
* @package automattic/jetpack-waf
*/
namespace Automattic\Jetpack\Waf\Brute_Force_Protection;
/**
* Transient Cleanup class.
*/
class Brute_Force_Protection_Transient_Cleanup {
/**
* Jetpack Purge Transients.
*
* @access public
* @param string $older_than (default: '1 hour') Older Than.
*/
public static function jp_purge_transients( $older_than = '1 hour' ) {
global $wpdb;
$older_than_time = strtotime( '-' . $older_than );
if ( $older_than_time > time() || $older_than_time < 1 ) {
return false;
}
$sql = $wpdb->prepare(
// phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.LikeWildcardsInQuery
"SELECT REPLACE(option_name, '_transient_timeout_jpp_', '') AS transient_name FROM {$wpdb->options} WHERE option_name LIKE '\_transient\_timeout\_jpp\__%%' AND option_value < %d",
$older_than_time
);
$transients = $wpdb->get_col( $sql ); // phpcs:ignore WordPress.DB -- $sql is prepared above.
$options_names = array();
foreach ( $transients as $transient ) {
$options_names[] = '_transient_jpp_' . $transient;
$options_names[] = '_transient_timeout_jpp_' . $transient;
}
if ( $options_names ) {
$option_names_string = implode( ', ', array_fill( 0, count( $options_names ), '%s' ) );
$result = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery
$wpdb->prepare(
"DELETE FROM {$wpdb->options} WHERE option_name IN ($option_names_string)", // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare -- the placeholders are set above.
$options_names
)
);
if ( ! $result ) {
return false;
}
}
}
/**
* Jetpack Purge Transients Activation.
*
* @access public
* @return void
*/
public static function jp_purge_transients_activation() {
if ( ! wp_next_scheduled( 'jp_purge_transients_cron' ) ) {
wp_schedule_event( time(), 'daily', 'jp_purge_transients_cron' );
}
}
}

View File

@ -9,6 +9,8 @@
namespace Automattic\Jetpack\Waf;
use Jetpack_Options;
/**
* Defines methods for ensuring backwards compatibility.
*/
@ -24,6 +26,19 @@ class Waf_Compatibility {
public static function add_compatibility_hooks() {
add_filter( 'default_option_' . Waf_Rules_Manager::AUTOMATIC_RULES_ENABLED_OPTION_NAME, __CLASS__ . '::default_option_waf_automatic_rules', 10, 3 );
add_filter( 'default_option_' . Waf_Initializer::NEEDS_UPDATE_OPTION_NAME, __CLASS__ . '::default_option_waf_needs_update', 10, 3 );
add_filter( 'default_option_' . Waf_Rules_Manager::IP_ALLOW_LIST_OPTION_NAME, __CLASS__ . '::default_option_waf_ip_allow_list', 10, 3 );
add_filter( 'option_' . Waf_Rules_Manager::IP_ALLOW_LIST_OPTION_NAME, __CLASS__ . '::filter_option_waf_ip_allow_list', 10, 1 );
}
/**
* Run compatibility migrations.
*
* @since 0.11.0
*
* @return void
*/
public static function run_compatibility_migrations() {
self::migrate_brute_force_protection_ip_allow_list();
}
/**
@ -81,4 +96,133 @@ class Waf_Compatibility {
return true;
}
/**
* Merge the WAF and Brute Force Protection IP allow lists.
*
* @since 0.11.0
*
* @param string $waf_allow_list The WAF IP allow list.
* @param array $brute_force_allow_list The Brute Force Protection IP allow list. Array of IP objects.
*
* @return string The merged IP allow list.
*/
public static function merge_ip_allow_lists( $waf_allow_list, $brute_force_allow_list ) {
if ( empty( $brute_force_allow_list ) ) {
return $waf_allow_list;
}
// Convert the IP objects to strings.
$brute_force_allow_list = array_map(
function ( $ip_object ) {
if ( ! empty( $ip_object->range ) ) {
return $ip_object->range_low . '-' . $ip_object->range_high;
}
return $ip_object->ip_address;
},
$brute_force_allow_list
);
$brute_force_allow_list_string = implode( "\n", $brute_force_allow_list );
if ( empty( $waf_allow_list ) ) {
return $brute_force_allow_list_string;
}
// Return the lists merged into a single string.
return "$waf_allow_list\n$brute_force_allow_list_string";
}
/**
* Migrate the brute force protection IP allow list option to the WAF option.
*
* @since 0.11.0
*
* @return void
*/
public static function migrate_brute_force_protection_ip_allow_list() {
// Get the allow list values directly from the database to avoid filters.
$brute_force_allow_list = Jetpack_Options::get_raw_option( 'jetpack_protect_whitelist' );
$waf_allow_list = Jetpack_Options::get_raw_option( 'jetpack_waf_ip_allow_list' );
if ( ! empty( $brute_force_allow_list ) ) {
if ( empty( $waf_allow_list ) ) {
$waf_allow_list = '';
}
// Merge the two allow lists.
$merged_allow_list = self::merge_ip_allow_lists( $waf_allow_list, $brute_force_allow_list );
// Update the WAF IP allow list with the merged list.
Jetpack_Options::update_raw_option( 'jetpack_waf_ip_allow_list', $merged_allow_list );
// Delete the old option if the update was successful.
// Check the values directly as `update_raw_option()` returns false if the value hasn't changed.
if ( Jetpack_Options::get_raw_option( 'jetpack_waf_ip_allow_list' ) === $merged_allow_list ) {
delete_option( 'jetpack_protect_whitelist' );
}
}
}
/**
* Filter for Waf_Rules_Manager::IP_ALLOW_LIST_OPTION_NAME's option value.
* Merges the deprecated IP allow list from the brute force protection module
* with the existing option value, and flags that the WAF needs to be updated.
*
* @since 0.11.0
*
* @param array $waf_allow_list The current value of the option.
*
* @return array The merged IP allow list.
*/
public static function filter_option_waf_ip_allow_list( $waf_allow_list ) {
$brute_force_allow_list = Jetpack_Options::get_raw_option( 'jetpack_protect_whitelist', false );
if ( false !== $brute_force_allow_list ) {
$waf_allow_list = self::merge_ip_allow_lists( $waf_allow_list, $brute_force_allow_list );
update_option( Waf_Initializer::NEEDS_UPDATE_OPTION_NAME, 1 );
}
return $waf_allow_list;
}
/**
* Default option for when the Waf_Rules_Manager::IP_ALLOW_LIST_OPTION_NAME option is not set.
*
* @param mixed $default The default value to return if the option does not exist in the database.
* @param string $option Option name.
* @param bool $passed_default Was get_option() passed a default value.
*
* @return mixed The default value to return if the option does not exist in the database.
*/
public static function default_option_waf_ip_allow_list( $default, $option, $passed_default ) {
// Allow get_option() to override this default value
if ( $passed_default ) {
return $default;
}
$waf_allow_list = '';
// If the brute force option exists, use that and flag that the WAF needs to be updated.
$brute_force_allow_list = Jetpack_Options::get_raw_option( 'jetpack_protect_whitelist', false );
if ( false !== $brute_force_allow_list ) {
$waf_allow_list = self::merge_ip_allow_lists( $waf_allow_list, $brute_force_allow_list );
update_option( Waf_Initializer::NEEDS_UPDATE_OPTION_NAME, 1 );
}
return $waf_allow_list;
}
/**
* Check if the brute force protection code is being run by an older version of Jetpack (< 12.0).
*
* @since 0.11.1
*
* @return bool
*/
public static function is_brute_force_running_in_jetpack() {
return defined( 'JETPACK__VERSION' ) && version_compare( JETPACK__VERSION, '12', '<' );
}
}

View File

@ -8,6 +8,7 @@
namespace Automattic\Jetpack\Waf;
use Automattic\Jetpack\Connection\REST_Connector;
use Automattic\Jetpack\Waf\Brute_Force_Protection\Brute_Force_Protection;
use WP_Error;
use WP_REST_Server;
@ -115,6 +116,27 @@ class REST_Controller {
update_option( Waf_Runner::SHARE_DATA_OPTION_NAME, (bool) $request[ Waf_Runner::SHARE_DATA_OPTION_NAME ] );
}
// Brute Force Protection
if ( isset( $request['brute_force_protection'] ) ) {
$enable_brute_force = (bool) $request['brute_force_protection'];
$brute_force_protection_toggled =
$enable_brute_force
? Brute_Force_Protection::enable()
: Brute_Force_Protection::disable();
if ( ! $brute_force_protection_toggled ) {
return new WP_Error(
$enable_brute_force
? 'brute_force_protection_activation_failed'
: 'brute_force_protection_deactivation_failed',
$enable_brute_force
? __( 'Brute force protection could not be activated.', 'jetpack-waf' )
: __( 'Brute force protection could not be deactivated.', 'jetpack-waf' ),
array( 'status' => 500 )
);
}
}
try {
Waf_Runner::update_waf();
} catch ( Waf_Exception $e ) {

View File

@ -90,4 +90,15 @@ class Waf_Constants {
define( 'JETPACK_WAF_SHARE_DATA', $share_data_option );
}
}
/**
* Set the brute force protection's API host definition if it has not been set.
*
* @return void
*/
public static function define_brute_force_api_host() {
if ( ! defined( 'JETPACK_PROTECT__API_HOST' ) ) {
define( 'JETPACK_PROTECT__API_HOST', 'https://api.bruteprotect.com/' );
}
}
}

View File

@ -7,6 +7,7 @@
namespace Automattic\Jetpack\Waf;
use Automattic\Jetpack\Waf\Brute_Force_Protection\Brute_Force_Protection;
use WP_Error;
/**
@ -29,23 +30,26 @@ class Waf_Initializer {
public static function init() {
// Do not run in unsupported environments
add_action( 'jetpack_get_available_modules', __CLASS__ . '::remove_module_on_unsupported_environments' );
if ( ! Waf_Runner::is_supported_environment() ) {
return;
}
// Update the WAF after installing or upgrading a relevant Jetpack plugin
add_action( 'upgrader_process_complete', __CLASS__ . '::update_waf_after_plugin_upgrade', 10, 2 );
add_action( 'admin_init', __CLASS__ . '::check_for_waf_update' );
// Activation/Deactivation hooks
add_action( 'jetpack_activate_module_waf', __CLASS__ . '::on_activation' );
add_action( 'jetpack_deactivate_module_waf', __CLASS__ . '::on_deactivation' );
// Ensure backwards compatibility
Waf_Compatibility::add_compatibility_hooks();
// Run the WAF
Waf_Runner::initialize();
// Run the WAF on supported environments
if ( Waf_Runner::is_supported_environment() ) {
// Update the WAF after installing or upgrading a relevant Jetpack plugin
add_action( 'upgrader_process_complete', __CLASS__ . '::update_waf_after_plugin_upgrade', 10, 2 );
add_action( 'admin_init', __CLASS__ . '::check_for_waf_update' );
// Activation/Deactivation hooks
add_action( 'jetpack_activate_module_waf', __CLASS__ . '::on_activation' );
add_action( 'jetpack_deactivate_module_waf', __CLASS__ . '::on_deactivation' );
// Run the WAF
Waf_Runner::initialize();
}
// Run brute force protection
Brute_Force_Protection::initialize();
}
/**
@ -64,6 +68,9 @@ class Waf_Initializer {
return $e->get_wp_error();
}
$brute_force_protection = Brute_Force_Protection::instance();
$brute_force_protection->on_activation();
return true;
}
@ -79,6 +86,9 @@ class Waf_Initializer {
return $e->get_wp_error();
}
$brute_force_protection = Brute_Force_Protection::instance();
$brute_force_protection->on_deactivation();
return true;
}
@ -140,6 +150,8 @@ class Waf_Initializer {
}
}
Waf_Compatibility::run_compatibility_migrations();
Waf_Constants::define_mode();
if ( ! Waf_Runner::is_allowed_mode( JETPACK_WAF_MODE ) ) {
return new WP_Error( 'waf_mode_invalid', 'Invalid firewall mode.' );

View File

@ -9,6 +9,7 @@ namespace Automattic\Jetpack\Waf;
use Automattic\Jetpack\Modules;
use Automattic\Jetpack\Status\Host;
use Automattic\Jetpack\Waf\Brute_Force_Protection\Brute_Force_Protection;
/**
* Executes the WAF.
@ -160,6 +161,7 @@ class Waf_Runner {
self::SHARE_DATA_OPTION_NAME => get_option( self::SHARE_DATA_OPTION_NAME ),
'bootstrap_path' => self::get_bootstrap_file_path(),
'automatic_rules_available' => (bool) self::automatic_rules_available(),
'brute_force_protection' => (bool) Brute_Force_Protection::is_enabled(),
);
}

View File

@ -6,43 +6,43 @@ return array(
'packages' => array(
'jetpack-admin-ui' => array(
'path' => 'jetpack_vendor/automattic/jetpack-admin-ui',
'ver' => '0.2.17',
'ver' => '0.2.19',
),
'jetpack-assets' => array(
'path' => 'jetpack_vendor/automattic/jetpack-assets',
'ver' => '1.17.33',
'ver' => '1.17.34',
),
'jetpack-config' => array(
'path' => 'jetpack_vendor/automattic/jetpack-config',
'ver' => '1.14.0',
'ver' => '1.15.1',
),
'jetpack-connection' => array(
'path' => 'jetpack_vendor/automattic/jetpack-connection',
'ver' => '1.51.1',
'ver' => '1.51.7',
),
'jetpack-idc' => array(
'path' => 'jetpack_vendor/automattic/jetpack-identity-crisis',
'ver' => '0.8.39',
'ver' => '0.8.40',
),
'jetpack-ip' => array(
'path' => 'jetpack_vendor/automattic/jetpack-ip',
'ver' => '0.1.0',
'ver' => '0.1.2',
),
'jetpack-jitm' => array(
'path' => 'jetpack_vendor/automattic/jetpack-jitm',
'ver' => '2.3.1',
'ver' => '2.3.4',
),
'jetpack-licensing' => array(
'path' => 'jetpack_vendor/automattic/jetpack-licensing',
'ver' => '1.8.1',
'ver' => '1.8.2',
),
'jetpack-my-jetpack' => array(
'path' => 'jetpack_vendor/automattic/jetpack-my-jetpack',
'ver' => '2.7.13',
'ver' => '2.9.1',
),
'jetpack-password-checker' => array(
'path' => 'jetpack_vendor/automattic/jetpack-password-checker',
'ver' => '0.2.11',
'ver' => '0.2.13',
),
'jetpack-plugins-installer' => array(
'path' => 'jetpack_vendor/automattic/jetpack-plugins-installer',
@ -50,7 +50,7 @@ return array(
),
'jetpack-sync' => array(
'path' => 'jetpack_vendor/automattic/jetpack-sync',
'ver' => '1.47.2',
'ver' => '1.47.4',
),
'jetpack-transport-helper' => array(
'path' => 'jetpack_vendor/automattic/jetpack-transport-helper',
@ -58,7 +58,7 @@ return array(
),
'jetpack-waf' => array(
'path' => 'jetpack_vendor/automattic/jetpack-waf',
'ver' => '0.10.1',
'ver' => '0.11.4',
),
),
);

View File

@ -3,8 +3,8 @@ Contributors: automattic, retrofox, leogermani, renatoagds, bjorsch, ebinnion, f
Tags: jetpack, protect, security, malware, scan
Requires at least: 6.0
Requires PHP: 5.6
Tested up to: 6.1
Stable tag: 1.3.0
Tested up to: 6.2
Stable tag: 1.4.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@ -14,7 +14,7 @@ Free daily malware scanning and WordPress site security. Jetpack Protect leverag
== TOTAL SITE SECURITY FROM WORDPRESS EXPERTS ==
Jetpack Protect is a free and essential WordPress security plugin that scans your site and warns you about vulnerabilities, keeping your site one step ahead of security threats. Its easy to use; setup requires just a few clicks!
Jetpack Protect is a free and essential WordPress security plugin that scans your site and warns you about vulnerabilities, keeping your site one step ahead of security threats. Its easy to use; setup requires just a few clicks!
By upgrading Protect, you also unlock malware scanning with one-click fixes for most issues and instant notifications when threats are detected. Our automated Web Application Firewall (WAF) also protects your site from bad actors around the clock.
@ -28,7 +28,7 @@ Jetpack Protect scans your site on a daily basis and warns you about:
- What themes are installed, and any associated vulnerabilities
= What are vulnerabilities? Why do I need to scan my site regularly? =
Site vulnerabilities are flaws in a website's code that weaken the site's overall security. These can be introduced to a site in various ways, in most cases unintentionally.
Site vulnerabilities are flaws in a website's code that weaken the site's overall security. These can be introduced to a site in various ways, in most cases unintentionally.
Some of the ways vulnerabilities can be introduced to a site are:
- Poorly written site code
@ -36,10 +36,18 @@ Some of the ways vulnerabilities can be introduced to a site are:
- WordPress version bugs
- System misconfigurations
If a bad actor detects a vulnerability on your site, they can exploit it to access sensitive information, update your site, and more to damage your business or brand.
If a bad actor detects a vulnerability on your site, they can exploit it to access sensitive information, update your site, and more to damage your business or brand.
Thats why its essential to use a reputable and reliable vulnerability & malware site scanner like Jetpack Protect to safeguard your site.
= Can I use Jetpack Scan to fix a site that is already infected? =
Jetpack Protect (Scan) detects and prevents attacks, but is not designed to fully clean up sites infected before it was active. If your site has malware, take immediate action to clean it up and remove the malicious code.
To clean up your site, we suggest using a malware removal tool, or if possible restore from a backup taken before the infection. We recommend using Jetpack VaultPress Backup in conjunction with Jetpack Scan to secure your website.
[Learn more about cleaning your site](https://jetpack.com/support/scan/how-to-clean-your-hacked-wordpress-site/)
== UPGRADE PROTECT TO REMOVE MALWARE IN ONE CLICK AND BE PROTECTED BY OUR WAF ==
By upgrading Protect, you unlock total site security from WordPress experts:
- Automated daily malware scanning in addition to vulnerability checks
@ -56,9 +64,9 @@ Similar to the vulnerabilities listed above, bad actors can use malware to captu
Jetpack Protect instantly notifies you of any threats detected, with one-click fixes for most issues.
= What is a Web Application Firewall (WAF)? =
A web application firewall blocks traffic and malicious requests to your site from known bad actors.
A web application firewall blocks traffic and malicious requests to your site from known bad actors.
As threats are detected, new rules are added to Jetpack Protects firewall, which provides around-the-clock protection for your WordPress site.
As threats are detected, new rules are added to Jetpack Protects firewall, which provides around-the-clock protection for your WordPress site.
== OVER 38,393 REGISTERED VULNERABILITIES IN OUR DATABASE ==
@ -94,7 +102,7 @@ Protect is a free WordPress security and malware scanner plugin that scans your
The free plan scans your site for WordPress version, plugin, and theme vulnerabilities from our extensive vulnerability database (38,393) that is powered by WPScan.
By upgrading Protect, you gain access to WordPress malware scanning with one-click fixes, instant threat notifications, and our Web application Firewall (WAF) that protects your site around the clock.
By upgrading Protect, you gain access to WordPress malware scanning with one-click fixes, instant threat notifications, and our Web application Firewall (WAF) that protects your site around the clock.
= Does this plugin require the Jetpack plugin to work? =
@ -110,7 +118,7 @@ If you are already a Jetpack Scan, Jetpack Security, or Jetpack Complete custome
WPScan is an enterprise vulnerability scanning solution. It is not recommended for small to medium-sized businesses. If you are an enterprise company looking for custom WordPress site protection solutions, please visit: https://wpscan.com/
For small to medium-sized businesses, you can access our vulnerability scanning solution in the Jetpack Protect plugin.
For small to medium-sized businesses, you can access our vulnerability scanning solution in the Jetpack Protect plugin.
= Will Jetpack Protect work on my local site?
@ -122,7 +130,7 @@ You can visit Jetpack Protect dashboard in your WordPress admin panel to see the
= What do I do if Jetpack Protect finds a security threat? =
When the vulnerability scanner finds a security threat, you can view the recommended actions on the Jetpack Protect dashboard to secure your sites.
When the vulnerability scanner finds a security threat, you can view the recommended actions on the Jetpack Protect dashboard to secure your sites.
If you have upgraded Protect, your site will also be automatically scanned for malware each day, and you will be notified instantly via email if any threats are detected. You will be able to fix most issues in one click.
@ -150,17 +158,12 @@ The new Jetpack Protect plugin is different from the Jetpack feature formerly kn
4. The Jetpack Firewall is a web application firewall (known as WAF) designed to protect your WordPress site from malicious requests.
== Changelog ==
### 1.3.0-beta2 - 2023-03-08
### 1.4.0 - 2023-05-05
#### Added
- Add link to pricing page for getting started with an existing plan or license key.
- Add brute force protection.
#### Changed
- General: indicate full compatibility with the latest version of WordPress, 6.2.
- Improve the firewall status heading to provide more information based on the current configuration.
- Updated package dependencies.
- Update to React 18.
- Use `flex-start`/`flex-end` instead of `start`/`end` for better browser compatibility.
#### Fixed
- Remove unnecessary full path from example in UI.
- Fix connection button loading indicators.
- Fix Protect status report caching.

View File

@ -38,7 +38,7 @@ class Jetpack_Protect {
*
* @var string
*/
const JETPACK_SCAN_PRODUCT_IDS = array(
const JETPACK_SCAN_PRODUCT_IDS = array(
2010, // JETPACK_SECURITY_DAILY.
2011, // JETPACK_SECURITY_DAILY_MOTNHLY.
2012, // JETPACK_SECURITY_REALTIME.
@ -54,8 +54,9 @@ class Jetpack_Protect {
2108, // JETPACK_SCAN_REALTIME.
2109, // JETPACK_SCAN_REALTIME_MONTHLY.
);
const JETPACK_WAF_MODULE_SLUG = 'waf';
const JETPACK_PROTECT_ACTIVATION_OPTION = JETPACK_PROTECT_SLUG . '_activated';
const JETPACK_WAF_MODULE_SLUG = 'waf';
const JETPACK_BRUTE_FORCE_PROTECTION_MODULE_SLUG = 'protect';
const JETPACK_PROTECT_ACTIVATION_OPTION = JETPACK_PROTECT_SLUG . '_activated';
/**
* Constructor.
@ -260,16 +261,17 @@ class Jetpack_Protect {
*/
public static function do_plugin_activation_activities() {
if ( get_option( self::JETPACK_PROTECT_ACTIVATION_OPTION ) && ( new Connection_Manager() )->is_connected() ) {
self::activate_module();
self::activate_modules();
}
}
/**
* Activates the Publicize module and disables the activation option
* Activates the waf and brute force protection modules and disables the activation option
*/
public static function activate_module() {
public static function activate_modules() {
delete_option( self::JETPACK_PROTECT_ACTIVATION_OPTION );
( new Modules() )->activate( self::JETPACK_WAF_MODULE_SLUG, false, false );
( new Modules() )->activate( self::JETPACK_BRUTE_FORCE_PROTECTION_MODULE_SLUG, false, false );
}
/**
@ -319,13 +321,13 @@ class Jetpack_Protect {
}
/**
* Adds module to the list of available modules
* Adds modules to the list of available modules
*
* @param array $modules The available modules.
* @return array
*/
public function protect_filter_available_modules( $modules ) {
return array_merge( array( self::JETPACK_WAF_MODULE_SLUG ), $modules );
return array_merge( array( self::JETPACK_WAF_MODULE_SLUG, self::JETPACK_BRUTE_FORCE_PROTECTION_MODULE_SLUG ), $modules );
}
/**

View File

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0::getLoader();
return ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0::getLoader();

View File

@ -5,7 +5,7 @@
* @package automattic/jetpack-autoloader
*/
namespace Automattic\Jetpack\Autoloader\jpc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0;
namespace Automattic\Jetpack\Autoloader\jpc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0;
// phpcs:ignore

View File

@ -164,6 +164,11 @@ return array(
'Automattic\\Jetpack\\Transport_Helper\\Helper_Script_Manager' => $baseDir . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-helper-script-manager.php',
'Automattic\\Jetpack\\Transport_Helper\\Package_Version' => $baseDir . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-package-version.php',
'Automattic\\Jetpack\\Transport_Helper\\REST_Controller' => $baseDir . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-rest-controller.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-brute-force-protection.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Blocked_Login_Page' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-blocked-login-page.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Math_Authenticate' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-math-fallback.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Shared_Functions' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-shared-functions.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Transient_Cleanup' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-transient-cleanup.php',
'Automattic\\Jetpack\\Waf\\CLI' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-cli.php',
'Automattic\\Jetpack\\Waf\\File_System_Exception' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/exceptions/class-file-system-exception.php',
'Automattic\\Jetpack\\Waf\\REST_Controller' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-rest-controller.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0
class ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0
{
private static $loader;
@ -24,19 +24,19 @@ class ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$includeFiles = \Composer\Autoload\ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0::$files;
$includeFiles = \Composer\Autoload\ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0::$files;
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequirec4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0($fileIdentifier, $file);
composerRequirec4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0($fileIdentifier, $file);
}
return $loader;
@ -48,7 +48,7 @@ class ComposerAutoloaderInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0
* @param string $file
* @return void
*/
function composerRequirec4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0($fileIdentifier, $file)
function composerRequirec4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0
class ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0
{
public static $files = array (
'3773ef3f09c37da5478d578e32b03a4b' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-assets/actions.php',
@ -185,6 +185,11 @@ class ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0
'Automattic\\Jetpack\\Transport_Helper\\Helper_Script_Manager' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-helper-script-manager.php',
'Automattic\\Jetpack\\Transport_Helper\\Package_Version' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-package-version.php',
'Automattic\\Jetpack\\Transport_Helper\\REST_Controller' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-rest-controller.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/class-brute-force-protection.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Blocked_Login_Page' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-blocked-login-page.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Math_Authenticate' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-math-fallback.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Shared_Functions' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-shared-functions.php',
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Transient_Cleanup' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-transient-cleanup.php',
'Automattic\\Jetpack\\Waf\\CLI' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-cli.php',
'Automattic\\Jetpack\\Waf\\File_System_Exception' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/exceptions/class-file-system-exception.php',
'Automattic\\Jetpack\\Waf\\REST_Controller' => __DIR__ . '/../..' . '/jetpack_vendor/automattic/jetpack-waf/src/class-rest-controller.php',
@ -215,9 +220,9 @@ class ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_3_0::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitc4802e05bbcf59fd3b6350e8d3e5482c_protectⓥ1_4_0::$classMap;
}, null, ClassLoader::class);
}

View File

@ -2,24 +2,27 @@
"packages": [
{
"name": "automattic/jetpack-a8c-mc-stats",
"version": "v1.4.19",
"version_normalized": "1.4.19.0",
"version": "v1.4.20",
"version_normalized": "1.4.20.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-a8c-mc-stats.git",
"reference": "ded2af3f96ea6820d6d39bcd7ab9e1a3d1e42f94"
"reference": "6743d34fe7556455e17cbe1b7c90ed39a1f69089"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-a8c-mc-stats/zipball/ded2af3f96ea6820d6d39bcd7ab9e1a3d1e42f94",
"reference": "ded2af3f96ea6820d6d39bcd7ab9e1a3d1e42f94",
"url": "https://api.github.com/repos/Automattic/jetpack-a8c-mc-stats/zipball/6743d34fe7556455e17cbe1b7c90ed39a1f69089",
"reference": "6743d34fe7556455e17cbe1b7c90ed39a1f69089",
"shasum": ""
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:07+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:38+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -43,31 +46,35 @@
],
"description": "Used to record internal usage stats for Automattic. Not visible to site owners.",
"support": {
"source": "https://github.com/Automattic/jetpack-a8c-mc-stats/tree/v1.4.19"
"source": "https://github.com/Automattic/jetpack-a8c-mc-stats/tree/v1.4.20"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-a8c-mc-stats"
},
{
"name": "automattic/jetpack-admin-ui",
"version": "v0.2.17",
"version_normalized": "0.2.17.0",
"version": "v0.2.19",
"version_normalized": "0.2.19.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-admin-ui.git",
"reference": "5b8f0f972c237d761fa438758d51f17e1b489343"
"reference": "ae3c7f7a3bd564172ce48f72447ecea2c7508a5a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-admin-ui/zipball/5b8f0f972c237d761fa438758d51f17e1b489343",
"reference": "5b8f0f972c237d761fa438758d51f17e1b489343",
"url": "https://api.github.com/repos/Automattic/jetpack-admin-ui/zipball/ae3c7f7a3bd564172ce48f72447ecea2c7508a5a",
"reference": "ae3c7f7a3bd564172ce48f72447ecea2c7508a5a",
"shasum": ""
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/jetpack-logo": "^1.6.1",
"automattic/wordbless": "dev-master",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:29+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:44:03+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -95,23 +102,23 @@
],
"description": "Generic Jetpack wp-admin UI elements",
"support": {
"source": "https://github.com/Automattic/jetpack-admin-ui/tree/v0.2.17"
"source": "https://github.com/Automattic/jetpack-admin-ui/tree/v0.2.19"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-admin-ui"
},
{
"name": "automattic/jetpack-assets",
"version": "v1.17.33",
"version_normalized": "1.17.33.0",
"version": "v1.17.34",
"version_normalized": "1.17.34.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-assets.git",
"reference": "c2194ade40c01062fe1a1904c16d203df55fe968"
"reference": "73ec392493a1364dcc9e57c878136bf5c91e24af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-assets/zipball/c2194ade40c01062fe1a1904c16d203df55fe968",
"reference": "c2194ade40c01062fe1a1904c16d203df55fe968",
"url": "https://api.github.com/repos/Automattic/jetpack-assets/zipball/73ec392493a1364dcc9e57c878136bf5c91e24af",
"reference": "73ec392493a1364dcc9e57c878136bf5c91e24af",
"shasum": ""
},
"require": {
@ -123,7 +130,7 @@
"wikimedia/testing-access-wrapper": "^1.0 || ^2.0",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-03-07T21:59:53+00:00",
"time": "2023-03-20T19:06:49+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -151,23 +158,23 @@
],
"description": "Asset management utilities for Jetpack ecosystem packages",
"support": {
"source": "https://github.com/Automattic/jetpack-assets/tree/v1.17.33"
"source": "https://github.com/Automattic/jetpack-assets/tree/v1.17.34"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-assets"
},
{
"name": "automattic/jetpack-autoloader",
"version": "v2.11.16",
"version_normalized": "2.11.16.0",
"version": "v2.11.18",
"version_normalized": "2.11.18.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-autoloader.git",
"reference": "43bc969fd90ce3d92e7b75fbf384a5fd03963dad"
"reference": "53cbf0528fa6931c4fa6465bccd37514f9eda720"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/43bc969fd90ce3d92e7b75fbf384a5fd03963dad",
"reference": "43bc969fd90ce3d92e7b75fbf384a5fd03963dad",
"url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/53cbf0528fa6931c4fa6465bccd37514f9eda720",
"reference": "53cbf0528fa6931c4fa6465bccd37514f9eda720",
"shasum": ""
},
"require": {
@ -177,7 +184,7 @@
"automattic/jetpack-changelogger": "^3.3.2",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:16+00:00",
"time": "2023-03-29T12:51:59+00:00",
"type": "composer-plugin",
"extra": {
"autotagger": true,
@ -205,7 +212,7 @@
],
"description": "Creates a custom autoloader for a plugin or theme.",
"support": {
"source": "https://github.com/Automattic/jetpack-autoloader/tree/v2.11.16"
"source": "https://github.com/Automattic/jetpack-autoloader/tree/v2.11.18"
},
"install-path": "../automattic/jetpack-autoloader"
},
@ -264,23 +271,23 @@
},
{
"name": "automattic/jetpack-config",
"version": "v1.14.0",
"version_normalized": "1.14.0.0",
"version": "v1.15.1",
"version_normalized": "1.15.1.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-config.git",
"reference": "91eedef710b41fba8704089af41c4bac7821f808"
"reference": "e4985903fb40dbc7c03bdaf58f4a80ac72c50570"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-config/zipball/91eedef710b41fba8704089af41c4bac7821f808",
"reference": "91eedef710b41fba8704089af41c4bac7821f808",
"url": "https://api.github.com/repos/Automattic/jetpack-config/zipball/e4985903fb40dbc7c03bdaf58f4a80ac72c50570",
"reference": "e4985903fb40dbc7c03bdaf58f4a80ac72c50570",
"shasum": ""
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2"
},
"time": "2023-02-20T19:46:52+00:00",
"time": "2023-03-29T12:51:51+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -290,7 +297,7 @@
"link-template": "https://github.com/Automattic/jetpack-config/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "1.14.x-dev"
"dev-trunk": "1.15.x-dev"
}
},
"installation-source": "dist",
@ -305,32 +312,32 @@
],
"description": "Jetpack configuration package that initializes other packages and configures Jetpack's functionality. Can be used as a base for all variants of Jetpack package usage.",
"support": {
"source": "https://github.com/Automattic/jetpack-config/tree/v1.14.0"
"source": "https://github.com/Automattic/jetpack-config/tree/v1.15.1"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-config"
},
{
"name": "automattic/jetpack-connection",
"version": "v1.51.1",
"version_normalized": "1.51.1.0",
"version": "v1.51.7",
"version_normalized": "1.51.7.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-connection.git",
"reference": "47e2b93fd408d188aae6889f19900879f417dafd"
"reference": "4c4bae836858957d9aaf6854cf4e24c3261242c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-connection/zipball/47e2b93fd408d188aae6889f19900879f417dafd",
"reference": "47e2b93fd408d188aae6889f19900879f417dafd",
"url": "https://api.github.com/repos/Automattic/jetpack-connection/zipball/4c4bae836858957d9aaf6854cf4e24c3261242c4",
"reference": "4c4bae836858957d9aaf6854cf4e24c3261242c4",
"shasum": ""
},
"require": {
"automattic/jetpack-a8c-mc-stats": "^1.4.19",
"automattic/jetpack-admin-ui": "^0.2.17",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-redirect": "^1.7.24",
"automattic/jetpack-roles": "^1.4.22",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-a8c-mc-stats": "^1.4.20",
"automattic/jetpack-admin-ui": "^0.2.19",
"automattic/jetpack-constants": "^1.6.22",
"automattic/jetpack-redirect": "^1.7.25",
"automattic/jetpack-roles": "^1.4.23",
"automattic/jetpack-status": "^1.16.4"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
@ -338,7 +345,10 @@
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-03-07T21:59:59+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:44:13+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -368,23 +378,23 @@
],
"description": "Everything needed to connect to the Jetpack infrastructure",
"support": {
"source": "https://github.com/Automattic/jetpack-connection/tree/v1.51.1"
"source": "https://github.com/Automattic/jetpack-connection/tree/v1.51.7"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-connection"
},
{
"name": "automattic/jetpack-constants",
"version": "v1.6.21",
"version_normalized": "1.6.21.0",
"version": "v1.6.22",
"version_normalized": "1.6.22.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-constants.git",
"reference": "e5730da0adc94e8513539818b4a3cce10943bf20"
"reference": "7b5c44d763c7b0dd7498be2b41a89bfefe84834c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-constants/zipball/e5730da0adc94e8513539818b4a3cce10943bf20",
"reference": "e5730da0adc94e8513539818b4a3cce10943bf20",
"url": "https://api.github.com/repos/Automattic/jetpack-constants/zipball/7b5c44d763c7b0dd7498be2b41a89bfefe84834c",
"reference": "7b5c44d763c7b0dd7498be2b41a89bfefe84834c",
"shasum": ""
},
"require-dev": {
@ -392,7 +402,10 @@
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:20+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:45+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -416,30 +429,33 @@
],
"description": "A wrapper for defining constants in a more testable way.",
"support": {
"source": "https://github.com/Automattic/jetpack-constants/tree/v1.6.21"
"source": "https://github.com/Automattic/jetpack-constants/tree/v1.6.22"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-constants"
},
{
"name": "automattic/jetpack-device-detection",
"version": "v1.4.24",
"version_normalized": "1.4.24.0",
"version": "v1.4.25",
"version_normalized": "1.4.25.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-device-detection.git",
"reference": "9931222d1865eaf7efd26c9e88518e632593f7e2"
"reference": "cf6297f71412dce19522193c2d517cd230a0bee9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-device-detection/zipball/9931222d1865eaf7efd26c9e88518e632593f7e2",
"reference": "9931222d1865eaf7efd26c9e88518e632593f7e2",
"url": "https://api.github.com/repos/Automattic/jetpack-device-detection/zipball/cf6297f71412dce19522193c2d517cd230a0bee9",
"reference": "cf6297f71412dce19522193c2d517cd230a0bee9",
"shasum": ""
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:12+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:41+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -463,28 +479,28 @@
],
"description": "A way to detect device types based on User-Agent header.",
"support": {
"source": "https://github.com/Automattic/jetpack-device-detection/tree/v1.4.24"
"source": "https://github.com/Automattic/jetpack-device-detection/tree/v1.4.25"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-device-detection"
},
{
"name": "automattic/jetpack-identity-crisis",
"version": "v0.8.39",
"version_normalized": "0.8.39.0",
"version": "v0.8.40",
"version_normalized": "0.8.40.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-identity-crisis.git",
"reference": "5f78ba602a91faf57d8f61a1c9afb6ece590b490"
"reference": "9c52db5e021d6792084e1d225347b82acae2ce86"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-identity-crisis/zipball/5f78ba602a91faf57d8f61a1c9afb6ece590b490",
"reference": "5f78ba602a91faf57d8f61a1c9afb6ece590b490",
"url": "https://api.github.com/repos/Automattic/jetpack-identity-crisis/zipball/9c52db5e021d6792084e1d225347b82acae2ce86",
"reference": "9c52db5e021d6792084e1d225347b82acae2ce86",
"shasum": ""
},
"require": {
"automattic/jetpack-assets": "^1.17.33",
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-assets": "^1.17.34",
"automattic/jetpack-connection": "^1.51.2",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-logo": "^1.5.22",
"automattic/jetpack-status": "^1.16.2"
@ -494,7 +510,7 @@
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-03-07T22:00:23+00:00",
"time": "2023-03-20T19:07:29+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -522,23 +538,23 @@
],
"description": "Identity Crisis.",
"support": {
"source": "https://github.com/Automattic/jetpack-identity-crisis/tree/v0.8.39"
"source": "https://github.com/Automattic/jetpack-identity-crisis/tree/v0.8.40"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-identity-crisis"
},
{
"name": "automattic/jetpack-ip",
"version": "v0.1.0",
"version_normalized": "0.1.0.0",
"version": "v0.1.2",
"version_normalized": "0.1.2.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-ip.git",
"reference": "40127db21a250d0accf03d613e7979518b7b5a19"
"reference": "8cc665d68ef5230de78e2701b61b91af64d8dfe6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-ip/zipball/40127db21a250d0accf03d613e7979518b7b5a19",
"reference": "40127db21a250d0accf03d613e7979518b7b5a19",
"url": "https://api.github.com/repos/Automattic/jetpack-ip/zipball/8cc665d68ef5230de78e2701b61b91af64d8dfe6",
"reference": "8cc665d68ef5230de78e2701b61b91af64d8dfe6",
"shasum": ""
},
"require-dev": {
@ -546,7 +562,10 @@
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-28T17:37:09+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:44+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -574,41 +593,41 @@
],
"description": "Utilities for working with IP addresses.",
"support": {
"source": "https://github.com/Automattic/jetpack-ip/tree/v0.1.0"
"source": "https://github.com/Automattic/jetpack-ip/tree/v0.1.2"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-ip"
},
{
"name": "automattic/jetpack-jitm",
"version": "v2.3.1",
"version_normalized": "2.3.1.0",
"version": "v2.3.4",
"version_normalized": "2.3.4.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-jitm.git",
"reference": "1cf85b017cb80d7595967f67e3b8bc73f1b0639d"
"reference": "950d01008784d9c360ceb92bc4b67dcced76ff8c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-jitm/zipball/1cf85b017cb80d7595967f67e3b8bc73f1b0639d",
"reference": "1cf85b017cb80d7595967f67e3b8bc73f1b0639d",
"url": "https://api.github.com/repos/Automattic/jetpack-jitm/zipball/950d01008784d9c360ceb92bc4b67dcced76ff8c",
"reference": "950d01008784d9c360ceb92bc4b67dcced76ff8c",
"shasum": ""
},
"require": {
"automattic/jetpack-a8c-mc-stats": "^1.4.19",
"automattic/jetpack-assets": "^1.17.33",
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-assets": "^1.17.34",
"automattic/jetpack-connection": "^1.51.4",
"automattic/jetpack-device-detection": "^1.4.24",
"automattic/jetpack-logo": "^1.5.22",
"automattic/jetpack-partner": "^1.7.22",
"automattic/jetpack-redirect": "^1.7.24",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-status": "^1.16.3"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-03-07T22:00:25+00:00",
"time": "2023-03-29T12:52:57+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -636,34 +655,37 @@
],
"description": "Just in time messages for Jetpack",
"support": {
"source": "https://github.com/Automattic/jetpack-jitm/tree/v2.3.1"
"source": "https://github.com/Automattic/jetpack-jitm/tree/v2.3.4"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-jitm"
},
{
"name": "automattic/jetpack-licensing",
"version": "v1.8.1",
"version_normalized": "1.8.1.0",
"version": "v1.8.2",
"version_normalized": "1.8.2.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-licensing.git",
"reference": "a7bbb1e8c8fac7ff6b4fb04445ca5cc6b154de05"
"reference": "46ff51c6f1f8ab5206d8bc93ec5bb23e1c174def"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-licensing/zipball/a7bbb1e8c8fac7ff6b4fb04445ca5cc6b154de05",
"reference": "a7bbb1e8c8fac7ff6b4fb04445ca5cc6b154de05",
"url": "https://api.github.com/repos/Automattic/jetpack-licensing/zipball/46ff51c6f1f8ab5206d8bc93ec5bb23e1c174def",
"reference": "46ff51c6f1f8ab5206d8bc93ec5bb23e1c174def",
"shasum": ""
},
"require": {
"automattic/jetpack-connection": "^1.51.0"
"automattic/jetpack-connection": "^1.51.7"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:48:18+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:44:26+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -688,30 +710,33 @@
],
"description": "Everything needed to manage Jetpack licenses client-side.",
"support": {
"source": "https://github.com/Automattic/jetpack-licensing/tree/v1.8.1"
"source": "https://github.com/Automattic/jetpack-licensing/tree/v1.8.2"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-licensing"
},
{
"name": "automattic/jetpack-logo",
"version": "v1.5.22",
"version_normalized": "1.5.22.0",
"version": "v1.6.1",
"version_normalized": "1.6.1.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-logo.git",
"reference": "21b4ac9b32556ffdace7b7e22d21a954e01d5229"
"reference": "6a7b9e5602ca81c207e573dfed9e4fc1dd6a279b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-logo/zipball/21b4ac9b32556ffdace7b7e22d21a954e01d5229",
"reference": "21b4ac9b32556ffdace7b7e22d21a954e01d5229",
"url": "https://api.github.com/repos/Automattic/jetpack-logo/zipball/6a7b9e5602ca81c207e573dfed9e4fc1dd6a279b",
"reference": "6a7b9e5602ca81c207e573dfed9e4fc1dd6a279b",
"shasum": ""
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:14+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:42+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -720,7 +745,7 @@
"link-template": "https://github.com/Automattic/jetpack-logo/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "1.5.x-dev"
"dev-trunk": "1.6.x-dev"
}
},
"installation-source": "dist",
@ -735,42 +760,42 @@
],
"description": "A logo for Jetpack",
"support": {
"source": "https://github.com/Automattic/jetpack-logo/tree/v1.5.22"
"source": "https://github.com/Automattic/jetpack-logo/tree/v1.6.1"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-logo"
},
{
"name": "automattic/jetpack-my-jetpack",
"version": "v2.7.13",
"version_normalized": "2.7.13.0",
"version": "v2.9.1",
"version_normalized": "2.9.1.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-my-jetpack.git",
"reference": "91ae156309fcd443e5db7fc23b13e54bf154bde4"
"reference": "7b04d4767e18e06521d66863124579cbcabb2366"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-my-jetpack/zipball/91ae156309fcd443e5db7fc23b13e54bf154bde4",
"reference": "91ae156309fcd443e5db7fc23b13e54bf154bde4",
"url": "https://api.github.com/repos/Automattic/jetpack-my-jetpack/zipball/7b04d4767e18e06521d66863124579cbcabb2366",
"reference": "7b04d4767e18e06521d66863124579cbcabb2366",
"shasum": ""
},
"require": {
"automattic/jetpack-admin-ui": "^0.2.17",
"automattic/jetpack-assets": "^1.17.33",
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-assets": "^1.17.34",
"automattic/jetpack-connection": "^1.51.4",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-jitm": "^2.3.1",
"automattic/jetpack-jitm": "^2.3.4",
"automattic/jetpack-licensing": "^1.8.1",
"automattic/jetpack-plugins-installer": "^0.2.3",
"automattic/jetpack-redirect": "^1.7.24"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/jetpack-videopress": "^0.11.1",
"automattic/jetpack-videopress": "^0.13.4-alpha",
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-03-07T22:00:33+00:00",
"time": "2023-03-29T12:53:10+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -780,7 +805,7 @@
"link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}"
},
"branch-alias": {
"dev-trunk": "2.7.x-dev"
"dev-trunk": "2.9.x-dev"
},
"version-constants": {
"::PACKAGE_VERSION": "src/class-initializer.php"
@ -799,28 +824,28 @@
],
"description": "WP Admin page with information and configuration shared among all Jetpack stand-alone plugins",
"support": {
"source": "https://github.com/Automattic/jetpack-my-jetpack/tree/v2.7.13"
"source": "https://github.com/Automattic/jetpack-my-jetpack/tree/v2.9.1"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-my-jetpack"
},
{
"name": "automattic/jetpack-partner",
"version": "v1.7.22",
"version_normalized": "1.7.22.0",
"version": "v1.7.23",
"version_normalized": "1.7.23.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-partner.git",
"reference": "29f57c31b0b2074e0560a2550f934105dc3010ed"
"reference": "6b179bff7c0863015aa699939e1dfe2bd4c97974"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-partner/zipball/29f57c31b0b2074e0560a2550f934105dc3010ed",
"reference": "29f57c31b0b2074e0560a2550f934105dc3010ed",
"url": "https://api.github.com/repos/Automattic/jetpack-partner/zipball/6b179bff7c0863015aa699939e1dfe2bd4c97974",
"reference": "6b179bff7c0863015aa699939e1dfe2bd4c97974",
"shasum": ""
},
"require": {
"automattic/jetpack-connection": "^1.51.0",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-connection": "^1.51.7",
"automattic/jetpack-status": "^1.16.4"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
@ -828,7 +853,10 @@
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:48:15+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:44:29+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -852,23 +880,23 @@
],
"description": "Support functions for Jetpack hosting partners.",
"support": {
"source": "https://github.com/Automattic/jetpack-partner/tree/v1.7.22"
"source": "https://github.com/Automattic/jetpack-partner/tree/v1.7.23"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-partner"
},
{
"name": "automattic/jetpack-password-checker",
"version": "v0.2.11",
"version_normalized": "0.2.11.0",
"version": "v0.2.13",
"version_normalized": "0.2.13.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-password-checker.git",
"reference": "19c240bd8d62974788f13a8f47c8151a970a9fb2"
"reference": "16b88d370ca2f59b38e6c44bc37fc43e72090dad"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-password-checker/zipball/19c240bd8d62974788f13a8f47c8151a970a9fb2",
"reference": "19c240bd8d62974788f13a8f47c8151a970a9fb2",
"url": "https://api.github.com/repos/Automattic/jetpack-password-checker/zipball/16b88d370ca2f59b38e6c44bc37fc43e72090dad",
"reference": "16b88d370ca2f59b38e6c44bc37fc43e72090dad",
"shasum": ""
},
"require-dev": {
@ -876,7 +904,10 @@
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:27+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:53+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -901,7 +932,7 @@
],
"description": "Password Checker.",
"support": {
"source": "https://github.com/Automattic/jetpack-password-checker/tree/v0.2.11"
"source": "https://github.com/Automattic/jetpack-password-checker/tree/v0.2.13"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-password-checker"
},
@ -1010,28 +1041,31 @@
},
{
"name": "automattic/jetpack-redirect",
"version": "v1.7.24",
"version_normalized": "1.7.24.0",
"version": "v1.7.25",
"version_normalized": "1.7.25.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-redirect.git",
"reference": "17cde47d57e167d63d32f00c764b2a3b002dda2e"
"reference": "67d7dce123d4af4fec4b4fe15e99aaad85308314"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-redirect/zipball/17cde47d57e167d63d32f00c764b2a3b002dda2e",
"reference": "17cde47d57e167d63d32f00c764b2a3b002dda2e",
"url": "https://api.github.com/repos/Automattic/jetpack-redirect/zipball/67d7dce123d4af4fec4b4fe15e99aaad85308314",
"reference": "67d7dce123d4af4fec4b4fe15e99aaad85308314",
"shasum": ""
},
"require": {
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-status": "^1.16.4"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:51+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:44:05+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -1055,23 +1089,23 @@
],
"description": "Utilities to build URLs to the jetpack.com/redirect/ service",
"support": {
"source": "https://github.com/Automattic/jetpack-redirect/tree/v1.7.24"
"source": "https://github.com/Automattic/jetpack-redirect/tree/v1.7.25"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-redirect"
},
{
"name": "automattic/jetpack-roles",
"version": "v1.4.22",
"version_normalized": "1.4.22.0",
"version": "v1.4.23",
"version_normalized": "1.4.23.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-roles.git",
"reference": "47ba3b10ca8f2494719f3a099d7be473343525ba"
"reference": "f147b3e8061fc0de2a892ddc4f4156eb995545f9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-roles/zipball/47ba3b10ca8f2494719f3a099d7be473343525ba",
"reference": "47ba3b10ca8f2494719f3a099d7be473343525ba",
"url": "https://api.github.com/repos/Automattic/jetpack-roles/zipball/f147b3e8061fc0de2a892ddc4f4156eb995545f9",
"reference": "f147b3e8061fc0de2a892ddc4f4156eb995545f9",
"shasum": ""
},
"require-dev": {
@ -1079,7 +1113,10 @@
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:23+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-10T11:43:48+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -1103,34 +1140,38 @@
],
"description": "Utilities, related with user roles and capabilities.",
"support": {
"source": "https://github.com/Automattic/jetpack-roles/tree/v1.4.22"
"source": "https://github.com/Automattic/jetpack-roles/tree/v1.4.23"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-roles"
},
{
"name": "automattic/jetpack-status",
"version": "v1.16.2",
"version_normalized": "1.16.2.0",
"version": "v1.17.0",
"version_normalized": "1.17.0.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-status.git",
"reference": "771073459f95233238a6ceac073203d77613a151"
"reference": "a16c59bb54cac04c579621efffa1ca1d5738c5cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-status/zipball/771073459f95233238a6ceac073203d77613a151",
"reference": "771073459f95233238a6ceac073203d77613a151",
"url": "https://api.github.com/repos/Automattic/jetpack-status/zipball/a16c59bb54cac04c579621efffa1ca1d5738c5cc",
"reference": "a16c59bb54cac04c579621efffa1ca1d5738c5cc",
"shasum": ""
},
"require": {
"automattic/jetpack-constants": "^1.6.21"
"automattic/jetpack-constants": "^1.6.22"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/jetpack-ip": "^0.1.2",
"brain/monkey": "2.6.1",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:47:47+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-17T13:43:20+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -1139,7 +1180,7 @@
"link-template": "https://github.com/Automattic/jetpack-status/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "1.16.x-dev"
"dev-trunk": "1.17.x-dev"
}
},
"installation-source": "dist",
@ -1154,39 +1195,40 @@
],
"description": "Used to retrieve information about the current status of Jetpack and the site overall.",
"support": {
"source": "https://github.com/Automattic/jetpack-status/tree/v1.16.2"
"source": "https://github.com/Automattic/jetpack-status/tree/v1.17.0"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-status"
},
{
"name": "automattic/jetpack-sync",
"version": "v1.47.2",
"version_normalized": "1.47.2.0",
"version": "v1.47.4",
"version_normalized": "1.47.4.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-sync.git",
"reference": "dc0c6d49b3ee2a0915e0a5b5c0e3fe427c72353d"
"reference": "9c7f25eb8e63a9fbaa1639eaf2f68f46739e5cde"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-sync/zipball/dc0c6d49b3ee2a0915e0a5b5c0e3fe427c72353d",
"reference": "dc0c6d49b3ee2a0915e0a5b5c0e3fe427c72353d",
"url": "https://api.github.com/repos/Automattic/jetpack-sync/zipball/9c7f25eb8e63a9fbaa1639eaf2f68f46739e5cde",
"reference": "9c7f25eb8e63a9fbaa1639eaf2f68f46739e5cde",
"shasum": ""
},
"require": {
"automattic/jetpack-connection": "^1.51.0",
"automattic/jetpack-connection": "^1.51.3",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-identity-crisis": "^0.8.38",
"automattic/jetpack-password-checker": "^0.2.11",
"automattic/jetpack-identity-crisis": "^0.8.40",
"automattic/jetpack-ip": "^0.1.1",
"automattic/jetpack-password-checker": "^0.2.12",
"automattic/jetpack-roles": "^1.4.22",
"automattic/jetpack-status": "^1.16.2"
"automattic/jetpack-status": "^1.16.3"
},
"require-dev": {
"automattic/jetpack-changelogger": "^3.3.2",
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-02-20T19:48:39+00:00",
"time": "2023-03-28T18:48:42+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -1214,7 +1256,7 @@
],
"description": "Everything needed to allow syncing to the WP.com infrastructure.",
"support": {
"source": "https://github.com/Automattic/jetpack-sync/tree/v1.47.2"
"source": "https://github.com/Automattic/jetpack-sync/tree/v1.47.4"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-sync"
},
@ -1278,24 +1320,24 @@
},
{
"name": "automattic/jetpack-waf",
"version": "v0.10.1",
"version_normalized": "0.10.1.0",
"version": "v0.11.4",
"version_normalized": "0.11.4.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-waf.git",
"reference": "0e10c6533db3dd5bb22daa8b974704648f8beb7c"
"reference": "ec68a1429a7bb0ff8c5c4b51186319b86818d0b1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-waf/zipball/0e10c6533db3dd5bb22daa8b974704648f8beb7c",
"reference": "0e10c6533db3dd5bb22daa8b974704648f8beb7c",
"url": "https://api.github.com/repos/Automattic/jetpack-waf/zipball/ec68a1429a7bb0ff8c5c4b51186319b86818d0b1",
"reference": "ec68a1429a7bb0ff8c5c4b51186319b86818d0b1",
"shasum": ""
},
"require": {
"automattic/jetpack-connection": "^1.51.1",
"automattic/jetpack-constants": "^1.6.21",
"automattic/jetpack-ip": "^0.1.0",
"automattic/jetpack-status": "^1.16.2",
"automattic/jetpack-connection": "^1.51.7",
"automattic/jetpack-constants": "^1.6.22",
"automattic/jetpack-ip": "^0.1.2",
"automattic/jetpack-status": "^1.17.0",
"wikimedia/aho-corasick": "^1.0"
},
"require-dev": {
@ -1303,7 +1345,10 @@
"automattic/wordbless": "@dev",
"yoast/phpunit-polyfills": "1.0.4"
},
"time": "2023-03-07T22:00:15+00:00",
"suggest": {
"automattic/jetpack-autoloader": "Allow for better interoperability with other plugins that use this package."
},
"time": "2023-04-27T18:11:36+00:00",
"type": "jetpack-library",
"extra": {
"autotagger": true,
@ -1313,7 +1358,7 @@
"link-template": "https://github.com/Automattic/jetpack-waf/compare/v${old}...v${new}"
},
"branch-alias": {
"dev-trunk": "0.10.x-dev"
"dev-trunk": "0.11.x-dev"
}
},
"installation-source": "dist",
@ -1331,7 +1376,7 @@
],
"description": "Tools to assist with the Jetpack Web Application Firewall",
"support": {
"source": "https://github.com/Automattic/jetpack-waf/tree/v0.10.1"
"source": "https://github.com/Automattic/jetpack-waf/tree/v0.11.4"
},
"install-path": "../../jetpack_vendor/automattic/jetpack-waf"
},

View File

@ -11,36 +11,36 @@
),
'versions' => array(
'automattic/jetpack-a8c-mc-stats' => array(
'pretty_version' => 'v1.4.19',
'version' => '1.4.19.0',
'reference' => 'ded2af3f96ea6820d6d39bcd7ab9e1a3d1e42f94',
'pretty_version' => 'v1.4.20',
'version' => '1.4.20.0',
'reference' => '6743d34fe7556455e17cbe1b7c90ed39a1f69089',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-a8c-mc-stats',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-admin-ui' => array(
'pretty_version' => 'v0.2.17',
'version' => '0.2.17.0',
'reference' => '5b8f0f972c237d761fa438758d51f17e1b489343',
'pretty_version' => 'v0.2.19',
'version' => '0.2.19.0',
'reference' => 'ae3c7f7a3bd564172ce48f72447ecea2c7508a5a',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-admin-ui',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-assets' => array(
'pretty_version' => 'v1.17.33',
'version' => '1.17.33.0',
'reference' => 'c2194ade40c01062fe1a1904c16d203df55fe968',
'pretty_version' => 'v1.17.34',
'version' => '1.17.34.0',
'reference' => '73ec392493a1364dcc9e57c878136bf5c91e24af',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-assets',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-autoloader' => array(
'pretty_version' => 'v2.11.16',
'version' => '2.11.16.0',
'reference' => '43bc969fd90ce3d92e7b75fbf384a5fd03963dad',
'pretty_version' => 'v2.11.18',
'version' => '2.11.18.0',
'reference' => '53cbf0528fa6931c4fa6465bccd37514f9eda720',
'type' => 'composer-plugin',
'install_path' => __DIR__ . '/../automattic/jetpack-autoloader',
'aliases' => array(),
@ -56,108 +56,108 @@
'dev_requirement' => false,
),
'automattic/jetpack-config' => array(
'pretty_version' => 'v1.14.0',
'version' => '1.14.0.0',
'reference' => '91eedef710b41fba8704089af41c4bac7821f808',
'pretty_version' => 'v1.15.1',
'version' => '1.15.1.0',
'reference' => 'e4985903fb40dbc7c03bdaf58f4a80ac72c50570',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-config',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-connection' => array(
'pretty_version' => 'v1.51.1',
'version' => '1.51.1.0',
'reference' => '47e2b93fd408d188aae6889f19900879f417dafd',
'pretty_version' => 'v1.51.7',
'version' => '1.51.7.0',
'reference' => '4c4bae836858957d9aaf6854cf4e24c3261242c4',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-connection',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-constants' => array(
'pretty_version' => 'v1.6.21',
'version' => '1.6.21.0',
'reference' => 'e5730da0adc94e8513539818b4a3cce10943bf20',
'pretty_version' => 'v1.6.22',
'version' => '1.6.22.0',
'reference' => '7b5c44d763c7b0dd7498be2b41a89bfefe84834c',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-constants',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-device-detection' => array(
'pretty_version' => 'v1.4.24',
'version' => '1.4.24.0',
'reference' => '9931222d1865eaf7efd26c9e88518e632593f7e2',
'pretty_version' => 'v1.4.25',
'version' => '1.4.25.0',
'reference' => 'cf6297f71412dce19522193c2d517cd230a0bee9',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-device-detection',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-identity-crisis' => array(
'pretty_version' => 'v0.8.39',
'version' => '0.8.39.0',
'reference' => '5f78ba602a91faf57d8f61a1c9afb6ece590b490',
'pretty_version' => 'v0.8.40',
'version' => '0.8.40.0',
'reference' => '9c52db5e021d6792084e1d225347b82acae2ce86',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-identity-crisis',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-ip' => array(
'pretty_version' => 'v0.1.0',
'version' => '0.1.0.0',
'reference' => '40127db21a250d0accf03d613e7979518b7b5a19',
'pretty_version' => 'v0.1.2',
'version' => '0.1.2.0',
'reference' => '8cc665d68ef5230de78e2701b61b91af64d8dfe6',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-ip',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-jitm' => array(
'pretty_version' => 'v2.3.1',
'version' => '2.3.1.0',
'reference' => '1cf85b017cb80d7595967f67e3b8bc73f1b0639d',
'pretty_version' => 'v2.3.4',
'version' => '2.3.4.0',
'reference' => '950d01008784d9c360ceb92bc4b67dcced76ff8c',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-jitm',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-licensing' => array(
'pretty_version' => 'v1.8.1',
'version' => '1.8.1.0',
'reference' => 'a7bbb1e8c8fac7ff6b4fb04445ca5cc6b154de05',
'pretty_version' => 'v1.8.2',
'version' => '1.8.2.0',
'reference' => '46ff51c6f1f8ab5206d8bc93ec5bb23e1c174def',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-licensing',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-logo' => array(
'pretty_version' => 'v1.5.22',
'version' => '1.5.22.0',
'reference' => '21b4ac9b32556ffdace7b7e22d21a954e01d5229',
'pretty_version' => 'v1.6.1',
'version' => '1.6.1.0',
'reference' => '6a7b9e5602ca81c207e573dfed9e4fc1dd6a279b',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-logo',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-my-jetpack' => array(
'pretty_version' => 'v2.7.13',
'version' => '2.7.13.0',
'reference' => '91ae156309fcd443e5db7fc23b13e54bf154bde4',
'pretty_version' => 'v2.9.1',
'version' => '2.9.1.0',
'reference' => '7b04d4767e18e06521d66863124579cbcabb2366',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-my-jetpack',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-partner' => array(
'pretty_version' => 'v1.7.22',
'version' => '1.7.22.0',
'reference' => '29f57c31b0b2074e0560a2550f934105dc3010ed',
'pretty_version' => 'v1.7.23',
'version' => '1.7.23.0',
'reference' => '6b179bff7c0863015aa699939e1dfe2bd4c97974',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-partner',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-password-checker' => array(
'pretty_version' => 'v0.2.11',
'version' => '0.2.11.0',
'reference' => '19c240bd8d62974788f13a8f47c8151a970a9fb2',
'pretty_version' => 'v0.2.13',
'version' => '0.2.13.0',
'reference' => '16b88d370ca2f59b38e6c44bc37fc43e72090dad',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-password-checker',
'aliases' => array(),
@ -191,36 +191,36 @@
'dev_requirement' => false,
),
'automattic/jetpack-redirect' => array(
'pretty_version' => 'v1.7.24',
'version' => '1.7.24.0',
'reference' => '17cde47d57e167d63d32f00c764b2a3b002dda2e',
'pretty_version' => 'v1.7.25',
'version' => '1.7.25.0',
'reference' => '67d7dce123d4af4fec4b4fe15e99aaad85308314',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-redirect',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-roles' => array(
'pretty_version' => 'v1.4.22',
'version' => '1.4.22.0',
'reference' => '47ba3b10ca8f2494719f3a099d7be473343525ba',
'pretty_version' => 'v1.4.23',
'version' => '1.4.23.0',
'reference' => 'f147b3e8061fc0de2a892ddc4f4156eb995545f9',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-roles',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-status' => array(
'pretty_version' => 'v1.16.2',
'version' => '1.16.2.0',
'reference' => '771073459f95233238a6ceac073203d77613a151',
'pretty_version' => 'v1.17.0',
'version' => '1.17.0.0',
'reference' => 'a16c59bb54cac04c579621efffa1ca1d5738c5cc',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-status',
'aliases' => array(),
'dev_requirement' => false,
),
'automattic/jetpack-sync' => array(
'pretty_version' => 'v1.47.2',
'version' => '1.47.2.0',
'reference' => 'dc0c6d49b3ee2a0915e0a5b5c0e3fe427c72353d',
'pretty_version' => 'v1.47.4',
'version' => '1.47.4.0',
'reference' => '9c7f25eb8e63a9fbaa1639eaf2f68f46739e5cde',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-sync',
'aliases' => array(),
@ -236,9 +236,9 @@
'dev_requirement' => false,
),
'automattic/jetpack-waf' => array(
'pretty_version' => 'v0.10.1',
'version' => '0.10.1.0',
'reference' => '0e10c6533db3dd5bb22daa8b974704648f8beb7c',
'pretty_version' => 'v0.11.4',
'version' => '0.11.4.0',
'reference' => 'ec68a1429a7bb0ff8c5c4b51186319b86818d0b1',
'type' => 'jetpack-library',
'install_path' => __DIR__ . '/../../jetpack_vendor/automattic/jetpack-waf',
'aliases' => array(),

View File

@ -15,55 +15,55 @@ return array(
'path' => $vendorDir . '/wikimedia/aho-corasick/src/MultiStringReplacer.php'
),
'Autoloader' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-autoloader.php'
),
'Autoloader_Handler' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-autoloader-handler.php'
),
'Autoloader_Locator' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-autoloader-locator.php'
),
'Automattic\\Jetpack\\A8c_Mc_Stats' => array(
'version' => '1.4.19.0',
'version' => '1.4.20.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-a8c-mc-stats/src/class-a8c-mc-stats.php'
),
'Automattic\\Jetpack\\Admin_UI\\Admin_Menu' => array(
'version' => '0.2.17.0',
'version' => '0.2.19.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-admin-ui/src/class-admin-menu.php'
),
'Automattic\\Jetpack\\Assets' => array(
'version' => '1.17.33.0',
'version' => '1.17.34.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-assets/src/class-assets.php'
),
'Automattic\\Jetpack\\Assets\\Logo' => array(
'version' => '1.5.22.0',
'version' => '1.6.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-logo/src/class-logo.php'
),
'Automattic\\Jetpack\\Assets\\Semver' => array(
'version' => '1.17.33.0',
'version' => '1.17.34.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-assets/src/class-semver.php'
),
'Automattic\\Jetpack\\Autoloader\\AutoloadFileWriter' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadFileWriter.php'
),
'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
),
'Automattic\\Jetpack\\Autoloader\\AutoloadProcessor' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadProcessor.php'
),
'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
),
'Automattic\\Jetpack\\Autoloader\\ManifestGenerator' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/ManifestGenerator.php'
),
'Automattic\\Jetpack\\Automatic_Install_Skin' => array(
@ -79,103 +79,103 @@ return array(
'path' => $vendorDir . '/automattic/jetpack-composer-plugin/src/class-plugin.php'
),
'Automattic\\Jetpack\\Config' => array(
'version' => '1.14.0.0',
'version' => '1.15.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-config/src/class-config.php'
),
'Automattic\\Jetpack\\Connection\\Client' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-client.php'
),
'Automattic\\Jetpack\\Connection\\Connection_Notice' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-connection-notice.php'
),
'Automattic\\Jetpack\\Connection\\Error_Handler' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-error-handler.php'
),
'Automattic\\Jetpack\\Connection\\Initial_State' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-initial-state.php'
),
'Automattic\\Jetpack\\Connection\\Manager' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-manager.php'
),
'Automattic\\Jetpack\\Connection\\Manager_Interface' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/interface-manager.php'
),
'Automattic\\Jetpack\\Connection\\Nonce_Handler' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-nonce-handler.php'
),
'Automattic\\Jetpack\\Connection\\Package_Version' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-package-version.php'
),
'Automattic\\Jetpack\\Connection\\Package_Version_Tracker' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-package-version-tracker.php'
),
'Automattic\\Jetpack\\Connection\\Plugin' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-plugin.php'
),
'Automattic\\Jetpack\\Connection\\Plugin_Storage' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-plugin-storage.php'
),
'Automattic\\Jetpack\\Connection\\REST_Connector' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-rest-connector.php'
),
'Automattic\\Jetpack\\Connection\\Rest_Authentication' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-rest-authentication.php'
),
'Automattic\\Jetpack\\Connection\\Secrets' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-secrets.php'
),
'Automattic\\Jetpack\\Connection\\Server_Sandbox' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-server-sandbox.php'
),
'Automattic\\Jetpack\\Connection\\Tokens' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-tokens.php'
),
'Automattic\\Jetpack\\Connection\\Urls' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-urls.php'
),
'Automattic\\Jetpack\\Connection\\Utils' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-utils.php'
),
'Automattic\\Jetpack\\Connection\\Webhooks' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-webhooks.php'
),
'Automattic\\Jetpack\\Connection\\Webhooks\\Authorize_Redirect' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/webhooks/class-authorize-redirect.php'
),
'Automattic\\Jetpack\\Connection\\XMLRPC_Async_Call' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-xmlrpc-async-call.php'
),
'Automattic\\Jetpack\\Connection\\XMLRPC_Connector' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-xmlrpc-connector.php'
),
'Automattic\\Jetpack\\Constants' => array(
'version' => '1.6.21.0',
'version' => '1.6.22.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-constants/src/class-constants.php'
),
'Automattic\\Jetpack\\CookieState' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-cookiestate.php'
),
'Automattic\\Jetpack\\Current_Plan' => array(
@ -183,163 +183,163 @@ return array(
'path' => $vendorDir . '/automattic/jetpack-plans/src/class-current-plan.php'
),
'Automattic\\Jetpack\\Device_Detection' => array(
'version' => '1.4.24.0',
'version' => '1.4.25.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-device-detection/src/class-device-detection.php'
),
'Automattic\\Jetpack\\Device_Detection\\User_Agent_Info' => array(
'version' => '1.4.24.0',
'version' => '1.4.25.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-device-detection/src/class-user-agent-info.php'
),
'Automattic\\Jetpack\\Errors' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-errors.php'
),
'Automattic\\Jetpack\\Files' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-files.php'
),
'Automattic\\Jetpack\\Heartbeat' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-heartbeat.php'
),
'Automattic\\Jetpack\\IP\\Utils' => array(
'version' => '0.1.0.0',
'version' => '0.1.2.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-ip/src/class-utils.php'
),
'Automattic\\Jetpack\\IdentityCrisis\\REST_Endpoints' => array(
'version' => '0.8.39.0',
'version' => '0.8.40.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-identity-crisis/src/class-rest-endpoints.php'
),
'Automattic\\Jetpack\\IdentityCrisis\\UI' => array(
'version' => '0.8.39.0',
'version' => '0.8.40.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-identity-crisis/src/class-ui.php'
),
'Automattic\\Jetpack\\Identity_Crisis' => array(
'version' => '0.8.39.0',
'version' => '0.8.40.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-identity-crisis/src/class-identity-crisis.php'
),
'Automattic\\Jetpack\\JITMS\\JITM' => array(
'version' => '2.3.1.0',
'version' => '2.3.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-jitm/src/class-jitm.php'
),
'Automattic\\Jetpack\\JITMS\\Post_Connection_JITM' => array(
'version' => '2.3.1.0',
'version' => '2.3.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-jitm/src/class-post-connection-jitm.php'
),
'Automattic\\Jetpack\\JITMS\\Pre_Connection_JITM' => array(
'version' => '2.3.1.0',
'version' => '2.3.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-jitm/src/class-pre-connection-jitm.php'
),
'Automattic\\Jetpack\\JITMS\\Rest_Api_Endpoints' => array(
'version' => '2.3.1.0',
'version' => '2.3.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-jitm/src/class-rest-api-endpoints.php'
),
'Automattic\\Jetpack\\Licensing' => array(
'version' => '1.8.1.0',
'version' => '1.8.2.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-licensing/src/class-licensing.php'
),
'Automattic\\Jetpack\\Licensing\\Endpoints' => array(
'version' => '1.8.1.0',
'version' => '1.8.2.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-licensing/src/class-endpoints.php'
),
'Automattic\\Jetpack\\Modules' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-modules.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Hybrid_Product' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-hybrid-product.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Initializer' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-initializer.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Module_Product' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-module-product.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Product' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-product.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-products.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Anti_Spam' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-anti-spam.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Backup' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-backup.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Boost' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-boost.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Crm' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-crm.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Extras' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-extras.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Protect' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-protect.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Scan' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-scan.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Search' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-search.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Search_Stats' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-search-stats.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Security' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-security.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Social' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-social.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Products\\Videopress' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-videopress.php'
),
'Automattic\\Jetpack\\My_Jetpack\\REST_Products' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-rest-products.php'
),
'Automattic\\Jetpack\\My_Jetpack\\REST_Purchases' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-rest-purchases.php'
),
'Automattic\\Jetpack\\My_Jetpack\\Wpcom_Products' => array(
'version' => '2.7.13.0',
'version' => '2.9.1.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-wpcom-products.php'
),
'Automattic\\Jetpack\\Partner' => array(
'version' => '1.7.22.0',
'version' => '1.7.23.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-partner/src/class-partner.php'
),
'Automattic\\Jetpack\\Partner_Coupon' => array(
'version' => '1.7.22.0',
'version' => '1.7.23.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-partner/src/class-partner-coupon.php'
),
'Automattic\\Jetpack\\Password_Checker' => array(
'version' => '0.2.11.0',
'version' => '0.2.13.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-password-checker/src/class-password-checker.php'
),
'Automattic\\Jetpack\\Paths' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-paths.php'
),
'Automattic\\Jetpack\\Plans' => array(
@ -395,247 +395,247 @@ return array(
'path' => $baseDir . '/src/class-threats.php'
),
'Automattic\\Jetpack\\Redirect' => array(
'version' => '1.7.24.0',
'version' => '1.7.25.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-redirect/src/class-redirect.php'
),
'Automattic\\Jetpack\\Roles' => array(
'version' => '1.4.22.0',
'version' => '1.4.23.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-roles/src/class-roles.php'
),
'Automattic\\Jetpack\\Status' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-status.php'
),
'Automattic\\Jetpack\\Status\\Cache' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-cache.php'
),
'Automattic\\Jetpack\\Status\\Host' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-host.php'
),
'Automattic\\Jetpack\\Status\\Visitor' => array(
'version' => '1.16.2.0',
'version' => '1.17.0.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-status/src/class-visitor.php'
),
'Automattic\\Jetpack\\Sync\\Actions' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-actions.php'
),
'Automattic\\Jetpack\\Sync\\Codec_Interface' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/interface-codec.php'
),
'Automattic\\Jetpack\\Sync\\Data_Settings' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-data-settings.php'
),
'Automattic\\Jetpack\\Sync\\Dedicated_Sender' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-dedicated-sender.php'
),
'Automattic\\Jetpack\\Sync\\Default_Filter_Settings' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-default-filter-settings.php'
),
'Automattic\\Jetpack\\Sync\\Defaults' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-defaults.php'
),
'Automattic\\Jetpack\\Sync\\Functions' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-functions.php'
),
'Automattic\\Jetpack\\Sync\\Health' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-health.php'
),
'Automattic\\Jetpack\\Sync\\JSON_Deflate_Array_Codec' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-json-deflate-array-codec.php'
),
'Automattic\\Jetpack\\Sync\\Listener' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-listener.php'
),
'Automattic\\Jetpack\\Sync\\Lock' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-lock.php'
),
'Automattic\\Jetpack\\Sync\\Main' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-main.php'
),
'Automattic\\Jetpack\\Sync\\Modules' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-modules.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Attachments' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-attachments.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Callables' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-callables.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Comments' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-comments.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Constants' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-constants.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Full_Sync' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-full-sync.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Full_Sync_Immediately' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-full-sync-immediately.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Import' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-import.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Menus' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-menus.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Meta' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-meta.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Module' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-module.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Network_Options' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-network-options.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Options' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-options.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Plugins' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-plugins.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Posts' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-posts.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Protect' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-protect.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Search' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-search.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Stats' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-stats.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Term_Relationships' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-term-relationships.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Terms' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-terms.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Themes' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-themes.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Updates' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-updates.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\Users' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-users.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\WP_Super_Cache' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-wp-super-cache.php'
),
'Automattic\\Jetpack\\Sync\\Modules\\WooCommerce' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/modules/class-woocommerce.php'
),
'Automattic\\Jetpack\\Sync\\Package_Version' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-package-version.php'
),
'Automattic\\Jetpack\\Sync\\Queue' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-queue.php'
),
'Automattic\\Jetpack\\Sync\\Queue_Buffer' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-queue-buffer.php'
),
'Automattic\\Jetpack\\Sync\\REST_Endpoints' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-rest-endpoints.php'
),
'Automattic\\Jetpack\\Sync\\REST_Sender' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-rest-sender.php'
),
'Automattic\\Jetpack\\Sync\\Replicastore' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-replicastore.php'
),
'Automattic\\Jetpack\\Sync\\Replicastore\\Table_Checksum' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/replicastore/class-table-checksum.php'
),
'Automattic\\Jetpack\\Sync\\Replicastore\\Table_Checksum_Usermeta' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/replicastore/class-table-checksum-usermeta.php'
),
'Automattic\\Jetpack\\Sync\\Replicastore\\Table_Checksum_Users' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/replicastore/class-table-checksum-users.php'
),
'Automattic\\Jetpack\\Sync\\Replicastore_Interface' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/interface-replicastore.php'
),
'Automattic\\Jetpack\\Sync\\Sender' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php'
),
'Automattic\\Jetpack\\Sync\\Server' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-server.php'
),
'Automattic\\Jetpack\\Sync\\Settings' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-settings.php'
),
'Automattic\\Jetpack\\Sync\\Simple_Codec' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-simple-codec.php'
),
'Automattic\\Jetpack\\Sync\\Users' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-users.php'
),
'Automattic\\Jetpack\\Sync\\Utils' => array(
'version' => '1.47.2.0',
'version' => '1.47.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-sync/src/class-utils.php'
),
'Automattic\\Jetpack\\Terms_Of_Service' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-terms-of-service.php'
),
'Automattic\\Jetpack\\Tracking' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/src/class-tracking.php'
),
'Automattic\\Jetpack\\Transport_Helper\\Helper_Script_Manager' => array(
@ -650,88 +650,108 @@ return array(
'version' => '0.1.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-transport-helper/src/class-rest-controller.php'
),
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection' => array(
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-brute-force-protection.php'
),
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Blocked_Login_Page' => array(
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-blocked-login-page.php'
),
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Math_Authenticate' => array(
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-math-fallback.php'
),
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Shared_Functions' => array(
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-shared-functions.php'
),
'Automattic\\Jetpack\\Waf\\Brute_Force_Protection\\Brute_Force_Protection_Transient_Cleanup' => array(
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/brute-force-protection/class-transient-cleanup.php'
),
'Automattic\\Jetpack\\Waf\\CLI' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-cli.php'
),
'Automattic\\Jetpack\\Waf\\File_System_Exception' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/exceptions/class-file-system-exception.php'
),
'Automattic\\Jetpack\\Waf\\REST_Controller' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-rest-controller.php'
),
'Automattic\\Jetpack\\Waf\\Rules_API_Exception' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/exceptions/class-rules-api-exception.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Compatibility' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-compatibility.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Constants' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-constants.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Exception' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/exceptions/class-waf-exception.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Initializer' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-initializer.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Operators' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-operators.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Request' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-request.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Rules_Manager' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-rules-manager.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Runner' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-runner.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Runtime' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-runtime.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Standalone_Bootstrap' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-standalone-bootstrap.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Stats' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-stats.php'
),
'Automattic\\Jetpack\\Waf\\Waf_Transforms' => array(
'version' => '0.10.1.0',
'version' => '0.11.4.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-waf/src/class-waf-transforms.php'
),
'Container' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-container.php'
),
'Hook_Manager' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-hook-manager.php'
),
'Jetpack_IXR_Client' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-ixr-client.php'
),
'Jetpack_IXR_ClientMulticall' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-ixr-clientmulticall.php'
),
'Jetpack_Options' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-options.php'
),
'Jetpack_Protect' => array(
@ -739,55 +759,55 @@ return array(
'path' => $baseDir . '/src/class-jetpack-protect.php'
),
'Jetpack_Signature' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-signature.php'
),
'Jetpack_Tracks_Client' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-tracks-client.php'
),
'Jetpack_Tracks_Event' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-tracks-event.php'
),
'Jetpack_XMLRPC_Server' => array(
'version' => '1.51.1.0',
'version' => '1.51.7.0',
'path' => $baseDir . '/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-xmlrpc-server.php'
),
'Latest_Autoloader_Guard' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-latest-autoloader-guard.php'
),
'Manifest_Reader' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-manifest-reader.php'
),
'PHP_Autoloader' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-php-autoloader.php'
),
'Path_Processor' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-path-processor.php'
),
'Plugin_Locator' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-plugin-locator.php'
),
'Plugins_Handler' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-plugins-handler.php'
),
'Shutdown_Handler' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-shutdown-handler.php'
),
'Version_Loader' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-version-loader.php'
),
'Version_Selector' => array(
'version' => '2.11.16.0',
'version' => '2.11.18.0',
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/class-version-selector.php'
),
);

Some files were not shown because too many files have changed in this diff Show More