* Use Laravel for authentication
Support legacy auth methods
Always create DB entry for users (segregate by auth method)
Port api auth to Laravel
restrict poller errors to devices the user has access to
Run checks on every page load. But set a 5 minute (configurable) timer.
Only run some checks if the user is an admin
Move toastr down a few pixels so it isn't as annoying.
Fix menu not loaded on laravel pages when twofactor is enabled for the system, but disabled for the user.
Add two missing menu entries in the laravel menu
Rewrite 2FA code
Simplify some and verify code before applying
Get http-auth working
Handle legacy $_SESSION differently. Allows Auth::once(), etc to work.
* Fix tests and mysqli extension check
* remove duplicate Toastr messages
* Fix new items
* Rename 266.sql to 267.sql
Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)
** Needs testing and perhaps tweaking still.
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
* Added new plugin menu_option in the "port" page, which contain hook calling public function port_container($device, $port) in plugins
* Cleaning after pre-commit error
* New method in Plugins.php to allow counting all plugins implementing a specific hook. This allow conditionnal display of the plugin menu_option in the port view.
* Typo after rebase
* Update plugins.inc.php
* Updating the documentation with device_overview_container and port_container hooks.
* * Health/sensor view for specific device/ports/port
* Removed code that didn't comply with standard
* added extra check html/pages/device/port/sensors.inc.php
* Update sensors.inc.php
* feature: FDB TABLES for ios and timos
* Fixed coding style issues
* renamed fdb.sql to 191.sql
* fixed travisCI issue
* FDB table discovery working on IOS
* Fixed bug: failing to insert fdb entries into database
* Fix phpcbf issue
* moved sql schema
* rename sql schema
* Add (tentative) FDB support for HP Comware switches
* build schema
* schema changes
* run build schema.......
* FBD Table discovery working on HP ComWare
* FBD Table discovery working on HP ComWare
* Add FDB support for HP Comware
* Discovery regex fix, tested and works for cisco 3750, 2960, 6509
* Use vlan_id instead of raw vlan. Remove Nokia implementation as vlans are not being discovered for it at the moment.
* Use vlan_id instead of vlan.
* Add debug messages, comware support
* Sorry.. phpunit isnt working for me
* Use a file structure instead of if statement per OS
* Make inserts to vlan table if entry does not exist.
* Rename sql schema file
* Use existing context name
Improve output and database synchronization
Remove chromephp and if ios
rename sqlfile
add comware back
update schema
* Delete TIMETRA-CHASSIS-MIB
* Delete TIMETRA-FILTER-MIB
* change index to bigint to be safe
* 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
Implements the CISCO-CLASS-BASED-QOS-MIB to retrieve QOS counters from Cisco devices.
Policy and Class-map details are collected and stored in the database.
Details are presented on a new "CBQoS" tab of the interface that the policy is applied to.
Includes a policy selector that allows you to select which policy-map to show graphs for.
Each class-map has its own rrd file, in which 3 metrics are stored: Bytes, QoS Drops, Buffer Drops.
This can produce a LOT of rrd files.
As an example:
A Cisco 4500 series switch, running MQC on 200 ports. Each port has a common 5 class queueing policy applied, this creates 1000 (5 x 200) RRD's.
Because of this I have currently set:
```
$config['discovery_modules']['cisco-cbqos'] = 0;
```
Includes function snmpwalk_array_num, which performs a numeric SNMPWalk and returns an array containing $count indexes
One Index:
From: 1.3.6.1.4.1.9.9.166.1.15.1.1.27.18.655360 = 0
To: $array['1.3.6.1.4.1.9.9.166.1.15.1.1.27.18']['655360'] = 0
Two Indexes:
From: 1.3.6.1.4.1.9.9.166.1.15.1.1.27.18.655360 = 0
To: $array['1.3.6.1.4.1.9.9.166.1.15.1.1.27']['18']['655360'] = 0
And so on...