Commit Graph

286 Commits

Author SHA1 Message Date
Jellyfrog
9ef94323f5 Update dependencies (#13310)
* Bump composer dependencies

  - Upgrading brick/math (0.9.2 => 0.9.3)
  - Upgrading composer/ca-bundle (1.2.10 => 1.2.11)
  - Upgrading composer/composer (2.1.3 => 2.1.8)
  - Upgrading composer/xdebug-handler (2.0.1 => 2.0.2)
  - Upgrading dapphp/radius (2.5.5 => 2.5.6)
  - Upgrading doctrine/annotations (1.13.1 => 1.13.2)
  - Upgrading doctrine/cache (2.0.3 => 2.1.1)
  - Upgrading doctrine/dbal (2.13.2 => 2.13.3)
  - Upgrading facade/flare-client-php (1.8.1 => 1.9.1)
  - Upgrading facade/ignition (2.11.0 => 2.14.0)
  - Upgrading fakerphp/faker (v1.15.0 => v1.16.0)
  - Upgrading filp/whoops (2.13.0 => 2.14.3)
  - Upgrading friendsofphp/php-cs-fixer (v2.19.0 => v2.19.2)
  - Upgrading graham-campbell/result-type (v1.0.1 => v1.0.2)
  - Upgrading laravel/dusk (v6.15.1 => v6.18.1)
  - Upgrading laravel/framework (v8.49.2 => v8.62.0)
  - Locking laravel/serializable-closure (v1.0.2)
  - Upgrading laravel/tinker (v2.6.1 => v2.6.2)
  - Upgrading league/commonmark (1.6.5 => 1.6.6)
  - Upgrading league/flysystem (1.1.4 => 1.1.5)
  - Upgrading league/mime-type-detection (1.7.0 => 1.8.0)
  - Upgrading maximebf/debugbar (v1.16.5 => v1.17.1)
  - Upgrading mockery/mockery (1.4.3 => 1.4.4)
  - Upgrading monolog/monolog (2.3.0 => 2.3.4)
  - Upgrading nesbot/carbon (2.50.0 => 2.53.1)
  - Upgrading nikic/php-parser (v4.11.0 => v4.13.0)
  - Upgrading nunomaduro/collision (v5.5.0 => v5.10.0)
  - Upgrading phar-io/manifest (2.0.1 => 2.0.3)
  - Upgrading php-parallel-lint/php-parallel-lint (v1.3.0 => v1.3.1)
  - Upgrading phpdocumentor/type-resolver (1.4.0 => 1.5.0)
  - Upgrading phpmailer/phpmailer (v6.5.0 => v6.5.1)
  - Upgrading phpoption/phpoption (1.7.5 => 1.8.0)
  - Upgrading phpseclib/phpseclib (3.0.9 => 3.0.10)
  - Upgrading phpspec/prophecy (1.13.0 => 1.14.0)
  - Upgrading phpstan/phpstan (0.12.92 => 0.12.99)
  - Upgrading phpunit/php-code-coverage (9.2.6 => 9.2.7)
  - Upgrading phpunit/phpunit (9.5.6 => 9.5.10)
  - Upgrading predis/predis (v1.1.7 => v1.1.8)
  - Upgrading ramsey/collection (1.1.3 => 1.2.1)
  - Upgrading ramsey/uuid (4.1.1 => 4.2.3)
  - Upgrading seld/phar-utils (1.1.1 => 1.1.2)
  - Upgrading symfony/console (v5.3.2 => v5.3.7)
  - Upgrading symfony/css-selector (v5.3.0 => v5.3.4)
  - Upgrading symfony/debug (v4.4.25 => v4.4.31)
  - Upgrading symfony/error-handler (v5.3.3 => v5.3.7)
  - Upgrading symfony/event-dispatcher (v5.3.0 => v5.3.7)
  - Upgrading symfony/filesystem (v5.3.3 => v5.3.4)
  - Upgrading symfony/finder (v5.3.0 => v5.3.7)
  - Upgrading symfony/http-foundation (v5.3.3 => v5.3.7)
  - Upgrading symfony/http-kernel (v5.3.3 => v5.3.9)
  - Upgrading symfony/mime (v5.3.2 => v5.3.8)
  - Upgrading symfony/options-resolver (v5.3.0 => v5.3.7)
  - Upgrading symfony/polyfill-intl-grapheme (v1.23.0 => v1.23.1)
  - Upgrading symfony/polyfill-mbstring (v1.23.0 => v1.23.1)
  - Upgrading symfony/polyfill-php80 (v1.23.0 => v1.23.1)
  - Locking symfony/polyfill-php81 (v1.23.0)
  - Upgrading symfony/process (v5.3.2 => v5.3.7)
  - Upgrading symfony/routing (v5.3.0 => v5.3.7)
  - Upgrading symfony/stopwatch (v5.3.0 => v5.3.4)
  - Upgrading symfony/string (v5.3.3 => v5.3.7)
  - Upgrading symfony/translation (v5.3.3 => v5.3.9)
  - Upgrading symfony/var-dumper (v5.3.3 => v5.3.8)
  - Upgrading symfony/yaml (v4.4.26 => v4.4.29)
  - Upgrading tecnickcom/tcpdf (6.4.1 => 6.4.2)
  - Upgrading theseer/tokenizer (1.2.0 => 1.2.1)

* Update npm dependecies

* Update phpstan ignores after laravel upgrades

* Merge laravel/laravel repo changes
2021-10-02 18:04:59 -05:00
Nash Kaminski
cb56ae5f46 Improvements to SSO Authorization and logout handling (#13311)
* Improvements to SSO Authorization and logout handling

Changes:
* Adds support for a default access level in the SSO authorization
  plugin when group mapping is enabled.
* Restore functionality of the auth_logout_handler configuration option,
  allowing the user to be redirected to a configured URL to complete
  logout from an external IdP.
* Documentation and test coverage updates

* Set sso.static_level to 0 in AuthSSOTest:testGroupParsing()

* Simplify implementation to use default values in Config::get()
2021-10-02 08:02:42 -05:00
Tony Murray
66dddbaa66 SNMP Capabilities (#13289)
* SNMP Capabilities
Allow all available auth algorithms to be set in global settings
cleanup other usages

* fix style
2021-09-28 18:35:59 -05:00
ottorei
8ceebe7102 Fix outages table timezone (#13274) 2021-09-26 16:08:11 +02:00
Tony Murray
1084bd6d1a Convert all ports backend to Laravel style ajax table (#13184)
* port ports to Laravel style ajax table

* fix style

* cleanups+fixes

* correct column name

* correct port formatter

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>

* always filter deleted

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-09-19 18:26:33 -05:00
ottorei
34de9dd77d Sort in SQL (#13238) 2021-09-13 19:12:55 -05:00
Jellyfrog
258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
Tony Murray
c5b63bde86 New Blade Components: x-device-link, x-port-link, x-graph-row, x-popup (#13197)
* working popover

* popup component

* cleanup

* finalize device-link component

* attributes WIP

* working graph component

* widgets WIP

* More dynamic configs

* Graph row component

* Build CSS so we can use a dark theme

* graph row set columns

* only one popup visible at a time.

* Just set graph row width statically

* responsive WIP

* rsponsive option for graph-row "working"

* remove @deviceLink and @portLink

* fix non-responsive graph row

* update js/css

* fix style

* bad type?

* types

* types

* types #3

* remove testing code

* full rebel, no closing tags for meta and link

* match previous formatting

* fix vlans display

* restore newline

* remove silly comment

* remove unused line

* style I guess
2021-09-10 08:07:08 -05:00
Jellyfrog
26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
Niklas Vartiainen
1797f5c04a Change automatic widget updates to use bootgrid when possible (#13159)
* Changed widget data updates to use bootgrid.

* Fix widget settings page not displaying.

* Don't call both ajax method and bootgrid.

* Apply fixes from StyleCI

* remove commented code

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-09-04 21:16:50 -05:00
SourceDoctor
ada7bae84c default port group in Settings (#13175)
* default port group in Settings

* .

* wrap query with try catch

* update config schema

* change to select2

* .

* .

* inject no default port group choice

* Paginator

* .
2021-09-03 15:58:09 +02:00
Tony Murray
d646562e4e Dynamic Select setting (#13179)
* Dynamic Select setting
embeds select2 and uses ajax to call to backend for options
poller-group included

* fix validation a bit

* fix typehint

* move minProperties into the select schema

* Change dashboard-select to select-dynamic
Love deleting code

* Change dashboard-select to select-dynamic
Love deleting code
wire up a few select2 options

* fix whitespace

* Not a model, just an object

* Suggestion from @SourceDoctor autocomplete values of select and select-dynamic

Got a little creative with InternalHttpRequest...
2021-08-28 06:46:53 -05:00
Tony Murray
94ee737f3d Allow device actions to appear in device list and improve docs (#13177)
* Improve Device menu links and documentation

* device list actions functionality

* phpstan :/
2021-08-27 22:48:57 -05:00
SourceDoctor
62d440a0dc show count of Ports in PortGroup display (#13164) 2021-08-23 19:06:36 -05:00
Talkabout
1de372ca1b Priority filtering for syslog widget (#13134)
* Update SyslogController.php

* Update SyslogController.php

* Update syslog.blade.php

* Update syslog.blade.php

* Update web.php

* Create PriorityController.php

* Update SyslogController.php

* Update SyslogController.php

* changed priority controller to static list

* Update PriorityController.php

* Update PriorityController.php

* Update PriorityController.php

* using static list directly with standard select box without backend logic

* removed not required if statement
avoided array_flip by flipping foreach arguments
2021-08-20 22:52:15 -05:00
Tony Murray
5d691dc375 Consolidate DB version code (#13111)
* Consilidate DB version
and don't use dbConnected() function

* cleanup imports
2021-08-09 18:33:31 -05:00
rhinoau
fb6da83ec0 fix availability widget device totals (#13043) 2021-07-15 09:52:00 -05:00
rhinoau
1746d04742 fix availability widget service backend error (#13044) 2021-07-15 09:51:29 -05:00
Tony Murray
58ca5994a1 PHPStan fixes (#13038)
* PHPStan fixes
mostly type fixes
semi-risky changes in availability map widget, tested a bit

* fix style

* Style fix

* restore spaces stupid editor removed

* fix the rest

* device model back

* remove ignores

* introduce variable
2021-07-13 16:35:43 -05:00
rhinoau
ccb267bb4d Two-factor UI config and status display (#13012)
* two-factor UI config and status display additions

* force test re-run

* removal of blade foreach via keyBy

* remove where clause against all()

* attempt where filtering with keyBy

* use @config and getPref in blade

* another forgotten @config changed

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-07-09 21:36:08 +02:00
Tony Murray
bd3da058d3 Human readable database inconsistent error (#12950)
* Human readable database inconsistent error
In case a db error causes an exception, check validate and show the db errors to the user in the webui.

* only failed validations

* fix style
2021-06-14 13:33:59 -05:00
geg347
672fe61b5e New module add juniper rpm support + reimplementation of cisco-sla module (#12799)
* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Fix some error due to Elequent object replacing SQL request

* Fixing indentation

* Fixed continuous integrations errors

* Fixed continuous integrations errors part 2

* Fixed continuous integrations errors part 3 : missing last new lines

* Fixed PHP Static Analysis checks

* Fixed continuous integrations errors part 4

* Fixed PHP Static Analysis checks part 2

* Trying to convert existing cisco-sla to new slas one

* Trying to add slas to fix test failure (I am pretty sure this is not enough but I don't know how to do it)

* Switching old cisco-sla module declaration to new slas module in concerned OS files

* Fixing wrong sla module name instead of slas in concerned OS files

* Fixing wrong module name sla changed to slas (as is it in power-supplies reimplementation)

* Fixing some warnings shown in the Inspection CI but skipping some that are already present

* Adding tests files from virtual Juniper VMX and adding slas modules in /tests/module_tables

* Adding missing SNMP data files

* Module Slas modifications to use inheritance

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing no value on RTT graphs

* Fixing only last SLA to be polled : problem with loops

* Fix CI errors part 4

* Optimizing a little the Juniper RPM poller part

I wanted to query only the required values but it is complicated to query a specific OID
as Cisco-SLA does because the owner and tag are hardcoded in ASCII decimal with strange values.
So I use the function snmp_walk which gets the whole OID values in text.
And I index the Juniper MIB (because we want multiple values). But I changed the DISMAN MIB
requests to get only what we want.

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing PHP Static Analysis error 2/4

* Fix CI errors

* Implementing Interfaces to fix some errors that occurs with inheritance

* Adding missing Interfaces files

* Moving generic Sla discovery code into Junos Class

* Fix CI errors

* Fix CI errors part 2

* Fixing missing definition of SlaDiscovery in Cisco shared Class

* Fixing missing import for Illuminate\Database\Eloquent\Collection

* Fix CI errors part 3

* Fix PHP Static Analysis error

* change type strings to use translations instead of config

* IOSXR test data

* remove test data garbage

* simplify discovery

* Fix style

* Updating test files to adapt mock sla_nr ID starting from 0 and not 1 : CI tests should pass

* clean up polling
add rtt field in the db
cisco icmpjitter seems to have confused a lot of values

* rtt on discovery

* use crc32 for consistent sla_nr values

* revert snmprec

* Fix style

* correct schema

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-06-11 13:48:33 -05:00
ottorei
69397ea70f ISIS-adjacency polling support (#12461)
* init

* Add adjacency polling support

* Format messages

* Fix prints

* Apply fixes from StyleCI

* Fix schema

* Schema fix

* Alert rule example

* Remove display format

* Change option order

* Add test data

* Add test data

* Test data

* Review fixes

* Remove duplicate MIB-file

* Add cleanup

* Fix

* Print fix

* Remove extra cleanup

* Revert "Remove duplicate MIB-file"

This reverts commit 4b3cf8127c.

* Remove unneeded MIB-files

* Add check for empty array

* Apply fixes from StyleCI

* Review fixes

* StyleCI

* StyleCI

* Apply fixes from StyleCI

* typo

* Update function calls on pages

* Linting fixes

* Apply fixes from StyleCI

* Discovery module

* Add discovery module

* Apply fixes from StyleCI

* Update example alert rule

Co-authored-by: ottorei <ottorei@users.noreply.github.com>
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-06-10 19:42:34 -05:00
PipoCanaja
2e8c336c8f add TopErrors widget based on error_rate (#12926)
style

style
2021-05-31 19:40:45 +02:00
PipoCanaja
96479ab9b9 Filter unwanted data in Routes Ajax reply (#12847)
* filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

cleaner fix now

* add tooltips, except when text contains 'overlib' calls

* readability

DestType lost in the game

DestType lost in the game
2021-05-25 15:39:20 +02:00
Tony Murray
77a17dac88 Fix installer when DB is empty (#12873)
(which is every time)
2021-05-13 13:02:43 -05:00
Tony Murray
df5096e449 Install: Validate database before migrating (#12867)
* Validate database during install
Needed to remove usages of legacy functions in the validation

* Fix output, restore real versions
2021-05-13 07:18:54 -05:00
Tony Murray
3b0c2c090a Fix top devices widget storage graphs (#12849)
referenced the wrong graph, caused it to not work because device was not set.
2021-05-11 16:58:05 +02:00
PipoCanaja
fff8b8e832 Collect OUI Database and do OUI lookups (#12842)
* first draft

refresh time

refresh time

* return codes

style

style

* presentation

* Exception details

more

fix

fix

* add tooltips

fixes for dns display

* create WebUI config option

languages

* refresh data every 7 to 11 days, keep it 15 days max

* 'Ports' and 'Port' ARP table

* Stp page support

style

style

* fix dnsname column finding when vendor is added/removed

fix dnsname column finding when vendor is added/removed

* nac vendor column

nac

* filter fields to reduce size of AJAX reply

filter fields to reduce size of AJAX reply

* fix typo on dns column detection

* default enabled
2021-05-10 14:56:48 -05:00
Jellyfrog
ec949d9a34 Widgets: Include variables in default view (#12818)
This causes an error with the default view since it uses $id
2021-05-01 16:03:30 -05:00
Tony Murray
61c89794e4 Remove debug globals (#12811)
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.

* the on boot set sends application as the first parameter, just handle that

* Relocate other debug related functions

* Log debug to stdout

* Wrong output

* remove stupid constants

* Fix lint and style issues
2021-04-29 22:42:18 -05:00
Jellyfrog
3e3aa9077e Revert "Fix StringBlade errors with a stub file" (#12776)
This reverts parts of commit 165c4fd53c.
2021-04-21 23:22:15 +02:00
Jellyfrog
165c4fd53c Enable PHPStan linter (#12678)
* Enable PHPStan linter

* Add PHPStan baseline

* Switch to Level 5

* Fix StringBlade errors with a stub file
2021-04-21 07:41:34 -05:00
Jellyfrog
a8c8a9a4a2 Misc cleanup (#12758)
* Fix Docblock

* Misc

* Parameter #2 $callback of function array_filter expects (callable(mixed, mixed): bool)|null, 'strlen' given

* Parameter #2 $data of function hash_hmac expects string, int given

* Unreachable statement - code above always terminates.

* Update Device.php
2021-04-20 12:47:22 +02:00
Jellyfrog
e86b4662b3 Fix globe controller up/down partition bug (#12757) 2021-04-17 16:46:54 -05:00
Tony Murray
c36fe928e4 Fix mini graphs (#12738)
Remove the polyfill, if the noscript tag isn't removed it breaks graphs
Ajax tables should not use lazy loading anyway...
2021-04-12 02:40:47 +02:00
Jellyfrog
edb36fd69d More cleanups (#12715)
* PHPDoc

* Replace Auth > Illuminate\Support\Facades\Auth

* Return inside when()

* use str_replace correct

* Misc

* dead code

* use int $port

* styleci
2021-04-08 08:14:49 -05:00
SourceDoctor
4b9e480118 Define Port Groups (#12402)
* Define Port Groups

* .

* .

* .

* API Calls

* .

* .

* .

* minor changes

* .

* update forms

* remove link

* .

* change column settings

* change migration

* change update position

* db migration fix

* .

* .

* .

* add missing doc reference

* update test data

* update test data

* update test data

* .

* .

* .

* .

* .

* .

* .

* .

* port group association in seperate table

* .

* .

* show all found groups on port

* select multiple Portgroups per Port

* change on migration file

* change query to eloquent

* Code changes

* move port group menu to ports main menu

* port group update to eloquent

* .

* .

* update to new setting way

* add missing merge parameter

* Use select2 and port some things to Laravel
some fixes, hopefully no new added bugs

* schema

* don't use on update restrict unfortunately

* remove unused import and revert changes

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-04-06 17:25:08 -05:00
Jellyfrog
24c8513029 Replace Auth > Illuminate\Support\Facades\Auth (#12664)
Helps phpstan
2021-03-31 21:30:04 +02:00
Jellyfrog
dc160c6813 PHPDoc fixes (#12687) 2021-03-31 17:18:43 +02:00
Jellyfrog
10cf97e581 More PHPDoc changes (#12674)
* PHPDoc

* Override type hint
2021-03-30 11:16:44 +02:00
Jellyfrog
4ada8a418d Typo (#12671) 2021-03-29 03:22:47 +02:00
Jellyfrog
efb157f5fb Fix more PHPDoc (#12665)
* Fix PHPDoc

* Fix PHPDoc
2021-03-28 12:18:47 -05:00
Jellyfrog
e00eba327d Re-implement Printer as a class based module (#12605)
* Re-implement Printer as a class based module

* Rename toner table

* wip

* wip

* Rename to printersupplies

* Fixes

* Rename

* wip

* wip
2021-03-27 10:09:14 -05:00
Jellyfrog
ede486ea95 Fix regression from 3cfffb9912 (#12661) 2021-03-27 15:39:24 +01:00
Jellyfrog
3cfffb9912 Cleanups (#12642)
Should only be cosmetic
2021-03-24 09:13:43 -05:00
Cupid@zul
c05cf4b2fc Add ID to Device Table List and to Device Dependencies Table List + Shorten ifname in Device: Recent Events. (#12397)
* Add ID to Device Table List and to Device Dependencies Table List

* wrap interface text to max-width: 100px

* ok, fixed as requested. all tests ok! gui working well... filtering and sort tests ok.
2021-03-23 09:07:27 -05:00
Jellyfrog
800ae95b90 Cleanup (#12641) 2021-03-23 08:47:38 -05:00
Tony Murray
ac7b4539ce Fix Service Templates Dynamic (#12626)
* Fix Service Templates Dynamic
Remove dynamic groups type, it did not work.
Rename and simplify field names.  (fixing an issue with the builder where the rules field should be named rules)

* update schema def

* wrong method name in migration

* fix rules builder

* corerct call to apply

* sqlite can't drop columns

* correct column rename order on down.

* fix sqlite again

* fix whitespace
2021-03-18 08:14:45 -05:00
SourceDoctor
1e3cc4788a Sort Type List in Eventlog Pages (#12572)
* Sort Type List in Eventlog Pages

* update code
2021-03-12 10:29:19 +01:00