Commit Graph

431 Commits

Author SHA1 Message Date
Jellyfrog 071ca9bc2a Apply fixes from StyleCI (#15698)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2024-01-04 22:39:12 -06:00
Ville Hukkamäki 2ed5afc826 Fix Rancid error messages (#15683)
* Fix Rancid error messages

* Fix code style issues.
2023-12-31 13:19:32 +01:00
Justin Lentz 8e62ad53b4 Clarify In/Out (#15680) 2023-12-30 18:48:22 +01:00
PipoCanaja 759390ba4b WebUI - Filter FDB and ARP tabs in port page if empty (#15653)
Tested OK

---------

* filter FDB and ARP tabs in port page
* style
* Use relationships

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-12-18 08:08:56 +01:00
Arjen Zonneveld 937d37dc18 Change spelling disc -> disk (#15569)
Disc is typically used for optical media, not hard disks (so unlikely
to encounter discs in mdraid related circumstances).
mdadm and friends use the disk spelling, the host script also shows
shows this `"disc_count": $(maybe_get "${mdadmSysDev}/md/raid_disks"),`

Fixing the variable names as well would be nice, but that change would
be a lot bigger and probably break things as it would need host script
adjustment synchronising and all that, but I think we can at least
change the cosmetic spelling.

https://en.wikipedia.org/wiki/Spelling_of_disc
2023-11-11 00:15:46 -06:00
Tim de Boer d5c6d0aaf4 Fixed BGP Remote peer link and graph in Routing Overview, or just static text when not a device in LibreNMS (#15535)
* Fixed BGP Remote peer link and graph in Routing Overview, or just static text when not a device in LibreNMS

* Added extra space

* Reverted back to overlibLink (due to BGP update graphs on hover)

* Added extra space

* Remove graph for remote peer, as it is falsely (showed earlier the Updates Graph for local peer)

* Removed unnecessary/unused code

* Remove graph for remote peer, as it is falsely (showed earlier the Updates Graph for local peer), replaced with just a DeviceLinks

* Change Url::deviceLink to return $text if the device doesn't exist.  Default to ''
Import some of the things to improve readability.

* update phpdoc

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-11-02 00:41:19 -05:00
Wheel f0bbab2419 Minor fix and tweak for graylog integration (#15455)
* Minor fix and tweak for graylog integration

* More flexible in other use cases

* fix again?
2023-11-01 22:35:44 -05:00
Wheel 9ca95a9ba5 Dark mode fix routing tabs & pages (#15485)
* Dark mode fix routing tabs

* Fix styling

* Fix styling

* move tbody

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-11-01 22:34:09 -05:00
Tony Murray 95eab0d42e Fix health temperature degree display (#15541)
* Fix health temperature degree display
It will be converted to html later. (otherwise it was double converted)

* Remove all &deg; it will only cause troubles
2023-11-01 20:35:35 +01:00
Tim de Boer bcf700c5fe Added BGP Remote peer link and graph in Routing Overview (#15532) 2023-10-31 13:27:21 -05:00
bnerickson 78a4bfb9d9 Adding Socket Statistic Application Support (#15307) 2023-10-13 22:45:03 -05:00
Tony Murray a5198d7d57 Remove some lightly used or unused dbFacile functions (#15418)
* Remove some lightly used or unused dbFacile functions
['NULL'] legacy behavior seems unsupported, replace with actual nulls

* Fix refactor mishap

* another

* update baseline

* these were very wrong... what happened?
2023-10-12 09:15:03 -05:00
Tony Murray 0540c56d0f Add application metrics model and relationships (#15417)
* Add application metrics model and relationships

* update schema check file

* Add missed index

* Update testing definition

* sqlite can't create the id later

* update schema dumps

* update testing_persistent schema

* update baseline
2023-10-12 02:24:27 -05:00
Tony Murray aa455862e9 Fix bug saving snmpv3 device changes (#15419) 2023-10-08 18:56:48 -05:00
Tony Murray c87c6e8b8e Remove legacy addhost code (#15376)
* Remove legacy addhost code
Update webui addhost
Update device snmp settings page
Update discovery protocols device discovery (no longer force full new device discovery in process)

* remove baseline exceptions

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-07 22:02:45 -05:00
Tony Murray ac23c133d9 Fix an agent bug if a process ran more than 999 days (#15411)
* Fix an agent bug if a process ran more than 999 days
Increase it to 274 years before that happens ;)
Fix a few other small bugs

* Update schema check file
2023-10-07 20:14:00 -05:00
Tony Murray d8c372bbf4 Refactor MAC utilities into a single class (#15379)
* Refactor MAC utils to a new utility class

* Apply fixes from StyleCI

* Inline functions
Add tests
Handle bridgeid format

* Apply fixes from StyleCI

* Dedicated code path for stp bridge parsing, and improve STP output a bit

* Correctly parse dot1dBaseBridgeAddress and don't store int in bool field

* trim any unexpected character from bridge addresses, add extra test data.

* better comment

* barsBridge can handle dot1dBaseBridgeAddress correctly now

* parseBridge, check for properly formatted mac first.

* update test data, empty data = empty mac

* Fix new usage after rebase

* import

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-06 07:34:14 -05:00
Tony Murray 37eb0f1fa6 Hide unchangeable core module (#15395)
Core is an internal module do not show a toggle for it as it cannot be disabled.
2023-10-05 21:00:14 -05:00
Tony Murray 9fca01830c Update Tnmsne table backend (#15384)
remove ridiculous sql injection vulnerability
2023-10-05 10:32:21 +02:00
Tony Murray c1258320f8 Availability module fixes (#15369)
* Refactor poller to allow modules to run even if the device is down
Include core in config (but not webui) to avoid silly shenanigans
Inject datastore into polling

* Needed to split datastore interface

* Cleanup some data_udpate() references

* Apply fixes from StyleCI

* Fix legacy poller :D

* Output to the correct stream

* Fix lint issues

* Apply fixes from StyleCI

* Fix discovery not including core and submodule handling

* Use whereRaw

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-04 10:32:59 -05:00
Tony Murray 4211b1c46f Remove unused functions (#15371)
* Remove unused functions
inline other legacy functions

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-04 10:17:34 -05:00
Tim de Boer 15fd452b8a Added extra ASN-range comments, added Priv eBGP on host details, changed color to light-blue instead of red (#15372) 2023-10-04 10:07:14 -05:00
SourceDoctor 65daa10b1b sort services by type and name (#15367) 2023-10-04 01:40:53 -05:00
Tim de Boer 36cc6c3237 Fixing Private eBGP visualization, corrected 16bit ASN private range, added 32bit ASN range (#15357)
* Updated Install-LibreNMS.md

Default PHP version of Debian 11 (following this documentation) is 8.2 currently, instead of 8.1

* Fixed Markdown/Parse mode for Telegram

* Fixing Private eBGP visualization, corrected 16bit ASN private range, added 32bit ASN range

* Removed quotes
2023-09-27 13:48:27 -05:00
Tim de Boer c1008c44b8 Fix BGP peer IP missing in Routing page (#15352)
* Updated Install-LibreNMS.md

Default PHP version of Debian 11 (following this documentation) is 8.2 currently, instead of 8.1

* Fixed Markdown/Parse mode for Telegram

* Changed peer_iden to peer_addr in routing/bgp.inc.php
2023-09-27 07:14:13 -05:00
PipoCanaja 6ba103db68 Device NAC page to Laravel Blade (#15329) 2023-09-24 15:19:25 -05:00
SourceDoctor 5c9f3c80e5 show device group on device overview (#15338)
* show device group on device overview

* .

* better styling on device group display
2023-09-24 11:32:01 -05:00
SourceDoctor 6e592f99c1 Scale disk spezific SMART Graph from 0 (#15339) 2023-09-24 18:12:11 +02:00
SourceDoctor 88eee297c4 show Temperature Graphs on Smart App Overview (#15342) 2023-09-24 18:09:25 +02:00
Tony Murray 8fd8d9b06a Fix unescaped output in ipv6 search page (#15327) 2023-09-15 16:05:08 -05:00
Tony Murray 2c5960631c Fix injection vulnerability in fdb search page (#15315)
unescaped search output
reported by: https://huntr.dev/users/hainguyen0207
2023-09-14 00:22:42 -05:00
Tony Murray cfd642be6a Fix injection vulnerability in ports pages (#15314)
* Fix injection vulnerability in ports pages
Unescaped output
reported by: https://huntr.dev/users/hainguyen0207

* fix style
2023-09-14 00:19:12 -05:00
Tony Murray 03c4da62c8 Fix another addcslashes incorrect escape in eventlog (#15313)
and many more
reported by: https://huntr.dev/users/hainguyen0207
2023-09-14 00:07:08 -05:00
Tony Murray e4c46a4536 Fix another injection in ipv4 search page (#15312)
Reported by: https://huntr.dev/users/trunggg02
2023-09-13 23:48:24 -05:00
Tony Murray 1194934d31 Fix injection in search pages ipv4, etc (#15311)
Reported by: https://huntr.dev/users/hainguyen0207
2023-09-13 23:35:49 -05:00
Zane C. Bowers-Hadley 2618a99be5 Application Soft Delete (#15270)
* add the softdeletes migrations for applications

* add working migration file

* add deleted_at to db schema.yaml for applications

* update includes/html/forms/application-update.inc.php to work with softdeletes

* update includes/html/pages/device/edit/apps.inc.php for softdelete

* update includes/discovery/applications.inc.php to work with softdelete

* minor updates to application-update.inc.php for disabling

* style cleanup

* set discovered when running discovery

* update application tests to include deleted_at

* add deleted_at to a missed test

* a few more tweaks for opensips

* add a missing deleted_at for linux_suricata_extract-v1

* fix fillable for Application model

* massive cleanup of the application update widget thingy

* improve the code for discovery and using Laravel

* add a missing line to app/Models/Application

* add a missing include to app/Models/Application.php

* record includes for Application model

* remove apps from the applications table when a device is deleted

* revert to using upcert and where for discovery to fix CI

* make discovered fillable and set it when running discovery... convert back to firstOrNew

* clean up application discovery a bit and use observer

* style fix

* spelling fix... disablaed -> disabled

* rever removal to just use where

* cleanup app removal on delete

* add restored to ModuleModelObserver

* delete -> forcedelete fix

* apply the suggested changes

* use murrants other suggestion

* style fix
2023-09-06 16:34:39 -05:00
Wheel a6ccb596df Custom ssh,telnet port with oxidized (#15255)
* Custom ssh,telnet,http port with oxidized

* Lint fixes

* copy paste minors
2023-09-03 20:15:51 -05:00
Tony Murray 2cd207028a Implement RBAC (only built in roles) (#15212)
* Install bouncer

* Seeder and level migration

* Display and edit roles

* remove unused deluser page

* Update Radius and SSO to assign roles

* update AlertUtil direct level check to use roles instead

* rewrite ircbot auth handling

* Remove legacy auth getUserlist and getUserlevel methods, add getRoles
Set roles in LegacyUserProvider

* Small cleanups

* centralize role sync code
show roles on user preferences page

* VueSelect component WIP and a little docs

* WIP

* SelectControllers id and text fields.

* LibrenmsSelect component extracted from SettingSelectDynamic

* Handle multiple selections

* allow type coercion

* full width settings

* final style adjustments

* Final compiled assets update

* Style fixes

* Fix SSO tests

* Lint cleanups

* small style fix

* don't use json yet

* Update baseline for usptream package issues

* Change schema, not 100% sure it is correct
not sure why xor doesn't work
2023-08-28 00:13:40 -05:00
fbourqui c3d0426311 WebUI Services, generate more compact table (#15243)
Fix edit, delete button on top of each other,
2023-08-25 01:51:01 +02:00
Arjen Zonneveld 7e910d60af Fix Memmory spelling (#15231) 2023-08-18 15:49:33 -05:00
zappiehost 8ee1a20346 Add BIRD2 BGP Peers application support (#14466)
* Add BIRD2 application support and docs

* Remove whitespacing

* Update includes/polling/applications/bird2.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>

* Correct the variable names to reflect their actual content and also use the remote address to display on the webUI as opposed to the unrelated peerid aka router-id

* Style fixes

* Style fixes

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-08-14 08:16:45 -05:00
Tony Murray 12f8bb2040 MAC Vendor OUI use scheduler (#15187)
* MAC Vendor OUI use scheduler
Add command to update `lnms maintenance:fetch-ouis`
Show vendor column in tables if mac_oui.enabled is set to true
Improve scheduler validation handle non-standard install directories and systems without systemd
Add index to table to improve speed and improve mac->vendor lookup speed
Scheduled weekly with random wait to prevent stampeding herd issues for upstream
drop oui update from daily

* MAC Vendor OUI use scheduler
Add command to update `lnms maintenance:fetch-ouis`
Show vendor column in tables if mac_oui.enabled is set to true

* Lint fixes and better prefix detection

* update schema file
2023-08-03 19:29:30 -05:00
Tony Murray 91c57a1ee5 Fix unsanitized input injection (#15184)
Search for and sanitize import that is output to html.
Spurred by report from [Hakiduck](https://huntr.dev/users/mike993/)
2023-08-02 10:37:22 -05:00
Tony Murray 3252ea37af Fix some xss injection for sysLocation and some other fields (#15183)
Reported by [Zluudg](https://huntr.dev/users/zluudg/)
2023-08-02 09:51:31 -05:00
Tony Murray 7265631857 Fix error when there is an untranslated sensor type (#15176)
Will still cause a visual issue, but at least that should indicate a translation is needed.
2023-08-01 12:22:09 +02:00
Tony Murray 3908bddb49 Miscellaneous fixes (#15162) 2023-07-26 01:08:10 +02:00
Zane C. Bowers-Hadley 40cceee8b4 update SMART monitoring to the use JSON (#15132)
* rework into a json app and support the old style

* working now

* add health checking

* add some datapoints to make writing alerts easy

* add a few missing item for has checks

* rework the app page

* use the right var for id9

* print the self test log if we have it

* add a graph for the max temp

* display the max temp graph

* display the health pass in the disk list if we have the data

* fix legacy handling and set app as ok

* replace id190 and id194 with the more useful maxtemp graph on the apps page

* don't print the additional info area for legacy extends

* add id232

* add id252 graph support

* properly display id232 now

* do not display SSD graphs for non-SSD disks

* for legacy extends, make sure we don't have a bad line

* add missing label for Product value

* fix metrics

* rework the metrics stuff a bit more

* typo fix

* more smart metrics cleanup

* add exit info to metrics

* style cleanup and logic checking for when disks are all now fine

* fix checking for no more health errors

* update the docs for SMART for v1 and remove slightly pointless notes about useSN

* update the docs

* initial test stuff

* add missing tests for the legacy code

* save if it it is legacy or not

* style cleanup

* update the smart legacy test

* style cleanup

* more test tweaking

* some more style cleanup

* more test fixes

* correct the disk ID for the legacy test da0 -> Z304VCFY

* more tests update

* more test cleanup

* begin cleanup of the v1 tests

* more v1 test updates

* more tests for v1

* more test cleanup

* fix exit_nonzero and add unhealthy metric

* add smart alerts

* add the metric unhealthy to the stat test

* use app data for the smart-common.inc.php
2023-07-24 17:03:45 +02:00
Andy Norwood 64c4650801 Add FDB table vendor search drop down (#15072)
* Add vendor search and related functions

* Add OUIDB cache for vendor lookup

* Add vendor drop down

* appy style CI changes

* Apply style CI and lint changes

* more styleCI changes

* update type hinting

* Edit mac_oui cache lock name and function

* Update MAC OUI message during daily

* Use DB for vendor lookup

* New vendor_oui table migration

* New MAC OUI to database function

* Update readbleOUI to use DB rather than cache

* Make StyleCI changes

* styleCI tweak

* Remove lock release to allow refresh timer

* change migration name to match table

* add schema dump

* update schema

* styleCI tweak
2023-07-21 11:30:13 -05:00
Zane C. Bowers-Hadley 54a38dd4cd add the Mojo CAPE Submit app (#15140)
* add poller for mojo cape submit

* mojo_cape_submit poller now works

* add app page for mojo_cape_submit

* add basic generic stat graphs for mojo cape submit

* general size stats graph for mojo_cape_submit

* make sure we update slugs that did not see anything submitted for them

* sort the slugs by sub count

* add app protos graph and sub top 12 graphs

* add mojo cape submit docs

* add tests for mojo_cape_submit

* add mojo_cape_submit to the apps page

* add string helper for mojo_cape_submit

* poke lots of stuff with php-cs-fixer

* remove a unneeded line

* add a missing metric and app data to test
2023-07-19 22:41:51 -05:00
Zane C. Bowers-Hadley 2ac9a634b4 Logsize monitoring for LibreNMS (#15137)
* add logsize poller

* add set size info

* add more stats

* add min size

* more logsize files

* add logsize

* fix creating log file links

* add two new graphs

* add some graphs

* add no_minus_d

* add no minus d to app page

* add count of log files

* save logsizes in app data

* rename title log sizes

* only show top 12

* add mean median and mode

* cleanup naming a bit

* the values for the files hash is now a int instead of another hash

* add new stats and correct median name

* now properly handle unseen

* fix logsize bits

* add combined

* update metrics and add some tests

* add logsize graphs to apps page

* add the logsize bit

* add logszie docs

* add some example alert rules

* style cleanup

* more style cleanup

* fix a few things for metrics and update the test

* fix a variable name in the test and update the data
2023-07-19 22:02:23 -05:00