mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Fixed API arp cidr search (#10780)
This commit is contained in:
committed by
Neil Lathwood
parent
91d74d067b
commit
717ecd4125
@@ -965,7 +965,7 @@ function list_alerts(\Illuminate\Http\Request $request)
|
|||||||
$sql .= ' AND `R`.severity=?';
|
$sql .= ' AND `R`.severity=?';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$order = 'timestamp desc';
|
$order = 'timestamp desc';
|
||||||
|
|
||||||
if ($request->has('order')) {
|
if ($request->has('order')) {
|
||||||
@@ -1958,6 +1958,7 @@ function list_ip_networks()
|
|||||||
function list_arp(\Illuminate\Http\Request $request)
|
function list_arp(\Illuminate\Http\Request $request)
|
||||||
{
|
{
|
||||||
$ip = $request->route('ip');
|
$ip = $request->route('ip');
|
||||||
|
$cidr = $request->route('cidr');
|
||||||
$hostname = $request->get('device');
|
$hostname = $request->get('device');
|
||||||
|
|
||||||
if (empty($ip)) {
|
if (empty($ip)) {
|
||||||
@@ -1969,9 +1970,9 @@ function list_arp(\Illuminate\Http\Request $request)
|
|||||||
if ($ip === "all") {
|
if ($ip === "all") {
|
||||||
$device_id = ctype_digit($hostname) ? $hostname : getidbyname($hostname);
|
$device_id = ctype_digit($hostname) ? $hostname : getidbyname($hostname);
|
||||||
$arp = dbFetchRows("SELECT `ipv4_mac`.* FROM `ipv4_mac` LEFT JOIN `ports` ON `ipv4_mac`.`port_id` = `ports`.`port_id` WHERE `ports`.`device_id` = ?", [$device_id]);
|
$arp = dbFetchRows("SELECT `ipv4_mac`.* FROM `ipv4_mac` LEFT JOIN `ports` ON `ipv4_mac`.`port_id` = `ports`.`port_id` WHERE `ports`.`device_id` = ?", [$device_id]);
|
||||||
} elseif (str_contains($ip, '/')) {
|
} elseif ($cidr) {
|
||||||
try {
|
try {
|
||||||
$ip = new IPv4($ip);
|
$ip = new IPv4("$ip/$cidr");
|
||||||
$arp = dbFetchRows(
|
$arp = dbFetchRows(
|
||||||
'SELECT * FROM `ipv4_mac` WHERE (inet_aton(`ipv4_address`) & ?) = ?',
|
'SELECT * FROM `ipv4_mac` WHERE (inet_aton(`ipv4_address`) & ?) = ?',
|
||||||
[ip2long($ip->getNetmask()), ip2long($ip->getNetworkAddress())]
|
[ip2long($ip->getNetmask()), ip2long($ip->getNetworkAddress())]
|
||||||
|
@@ -40,7 +40,7 @@ Route::group(['prefix' => 'v0', 'namespace' => '\App\Api\Controllers'], function
|
|||||||
Route::get('links/{id}', 'LegacyApiController@get_link')->name('get_link');
|
Route::get('links/{id}', 'LegacyApiController@get_link')->name('get_link');
|
||||||
Route::get('locations', 'LegacyApiController@list_locations')->name('list_locations');
|
Route::get('locations', 'LegacyApiController@list_locations')->name('list_locations');
|
||||||
Route::get('ip/addresses', 'LegacyApiController@list_ip_addresses')->name('list_ip_addresses');
|
Route::get('ip/addresses', 'LegacyApiController@list_ip_addresses')->name('list_ip_addresses');
|
||||||
Route::get('ip/arp/{ip}', 'LegacyApiController@list_arp')->name('list_arp');
|
Route::get('ip/arp/{ip}/{cidr?}', 'LegacyApiController@list_arp')->name('list_arp');
|
||||||
Route::get('ip/networks', 'LegacyApiController@list_ip_networks')->name('list_ip_networks');
|
Route::get('ip/networks', 'LegacyApiController@list_ip_networks')->name('list_ip_networks');
|
||||||
Route::get('ip/networks/{id}/ip', 'LegacyApiController@get_network_ip_addresses')->name('get_network_ip_addresses');
|
Route::get('ip/networks/{id}/ip', 'LegacyApiController@get_network_ip_addresses')->name('get_network_ip_addresses');
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user