Bug: Fixed Incorrect device match in Graylog (#10501)

* Incorrect device match fixed. Because getAddresses(Device $device) also returned 127.0.0.1 and ::1,
always matched the first device with a loopback address. Introduced in
https://github.com/librenms/librenms/pull/10458

* Changed code as suggested by murrant
Expanded ::1 because IPv6 Adresses are not stored compressed.

* Fixed incorrect parenthesis
This commit is contained in:
rsys-dev 2019-08-09 14:52:43 +02:00 committed by Tony Murray
parent 535d820bd9
commit a79837aada

View File

@ -141,8 +141,17 @@ class GraylogApi
]);
if (Config::get('graylog.match-any-address')) {
$addresses = $addresses->merge($device->ipv4->pluck('ipv4_address'))
->merge($device->ipv6->pluck('ipv6_address'));
$addresses = $addresses->merge($device->ipv4->pluck('ipv4_address')
->filter(
function ($address) {
return $address != "127.0.0.1";
}
))->merge($device->ipv6->pluck('ipv6_address')
->filter(
function ($address) {
return $address != "0000:0000:0000:0000:0000:0000:0000:0001";
}
));
}
return $addresses->filter()->unique();