* WIP Sqlite
Down methods don't work either, avoid them with refresh for now.
WIP persistent support
WIP db_schema
WIP db_schema 2
Update new migrations...
revert dump_db_schema changes for now, too much difference.
fix migrations on mysql
fix up some more items, this should be our target schema
lots of index renames and a two misc changes
index rename WIP
index rename WIP
another round
fix up new schema changes
try case insensitive fix
Trying tests WIP
fix down methods
DBSetupTest working (uses mysql)
Test sqlite migrations work
* Properly validate sqlite output
* revert glue changes, should be separate PR
* remove dusk workaround
* remove unused variables
* import
* sqlite capitalization
* Revert some refresh tests
* testing_mysql back to testing
* Intitial push working tests
* Adding unit tests
* created interface state unit tests
* started ospf nbr unit tests
* finished nbr change unit tests
* precommit checks pass
* removed uneccsarry relationship
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible
* Missed rrdtool_tune() call
* Test update WIP
* OpenTSDB now includes tags
* fix style
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* Initial push
* power trap tests
* vmware heartbeat trap tests
* heartbeat trap test
* created utilclass for common functions
* Changed util class name to better reflect its use
* make vm power state changes to db
* Traps will modify DB
* Removed unecesarry relationship
* Added vminfo modelfactory, tests, and fixed format
* Added suspended state to ui
* Device group based access
* Use Permissions class to resolve permissions
Also give port access based on device access
* Convert more pages to use Permissions class
* shorten config setting name
use Eloquent relationships in several places
alphabetize config_definitions.json
* Change Models and Permissions
* Clean up ajax_search LIMIT sql
* Convert more pages to use Permissions class
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Device Cache
also some additional device related models
* attribs from cache
* replace common attribute functions
* remove legacy cache usage
tidy up some collection manipulation
remove some unused or single use functions
* cleanup some items
* always return a device, to prevent bugs
* clear device cache when testing after each test
* fix double assignment
* Clean up function to take advantage of null object
* Unbundle javascript language files
automatically generated for each install
* update docs
* update laravel-vue-i18n-generator
a newer (unreleased) verison is need for English fallback to work
* initial db/defaults dump
* numeric values
* Remove $config['time']
* Use config_definitions.json
* try setting definition as a complete array
* a little more
* fix format
* WIP converting dynamic setting pages
* rewriting the webui
* remove legacy and add translations
* finish email section
* improve navigation
update js a bit
* Import the remaining existing settings
* Update backend still some wip
migration
* fix config loading (db not overriding defaults)
* some cleanup
* more array collapsing
* update settings
* Settings search
* add purge settings to ui, order groups and sections
* collapse more arrays
* Auth definitions WIP
* remove needless slash escapes
* add warning to json
* moving settings from defaults.inc
* remove slow_statistics
* Move rrdtool settings to the poller section
* Use translations more consistently
* removing more settings from defaults.inc.php
* show setting name in tooltip
* allow help text to be shown on mobile
* disable settings that are set in config.php
* Implement undo and reset to default.
* Vue.js functional
* Vue.js WIP
* Implement tabs component
* accordion WIP
* lodash ver update
* two items
* Accordion somewhat working
* hash navigation
* Refine Accordion
* Fix up tab styling a bit
* Cleaner tab selected property
Hide html while loading
* spinner?
* Icon support
property for accordion to active
* WIP
* Tabs/Sections from ajax
* Setting Component skeletons
* Dynamic Component resolution
* Basic functionality
* toggle class
* Refactor components
* translate tabs and accordions
* simple array attempt
* improve readonly tooltip
* array styling
* array value editing
* organize snmp info
* Handle initial tab/section in url
* Use Laravel to parse tab/section, dump old
* Draggable array entries
* v-tooltip, for clickable (and touch) help tooltips
disable draggable
* Navigation WIP
* Navigation WIP
* groups computed
* filter settings
* fix event reference
* vue.js i18n initial
* missing description = just setting name
* en fallback
* tidy up the language support and js generation
* persist value to db
* fix issue with 0
* Delete settings from DB instead of setting them to default
* ldap-groups
fixup style
* Default dashboard selection
* fix array of options instead of object
* allow custom validation for settings
* translate options in SettingSelect
* SNMP v3 WIP
* fix setting arrays
* Split persist out of set
* Hook up events for SNMP v3 Auth
correct Config::persist behaviour with arrays
* dependent settings (primitive for now)
actually update the settings values in the LibrenmsSettings component
* more complex "when" behaviour
* remove un-needed seeder
* add poller_modules.cisco-qfp
* remove en.json (disable warning)
* don't set default for log_dir or log_file, otherwise it won't be processed correctly
* Fix module order
add some missing settings
* more config corrections
* correct graphs
correct loading values set to null (although it should have no difference)
remove project_name_version
* Add nfsen settings. Docs are very confusing, so might have flubbed something
remove option for array definition of select option as numeric indexes messes it up
* Correct more upstream config differences
* Config cleanup after a bunch of merges.
* Fixes
* add version tags to js/css files
remove old js
* Print out full settings list read-only
* Add http_proxy setting
fix indents in config_definitions.json
* repeaters default is 0 (aka 20)
* cleanups
* rewrite the dynamic config docs
* add language docs
* Don't show snmp v3 auth add/remove if disabled by config.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
* Add more api helper functions
to centralize code more
* Enable cors
* Initial Legacy route in Laravel
* Force api v0 responses to json
Add a couple more routes
* more paths, pretty print the json response
pass parameters to the api function
* devices basic functions
* Port generic graph function
check permissions function accepts callback to avoid lots of if statements
* move vlans
* links
* graphs
* fdb
* health
* wireless
* port graphs
* ip functions
split em up
* port_stack
* components
* compoment add/edit/delete
* get_device_groups
* port stats
* port graphs
* get_devices_by_group
* port_groups
* api_get_graph
* show_endpoints
* get_bill
* get_bill_graph
* get_bill_graphdata
* get_bill_history
* get_bill_history_graph
* remaining bill functions
* list_alerts
* ack/unmute alert
* Some cleanups
* Some cleanups
* list_alert_rules
* alert rule add/edit/delete
* inventory
* list_cbgp
* vrf
* list_ipsec
* list_fdb
* list_links (fix both usages)
* list_locations
* list_locations
* list_vlans
* list_ip_addresses
* list_arp
* list_ip_networks
* cleanup
* services
* list_logs and fix authlog.......
* cleanup
* cleanup 2
* remove slim
* don't load schema more than once
* basic test
* fix style
* downgrade laravel-cors to a version that supports PHP 7.1
* Support for system APP_LOCALE
* Start preferences re-write
* port 2fa form
* Working user preferences
* Language user preference
* Don't look up locale from the DB every request
* Device list working
* Deny demo user middleware
* Finish password changing
* remove used resource methods
* remove leftover use
* warn that translation is incomplete
* fix style
* Remove legacy index php file
* fix routing page missing data
* WIP
* fix $navbar global usage
* remove global use of $locations
* ObjectCache again...
* move vars.inc.php to init.php for legacy ajax
* navbar is more local than I thought before. Fix it.
* Fix some sensors tables escaping
* restore custom menu functionality, but with blade
and docs
* cleanup
* tidy menu @if checks
* Fix up the rest of the global variables and remove print-menubar.php
* consolidate some counting in the menu
* filter out empty custom port descr types
* Fix up custom port groups
* Fix up apps menu
* Fix services menu when all are ok
* Limit cached data to the user it is for
* Fix style
* A few clean ups
* fix pseudowire bug
* initial commit of junos handlers
* added DOM alarm test, refactored handlers for DOM alarms
* fixed some formating issues with last commit
* Created DOM alarm handlers and unit tests
* Made tests for LSP Down handler
* Added trap tests for JnxVpnSes*, JnxVpnIf*, JnxVpnPw*
* Added BGP4 trap handlers and tests
* Fixed some variable names for codeclimate
* Simplified JnxBGPM2* handlers
* updated unit tests
* Added SNMP Trap Handlers for Adva Ethernet devices
* Fixed formatting.
* Fixed errors from previous commit.
* Refactored AdvaAttributeChange.php
* Updated a few handlers, added test script.
* Added changes to snmptraps.php to make handlers active
* Fixed issues found by travisci
* Missed two mistakes in travisci, fixed. Should be ready for human eyes.
* Added SNMP Trap Handlers for Adva Ethernet devices
* Fixed formatting.
* Fixed errors from previous commit.
* Refactored AdvaAttributeChange.php
* Updated a few handlers, added test script.
* Added changes to snmptraps.php to make handlers active
* Fixed issues found by travisci
* Missed two mistakes in travisci, fixed. Should be ready for human eyes.
* Added two tests.
* fixed error
* Updated handlers with changes introduced in 1.50
* Refactored and added a few tests
* Added test for StateChangeTraps
* Added AdvaObjectDeletionTest, still wip as I need to recapture flow del.
* Added Network Element Alarm Trap Test
* Added more tests, but they are wip.
* Finished traps handler tests, few handler refoactors.
* fixed style errors and refactored as requested
* made requested changes to threshold trap handlers
* removed a test script
* modified adva port threshold handler
* Update AdvaAccThresholdCrossingAlert.php
* Update AdvaNetThresholdCrossingAlert.php
* removed static method
* fixed mistake in AdvaNetThresholdCrossingAlert.php
* Reorganize trap tests
* Testing db DRIVER to prevent .env from interfering
* New code to detect if Laravel is booted. Hopefully more reliable.
* WIP external test process
* revert module test helper
* Use .env in Eloquent::boot()
* Fix test database settings loading
* fix undefined classes
(didn't find the one I needed)
* Fix incorrect Config usages
And RrdDefinition return type
* fix .env loading
* use the right DB
* slightly more accurate isConnected
* Move db_name to DBSetupTest specifically
* restore $_SERVER in AuthSSOTest
* missed item
* WIP
* tear down in the correct order.
* some testing cleanups
* remove check for duplicate event listener, it's not working right
* Don't need this change anymore
* Implement Log::event to replace legacy function log_event()
* fix port tests
* fix up tests
* remove pointless TrapTestCase class
* fix style
* Fix db config not being merged...
* skip env check for tests
* defer database operations until after Laravel is booted.
* don't include dbFaciale...
* redundant use
* Reorganize trap tests
* Testing db DRIVER to prevent .env from interfering
* New code to detect if Laravel is booted. Hopefully more reliable.
* WIP external test process
* revert module test helper
* Use .env in Eloquent::boot()
* Fix test database settings loading
* fix undefined classes
(didn't find the one I needed)
* Fix incorrect Config usages
And RrdDefinition return type
* fix .env loading
* use the right DB
* slightly more accurate isConnected
* Move db_name to DBSetupTest specifically
* restore $_SERVER in AuthSSOTest
* missed item
* WIP
* tear down in the correct order.
* some testing cleanups
* remove check for duplicate event listener, it's not working right
* Don't need this change anymore
* Implement Log::event to replace legacy function log_event()
* fix port tests
* fix up tests
* remove pointless TrapTestCase class
* fix style
* php artisan serve and dusk testing
* Fix style
* move if into, in case we need to have different configs
* fix travis yml
* Add missing folders files
* Try to fixup Travis-ci
* revert variable, change check
* skip browser tests for phpunit runs
set up env correctly
* maybe bg is needed
* attempt to fix env
* install Chrome
* Update tests
fix migrations
* Move pylint to python2
* use testing .env
* Running chrome on port 9515 conflicts with the instance started by the tests. It is probably not needed.
* suppress some artisan serve output
* remove the unused updater
* Add librenms command
Hook up to artisan. Hide dev commands and most other commands if app environment is production.
Register all commands for php artisan or when not in production.
* remove dead end line
* Console application name and version.
Had to shift some stuff from legacy code, but deferred others as it was too extensive of a change.
* switch check order
* always get local version now
* update array format
* whitepace
* fix style
Fix issues when APP_LOG is empty, unwritable , or pointed at a directory.
APP_LOG takes precedence over $config['log_file'] now.
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`
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.
* MGE: Improve support for Galaxy devices
* MGE: Improve support for Galaxy devices
* MGE: Improve support for Galaxy devices
* rfc1628 adaptations for Eaton MGE Galaxy 7000
* eaton-mge: test data on a Galaxy 7000
* rfc1628 adaptations for Eaton MGE Galaxy 7000
* rfc1628 adaptations for Eaton MGE Galaxy 7000
* eaton-mgeups: test data on a Galaxy 7000
* Add upsmgUtilityFailure and upsmgUtilityRestored trap support for eaton-mgeups
* dev: eaton-mgeups: OID in the dynamic definition for discovery
* dev: eaton-mgeups: cleaning
* add contributor
* add contributor
* Force root url if set by user
If user sets APP_URL, force the root url to that. Empty strings result in default behavior.
Fix some of the urls in the laravel templates.
* Docs update
* Add base_url
* Allow trusted proxy via APP_TRUSTED_PROXIES
Set to '*' by default to emulate legacy behavior.
Set up doc describing environment variables
* Create helper to parse environment variables into arrays properly.
* Update doc blocks
* 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
Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok
TODO
- [x] IRC client broke
- [x] Install broke
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`
* Updates to snmptrap handling
fix a bug in findDeviceByIP. Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.
* fix tests copy paste issue.
* Fix findByIp when port may not exist.
* Logging: Output context (and extra) if they exist
* Generic trap event logging and new config setting.
* Fixed snmptraps.
* Fixed space
* Added bgp down/up and authentication failure
* Fixed typo
* Fixed some typos, arrays, astext and format_hostname
* Updated documentation
* Moved code to a function
* Some refactor
* Minor fixes
* Minor fixes 2
* More minor fixes
* Changes requested by Tony
* Minor fixes
* Moved include to snmptrap.php
* Refactor traps to use object oriented code.
Should trigger events too/instead, but we'll leave that.
Testing todo
* Add tests and fix things so they actually work
Not checking events yet.
* Fixed typo and severity level
* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.
* Fix several issues with phpunit fixtures
Allows things to boot if it is missing but displays a toast.
Allows Toastr facade to work on legacy pages too.
Not 100% sure if we want this.
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`
* Initial start on new templating support
* further updates
* more updates
* More working version
* Last fixes
* Small updates
* modified test to look for dbname.
* Schema update
* Added fix for not being able to disable Philips Hue transport
* Updated sql file
* Updated db_schema
* Set myclabs/deep-copy to be 1.7.x version in composer
* Fixes from murrant
* Forced nikic/php-parser to version 3.1.x in composer
* Updated composer to use custom fork of string-blade-compiler + fixed transport use
* Updated to always use correct template
* Merged legacy and blade templating engines
* Removed template type + fixed test-alert.php
* Added more template placeholders
* Added ability to reference data in templates as $alert->X
* Updated docs for templates
* Updated db_schema.yaml
* Added $alert->builder
* Clarify the use of $alert->builder
* Fixed the use of $alert->transport
* renamed schema file
* Added template validation
* Small update to fix travis issue
* Add Docs text to title bar
* Updated amqp to new of version
* Consistency in alert rule and template title bars