* Human readable database inconsistent error
In case a db error causes an exception, check validate and show the db errors to the user in the webui.
* only failed validations
* fix style
* RRD Graph optimization
Do not use temporary files to generate graphs
Don't start up a process to pipe commands to, just run the command
Error image improvements
* fix style issues
* run the rrdgraph command in the rrd directory
* RRD Graph optimization
Do not use temporary files to generate graphs
Don't start up a process to pipe commands to, just run the command
Error image improvements
* fix style issues
* mempools to modern module
quick hacky hrstorage port
* port ucd-snmp-mib to Mempools
* Populate DB for ucd
Prep for yaml
* initial yaml attempt
* more complex conversions
fixes to YamlDiscovery, make leading $ optional and allow mib::oid format
* walk full tables and skip values
normalize percentages above 100
* handle precent only ones (specify total as 100)
* Move default polling out of YamlMempoolsDiscovery
* fixes
* Update test data hrstorage should be correct.
* perc_warn for hrstorage
* Host Resources, record buffer, cached, and shared
* Host Resources is always better, don't do both HR and UCD
* fix unix, include warning levels
* variable size
* consolidate skip_values
* define mempools schema
* number instead of integer
* more schema refactor
* one more skip_values reference
* throw error for invalid oid translation
aos6
* a* and Cisco
* updated test data
* update almost all hrstorage data files
* b*
* c* with test data
use standard cache for hrStorage
* use cache for storage module too
* hand bsnmp properly
* bdcom
* exclude total oid from yaml so it is not polled
May add a way to ignore this behavior and poll it, but I don't know if that is needed.
* automatically handle percent only values
* ciscowlc
* only poll used or free if we have used, free, and total.
* fix skipping
* the dlinkoning
fix find value when value "name" is numeric
* support numeric oids
* dnos/ftos attempt
* I guess we can't filter on total > 0
* edgecos
* e*
* f WIP
* f*
* gwd (aka g*)
* h* + procurve
* i*
* j*
* m*
* support 0% used memory (however unlikely)
* n*
* CISCO-PROCESS-MIB memory, share cache with processors module
* ignore mempools with invalid total
* p*
* quanta
* r*
fix raisecom mibs terribly broken
* s-z
* style fixes
* Move VRP back to PHP and make it actually work
* fix zynos
* update schema
* Update Cisco processor data for description bug fixes
* fix comware processors
* comware mempools with memory size
default precision to 1
* sophos-xg updated data
* hrstorage use ram size for buffers, cache, and shared
* Show memory available instead of free in device overview
* UCD, use same rrd format, store available instead of free in the db.
* Calculate availability for HOST-RESOURCES-MIB
* Convert UCD to standard polling
* rename old rrd files
* initial graph work
* graph WIP
* Graph looking decent
* Graph looking decent for hr
* remove old ucd_graph code
* handle availability mempool
more graph cleanup
* color adjustments
* remove accidental free calculation
* Update test data and fix corner cases
* fis pfsense
* update schema
* add default value for mempool_class
* fix whitespace
* update schema
* update schema correctly
* one more time
* fortigate_1500d-sensors missing oids
* Update docs.
* fix indent
* add implements MempoolsDiscovery explicitly to OS
* remove ucd_memory graph references
remove unused device_memory graph
* remove unused functions
* set devices with mempools to rediscover to prevent/minimize gaps
* use a subquery
* add overview graph
* port health mempools table
* Update device mempool
* only show overview if multiple
* Don't override user set warn percentages in discovery
* fix missed usage
* fix style
* Safety check to not rename rrd files incorrectly if migration has not been run.
* Fix overview percent bar and represent available and used on the bar
* missed an item to convert to mempool_class
* percent on the wrong side
* Maximum Execution Time Exceeded show error
Migrate translations to php translation files.
Fix invalid view class in Handler
* Update MaximumExecutionTimeExceeded.php
* Update MaximumExecutionTimeExceeded.php
* Port RIPE whois to Laravel
* remove netcmd.php and port to laravel.
Escape CLI and set it to stream output live.
* fix browser buffer bust on a few browsers.
* Don't check file permissions on every request, handle failures
Improve error page visually
* only print minimal mkdir
* invert file_exists check, whoops
* docblock
* revert accidental changes
* rename variable
* Change database errors to use the new layout
* Add support url to the default layout
* Replaced \n for && in fix for user perms
* fix web output
* add json_app_get function
* add numeric testing and version support
* now use json_app_get
* remove some unneeded code
* update the docs for json_app_get some more
* make the format checker happy
* add in min version support and now take extend name instead of the partial OID
* hmm... don't make min version optional
* add Exception usage for this all make min version actually work
* minor formatting cleanup
* minor style cleanup
* update json_app_get with $throw_me setting
* Use exceptions to fully handle errors.
Always update the application. Include error message for use in UI.
Move data to data key for easier parsing.
Add test data
* make a few changes to the lovely changes from @murrant
* style cleanup
* now attempt parsing it the old way if a error of -5 is returned
* add new exceptions and rework them all
* add new exceptions and min version 0 no longer bypasses the key checks
* redo the error codes a bit and improve the comment about it all
* fix a a bit of formatting
* added JsonAppException and make the other JsonApp stuff a sub of it
* note JsonAppException
* fix class creation
* JsonAppBlank now extends JsonApp
* doh! add <?php
* update the poller to properly use the new exceptions
* no longer check for error twice and make sure the data key is present
* cleanup processing of legacy scripts
* tweak this a bit
* white space fix
* fix the tests for fail2ban
Display the errors to the user
Hide the query, unless APP_DEBUG=true in .env
Much easier to display output for other exceptions now, just need to add a render() function to them
* Extract DiscoveryItem and move some things to better places.
Extract model class
Fix up model construction. I have problem with construction...
Makeshift model working. Switch constructor to factory. discover() and create()
Support legacy discovery.
Remove uneeded custom pollers
Remove netonix custom detection as we try ucd on all os now.
Add a few yaml procs. Fix a couple things.
More processor discovery conversions
Move Calix e7 to standard hrProcessorLoad, but it doesn't fully implement the HR-MIB, move things around to make it work.
Add a few yaml procs. Fix a couple things. Correct some stupid mib stuff.
Move more, drop php 5.3
Add netscaler which uses string indexes. Port fiberhome to yaml and use skip_values
More conversions. BroadcomProcessorUsage Trait
Serveriron and Ironware share some mibs. Create a common abstract os for them.
Add yaml support for mib specification in each data entry
Make legacy discover_processor() set 0 for hrDeviceIndex
Untangle Dell switch OS processors
Use use shared OS for groups if they don't have a specific group.
fix silly mib mistake
Make index optional
Move HR and UCD to Traits and out of Processor.
* forgot to update the fortiswitch index
* Make sgos and avaya-ers match the old index.
* fix comware test data
* fix merge errors
* fix dsm and remove pointless empty modules
* file not found exception is in the wrong place.
* Updated processor development docs
* feature: AD support nested groups (resubmit #7175)
Don't let groups with periods in the name cause issues.
* Merge #7245 into this PR
* Capture Exceptions in get_userlevel()
* Throw generic error if auth_ad_debug is not enabled to prevent information leak.
* Refactor remove use of pear Net_IPv4 and Net_IPv6
Caution, I added tests to test the functionality of the new functions, but I'm not 100% certain the replaced usages match 100%. Please test.
Left usage in generate-iplist.php because I'm not sure the use of that script, so I didn't want to implement additional functionality to support it.
Add support for ipv6 fo ipInNetwork() function
Add phpdocs to functions
Remove accidental inclusion
Use binary operations instead of string for networKFromIp()
Tidy up binary operations in ipInNetwork()
tidy parsing cidr network
Change to a class based implementation.
Update phpdocs.
Fully catch exceptions for hex parsing.
Fix mistake.
support older phpunit versions
Fix php shifting to negative with php 5
* Fix graph authorization. Uncaught exception and checking an ipv4 against an ipv6 network == fail.
* Also remove colons from hex strings.
* Fix typo in bgp polling
Two passes of removing invalid characters from hex strings. (That way we don't mangle valid IPs)
* fix: minimize session open time
page/graphs speedup part 2
Write close the session as soon as we no longer need to write to it. Prevents the session from blocking other requests.
Do not run through full authentication functions if the session is already authenticated.
Removes password from the session as well as some items to prevent session fixation from #4608.
WARNING: This will cause issues for ad/ldap users who do not have a bind user configured!
* Do no erase username when using cookie auth.
Properly close the session in ajax_setresolution.php
* write close the session as soon as possible in ajax_setresolution.php
* Remove session regeneration. It is not compatible with the current code and would require more changes.
* Totally refactor authentication. Extract code to functions for re-use and improved readability
* Use exceptions for authentication and error logging
Tested: mysql, ad_auth with and without bind user
* fix a couple scrutinizer issues
* fix reauthenticate in radius
* Add support for custom MySQL unix-socket
* NULL must be lowercase!
* Naive edit of html/install.php
* fixup
* Refactor dbConnect
Use it everywhere
* $config needs to be global
Don't need to set $database_link
* small cleanups
* feature: Allow customisation of rrd step/heartbeat when creating new rrd files
* revert defaults
* added docs + webui config option
* Move RrdDefinition to an Object to make them easier to create and remove the possibility of typos.
* Fix style/lint issues and missing use statements
* 3 more missing use statements
* updated doc + moved schema file
* Implement an autoloader
When cleaning up classes for psr2, things got a bit unwieldy, so I implemented a class autoloader.
I created a PSR-0 compliant LibreNMS directory and moved all classes there that made sense.
Implemented LibreNMS\ClassLoader which supports adding manual class mappings
This reduces the file includes needed and only loads classes when needed.
* Add teh autoloader to graph.php
* Add a small bit of docs
Fix incomplete class in includes/discovery/functions.inc.php