* Store config data serialized
This way we can store null, booleans, and more reliably.
* Use model to get the mutated output.
* fix whitespace and unused function
* use json_encode/decode and casts
migration to transfer
* json_encode JSON_UNESCAPED_SLASHES
* Use JSON_UNESCAPED_SLASHES. That is only relevant if you are printing into an HTML page.
* pre-encode the seed...
* filter other fields besides config_value
In case we try to filter the component by it's `id`, we ran into ambiguity issue because both `component` and `component_prefs` tables have column `id`. Fixed by filtering explicitly on `component` table.
* Add ECS4110 cpu usage
* Add cpu usage oid for ECS4110
* TESTED
* Fix EdgeCore ifOperStatus does not follow the Cisco convention
* Since EdgeCore use "lowerLayerDown" in ifOperStatus when port is unplugged
* On the other way, Cisco use briefly "down".
* So change "lowerLayerDown" to "down" to workaround the bug that will make port always show as up/up
* Refactor Edgecos cpu usage oid
* Codeclimate is unhappy about it maybe the refactor will make it happy.
* Add EgdeCore ECS4110 MIB
Just got MIB from EdgeCore
* Refactor Egdecos Mempool
* a bit refactor of Mempool discover and polling
* add support for ECS4110 via MIB
* Modify ECS-4110 MIB
* MODULE-IDENTITY change from ECS4110-52P-MIB to ECS4110-MIB
* strip off syntax error part(time range)
* Add EdgeCore ECS-4110 OS polling
* polling OS and Hardware via MIBs
* Fix typo
* Sorry that I am dazzled
* Fix Syntax Check
* Codeclimate is a bit aggressive
* Update edgecos.inc.php
* Update edgecos.inc.php
* Revert "Fix EdgeCore ifOperStatus does not follow the Cisco convention"
This reverts commit 27971b34a8.
* Add snmprec file for unit testing.
* Create edgecos_ecs4110-28t.json
* Added Cisco QFP processor discovery
* Fix QFP index loop variable name
* Add test data for IOS-XE processors (from ASR1001-HX)
* set the right variable
* Fix creating device groups issue
Not being able to write the device relationships file should not be fatal
* remove @
* bootstrap.php calls this, Laravel isn't booted yet
* d_echo does not include \n
* Catch exceptions generated by alert transports
The alert.php script would completely die if a single alert
transport generated an exception. For example the API transport
if CURL couldn't connect to the api endpoint. The script
should attempt to send alerts to all working transports and not
die because a single transport fails.
* Move alert transport creation into try block
Catch any potential exceptions during transport creation.
None of the transports currently implement __construct()
but the DB could throw and in the future there may be
a transport that does implement it.
* Added more DELL switches in order to get proper CPU stats
More DELL switches supported:
* N4032
* N2048
* N2024
* N3048
* N2048P
* 54XX
* fixed indent as requested by phpcbf
* fixed multiline argument function call
* removed blank lines
* Added CPU stats for N4064F
* Added test data for N4064F
* fixed indent as requested by phpcbf
* Added test data for Dell Powerconnect 5424
* Added test data for Dell Powerconnect 5448
* Added test data for Dell Powerconnect 5524
* Added test data for Dell Powerconnect N4032
* Added test data for Dell Powerconnect N2024
* Added test data for Dell Powerconnect N2048
* Added test data for Dell Powerconnect N2048P
* Added test data for Dell Powerconnect N3048
* Fixed processor usage data
* Fixed snmpsim data for 3056
* Fixed processor usage
* easier to read format
* remove space changes
* 3056 should be 8%
* Fix installer not generating tmp directory directive
This fixes a usecase when open_basedir is set, not allowing php to write to default temp directory /tmp.
In that case, temp directory is set by `php_admin_value[sys_temp_dir] = /var/www/site/tmp`
Without setting config['temp_dir'] in generated config.php, LibreNMS will use /tmp regardless of what is set in fpm configuration.
* is_writeable and is_writable are both valid, but let's stay consistent
* Make $config['temp_dir'] non static
* Remove $config['temp_dir'] from standard config.php
* Make sys_get_temp_dir() fallback to '/tmp'
* Update defaults.inc.php
* Update install.php
* Update Config.php
* Update defaults.inc.php
* Update defaults.inc.php
* Laravel 5.8
and dependencies
* Fix cache time
* upstream base file changes
* Accidentally ran composer with PHP 7.3
* fix test error
* one more
* one more
* one more
* fix dotenv loading
* Remove auth use of $_SESSION
Will break plugins that depend on $_SESSION, Weathermap was already fixed.
Port them to use Auth::check()/Auth::user()/Auth:id()
* revert accidental replacement
* initial database migrations
* first part, discovery
* second part, polling
* add SAP polling and discovery
* style checks
* rename variables in more generic way
* html global pages for sdp and sdp binds
* add Services and SAPs
* port links, database, etc.
* html device routing pages
* add tests
* checks
* rework database id relationship
* scruntinizer inspection
* fix unit test for new mpls tables
* Modification of the getUserlist fonction to use ldap filter
* Modification of the getUserlist fonction to use ldap filter V2
* documentation of auth_ldap_Userlist_filter option
* documentation of auth_ldap_Userlist_filter option V2
* Allow filtering of getUserlist LDAP function
* Changed snmptrap.php and handlers to allow for alerts.
* Moved RunRules() to Dispatcher.php
* Modified includes, passes pre-commit tests locally.
* Converted RunRules to OO, fixed formatting in files found by TravisCI
* rebase, covert alert subsy to oop
* Modified init.php to call new Alert subsystem
* fixed dependencies
* Resolved undefined functions
* Fixed PingCheck.php not triggering
* Changed runAlerts to __construct
* Fixes
Can't have Config inside empty()
incorrectly named function (my fault)
poller.php missing shebang
organize imports
* Add support for using Markdown.
Alert templates can be written using Webex Teams (i.e., Spark) Markdown,
which makes for some richer alerts. This option defaults to false to
maintain Principle of Least Astonishment.
* Update Cisco Spark docs.
* Mention that Cisco Spark is now called Webex Teams
* Add support for Markdown
* Refactor text.
Do not exceed 80 characters per line.
* Refactor code to meet style guidelines.
* Remove errant tabs and use spaces instead
* Correct type check
* Remove use of 'else'
* Allow new {{ $xxxx }} syntax
* Properly handle urlencode on variable values without braking the URL, and uses Blades
* Doc
Doc typo
* use Guzzle for HTTP requests
* Add Basic auth support
* Doc update
* clean
* Revert Blades, but keep the {{ $xxxx }} syntax
* Revert Blades, but keep the {{ $xxxx }} syntax
* Init Vars and comments
* Notifications
* api-options are not required
* Update notifications.rss
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support
* cleanup, make relationship save, and validate it
* builder WIP
* rules builder and rules saving/loading
* Parse query builder to Laravel Fluent query
* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.
* remove unused old code
Update API and other places to use Eloquent
* debug output in poller restored
* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling
* hide pattern for static group
* Implement authorization
Use in the menu too
* update schema
* fix rollback
* Don't abort on invalid queries
* fixes to query builder
* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)
* Add macro support for QueryBuilderFluentParser
* add test for macro that accepts value
* More space in forms
Retain rules when converted to static
no duplicate names allowed
* Better error feedback
Update related devices on save
* Add button icon
* format
* update docs
* fix tests
* Fix some QueryBuilderFluentParser issues with OR
updated/more test data
* Show device groups runtime
fix querybuilder.json format
* Store table joins in the rules to minimize polling time
Update group joins in daily.sh (and when they are saved)
* Update daily.php
* Add units to time
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support
* cleanup, make relationship save, and validate it
* builder WIP
* rules builder and rules saving/loading
* Parse query builder to Laravel Fluent query
* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.
* remove unused old code
Update API and other places to use Eloquent
* debug output in poller restored
* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling
* hide pattern for static group
* Implement authorization
Use in the menu too
* update schema
* fix rollback
* Don't abort on invalid queries
* fixes to query builder
* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)
* Add macro support for QueryBuilderFluentParser
* add test for macro that accepts value
* More space in forms
Retain rules when converted to static
no duplicate names allowed
* Better error feedback
Update related devices on save
* Add button icon
* format
* update docs
* fix tests
* WIP - Add MPLS Support
This introduce the generic MPLS support
- New database tables for MPLS LSPs
- actually discovery and polling on NOKIA SR OS (Timetra) devices
- new routing->MPLS HTML pages
- ToDo MPLS LSP paths table and views
Suggestions and improvements are welcome
* add db schema
* some fixes
* add path table, discovery and polling
* add path views
* add test data
* Convert MPLS module to new style
Implement a SyncsModels trait to simplify code a lot
* abs() for negative value from snmp (bug?), test data
* fix db schema
* Fix up test data, remove uneeded data in json
* fix whitespace