Commit Graph

373 Commits

Author SHA1 Message Date
Tony Murray
f09d1d9c47 Update PHP dependencies (#15737)
* Update PHP dependencies
  - Removing doctrine/annotations (2.0.1)
  - Upgrading barryvdh/laravel-debugbar (v3.8.1 => v3.9.2)
  - Locking carbonphp/carbon-doctrine-types (2.1.0)
  - Upgrading composer/ca-bundle (1.3.7 => 1.4.0)
  - Upgrading composer/composer (2.6.4 => 2.6.6)
  - Upgrading composer/pcre (3.1.0 => 3.1.1)
  - Upgrading composer/spdx-licenses (1.5.7 => 1.5.8)
  - Upgrading doctrine/dbal (3.6.5 => 3.7.2)
  - Upgrading doctrine/deprecations (v1.1.1 => 1.1.2)
  - Upgrading dragonmantank/cron-expression (v3.3.2 => v3.3.3)
  - Upgrading egulias/email-validator (4.0.1 => 4.0.2)
  - Upgrading ezyang/htmlpurifier (v4.16.0 => v4.17.0)
  - Upgrading fakerphp/faker (v1.23.0 => v1.23.1)
  - Upgrading filp/whoops (2.15.3 => 2.15.4)
  - Upgrading friendsofphp/php-cs-fixer (v3.22.0 => v3.46.0)
  - Upgrading fruitcake/php-cors (v1.2.0 => v1.3.0)
  - Upgrading graham-campbell/result-type (v1.1.1 => v1.1.2)
  - Upgrading guzzlehttp/guzzle (7.7.0 => 7.8.1)
  - Upgrading guzzlehttp/promises (2.0.0 => 2.0.2)
  - Upgrading guzzlehttp/psr7 (2.5.0 => 2.6.2)
  - Upgrading guzzlehttp/uri-template (v1.0.1 => v1.0.3)
  - Upgrading laravel/dusk (v7.9.0 => v7.12.1)
  - Upgrading laravel/framework (v10.16.1 => v10.40.0)
  - Locking laravel/prompts (v0.1.15)
  - Upgrading laravel/serializable-closure (v1.3.1 => v1.3.3)
  - Upgrading laravel/socialite (v5.8.0 => v5.11.0)
  - Upgrading laravel/tinker (v2.8.1 => v2.9.0)
  - Upgrading laravel/ui (v4.2.2 => v4.3.0)
  - Upgrading league/commonmark (2.4.0 => 2.4.1)
  - Upgrading league/flysystem (3.15.1 => 3.23.0)
  - Upgrading league/flysystem-local (3.15.0 => 3.23.0)
  - Upgrading league/mime-type-detection (1.11.0 => 1.14.0)
  - Upgrading maximebf/debugbar (v1.18.2 => v1.19.1)
  - Upgrading mews/purifier (3.4.0 => 3.4.1)
  - Upgrading mockery/mockery (1.6.4 => 1.6.7)
  - Upgrading monolog/monolog (3.4.0 => 3.5.0)
  - Upgrading nesbot/carbon (2.68.1 => 2.72.1)
  - Upgrading nette/schema (v1.2.3 => v1.2.5)
  - Upgrading nette/utils (v4.0.0 => v4.0.3)
  - Upgrading nikic/php-parser (v4.16.0 => v4.18.0)
  - Upgrading nunomaduro/collision (v7.1.0 => v7.10.0)
  - Upgrading nunomaduro/larastan (v2.6.3 => v2.8.1)
  - Upgrading pear/net_dns2 (v1.5.3 => v1.5.4)
  - Upgrading php-amqplib/php-amqplib (v3.5.4 => v3.6.0)
  - Upgrading php-flasher/flasher (v1.15.3 => v1.15.8)
  - Upgrading php-flasher/flasher-laravel (v1.15.3 => v1.15.8)
  - Upgrading php-webdriver/webdriver (1.14.0 => 1.15.1)
  - Upgrading phpdocumentor/type-resolver (1.7.2 => 1.8.0)
  - Upgrading phpmailer/phpmailer (v6.8.0 => v6.9.1)
  - Upgrading phpmyadmin/sql-parser (5.8.0 => 5.8.2)
  - Upgrading phpoption/phpoption (1.9.1 => 1.9.2)
  - Upgrading phpseclib/phpseclib (3.0.34 => 3.0.35)
  - Upgrading phpstan/phpdoc-parser (1.23.0 => 1.25.0)
  - Upgrading phpstan/phpstan (1.10.26 => 1.10.55)
  - Upgrading phpstan/phpstan-deprecation-rules (1.1.3 => 1.1.4)
  - Upgrading phpstan/phpstan-mockery (1.1.1 => 1.1.2)
  - Upgrading phpunit/php-code-coverage (9.2.27 => 9.2.30)
  - Upgrading phpunit/phpunit (9.6.10 => 9.6.15)
  - Upgrading predis/predis (v2.2.0 => v2.2.2)
  - Locking psr/clock (1.0.0)
  - Upgrading psr/http-client (1.0.2 => 1.0.3)
  - Upgrading psy/psysh (v0.11.19 => v0.12.0)
  - Upgrading ramsey/uuid (4.7.4 => 4.7.5)
  - Upgrading react/promise (v3.0.0 => v3.1.0)
  - Upgrading sebastian/complexity (2.0.2 => 2.0.3)
  - Upgrading sebastian/global-state (5.0.5 => 5.0.6)
  - Upgrading sebastian/lines-of-code (1.0.3 => 1.0.4)
  - Upgrading seld/jsonlint (1.10.0 => 1.10.1)
  - Upgrading socialiteproviders/manager (v4.3.0 => v4.4.0)
  - Upgrading spatie/flare-client-php (1.4.1 => 1.4.3)
  - Upgrading spatie/ignition (1.9.0 => 1.12.0)
  - Upgrading spatie/laravel-ignition (2.2.0 => 2.4.1)
  - Upgrading symfony/console (v6.3.4 => v6.4.2)
  - Upgrading symfony/css-selector (v6.3.0 => v6.4.0)
  - Upgrading symfony/deprecation-contracts (v3.3.0 => v3.4.0)
  - Upgrading symfony/error-handler (v6.3.0 => v6.4.0)
  - Upgrading symfony/event-dispatcher (v6.3.0 => v6.4.2)
  - Upgrading symfony/event-dispatcher-contracts (v3.3.0 => v3.4.0)
  - Upgrading symfony/filesystem (v6.3.1 => v6.4.0)
  - Upgrading symfony/finder (v6.3.3 => v6.4.0)
  - Upgrading symfony/http-foundation (v6.3.1 => v6.4.2)
  - Upgrading symfony/http-kernel (v6.3.1 => v6.4.2)
  - Upgrading symfony/mailer (v6.3.0 => v6.4.2)
  - Upgrading symfony/mime (v6.3.0 => v6.4.0)
  - Upgrading symfony/options-resolver (v6.3.0 => v6.4.0)
  - Upgrading symfony/polyfill-intl-idn (v1.27.0 => v1.28.0)
  - Upgrading symfony/polyfill-php72 (v1.27.0 => v1.28.0)
  - Upgrading symfony/polyfill-php83 (v1.27.0 => v1.28.0)
  - Upgrading symfony/polyfill-uuid (v1.27.0 => v1.28.0)
  - Upgrading symfony/process (v6.3.4 => v6.4.2)
  - Upgrading symfony/routing (v6.3.1 => v6.4.2)
  - Upgrading symfony/service-contracts (v3.3.0 => v3.4.1)
  - Upgrading symfony/stopwatch (v6.3.0 => v6.4.0)
  - Upgrading symfony/string (v6.3.2 => v6.4.2)
  - Upgrading symfony/translation (v6.3.0 => v6.4.2)
  - Upgrading symfony/translation-contracts (v3.3.0 => v3.4.1)
  - Upgrading symfony/uid (v6.3.0 => v6.4.0)
  - Upgrading symfony/var-dumper (v6.3.1 => v6.4.2)
  - Upgrading symfony/yaml (v6.3.0 => v6.4.0)
  - Upgrading tecnickcom/tcpdf (6.6.2 => 6.6.5)
  - Upgrading theseer/tokenizer (1.2.1 => 1.2.2)
  - Upgrading tightenco/ziggy (v1.6.0 => v1.8.1)
  - Upgrading tijsverkoyen/css-to-inline-styles (2.2.6 => v2.2.7)
  - Upgrading vlucas/phpdotenv (v5.5.0 => v5.6.0)
  - Upgrading web-token/jwt-core (3.2.7 => 3.2.9)
  - Upgrading web-token/jwt-key-mgmt (3.2.7 => 3.2.9)
  - Upgrading web-token/jwt-signature (3.2.7 => 3.2.9)
  - Upgrading web-token/jwt-signature-algorithm-ecdsa (3.2.7 => 3.2.9)
  - Upgrading web-token/jwt-util-ecc (3.2.7 => 3.2.9)

* update baseline

* remove unneeded annotation
2024-01-16 18:04:40 +01:00
Jellyfrog
071ca9bc2a Apply fixes from StyleCI (#15698)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2024-01-04 22:39:12 -06:00
PipoCanaja
01da313228 allow empty searchby as well (#15626) 2023-12-17 20:13:58 -06:00
Tony Murray
c79d8665d8 Link Model (#15611)
* Link Model
and relationships

* Some uses of the new model
2023-12-15 10:13:10 -06:00
Mitt
3a5a64d5c1 fix: device format missing display field (#15623) 2023-12-09 14:24:01 +01:00
Andy Norwood
371a8be7ed webui - Fix vendor search in FDB searchby rules function (#15619) 2023-12-05 18:38:35 +01:00
Peter Childs
90927be973 Add support for Okta Group claims to set Roles (#15592)
* Add support for Okta Group claims to set Roles

* styleci changes

* make Stan happy
2023-11-27 20:38:41 -06:00
Tony Murray
faf66035ea Fix a few XSS vulnerabilities in device group popups (#15581)
I can't tell if the flasher ones are vulnerable, as flasher is still broken.
2023-11-15 08:21:06 -06:00
Tony Murray
42ead493fb Only set user roles if they are defined (#15577)
fixes
https://community.librenms.org/t/admin-permission-removed-when-changing-password-via-my-settings/22796
2023-11-14 21:21:15 +00:00
Wheel
f0bbab2419 Minor fix and tweak for graylog integration (#15455)
* Minor fix and tweak for graylog integration

* More flexible in other use cases

* fix again?
2023-11-01 22:35:44 -05:00
Tony Murray
8de08774d6 Fix FDB table ip addresses missing (#15481)
* Fix FDB table ip addresses missing

* comma space

---------

Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>
2023-10-18 13:13:41 -05:00
Justin Lentz
e3def10922 Fix typo in FdbTablesController.php (#15477) 2023-10-17 15:26:40 -05:00
Tony Murray
e53436b6a3 Calculate downtime from device_outages table (#15397)
* Calculate downtime from device_outages table

* refactor
2023-10-06 20:37:23 -05:00
Tony Murray
d8c372bbf4 Refactor MAC utilities into a single class (#15379)
* Refactor MAC utils to a new utility class

* Apply fixes from StyleCI

* Inline functions
Add tests
Handle bridgeid format

* Apply fixes from StyleCI

* Dedicated code path for stp bridge parsing, and improve STP output a bit

* Correctly parse dot1dBaseBridgeAddress and don't store int in bool field

* trim any unexpected character from bridge addresses, add extra test data.

* better comment

* barsBridge can handle dot1dBaseBridgeAddress correctly now

* parseBridge, check for properly formatted mac first.

* update test data, empty data = empty mac

* Fix new usage after rebase

* import

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-06 07:34:14 -05:00
Tony Murray
9fca01830c Update Tnmsne table backend (#15384)
remove ridiculous sql injection vulnerability
2023-10-05 10:32:21 +02:00
Tony Murray
c8041b6699 FDB Tables improve performance (#15333)
* FDB Tables improve performance
Reduce unnecessary sql queries, by using a relationship
Cache vendor oui lookups

* Oui already "clean"

* Fix typo
2023-09-25 19:49:22 -05:00
SourceDoctor
c0a233700c show never polled information (#15341) 2023-09-24 18:10:11 +02:00
Tony Murray
c4852a01e9 Fix device display name in top interfaces widget (#15319)
fixes: #15317
2023-09-14 08:15:29 -05:00
Tony Murray
4dc2ae9d44 Timezone, fix user set no timezone (#15296)
fixes #15277
2023-09-08 07:48:16 -05:00
SourceDoctor
013096c092 readd missing key (#15291)
* readd missing key

* .
2023-09-06 16:08:07 -05:00
SourceDoctor
d991a4b505 fix missing keys for new status (#15284) 2023-09-05 16:08:15 -05:00
SourceDoctor
35ff23b39f show ignored device up when up (#15283)
* show ignored device up when up

* change status string
2023-09-05 11:04:16 -05:00
Wheel
a6ccb596df Custom ssh,telnet port with oxidized (#15255)
* Custom ssh,telnet,http port with oxidized

* Lint fixes

* copy paste minors
2023-09-03 20:15:51 -05:00
PipoCanaja
8eeb83928f Add global NAC page and refactor the per-device one (#15228)
* Adding a NAC global port page

* style

* filter_menu_entry

* typo

* ->when()

* device_id always returned

* use request

* laravel conversion, let see how it goes

* styleci

* ->with('device') to avoid 1 query per item processed

* and rewrote on @murrant advice

* any -> get

Suggested by @murrant

Co-authored-by: Tony Murray <murraytony@gmail.com>

* @push('scripts')

* style

* @endpush

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-08-31 20:25:24 -05:00
Tony Murray
2cd207028a Implement RBAC (only built in roles) (#15212)
* Install bouncer

* Seeder and level migration

* Display and edit roles

* remove unused deluser page

* Update Radius and SSO to assign roles

* update AlertUtil direct level check to use roles instead

* rewrite ircbot auth handling

* Remove legacy auth getUserlist and getUserlevel methods, add getRoles
Set roles in LegacyUserProvider

* Small cleanups

* centralize role sync code
show roles on user preferences page

* VueSelect component WIP and a little docs

* WIP

* SelectControllers id and text fields.

* LibrenmsSelect component extracted from SettingSelectDynamic

* Handle multiple selections

* allow type coercion

* full width settings

* final style adjustments

* Final compiled assets update

* Style fixes

* Fix SSO tests

* Lint cleanups

* small style fix

* don't use json yet

* Update baseline for usptream package issues

* Change schema, not 100% sure it is correct
not sure why xor doesn't work
2023-08-28 00:13:40 -05:00
eskyuu
7d950825a1 Make the service template controller re-evaluate dynamic membership when apply all button is pushed (#15214) 2023-08-21 18:27:54 -05:00
Jellyfrog
7c85763ff5 Make the installer use the schema dump (#15211) 2023-08-11 17:16:22 -05:00
Tony Murray
d1b7004fef Severity Enum (#14620)
* Severity Enum
Replace old Alert constants

* Fix whitespace

* Additional uses

* style fixes

* Fix test too

* More missed locations

* More
2023-08-05 12:12:36 -05:00
eskyuu
6fb784a321 Apply service templates on a per-device basis (#15024)
* Created and use a function to apply service templates on a per-device basis

* formatting fix
2023-08-04 19:05:07 -05:00
Tony Murray
fe1b280a99 Fix timezone controller bad return (#15191)
was returning null when preferences.timezone was not set (not sure how to get to that case)
2023-08-03 19:31:28 -05:00
Tony Murray
e0a20fced0 Fix security fix breaking display (#15192)
Escaped a <br />
2023-08-03 11:02:55 -05:00
Tony Murray
77fc6a34df Graylog API properly throw errors (#15188)
* Graylog API properly throw errors
remove unused legacy graylog code

* Add type casts
2023-08-02 19:59:53 -05:00
Tony Murray
3252ea37af Fix some xss injection for sysLocation and some other fields (#15183)
Reported by [Zluudg](https://huntr.dev/users/zluudg/)
2023-08-02 09:51:31 -05:00
Andy Norwood
64c4650801 Add FDB table vendor search drop down (#15072)
* Add vendor search and related functions

* Add OUIDB cache for vendor lookup

* Add vendor drop down

* appy style CI changes

* Apply style CI and lint changes

* more styleCI changes

* update type hinting

* Edit mac_oui cache lock name and function

* Update MAC OUI message during daily

* Use DB for vendor lookup

* New vendor_oui table migration

* New MAC OUI to database function

* Update readbleOUI to use DB rather than cache

* Make StyleCI changes

* styleCI tweak

* Remove lock release to allow refresh timer

* change migration name to match table

* add schema dump

* update schema

* styleCI tweak
2023-07-21 11:30:13 -05:00
Nick Peelman
e486ef4c22 Fix MPLS Tab Display for Nokia devices using LDP and not RSVP (#15128) 2023-07-03 13:08:58 +03:00
Jellyfrog
b14e2d4609 Apply fixes from StyleCI (#15101)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-13 13:35:00 +02:00
Jellyfrog
2b3575a5e9 Laravel 10.x Shift (#14995)
* Apply code style

* Remove explicit call to register policies

* Shift core files

* Shift config files

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.

* Bump Laravel dependencies

* Add type hints for Laravel 10

* Shift cleanup

* wip

* wip

* sync translation

* Sync back config

* Public Path Binding

* QueryException

* monolog

* db::raw

* monolog

* db::raw

* fix larastan collections

* fix phpstan bug looping forever

* larastan errors

* larastan: fix column type

* styleci

* initialize array

* fixes

* fixes

---------

Co-authored-by: Shift <shift@laravelshift.com>
2023-05-24 22:21:54 +02:00
Jellyfrog
153be4d583 Tests: Fix Dusk tests after 13626 (#15057) 2023-05-23 19:23:15 +02:00
Tony Murray
04bb75f5f3 Alert transport cleanup, no_proxy support and other proxy cleanups (#14763)
* Add no_proxy and other proxy related settings
Set user agent on all http client requests
Unify http client usage

* Style fixes

* Remove useless use statements

* Correct variable, good job phpstan

* Add tests
fix https_proxy bug
add tcp:// to the config settings format

* style and lint fixes

* Remove guzzle from the direct dependencies

* Use built in Laravel testing functionality

* update baseline
2023-05-23 09:25:17 -05:00
Etienne Wan
9af97a0395 Add a global setting for Ctrl-F focus (improve #14947) (#15023)
* Add a global setting for Ctrl-F focus (improve #14947)

* Move this new global setting to user setting (improve #14947)

* Update preferences.blade.php

Cleaner wording, and Copy & Paste bled through.

* Fix indents and @endif position in menu.blade.php

---------

Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>
2023-05-14 20:34:37 -05:00
eskyuu
ce0734ff5d Added support for user timezones and user browser timezone by default (incomplete) (#13626)
* Added support for user timezones and user browser timezone byt default

* Formatting fixes

* Use the timezone for alert log display

also added validation for the timezone because it's being used in SQL.

* Formatting fixes

* Added return type

* Formatting"

* Update the latency graphs to use the user timezone

* Simplify the web routes config

* Update phpstan to ignore type error

* Fixed up the phpstan config

* Reverse phpstan change

* Re-apply phpstan override

* Remove the option to unset the session timezone

* Formatting fix

* Update outge and event logs to use session timezone

* Fix route for the timezone control

* Made the timezone more dynamic

* Fix a logic error that was stopping the timezone from being set automatically on login

* Prevent getPref from being called twice

* again prevent getPref double call

* getPref double call

* Fixed typo made during merge

* Fixed merge error in phpstan-baseline.neon

* Change spaces to tabs in phpstan-baseline.neon

* Update error count

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-05-09 10:24:48 -05:00
Tony Murray
5c25cece48 Convert the inventory page to Laravel (#15004)
* Convert the inventory page to Laravel
Fix several XSS issues (hopefully no new ones snuck in)
Small improvement to the SelectController to allow filtering by filterFields()

* style fixes

* Fix lint issues

* Fix part device filter
2023-04-28 07:51:41 -05:00
Tony Murray
8a630edb38 Fix language selector (#15003) 2023-04-25 23:10:37 -05:00
Jellyfrog
0a351b49fd Laravel 9.x Shift (#14504)
* Move `resources/lang` folder

* Shift registered middleware

* Remove `fruitcake/laravel-cors` dependency

* Streamline `$commands` property

* Upgrade to Flysystem 3.0

* Shift core files

* Convert `optional()` to nullsafe operator

* Remove unnecessary `$model` property

* Convert route options to fluent methods

Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.

* Convert deprecated `$dates` property to `$casts`

* Shift config files

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.

* Bump Laravel dependencies

* Use `<env>` tags for configuration

`<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI.

Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/

* Fix error provider

* Match new symfony syntax

* Match upstream syntax

* Fix route syntax

* generate composer.lock

* Sync back configs

* routes

* composer

* Fix more flare

* fix cors

* sync lang

* Apply fixes from StyleCI (#14517)

Co-authored-by: StyleCI Bot <bot@styleci.io>

* bump larastan

* update packages

* wip

* Temporarily lower phpstan level

* Update phpstan.neon

* wip

* wip

* wip

* Apply fixes from StyleCI (#14592)

Co-authored-by: StyleCI Bot <bot@styleci.io>

* test

* Update CiHelper.php

* Update test.yml

* Update CiHelper.php

* Update CiHelper.php

* Apply fixes from StyleCI (#14616)

Co-authored-by: StyleCI Bot <bot@styleci.io>

* test?

* fix phpstan problems

* dont run snmpsim on github ci

* Fix whitespace

* More whitespace

* More whitespace ???

* I think the space broke it

* fix the reset of the whitespace

* hard code auth guard

---------

Co-authored-by: Shift <shift@laravelshift.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-17 06:51:35 -05:00
Tony Murray
52f5f10231 Fix some lint issues (#14962) 2023-04-15 09:02:41 -05:00
Tony Murray
e9c08e21a5 Fix more divide by zero issues (#14954)
* Fix more divide by zero issues
fixes: 14932

* Round to the nearest integer, then cast

* Fix up dhcpatriot
2023-04-11 13:44:45 -05:00
Kevin Zink
cde4d6a09f Add link to hosts mgmt (ipmi) interface (#14905)
* Add link to hosts mgmt (ipmi) interface

* Fix Style

* Fix style

* Fix Lint

* Update DeviceController.php

Mgmt > IPMI
2023-04-10 18:58:50 -05:00
maticomba
6c7fda9833 Solves error in discovering services module (#14939)
* Solves error discovering services module

* Removing trailing spaces

* Allow in device group scopes to accept an array

* Fix and optimize queries a little

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-10 13:26:26 -05:00
Justin Lentz
df31be30c1 Cleanup enable bgp setting (#14931)
* remove logic in module

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp definition

* remove enable_bgp logic

* Remove enable_bgp documentation

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI
2023-04-06 21:01:21 -05:00
Jellyfrog
68e0b3df28 Apply fixes from StyleCI (#14899)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-03-13 22:32:22 +01:00