Currently has a file handle leak (and will eventually run out of handles) related to the self update process.
Either need to fix that or rip out self-update and leave that up to cron or something.
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`
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`
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`
Revised the title of the message inline with the alert definition and revised the severity levels in accordance with the PushOver API. Removed some unused code.
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`
* Add vrf for non mpls cisco devices, add mib and test data
* Fix custom_where in vrf module
* Better VRF module test data collection
* Update ios_6500.json
* don't include ifVrf in ports
* update all ports add dependencies to pre-commit.php
* new json files
* 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
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`
This patch provides the ability to override most aspects of the configuration output provided to Oxidized. This is now backwards compatible with any current groups defined previously but allows for extra features such as group overrides in Oxidized as well as IP changes (for hosts that are treated differently inside Oxidized), as well as ProxyHost additions. Of course, this goes further and allows for any flag that can be defined within Oxidized to be mapped in the config.
Examples
1) Define a group for these hosts
```php
$config['oxidized']['maps']['group']['sysname'][] = array('regex' => '/^(foo|bar)/', 'group' => 'myGroup');
$config['oxidized']['maps']['group']['sysname'][] = array('regex' => '/^(baz)/', 'group' => 'anotherGroup');
```
2) Provide a proxy host for these hosts to bounce through
```php
$config['oxidized']['maps']['ssh_proxy']['sysname'][] = array('regex' => '/foo/', 'ssh_proxy' => 'mySshProxyHost');
$config['oxidized']['maps']['ssh_proxy']['sysname'][] = array('regex' => '/bar/', 'ssh_proxy' => 'anotherSshProxyHost');
```
3) Allow overrides of IP addresses so the external DNS is not used for connections
```php
$config['oxidized']['maps']['ip']['sysname'][] = array('regex' => '/baz/', 'ip' => '10.10.0.23');
$config['oxidized']['maps']['ip']['sysname'][] = array('regex' => '/lala/', 'ip' => '192.168.0.243');
```
As already mentioned, this doesn't stop with the above examples.
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.
Add test data
There were also some sensor name collisions and an incorrect divisor.
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`
* Adding VRP support for FDB table using HUAWEI-L2MAM-MIB
* Test data + review corrections
* Test data correction
* Remove double text
* PHP EOL at the right spot
* Rename vrp_5720.fdb.snmprec to vrp_5720.snmprec
* Update vrp_5720.snmprec
* Create vrp_5720.json
* Update vrp_5720.json
* Update vrp_5720.json
* Fix fdb query, test data, and mibs
* Add fdb-table module to tests
Also add the capability to select fields on joins, makes it easier to have consistent data without extra storage.
* add ticks for safety
* support multiple fields, but not aliasing
* more ticks
* Fix up selects
* Add Vrf Support too
* Fix application select
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
* More pre boot checks
Check php extensions
Laravel framework sub directories.
Check that web user belongs to the librenms group.
Make it clear that commands need to be run on the LibreNMS server.
* Handle spaces in .env
function was only public for testing
* Add Laravel to LibreNMS.
* Try to set permissions during initial install and first composer update to Laravel.
* Fix composer.lock
Fix missing db config keys
* Start building v1 layout
Port ajax_setresolution, inject csrf into jquery ajax calls
Layout works, building menu
Partially done.
* Fix device group list
remove stupid count relationships
* Print messages for common boot errors.
Don't log to laravel.log file.
Log to error_log until booted, then librenms.log
* Fix up some issues with Config loading
Start of custom directives
* Custom blade directives: config, notconfig, admin
* Preflight checks
Only load config files once.
* Update the composer.lock for php 5.6
* Menu through routing
* Start of alert menu
* Better alert scopes
* reduce cruft in models
* Alerting menu more or less working :D
* Fix style
* Improved preflight
* Fix chicken-eggs!
* Remove examples
* Better alert_rule status queries
Debugbar
* fix app.env check
* User Menu
* Settings bar (dropped refresh)
Search JS
* Toastr messages
* Rename preflight
* Use hasAccess(User) on most models.
Add port counts
* Missed a Preflight -> Checks rename
* Fix some formatting
* Boot Eloquent outside of Laravel
Use Eloquent for Config and Plugins so we don't have to connect with dbFacile inside Laravel.
Move locate_binary() into Config class
* Config WIP
* Try to fix a lot of config loading issues.
* Improve menu for non-admins removing unneeded menus
url() for all in menu
* Only use eloquent if it exists
* Include APP_URL in initial .env settings
* Implement Legacy User Provider
* Helper class for using Eloquent outside of Laravel.
Allows access to DB style queries too and checking the connection status.
* Fix up tests
* Fix device groups query
* Checking Travis
* copy config.test.php earlier
* dbFacile check config before connecting
Don't use exception to check if eloquent is connected, it gets grabbed by the exception handler.
Ignore missing config.php error.
* Fix config load with database is not migrated yet.
* Remove Config::load() from early boot.
* Use laravel config settings to init db (this prefers .env settings)
Fix bgp vars not set in menu
add _ide_helper.php to .gitignore
* Restrict dependencies to versions that support php 5.6
* Update ConfigTest
* Fix a couple of installation issues
* Add unique NODE_ID to .env
* Correct handling of title image
* Fix database config not loading. Thanks @laf
* Don't prepend /
* add class_exists checks for development service providers
* Fix config value casting
* Don't use functions that may not exist
* Update dbFacile.php
* d_echo may not be defined when Config used called.
* Add SELinux configuration steps
More detailed permissions check.
Check all and give complete corrective commands in one step.
* Ignore node_modules directory
* Re-add accidetal removal
* Fix Q-BRIDGE-MIB VLANs
Properly handle dot1qVlanTimeMark index (by ignoring it instead of assuming it is 0)
Adds test data for at least one device that uses Q-BRIDGE-MIB.
Fixes: #8516
* fix whitespace
* remove unused variable
* Update avaya-ers.yaml
Extreme bought avaya network assests so rebranding and moving some files.
* Add files via upload
Extreme bought avaya networking assets and so rebranding to Extreme and adding logos with OS for easier reading when on devices pages
* Update avaya-vsp.yaml
removing .1.3.6.1.4.1.45.3.79.1 This is a VSP 7024xl from avaya. This is techincally not VOSS but BOSS operating system. It should be in BOSS and avaya-ers.yaml
* Add files via upload
* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php
* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php
* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php
* Update extreme-voss.inc.php
* Rename avaya-vsp.inc.php to extreme-voss.inc.php
* Rename avaya-vsp.inc.php to extreme-voss.inc.php
* Rename avaya-vsp.yaml to extreme-voss.yaml
* Update and rename avaya-vsp.yaml to extreme-voss.yaml
* Update avaya-ers.yaml
* Rename avaya-ers.yaml to extreme-boss.yaml
* Rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update extreme-boss.yaml
* Update extreme-voss.yaml
* Update and rename extreme-boss.yaml to boss.yaml
* Update extreme-voss.yaml
* Rename extreme-voss.yaml to voss.yaml
* Rename extreme-boss.inc.php to boss.inc.php
* Rename extreme-voss.inc.php to voss.inc.php
* Rename extreme-boss.inc.php to boss.inc.php
* Rename extreme-voss.inc.php to voss.inc.php
* Update and rename extreme-voss.inc.php to voss.inc.php
* Rename extreme-voss.yaml to voss.yaml
* Rename extreme-voss.inc.php to voss.inc.php
* Update and rename extreme-voss.inc.php to voss.inc.php
* Update and rename extreme-boss.inc.php to boss.inc.php
* Update and rename extreme-boss.inc.php to boss.inc.php
* Update and rename extreme-boss.inc.php to boss.inc.php
* Rename extreme-boss.inc.php to boss.inc.php
* Update voss.inc.php
* Update boss.inc.php
* Update boss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update boss.inc.php
* Update boss.inc.php
* Update voss.inc.php
* Update boss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Rename avaya-vsp_8404c.snmprec to voss_8404c.snmprec
* Rename avaya-vsp_8404.snmprec to voss_8404.snmprec
* Rename avaya-vsp_8284xsq.snmprec to voss_8284xsq.snmprec
* Rename avaya-vsp_7254xtq.snmprec to voss_7254xtq.snmprec
* Rename avaya-vsp_7254xsq.snmprec to voss_7254xsq.snmprec
* Rename avaya-vsp_7024xls.snmprec to boss_7024xls.snmprec
* Rename avaya-vsp_4850gts.snmprec to voss_4850gts.snmprec
* Rename avaya-vsp_4850gts-pwr.snmprec to voss_4850gts-pwr.snmprec
* Rename avaya-vsp_4450gsx-pwr.snmprec to voss_4450gsx-pwr.snmprec
* Rename avaya-ers.snmprec to boss.snmprec
* Rename avaya-ers_1.snmprec to boss_1.snmprec
* Update and rename avaya-ers.json to boss.json
* Update and rename avaya-vsp_8404.json to voss_8404.json
* Update and rename avaya-vsp_8404c.json to voss_8404c.json
* Update and rename AvayaErs.php to Boss.php
* Update Boss.php
* Restore processor_type to avaya-ers in test data
* Update voss_8404c.json
* Update extremeboss.svg
* Update extremevoss.svg
* Refactor database and config init
Connect to the database without loading full config
Load config completely so post-processing is always done consistently.
Erase existing $config when loading, fixes issues in case we load the config twice.
If the database is not connected, don't try to load database settings. (Fixes some db errors on install)
Attempt to remove $config access/modification before init.php
Remove usage of db_name, that might not match the connected database.
Centralize db config loading, so we consistently apply db_test database settings.
Many of these changes are influenced by Laravel port.
* Some safety so we don't assign strings to numeric port field
Smooth out phpunit bootstrap
* Fix a couple of scrutinizer warnings.
* Update cambium MIBS
* Add pmp-450m utilization metrics
Added test data
* Re-run json test data
* Rremove application data from json
* Rename pmp tests to match hardware
* Create Ruckuswireless.php
Add Total Authorized Clients and Total AP Connected to Zone Director, Tested on Zone Director 1200 & 1100.
* Update Ruckuswireless.php
* Create ruckuswireless_zd1200.snmprec
* Create ruckuswireless_zd1100.snmprec
* Add AP count and Wireless Client over graphs
* Update ruckuswireless_zd1200.snmprec
* Update ruckuswireless_zd1100.snmprec
* AeroHive 001
* AeroHive 002
* AeroHive 003
* Removed duplicate HiveOS for OS
* Added AP550 detection
* changed to Hiveos-Wireless
* changed back to HiveosWireless. Hiveoss-Wireless doesn't work
* changed back to HiveosWireless. Hiveoss-Wireless doesn't work
* Added Processor Usage.
* Added Mempool.
* working on review requests 001
* working on review requests 002
* stuck on radio stats
* WirelessSensor.php added channel 165
* Added AP250 snmprec
* Frequency work in progress.
* Frequency trying another way.
* Frequency trying another way 002
* Fixed AH-SMI-MIB? Added array try 003
* Frequency array is working thanks to Murrant.
* Frequency array description working.
* Added TX Power
* changed interface naming method
* Review changes 001
* Review changes 002
* Review changes 003
* Added json test data.
* Fixed test data 001.
* Update snmpsim to fail better if it can't be started.
The main issue is the isRunning() check was done too soon after forking, the sh process was still running.
* increase default delay to 2s
* Pull this back, all we need is the sleep really.
* Remove removed exception
* Move nested defaults to Config::processConfig()
Fixes log_file when users set log_dir for example.
Removed stuff:
mibdir
dp_autocreate
base_url: setting http/https before config.php is loaded...
moved collectd setting to it's own config file
* add base_url mod back.
I thought that since definitions is called before config.php it was useless, but it changes the built in definition between http and https.
* LDAP debug
Updated LDAP and AD docs
ldap protocol default to v3 (so we don't have to set it all the time). If this fails it should revert to v2.
ad was using auth_ad_timeout incorrectly (1 I think)
* Add option to list all users.
* fix like and is null operators
* Add between operator support
* Can't have one if ($expand) clause
* fix up empty, add tests
* Use single quotes for strings
* Fix moxa sensors order
* Fixed travis