Shield Security for WordPress - Version 11.5.3

Version Description

Download this release

Release Info

Developer paultgoodchild
Plugin Icon 128x128 Shield Security for WordPress
Version 11.5.3
Comparing to
See all releases

Code changes from version 11.5.2 to 11.5.3

cl.json CHANGED
@@ -111,6 +111,12 @@
111
  "title": "Add some limited details into the Audit Trail entries for scan results.",
112
  "description": [],
113
  "patch": "11.5.2"
 
 
 
 
 
 
114
  }
115
  ]
116
  },
111
  "title": "Add some limited details into the Audit Trail entries for scan results.",
112
  "description": [],
113
  "patch": "11.5.2"
114
+ },
115
+ {
116
+ "type": "fixed",
117
+ "title": "Plugin/Theme scanning could result in large quantities of unrecognised files.",
118
+ "description": [],
119
+ "patch": "11.5.3"
120
  }
121
  ]
122
  },
icwp-wpsf.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Shield Security
4
  * Plugin URI: https://shsec.io/2f
5
  * Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
6
- * Version: 11.5.2
7
  * Text Domain: wp-simple-firewall
8
  * Domain Path: /languages
9
  * Author: Shield Security
3
  * Plugin Name: Shield Security
4
  * Plugin URI: https://shsec.io/2f
5
  * Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
6
+ * Version: 11.5.3
7
  * Text Domain: wp-simple-firewall
8
  * Domain Path: /languages
9
  * Author: Shield Security
plugin-spec.php CHANGED
@@ -1,8 +1,8 @@
1
  {
2
  "properties": {
3
- "version": "11.5.2",
4
- "release_timestamp": 1627635788,
5
- "build": "202107.3001",
6
  "slug_parent": "icwp",
7
  "slug_plugin": "wpsf",
8
  "human_name": "Shield Security",
1
  {
2
  "properties": {
3
+ "version": "11.5.3",
4
+ "release_timestamp": 1627916930,
5
+ "build": "202108.0201",
6
  "slug_parent": "icwp",
7
  "slug_plugin": "wpsf",
8
  "human_name": "Shield Security",
plugin.json CHANGED
@@ -1,8 +1,8 @@
1
  {
2
  "properties": {
3
- "version": "11.5.2",
4
- "release_timestamp": 1627635788,
5
- "build": "202107.3001",
6
  "slug_parent": "icwp",
7
  "slug_plugin": "wpsf",
8
  "human_name": "Shield Security",
1
  {
2
  "properties": {
3
+ "version": "11.5.3",
4
+ "release_timestamp": 1627916930,
5
+ "build": "202108.0201",
6
  "slug_parent": "icwp",
7
  "slug_plugin": "wpsf",
8
  "human_name": "Shield Security",
readme.txt CHANGED
@@ -8,7 +8,7 @@ Requires at least: 3.7
8
  Requires PHP: 7.0
9
  Recommended PHP: 7.4
10
  Tested up to: 5.8
11
- Stable tag: 11.5.2
12
 
13
  No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
14
 
8
  Requires PHP: 7.0
9
  Recommended PHP: 7.4
10
  Tested up to: 5.8
11
+ Stable tag: 11.5.3
12
 
13
  No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
14
 
src/lib/src/Modules/HackGuard/Lib/Snapshots/Build/BuildHashesFromDir.php CHANGED
@@ -40,7 +40,7 @@ class BuildHashesFromDir {
40
  /** @var \SplFileInfo $file */
41
  $fullPath = $file->getPathname();
42
  $key = str_replace( $dir, '', wp_normalize_path( $fullPath ) );
43
- $snaps[ $key ] = hash_file( $sAlgo, $fullPath, $binary );
44
  }
45
  }
46
  catch ( \Exception $e ) {
40
  /** @var \SplFileInfo $file */
41
  $fullPath = $file->getPathname();
42
  $key = str_replace( $dir, '', wp_normalize_path( $fullPath ) );
43
+ $snaps[ strtolower( $key ) ] = hash_file( $sAlgo, $fullPath, $binary );
44
  }
45
  }
46
  catch ( \Exception $e ) {
src/lib/src/Scans/Ptg/FileScanner.php CHANGED
@@ -65,13 +65,14 @@ class FileScanner extends Shield\Scans\Base\Files\BaseFileScanner {
65
  if ( empty( $assetHashes ) ) {
66
  throw new \Exception( 'File hashes from store is empty' );
67
  }
68
- $pathFragment = str_replace( strtolower( $asset->getInstallDir() ), '', $fullPath );
69
- if ( empty( $assetHashes[ $pathFragment ] ) ) {
 
70
  $item = $this->getNewItem( $asset, $fullPath );
71
  $item->path_fragment = $pathFragment;
72
  $item->is_unrecognised = true;
73
  }
74
- elseif ( !( new CompareHash() )->isEqualFileMd5( $fullPath, $assetHashes[ $pathFragment ] ) ) {
75
  $item = $this->getNewItem( $asset, $fullPath );
76
  $item->path_fragment = $pathFragment;
77
  $item->is_different = true;
65
  if ( empty( $assetHashes ) ) {
66
  throw new \Exception( 'File hashes from store is empty' );
67
  }
68
+ $pathFragment = str_replace( $asset->getInstallDir(), '', $fullPath );
69
+ $hash = $assetHashes[ $pathFragment ] ?? ( $assetHashes[ strtolower( $pathFragment ) ] ?? null );
70
+ if ( empty( $hash ) ) {
71
  $item = $this->getNewItem( $asset, $fullPath );
72
  $item->path_fragment = $pathFragment;
73
  $item->is_unrecognised = true;
74
  }
75
+ elseif ( !( new CompareHash() )->isEqualFileMd5( $fullPath, $hash ) ) {
76
  $item = $this->getNewItem( $asset, $fullPath );
77
  $item->path_fragment = $pathFragment;
78
  $item->is_different = true;