Skip to content

Commit 3ac7b6d

Browse files
authored
Merge pull request #130 from iMattPro/issue/129
Fix validation of version constraints
2 parents 5a2e2d2 + 3486620 commit 3ac7b6d

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

helper/validator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,6 @@ public function validate_php_version($value)
250250
*/
251251
protected function check_version($value)
252252
{
253-
return (bool) preg_match('/^[<>=]*[\d+][\w.@-]+$/', $value);
253+
return (bool) preg_match('/^[<>=]*[\d+][\w.@-]+$/', htmlspecialchars_decode($value, ENT_NOQUOTES));
254254
}
255255
}

tests/validator_test.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ public function valid_data(): array
8181
['phpbb_version_min', '<=1.0.0'],
8282
['phpbb_version_min', '<=1.0.0@dev'],
8383
['phpbb_version_min', '<=1.0.0-pl1'],
84+
['phpbb_version_min', '&gt;1.0.0'],
85+
['phpbb_version_min', '&lt;=1.0.0'],
8486

8587
['phpbb_version_max', '1.0.0'],
8688
['phpbb_version_max', '>1.0.0'],
@@ -91,6 +93,8 @@ public function valid_data(): array
9193
['phpbb_version_max', '<=1.0.0'],
9294
['phpbb_version_max', '<=1.0.0@dev'],
9395
['phpbb_version_max', '<=1.0.0-pl1'],
96+
['phpbb_version_max', '&gt;1.0.0'],
97+
['phpbb_version_max', '&lt;=1.0.0'],
9498

9599
['php_version', '1.0.0'],
96100
['php_version', '>1.0.0'],
@@ -101,6 +105,8 @@ public function valid_data(): array
101105
['php_version', '<=1.0.0'],
102106
['php_version', '<=1.0.0@dev'],
103107
['php_version', '<=1.0.0-pl1'],
108+
['php_version', '&gt;1.0.0'],
109+
['php_version', '&lt;=1.0.0'],
104110
];
105111
}
106112

@@ -183,20 +189,23 @@ public function invalid_data(): array
183189
['phpbb_version_min', '~1.0.0', 'SKELETON_INVALID_PHPBB_MIN_VERSION'],
184190
['phpbb_version_min', '^1.0.0', 'SKELETON_INVALID_PHPBB_MIN_VERSION'],
185191
['phpbb_version_min', '1.0.0 | 2.0.0', 'SKELETON_INVALID_PHPBB_MIN_VERSION'],
192+
['phpbb_version_min', '&amp;gt;=5.4', 'SKELETON_INVALID_PHPBB_MIN_VERSION'],
186193

187194
['phpbb_version_max', '', 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
188195
['phpbb_version_max', null, 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
189196
['phpbb_version_max', 'foo', 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
190197
['phpbb_version_max', '~1.0.0', 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
191198
['phpbb_version_max', '^1.0.0', 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
192199
['phpbb_version_max', '1.0.0 | 2.0.0', 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
200+
['phpbb_version_max', '&amp;gt;=5.4', 'SKELETON_INVALID_PHPBB_MAX_VERSION'],
193201

194202
['php_version', '', 'SKELETON_INVALID_PHP_VERSION'],
195203
['php_version', null, 'SKELETON_INVALID_PHP_VERSION'],
196204
['php_version', 'foo', 'SKELETON_INVALID_PHP_VERSION'],
197205
['php_version', '~1.0.0', 'SKELETON_INVALID_PHP_VERSION'],
198206
['php_version', '^1.0.0', 'SKELETON_INVALID_PHP_VERSION'],
199207
['php_version', '1.0.0 | 2.0.0', 'SKELETON_INVALID_PHP_VERSION'],
208+
['php_version', '&amp;gt;=5.4', 'SKELETON_INVALID_PHP_VERSION'],
200209
];
201210
}
202211

0 commit comments

Comments
 (0)