* 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>
* Show which host marked a device as down.
One of my pollers can't reach a device, it'd be nice to know which one is causing the issue.
* Only show the actor in a distributed setup
* Use distributed poller name as its now ensured
* Use node_id
* Change to avoid extra dns lookups
* Update DeviceObserver.php
* Update DeviceObserver.php
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Vmware vminfo
Remove legacy file and migrate to OS discovery
* tighter
* ios_stp-vlans working correctly now
* Make vmwVmGuestOS nullable
* Discover os info too
* VM Info module
* Apply fixes from StyleCI
* Fix log severity
* Fix log severity (more)
* VM Info module
* Poll with ESXi too because it is lightweight
add test data
* poller data now too
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Throttle error reporting
Sets how frequently errors can be reported (across all pollers)
Also has the side effect of at most 1 error reported per run
To disable, set reporting.throttle to 0 (for development and testing purposes)
* Don't crash if Cache provider is unavailable, refactor
* 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>
* Fix alerting find owner contacts on old SQL server versions
Older SQL server versions had a bug where they didn't accept parenthesis around the first query of a union statement.
It was difficult to remove these parenthesis, so use whereHas instead.
* Fix style
* 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
* Adding a NAC global port page
* style
* filter_menu_entry
* typo
* ->when()
* device_id always returned
* use request
* laravel conversion, let see how it goes
* styleci
* ->with('device') to avoid 1 query per item processed
* and rewrote on @murrant advice
* any -> get
Suggested by @murrant
Co-authored-by: Tony Murray <murraytony@gmail.com>
* @push('scripts')
* style
* @endpush
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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
* Use full name for vendor_oui
* trimmed
* typo
* more spaces to remove
* don't set $short_vendor
* keep line return
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Added empty string check
* replaced tabs with spaces
replaced tabs with spaces
* Removed '(', ')' and enlarged if clause
* Added one space and removed an empty row
* removed is_null
Removed is_null check as static code analysis says that this variable cannot be null at this time
* compact form
* handle spaces
In case the sysName is " " (one space). Good to trim anyway.
---------
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* 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
* 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
* Add no_proxy and other proxy related settings
Set user agent on all http client requests
Unify http client usage
* Style fixes
* Remove useless use statements
* Correct variable, good job phpstan
* Add tests
fix https_proxy bug
add tcp:// to the config settings format
* style and lint fixes
* Remove guzzle from the direct dependencies
* Use built in Laravel testing functionality
* update baseline
* Add a global setting for Ctrl-F focus (improve #14947)
* Move this new global setting to user setting (improve #14947)
* Update preferences.blade.php
Cleaner wording, and Copy & Paste bled through.
* Fix indents and @endif position in menu.blade.php
---------
Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>