AntiVirus - Version 1.4.2

Version Description

Download this release

Release Info

Developer pluginkollektiv
Plugin Icon 128x128 AntiVirus
Version 1.4.2
Comparing to
See all releases

Code changes from version 1.4.1 to 1.4.2

CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
  # Changelog
2
 
 
 
 
 
 
3
  ### 1.4.1 ###
4
  * Fix some spelling mistakes and correct translations (#85)
5
  * Fix file name sanitization in manual theme scan causing errors to be not shown in the admin area (#88, #89)
1
  # Changelog
2
 
3
+ ### 1.4.2 ###
4
+ * Drop recursive check on option that failed in several scenarios (#96) (#97)
5
+ * Drop check for base64 encoded strings which did not work properly in al cases (#100)
6
+ * Use WP 5.7 color palette for the UI (#99)
7
+
8
  ### 1.4.1 ###
9
  * Fix some spelling mistakes and correct translations (#85)
10
  * Fix file name sanitization in manual theme scan causing errors to be not shown in the admin area (#88, #89)
README.md CHANGED
@@ -4,8 +4,8 @@
4
  * Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=TD4AMD2D8EMZW
5
  * Requires at least: 4.1
6
  * Requires PHP: 5.2
7
- * Tested up to: 5.6
8
- * Stable tag: 1.4.1
9
  * License: GPLv2 or later
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -41,6 +41,11 @@ A complete documentation is available on the [AntiVirus website](https://antivir
41
 
42
  ## Changelog ##
43
 
 
 
 
 
 
44
  ### 1.4.1 ###
45
  * Fix some spelling mistakes and correct translations (#85)
46
  * Fix file name sanitization in manual theme scan causing errors to be not shown in the admin area (#88, #89)
@@ -70,14 +75,14 @@ A complete documentation is available on the [AntiVirus website](https://antivir
70
  * added German formal translation
71
  * updated, translated + formatted README.md
72
  * updated expired link URLs in plugin and languages files
73
- * updated [plugin authors](https://gist.github.com/glueckpress/f058c0ab973d45a72720)
74
 
75
  For the complete changelog, check out our [GitHub repository](https://github.com/pluginkollektiv/antivirus).
76
 
77
  ## Upgrade Notice ##
78
 
79
- ### 1.4.0 ###
80
- This is a feature release which integrates the functionality from _Checksum Verifier_ plugin.
81
 
82
  ## Screenshots ##
83
  1. WordPress AntiVirus settings
4
  * Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=TD4AMD2D8EMZW
5
  * Requires at least: 4.1
6
  * Requires PHP: 5.2
7
+ * Tested up to: 5.7
8
+ * Stable tag: 1.4.2
9
  * License: GPLv2 or later
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
41
 
42
  ## Changelog ##
43
 
44
+ ### 1.4.2 ###
45
+ * Drop recursive check on option that failed in several scenarios (#96, #97)
46
+ * Drop check for base64 encoded strings which did not work properly in al cases (#100)
47
+ * Use WP 5.7 color palette for the UI (#99)
48
+
49
  ### 1.4.1 ###
50
  * Fix some spelling mistakes and correct translations (#85)
51
  * Fix file name sanitization in manual theme scan causing errors to be not shown in the admin area (#88, #89)
75
  * added German formal translation
76
  * updated, translated + formatted README.md
77
  * updated expired link URLs in plugin and languages files
78
+ * updated [plugin authors](https://pluginkollektiv.org/de/hallo-welt/)
79
 
80
  For the complete changelog, check out our [GitHub repository](https://github.com/pluginkollektiv/antivirus).
81
 
82
  ## Upgrade Notice ##
83
 
84
+ ### 1.4.2 ###
85
+ This is a bugfix release removing two checks of the theme scan causing false positives.
86
 
87
  ## Screenshots ##
88
  1. WordPress AntiVirus settings
antivirus.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: antivirus
9
  * License: GPLv2 or later
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
- * Version: 1.4.1
12
  *
13
  * @package AntiVirus
14
  */
8
  * Text Domain: antivirus
9
  * License: GPLv2 or later
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
+ * Version: 1.4.2
12
  *
13
  * @package AntiVirus
14
  */
css/style.css CHANGED
@@ -11,9 +11,9 @@
11
 
12
  #av_manual_scan .alert {
13
  float: left;
14
- color: #008000;
15
  margin: 0 10px;
16
- border: 1px solid #008000;
17
  display: none;
18
  height: 26px;
19
  line-height: 26px;
@@ -32,10 +32,10 @@
32
 
33
  #av_main .inside .output div {
34
  float: left;
35
- color: #fff;
36
  margin: 12px 6px 0;
37
  padding: 8px 12px 10px;
38
- background: #ffa500;
39
  border-radius: 3px;
40
 
41
  transition: background-color 0.5s linear;
@@ -46,18 +46,20 @@
46
  }
47
 
48
  #av_main .inside .output div.done {
49
- background: #008000;
 
50
  }
51
 
52
  #av_main .inside .output div.danger {
53
  width: 97%;
54
- background: #f00;
 
55
  }
56
 
57
  #av_main .inside .output div p {
58
  padding: 10px;
59
  overflow: hidden;
60
- background: #f9f9f9;
61
  white-space: nowrap;
62
  border-radius: 3px;
63
  }
@@ -76,7 +78,7 @@
76
 
77
  #av_main .inside .output div p code span {
78
  padding: 2px;
79
- background: #ff0;
80
  }
81
 
82
  /* @end group */
11
 
12
  #av_manual_scan .alert {
13
  float: left;
14
+ color: #008a20;
15
  margin: 0 10px;
16
+ border: 1px solid #007017;
17
  display: none;
18
  height: 26px;
19
  line-height: 26px;
32
 
33
  #av_main .inside .output div {
34
  float: left;
35
+ color: #000;
36
  margin: 12px 6px 0;
37
  padding: 8px 12px 10px;
38
+ background: #dba617;
39
  border-radius: 3px;
40
 
41
  transition: background-color 0.5s linear;
46
  }
47
 
48
  #av_main .inside .output div.done {
49
+ background: #008a20;
50
+ color: #fff;
51
  }
52
 
53
  #av_main .inside .output div.danger {
54
  width: 97%;
55
+ background: #d63638;
56
+ color: #fff;
57
  }
58
 
59
  #av_main .inside .output div p {
60
  padding: 10px;
61
  overflow: hidden;
62
+ background: #f6f7f7;
63
  white-space: nowrap;
64
  border-radius: 3px;
65
  }
78
 
79
  #av_main .inside .output div p code span {
80
  padding: 2px;
81
+ background: #f2d675;
82
  }
83
 
84
  /* @end group */
css/style.min.css CHANGED
@@ -1 +1 @@
1
- #av_manual_scan{height:1%;overflow:hidden}#av_manual_scan a.button{float:left}#av_manual_scan .alert{float:left;color:green;margin:0 10px;border:1px solid green;display:none;height:26px;line-height:26px;padding:0 10px;background:#fff;border-radius:3px}#av_main .inside .output{clear:both;height:1%;margin:0 0 0 -6px;padding:0 0 6px;overflow:hidden}#av_main .inside .output div{float:left;color:#fff;margin:12px 6px 0;padding:8px 12px 10px;background:#ffa500;border-radius:3px;transition:background-color 0.5s linear;-o-transition:background-color 0.5s linear;-ms-transition:background-color 0.5s linear;-moz-transition:background-color 0.5s linear;-webkit-transition:background-color 0.5s linear}#av_main .inside .output div.done{background:green}#av_main .inside .output div.danger{width:97%;background:red}#av_main .inside .output div p{padding:10px;overflow:hidden;background:#f9f9f9;white-space:nowrap;border-radius:3px}#av_main .inside .output div p a{margin:0 6px 12px 0}#av_main .inside .output div p code{clear:both;float:left;color:#000;padding:2px 5px;border-radius:3px}#av_main .inside .output div p code span{padding:2px;background:#ff0}#av_notify_email{line-height:1.5}
1
+ #av_manual_scan{height:1%;overflow:hidden}#av_manual_scan a.button{float:left}#av_manual_scan .alert{float:left;color:#008a20;margin:0 10px;border:1px solid #007017;display:none;height:26px;line-height:26px;padding:0 10px;background:#fff;border-radius:3px}#av_main .inside .output{clear:both;height:1%;margin:0 0 0 -6px;padding:0 0 6px;overflow:hidden}#av_main .inside .output div{float:left;color:#000;margin:12px 6px 0;padding:8px 12px 10px;background:#dba617;border-radius:3px;transition:background-color 0.5s linear;-o-transition:background-color 0.5s linear;-ms-transition:background-color 0.5s linear;-moz-transition:background-color 0.5s linear;-webkit-transition:background-color 0.5s linear}#av_main .inside .output div.done{background:#008a20;color:#fff}#av_main .inside .output div.danger{width:97%;background:#d63638;color:#fff}#av_main .inside .output div p{padding:10px;overflow:hidden;background:#f6f7f7;white-space:nowrap;border-radius:3px}#av_main .inside .output div p a{margin:0 6px 12px 0}#av_main .inside .output div p code{clear:both;float:left;color:#000;padding:2px 5px;border-radius:3px}#av_main .inside .output div p code span{padding:2px;background:#f2d675}#av_notify_email{line-height:1.5}
docker_tag ADDED
@@ -0,0 +1 @@
 
1
+ docker.pkg.github.com/pluginkollektiv/antivirus/php-actions_composer_antivirus:php-latest-build2
inc/class-antivirus-checkinternals.php CHANGED
@@ -189,18 +189,6 @@ class AntiVirus_CheckInternals extends AntiVirus {
189
  $results = $matches[1];
190
  }
191
 
192
- // Search for base64 encoded strings.
193
- preg_match_all(
194
- '/[\'\"\$\\ \/]*?([a-zA-Z0-9]{' . strlen( base64_encode( 'sergej + swetlana = love.' ) ) . ',})/', /* get length of my life ;) */
195
- $line,
196
- $matches
197
- );
198
-
199
- // Save matches.
200
- if ( $matches[1] ) {
201
- $results = array_merge( $results, $matches[1] );
202
- }
203
-
204
  // Look for frames.
205
  preg_match_all(
206
  '/<\s*?(i?frame)/',
@@ -225,18 +213,6 @@ class AntiVirus_CheckInternals extends AntiVirus {
225
  $results = array_merge( $results, $matches[0] );
226
  }
227
 
228
- // Look for `get_option` calls.
229
- preg_match(
230
- '/get_option\s*\(\s*[\'"](.*?)[\'"]\s*\)/',
231
- $line,
232
- $matches
233
- );
234
-
235
- // Check option.
236
- if ( $matches && $matches[1] && self::_check_file_line( get_option( $matches[1] ), $num ) ) {
237
- array_push( $results, 'get_option' );
238
- }
239
-
240
  if ( $results ) {
241
  // Remove duplicates.
242
  $results = array_unique( $results );
@@ -299,7 +275,7 @@ class AntiVirus_CheckInternals extends AntiVirus {
299
  $left = round( ( $max - strlen( $tag ) ) / 2 );
300
 
301
  // Quote regular expression characters.
302
- $tag = preg_quote( $tag );
303
 
304
  // Shorten string on the right side.
305
  $output = preg_replace(
189
  $results = $matches[1];
190
  }
191
 
 
 
 
 
 
 
 
 
 
 
 
 
192
  // Look for frames.
193
  preg_match_all(
194
  '/<\s*?(i?frame)/',
213
  $results = array_merge( $results, $matches[0] );
214
  }
215
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  if ( $results ) {
217
  // Remove duplicates.
218
  $results = array_unique( $results );
275
  $left = round( ( $max - strlen( $tag ) ) / 2 );
276
 
277
  // Quote regular expression characters.
278
+ $tag = preg_quote( $tag, '/' );
279
 
280
  // Shorten string on the right side.
281
  $output = preg_replace(
inc/class-antivirus-safebrowsing.php CHANGED
@@ -44,7 +44,7 @@ class AntiVirus_SafeBrowsing extends AntiVirus {
44
  array(
45
  'client' => array(
46
  'clientId' => 'wpantivirus',
47
- 'clientVersion' => '1.4.1',
48
  ),
49
  'threatInfo' => array(
50
  'threatTypes' => array(
44
  array(
45
  'client' => array(
46
  'clientId' => 'wpantivirus',
47
+ 'clientVersion' => '1.4.2',
48
  ),
49
  'threatInfo' => array(
50
  'threatTypes' => array(
output.log ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Running php-build composer
2
+ WARNING! Your password will be stored unencrypted in /home/runner/.docker/config.json.
3
+ Configure a credential helper to remove this warning. See
4
+ https://docs.docker.com/engine/reference/commandline/login/#credentials-store
5
+
6
+ Login Succeeded
7
+ Pulling docker.pkg.github.com/pluginkollektiv/antivirus/php-actions_composer_antivirus:php-latest-build2
8
+ WARNING: ⚠️ Failed to pull manifest by the resolved digest. This registry does not
9
+ appear to conform to the distribution registry specification; falling back to
10
+ pull by tag. This fallback is DEPRECATED, and will be removed in a future
11
+ release. Please contact admins of https://docker.pkg.github.com. ⚠️
12
+
13
+ php-latest-build2: Pulling from pluginkollektiv/antivirus/php-actions_composer_antivirus
14
+ ba3557a56b15: Pulling fs layer
15
+ 743181516422: Pulling fs layer
16
+ 6c307b60e377: Pulling fs layer
17
+ e2d5b4330891: Pulling fs layer
18
+ 0baf29266ab7: Pulling fs layer
19
+ dfa723e4109b: Pulling fs layer
20
+ 7e9fbc8e5c1a: Pulling fs layer
21
+ 510d7725cdd5: Pulling fs layer
22
+ 5fdc925b16f5: Pulling fs layer
23
+ 1096ec115729: Pulling fs layer
24
+ 0baf29266ab7: Waiting
25
+ dfa723e4109b: Waiting
26
+ 7e9fbc8e5c1a: Waiting
27
+ 510d7725cdd5: Waiting
28
+ 5fdc925b16f5: Waiting
29
+ 1096ec115729: Waiting
30
+ e2d5b4330891: Waiting
31
+ 6c307b60e377: Verifying Checksum
32
+ 6c307b60e377: Download complete
33
+ 743181516422: Download complete
34
+ e2d5b4330891: Verifying Checksum
35
+ e2d5b4330891: Download complete
36
+ dfa723e4109b: Verifying Checksum
37
+ dfa723e4109b: Download complete
38
+ 0baf29266ab7: Verifying Checksum
39
+ 0baf29266ab7: Download complete
40
+ 510d7725cdd5: Verifying Checksum
41
+ 510d7725cdd5: Download complete
42
+ 5fdc925b16f5: Verifying Checksum
43
+ 5fdc925b16f5: Download complete
44
+ ba3557a56b15: Verifying Checksum
45
+ ba3557a56b15: Download complete
46
+ 7e9fbc8e5c1a: Verifying Checksum
47
+ 7e9fbc8e5c1a: Download complete
48
+ ba3557a56b15: Pull complete
49
+ 743181516422: Pull complete
50
+ 6c307b60e377: Pull complete
51
+ 1096ec115729: Verifying Checksum
52
+ 1096ec115729: Download complete
53
+ e2d5b4330891: Pull complete
54
+ 0baf29266ab7: Pull complete
55
+ dfa723e4109b: Pull complete
56
+ 7e9fbc8e5c1a: Pull complete
57
+ 510d7725cdd5: Pull complete
58
+ 5fdc925b16f5: Pull complete
59
+ 1096ec115729: Pull complete
60
+ Digest: sha256:12f2c29af2075f5e0f87735ecbff4a9e2ee35a91d301aa8f4142a3b8b71e2cf9
61
+ Status: Downloaded newer image for docker.pkg.github.com/pluginkollektiv/antivirus/php-actions_composer_antivirus:php-latest-build2
62
+ docker.pkg.github.com/pluginkollektiv/antivirus/php-actions_composer_antivirus:php-latest-build2
63
+ Docker tag: docker.pkg.github.com/pluginkollektiv/antivirus/php-actions_composer_antivirus:php-latest-build2
64
+ No private keys supplied
65
+ Command: composer install --no-progress --no-interaction