* Migrate addhost.php to lnms device:add
Have snmp-scan.py call lnms device:add (make exit codes line up so this works)
Fix issue with ping only devices trying to detect os via snmp
Reorder options in device:add help and improve formatting
Update docs to remove references to addhost.php
Fix a bit of code that was in functional code
* fixes
* fix snmp version message
* 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>
* STP module rewrite WIP
* Finish rewrite
* Ignore disabled and log root/topology changes
* Remove interfaces for now
* fix style
* Lint fixes
* Document ResolvesPortIds and hide map functions
* whitespace fixes
* Revert to stpInstances in case someone writes mstp support
* missed one
* phpstan fixes
* Handle table and oids separately
* forgot to register observer
* Test data and correct non-table handling in SnmpResponse->table()
* update test
* test data
* revert aos7 silly things
* minimal polling
* Update test data
* order ports_ntp and rename new field to port_index
* forgot the db_schema
* revert ciena-sds port things
* MSTP support, maybe
* Adding test data
* Filter bad lines instead of discarding the entire snmp response
and capture fixes and test data
* fresh data
* add os data
* update data, ignore unfound ports, obviously bad device implementation.
* fixes
* Ignore context files in os detection test
* Remove empty table data
* add ciena-sds vlan
* designatedCost column is too small
* Update stp webui
* Refactor code to interfaces, to allow vendor mibs
* update schema
* fix issues added by abstraction
* STP fixes
* Default to no context for vlan 1
* never store vlan 1
* Update test data
* remove eltex brokenness
* fix style
* fix stan
* Fix Rewrite MAC to Hex padding with floats
* fix sqlite migration
Ref: https://en.wikipedia.org/wiki/Kilo-
For example in the Fanspeed values 4500 RPM (Rounds Per Minute) should be written as 4.5 kRPM, not 4.5 KRPM.
Regards
GG
* Do not include empty tables in test data
* empty data is simpler to check now
* Update test data
* revert comment options that block update all test data
* clean existing data
* fixes
* another fix
* remov extra sensors???
* why is that using that ip...
* missed an empty table
* missed one
* restore ftos
* revert another ftos
* revert ird
* restore timos
* restore timos_7705
* oops
* double oops
* timos mpls
* timos_hc
* another timos_hc fix
* 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
* collect-snmp-data.php can now capture snmp context test data
This is helpful for devices that use context for multiple data sets such as VLANs and VRFs. Allows us to test things that use those now, but does make more snmprec files :/
* update typehints on affected methods and baseline
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* Catch exceptions in device ip lookup
* Revert accidental snmp.inc.php poller target change
(should have been ?: not ??)
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* Fix warnings up to Arbos
* fixes a-c
* a-r
* a-vrp
* There and back again
* Update test data, couple fixes
* PHPSStan fixes
* style fixes, and fix Asyncos, whoops
* flip serial back.......
* less bogus data
* Poweralert sysName during polling too
* make sure things are calculated in the correct order
* fix style and bad nullables
* update test data
* A comple more conversions
* cambium ptp, misc, and hardware_mib
* remaining except vmware-esxi
* Fixes
* Update baseline
* fixes and fix up baseline
* adjust SnmpQueryMock to upstream options change
* data corrections
* restore slashes
* correctly handle all options input in SnmpQueryMock
* undo ftos changes
* restore vccodec sysDescr
* get the OUIs from Wireshark CSV instead of macaddress.io which is not free anymore
* style
* optimize
* master wireshark repo
* fix Cache::get prefix ordering
* fix double cache get
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Run phpstan locally with `lnms dev:check lint`
Separate result cache for deprecated functions so we don't break the cache every time.
* Skip phpstan flag
Skip all lints on ci except php lint (so we can check on multiple php versions)
* forgot default value
* fix up test cases
* Update LibreNMS/Util/CiHelper.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Better handling of some alerting errors
* Better error output
* Consolidate simple template parsing
* Fixes reported by phpstan (one was a bug, yay!)
* add back forgotten trim
* don't remove the template if there is no match
* Match previous behavior, which was inconsistent.
* use anonymous class for tests instead
* Oopsie, Stringable is PHP8+
* fix style
* Core module WIP
* update OS::make()
* core WIP
* try to finish up
* switch all core do os Model
* Mock WIP
* Working tests
* cleanup
* phpstan fixes
* style fixes
* fix agent
* trim space too
and a couple of cleanups
* corrected ios test data
* missed space
* update test data
* put escapes back
* another net-snmp difference
* Fix class description
* revert snmp.inc.php change, that can be a different PR
* revert snmp.inc.php change, that can be a different PR
* 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>
* Infer character encoding for ifAlias and sysLocation
Tries to convert character encoding for non-UTF-8 encoded strings.
This will only work for snmp strings that are type-hinted, not ones forced to ASCII with -Oa or similar
Only works for your default charset or Windows-1251 or LATIN1.
You can set your character encoding in .env with CHARSET
Please save us all and just use UTF-8
* style fixes
* less Yoda
* ensure return type
* fall back to passed string
* don't convert strings with any unprintable characters (such as line return)
* Update LibreNMS/Util/StringHelpers.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Fix CP850
* fix space
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* 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
* Validate APP_KEY
key:rotate command to rotate keys, only rotates validation data for now
* fixes, swapped encrypters, not saving new value to db, check that key exists first
* add confirmation
* Option to generate new key, re-encrypt data and then save it to .env
A lot more text to try to prevent disaster. Print out both keys 1-2 times.
Fix bug in EnvHelper (when key is commented but not empty)
* fix style
* oops, good phpstan
* Rewrite ISIS Adjacency discovery/polling
hopefully much faster now, do most work in discovery and just check up/down in poller.
* unused variable
* Implement option for OS override
* fix an incorrect typehint
* test data
* work around stupid migration name
* update schema
* better handling for the on-demand discovery
* more detailed phpdoc
* fix when adjacency is not found
* don't clear out data when adjacency goes away
* Adjust nullable fields
* fixes
* fix class name
* correct migration
* fix bug causing adjacency data to always be blank
* port popups for port links
* isisISAdjState does not need to be nullable
* remove extra space
* default off
* If port is missing return $text
* update schema
* Cleanup old components
* correc copy paste error