* device search by (valid) ip address
* add device_ip & not empty conditions to search results
* updated comments
* spaces after commas
* search ip and overwrite_ip for name based searches, too
* When searching from the web interface, librenms produces
production.ERROR SQLSTATE: Column not found: 1054 Unknown column
'$perms_sql' in 'where clause'
* Above feeds resources/views/layouts/menu.blade.php which, because
of the failed query, has no device_ports as a value. Thus the search
results do not produce the expected 'name ... device with X port(s)'
* As well, the previous query did not exclude deleted and ignored
ports. Therefore, the value for X port(s) was incorrect and did not
correspond to the device's ports screen.
* 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>
* 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
* Security fix: unauthorized access
Affects nginx users:
Moved php files outside of public html directory (Apache was protected by .htaccess)
Affects all users:
Some files did not check for authentication and could disclose some info.
Better checks before including files from user input
* git mv html/includes/ includes/html
git mv html/pages/ includes/html/
* 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
These are often wider than icons, with a fallback to icons if the logo is not present
Logos are stored in /html/images/logos
SVG is preferred for HiDPI
* Removed duplicate include
* Move set_debug into functions.php, and restore the (re)loading of includes/defaults
* Move debug call until after function has been included