* 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
* Sort port by interface name while list ports.
* Remove sql sort
* use ksort instead of sort manually
* Update ajax_listports.php
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Added support for user timezones and user browser timezone byt default
* Formatting fixes
* Use the timezone for alert log display
also added validation for the timezone because it's being used in SQL.
* Formatting fixes
* Added return type
* Formatting"
* Update the latency graphs to use the user timezone
* Simplify the web routes config
* Update phpstan to ignore type error
* Fixed up the phpstan config
* Reverse phpstan change
* Re-apply phpstan override
* Remove the option to unset the session timezone
* Formatting fix
* Update outge and event logs to use session timezone
* Fix route for the timezone control
* Made the timezone more dynamic
* Fix a logic error that was stopping the timezone from being set automatically on login
* Prevent getPref from being called twice
* again prevent getPref double call
* getPref double call
* Fixed typo made during merge
* Fixed merge error in phpstan-baseline.neon
* Change spaces to tabs in phpstan-baseline.neon
* Update error count
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Convert the inventory page to Laravel
Fix several XSS issues (hopefully no new ones snuck in)
Small improvement to the SelectController to allow filtering by filterFields()
* style fixes
* Fix lint issues
* Fix part device filter
* Add initial OS detection for LoadBalancer.org
* Match on Linux sysObjectID first for efficiency
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add test for loadbalancer OS detection
* Add test for loadbalancer OS detection - fix author
* Add test for loadbalancer OS detection
* Add test for loadbalancer OS detection - fix author
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Chris Ware <cjw26@bath.ac.uk>
* Modify Avocent discovery so Avocent MergePoint Unity KVM switches are discovered
* Extract hardware model and version stored in sysDescr OID
* add avocent mpu snmprec
* add json dump test data
* update to not conflict with dell-rcs discovery
* fix styleci findings
* update Avocent.php
* update Avocent.php
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* cleanup
* fix os name typo
* Add support for Vertiv Avocent MergePoint Unity
- Remove unnecessary sysdescr_regex in discovery file
- Only show device_bits graph in device header bar
- Use Vertiv icon
- Replace .png Vertiv icon and logo with .svg
- Disable unnecessary discovery and poller modules
- Add more snmpsim test data
* Update avocent-mp.yaml
Only disable poller and discovery modules if they cause problems
* Add Modified V-sol MIB
* Add Vsolution Discovery OS
* Add Vsolution Discovery OS
* Add os-logo
* Add snmp test data
* Add .json test data
* Add .json actual test data
* basic hatteras dslam integration
* snmprec and json test files
* fix HN4000e variant
* add hn4000e variant
* logo and yaml fixes
* change type in test file
* inexistent(?) disco module removed: route
* Update hatteras.yaml
Co-authored-by: Tony Murray <murraytony@gmail.com>
* adding new os: vutlan
* renaming mib file, moving mib file to vendor folder, removing commented code
* Cache version data (#14404)
* Cache version data
Calling cli commands can be expensive, cache the results.
* style fixes
* Fix pre-laravel usage
* fix lint
* Revert "Cache version data (#14404)"
This reverts commit e426a9299d.
* fixing descr for door state and removing comments
* adding tests and moving vutlan definition file
* adding num_oid value for tests
* Rename VUTLAN-SYSTEM-MIB.mib to VUTLAN-SYSTEM-MIB
* Update vutlan_vt825.json
* updating test data
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Cleanup and optimize the availability widget
Default sort is display name
Sort applies to services too (services always last)
May need to refresh the page to get new css
* style
* We don't need request (lint fix)
* Wrong service field name
* Started UHP VSAT support
* continue uhp
* end of day
* uhp support
* fixed icon / logo
* cleanup
* added test data
* Delete Uhp.php
If the file is empty let's delete it
* added test data
* Update uhp.yaml
spacing fix
* Fixed identation
* New test data
* Fixed
* styling
* fix
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* use component to discover if xDSL polling is needed
use component to discover if xDSL polling is needed
* Components OK, Polling in correct files, no DB for VDSL
* GUI
GUI_suite
* per port as well
* rename
* interface listing
* draytek_snmpsim
* fix arraymerge
fix names and max value
* schema
schema
style
* remove one dbFetchRows
remove 2x dbFetchCell
style
style
remove Legacy dbFetchRow
tests
tests
eloquent
more eloquent
more eloquent
one more gone
* fix properties access
eloquent_insert_update
style
tests
tests
tests
tests
* tests
tests
tests
* adslLineCoding
* Models
* fix not nullable cols in DB from code
default values
typo
rename
typo
schema
fix
fix
vdsl fix now
typo
typo
fix size
fix size
* Power values for VDSL
Power values for VDSL
Power values for VDSL
DB
* cleanup
* Rrd::checkRrdExists
* always enable DSL discovery
style
* xdsl module
* cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
* Fix display
* fix polling and tenth
* remove legacy poller
* Style and Cosmetics
Cosmetics
Cleanup
* Translations
Translations
* exists
exists
* add test support for xdsl
* remove last component call
unused
* translations
* remove non standard onclick event on xdsl line
* Update Discovery Support.md
Update Poller Support.md
toner_gone
* Notification for removal of lnms config:set enable_ports_adsl true
* enable on devices with potential DSL interfaces
* tests are working now
fix teldat tests
* os_schema
* teldat
* move to new module structure
* move to new module structure
* wrong dump function
* wrong dump function
* laravel_through_key hidden
* Update notifications.rss
* Update notifications.rss
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Email embed graphs
* Allow attachment for non-html
Add setting to webui
Correct $auth setting
* Cleanups, throw RrdGraphException instead of returning an error image.
Generate the error image later, giving more control.
Reduce code duplication a little
* Style and lint fixes
Change to flags
* Add baseline for lint errors I don't know how to resolve
* oopsie, changed the code after generating the baseline
* Tiny cleanups. Make set DeviceCache primary, it is free.
* Docs.
* email_html note
* Allow control of graph embed at the email transport level to override the global config.
* Allow control of graph embed at the email transport level to override the global config.
* Add INLINE_BASE64 to make it easier to create inline image tags
* More secure external graph access
Add @signedGraphTag() and @signedGraphUrl() blade directives
Takes either an array of graph variables or a url to a graph
Uses a signed url that is accessible without user login, embeds signature in url to authenticate access
See Laravel Signed Url for more details.
Adds Laravel route to graphs (does not change links to use it yet)
@graphImage requires the other PR
Also APP_URL is required in .env
* missing files from rebase
* Fix url parsing with a get string
* allow width and height to be omitted
* Documentation
* Add to, otherwise it will always be now
* Doc note for to and from relative security
* fix vars.inc.php (Laravel has a dummy url here)
* BATS support
* Removed disabled discovery modules
* Style change, more test data, removed unused rows
* Style correction LibreNMS/OS/Bats.php
* Removed old reference
* Another style correction add LibreNMS/OS/Bats.php
* Changed location info and temperature
* Style, again
* Style, again
* New testdata needed
* Fix wrong state color in discovery/bats.yaml
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Delete bats_bats.snmprec
* Update bats.json
* Update bats.json
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add option STARTTLS for authentication via AD
* Fix dangling spaces
* Moved starttls code to the correct place
* tabs vs spaces...
* Update ActiveDirectoryAuthorizer.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Revamp validate web page
to load page then validate, instead of validate then load page
* style fixes
* lint cleanups
* fixes
* translations and a couple fixes
* style fixes
* move result serialization into the class.
* Add support for PrimeKey Hardware Appliance
https://doc.primekey.com/ejbca-appliancehttps://doc.primekey.com/signserver-appliancehttps://doc.primekey.com/ejbca-appliance/operations/webconf-configurator-of-hardware-appliance/monitoring
* Correct off-by-one error for Galera states
* Add load multiplier
* Don't poll transaction ID, it's too messy
* Tabs -> spaces
* Don't modify system load. (Is this a %age or not?)
* CUP moves Load -> Count
* CPU moves Load -> Count
* Now I have MiBs. Attempts to use them are to date unsuccessful
* Removed numeric oids entirely
I'm not sure how easy it will be to conver this to YAML.
* Formatting
* More formatting
* Numeric it is
* Fix States
* Numeric oids
* Shorten Descriptions
* Add DB threshold
* Percent -> Yaml
* Temperature -> Yaml. Relaxed num_oid validation
* Fanspeed -> Yaml
* Volgate -> Yaml
* Count -> Yaml
* State -> Yaml
* Tweak snmp_flags
* minimize icon
* Check if first_word function is required
* Incorporate feedback
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Added new OpenWRT icon to replace old logo
* New logo has an icon usable without text per look & feel of LibreNMS
* Compatible with OpenWRT usage guidelines refer:
https://openwrt.org/docs/guide-graphic-designer/openwrt-logo
* Update openwrt.svg
Co-authored-by: Neil Lathwood <gh+n@laf.io>
* Implement OAuth and SAML2 support via Socialite
* Add socialite docs
* fixes
* Additional information added
* wip
* 22.3.0 targeted version
* Allow mysql auth as long as there is a password saved
Co-authored-by: laf <gh+n@laf.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
When using the old style maps when you click on one of the connected
devices (bubbles on the right side) the link points to
$HOSTNAME//device... looking at other examples base_url seems to
include the trailing slash. Removing the additional slash fixes the
links for me.
Fixed certain colours to make them more readable against the dark background. Mainly the blue colour against the dark background I have changed to a lighter blue.
Some dark greys and blacks as well.
* Global search: search device display
Add display field to search (also port_desc_descr, portName, and bgpPeerDescr)
Rewrite backend
update typeahead bundle
update devices and ports indexes
reduce some port field sizes so we can index them
* Style fixes
* remove nonsense
* Correct graph row component responsive layout for linked graphs
Enable pass through height and legend. Probably need more, but this is just for a start.
Switch Poller performance page
* revert accidental change
* Update Graph.php
* Configurable device display name
You can just set the display name in device settings.
It also accepts simple template format with the variables: hostname, sysName, sysName_fallback, ip
Default controlled by device_display_default, (set from old force_hostname_to_sysname and force_ip_to_sysname settings
* remove second argument to format_hostname()
* Style fixes
* Update schema
* update phpstan baseline
* Improved settings strings (and add for translation)
* PHP-Flasher for toast messages
Allows customized template
removes dependency on unmaintained package using dev stability
no solution for javascript toasts yet
Use DI in places it makes sense
allow html in flashes
Use "template.librenms" as a default notification style
merge toast containers
toastr needs to be second because it will find the containr made by flasher, but the inverse is not true
upgrade php-flasher to add custom options and persistent notifications
Add dark theme
* update composer.lock
* remove ^M from DOS style file
* Support for West Mountain 4005i DC PDU
* update SVG to include width attributes
* try adding reserveAspectRatio="xMinYMin meet"
* remove width attribute
* removed disabled modules per @Jellyfrog comment
* rename per PR
* add missing test JSON data
* don't attempt to graph or detect uptime, as neither OID is supported
* remove file extension
* remove specific modules for discovery & polling, as this device isnt buggy enough for justify
* Update westmountainradio.yaml
* Update westmountainradio.yaml
Co-authored-by: Tony Murray <murraytony@gmail.com>
* use Blade view and Eloquent models for plugins
* move views
* fix style
* fix style
* revert mistake
* Update Plugin.php
delete test property "name"
* rename plugin function to settings
* last but not least - rename in Test.php
* Rename Test to Example
* fix typo
* fix style
* fix style
* fix style
* fix style - I hate tabs...
* Extract view calls
* fix method calls and style
* Move Models the the abstract class
* fix style
* Convert to traits
* Change the Example description
* Fix style
* Fix style
* Fix style
* Convert plugin function to Model static methods and delete .inc.php
* fix style
* fix style
* Use scope
* final methods blows up legacy code
* Config > \LibreNMS\Config
* convert the static string to a static method
* Correct placement in the page
* fix tabs
* fix style
* Rename from tait to hook
to make it easier to understand and be complient
* rename file
* Typo
* Started to change the docu
* change to a more usefully Device_Overview example
* and activate of course
* PluginManager
* fix .gitignore
* only php files in the root folder
* corrected .gitignore with all files :)
* Rename the Hooks and ExampleClass for better readability
* Fix style
* Fix style
* Exception handling (especially if DB is not present)
* Fix style and update schema
* fix indentation
* actually correct indent
* fix migration collation check include utf8mb4_bin
* stop phpstan whining
* A view lines documentation
* add typeHints
* Allow return null on handle
* lint
* fix return types
* fix logic of column collation check
* Fix MenuEntryHook
* switch to longtext instead of json type for now :D
* try phpstan on PHP 7.3
* set phpstan target version to 7.3
* all the typehints
* optional
* more
* Use namespace to prevent view collisions
disambiguate plugin and hook
no magic guessing of names in PluginManager, bad assumptions
remove unused plugins from the DB
* cleanup plugin menu
* cleanup on shutdown and ignore but log query error on cleanup
* instanceof must be called against an instance
* Allow multiple hooks per plugin
* Port plugin ui code to Laravel
* page instead of settings for v1 plugins
* actually working settings pages
a little url cleanup plugin/admin -> plugin/settings
* fix style
* Add page hook
* PHPstan
* Try to fix Illuminate\Http\RedirectResponse
* typehint
* Rewrite the doc
* Fix style
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Updated mib
* Add support for IOS/IOSXE PoE stats
* Added testdata
* Better titles for Power-tab in Health
* Added low_limit for iosxe
* Basic support for Enviromux devices
* Fixes
* Revert "Added low_limit for iosxe"
This reverts commit 645e3b423a.
* Removed commits from wrong branch
* Removed limits due to not working, need php
* Added testdata
* Update nti.svg
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
No snom os exists anymore.
According to very old files, sysDescr should contain the string "snom".
I checked on stats and no one reports an snom phone added to LibreNMS.
I can't add the os detection, so just remove these.
Netstats PR will remove other snom references
* Use Measurements for all statistic collection
* fix space
* Use colors
cleanup
* fix style
* manually fix license notice
* add return times and new line
* add return times and new line
* fix mistake in copyright template
* fix style
* Update manifest and add service worker
cleanup icons a bit
* Push notifications WIP
* navigate working
* cleanup
* acknowledge wired up
* Set VAPID keys on composer install
* Component to control notification permissions.
* Allow all user option to validate
* Enable on browser load if transport exists.
* Check for transport before showing user permissions
translations
* Documentation
* style fixes
* access via the attribute model
* fix alerting test
* update schema
* cleanup subscription on disable
* non-configurable db and table for webpush subscriptions (respect system connection)
* revert AlertTransport change
hopefully phpstan can figure it out
* phpstan fixes
* Support custom details display
* Match transport names to brand's preferred display
* less duplicate id errors
* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok
* Style fixes
* Style fixes 2
* Fix alert test
* Doc updates requires HTTPS and GMP
* unregister subscription when permission is set to denied
* cleanup after user deletion
* delete the right thing
* fix whitespace
* update install docs to include php-gmp
* suggest ext-gmp
* update javascript
* Update functions.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Workaround for dashboard widgets showing over popups.
z-index is being set on the popup, and I verified it is applied, but for some reason the widget with a z-index of 2 still shows over top.
I don't think this has any side-affects, but I don't know for sure.
Could not find another work-around. Gridster is dead, so unlikely we will update the js and override this fix.
* version file to make clients update
* Improve tailwind dark theme colors
Import the dark theme colors into the Tailwind color palette
update components to use those new colors
* remove colors import, it isn't used right now
* working popover
* popup component
* cleanup
* finalize device-link component
* attributes WIP
* working graph component
* widgets WIP
* More dynamic configs
* Graph row component
* Build CSS so we can use a dark theme
* graph row set columns
* only one popup visible at a time.
* Just set graph row width statically
* responsive WIP
* rsponsive option for graph-row "working"
* remove @deviceLink and @portLink
* fix non-responsive graph row
* update js/css
* fix style
* bad type?
* types
* types
* types #3
* remove testing code
* full rebel, no closing tags for meta and link
* match previous formatting
* fix vlans display
* restore newline
* remove silly comment
* remove unused line
* style I guess
* Dynamic Select setting
embeds select2 and uses ajax to call to backend for options
poller-group included
* fix validation a bit
* fix typehint
* move minProperties into the select schema
* Change dashboard-select to select-dynamic
Love deleting code
* Change dashboard-select to select-dynamic
Love deleting code
wire up a few select2 options
* fix whitespace
* Not a model, just an object
* Suggestion from @SourceDoctor autocomplete values of select and select-dynamic
Got a little creative with InternalHttpRequest...
* Show ifSpeed on Graph
Drop ifHighSpeed, we really don't want to store that value.
* safer truth check
* Allow global setting and per-graph variable
* match surrounding case
* Style fixes
* Remove old function usage
* update schema
* remove some old usages
* cleanup more ifHighSpeed references
* update test data to remove ifHighSpeed
* fix down migration
* Add button on graph page
Change default
tweak wording
* Changes to dark theme.
- Tables with white background now has dark background.
- Listbox in searchbar now has dark background.
* Minor change to internal css to modify all tables without 'table' class applied. (view screenshot)
* -Transparency on mini graphs on ports
* bootgrid-table td.no-results now has dark background
* Changes suggested by @Talkabout
* Add support for Liebert humidity setpoint and UPS powerfactor
* Option to ignore groups so they are not sent to Oxidized
* Revert "Add support for Liebert humidity setpoint and UPS powerfactor"
This reverts commit c338528aba.
* Updated docs
* Added ignore_groups option
* Added descriptions and updated translations
* Update settings.php
* Fixed typo
Co-authored-by: Tony Murray <murraytony@gmail.com>