mirror of https://github.com/MISP/MISP
chg: [internal] Simplify validation for `domain|ip`
parent
ed1e8f50fa
commit
4a95ff7fc6
|
@ -402,15 +402,14 @@ class AttributeValidationTool
|
|||
}
|
||||
return true;
|
||||
case 'domain|ip':
|
||||
if (preg_match("#^[A-Z0-9.\-_]+\.[A-Z0-9\-]{2,}\|.*$#i", $value)) {
|
||||
$parts = explode('|', $value);
|
||||
if (filter_var($parts[1], FILTER_VALIDATE_IP)) {
|
||||
return true;
|
||||
} else {
|
||||
return __('IP address has an invalid format.');
|
||||
}
|
||||
$parts = explode('|', $value);
|
||||
if (!self::isDomainValid($parts[0])) {
|
||||
return __('Domain has an invalid format.');
|
||||
}
|
||||
return __('Domain name has an invalid format.');
|
||||
if (!filter_var($parts[1], FILTER_VALIDATE_IP)) {
|
||||
return __('IP address has an invalid format.');
|
||||
}
|
||||
return true;
|
||||
case 'email':
|
||||
case 'email-src':
|
||||
case 'eppn':
|
||||
|
|
|
@ -52,6 +52,18 @@ class AttributeValidationToolTest extends TestCase
|
|||
]);
|
||||
}
|
||||
|
||||
public function testValidateDomainIp(): void
|
||||
{
|
||||
$this->shouldBeValid('domain|ip', [
|
||||
'example.com|127.0.0.1',
|
||||
'example.com|::1',
|
||||
]);
|
||||
$this->shouldBeInvalid('domain|ip', [
|
||||
'example.com|127',
|
||||
'example.com|1',
|
||||
]);
|
||||
}
|
||||
|
||||
private function shouldBeValid($type, array $values)
|
||||
{
|
||||
foreach ($values as $value) {
|
||||
|
|
Loading…
Reference in New Issue