Commit Graph

271 Commits

Author SHA1 Message Date
Tony Murray
f94f7f23b8 Fully convert core to a modern module (#13347)
* Core module WIP

* update OS::make()

* core WIP

* try to finish up

* switch all core do os Model

* Mock WIP

* Working tests

* cleanup

* phpstan fixes

* style fixes

* fix agent

* trim space too
and a couple of cleanups

* corrected ios test data

* missed space

* update test data

* put escapes back

* another net-snmp difference

* Fix class description

* revert snmp.inc.php change, that can be a different PR

* revert snmp.inc.php change, that can be a different PR
2021-10-19 15:43:43 -05:00
Tony Murray
98ee237420 Bump version to 21.10.0 2021-10-16 08:02:35 -05:00
Tony Murray
0b8b97bb68 Push Notifications (Mobile and PC) (#13277)
* Update manifest and add service worker
cleanup icons a bit

* Push notifications WIP

* navigate working

* cleanup

* acknowledge wired up

* Set VAPID keys on composer install

* Component to control notification permissions.

* Allow all user option to validate

* Enable on browser load if transport exists.

* Check for transport before showing user permissions
translations

* Documentation

* style fixes

* access via the attribute model

* fix alerting test

* update schema

* cleanup subscription on disable

* non-configurable db and table for webpush subscriptions (respect system connection)

* revert AlertTransport change
hopefully phpstan can figure it out

* phpstan fixes

* Support custom details display

* Match transport names to brand's preferred display

* less duplicate id errors

* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok

* Style fixes

* Style fixes 2

* Fix alert test

* Doc updates requires HTTPS and GMP

* unregister subscription when permission is set to denied

* cleanup after user deletion

* delete the right thing

* fix whitespace

* update install docs to include php-gmp

* suggest ext-gmp

* update javascript

* Update functions.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-10-06 07:29:47 -05:00
Tony Murray
8a883140cb Infer character encoding for ifAlias and sysLocation (#13248)
* Infer character encoding for ifAlias and sysLocation
Tries to convert character encoding for non-UTF-8 encoded strings.
This will only work for snmp strings that are type-hinted, not ones forced to ASCII with -Oa or similar
Only works for your default charset or Windows-1251 or LATIN1.
You can set your character encoding in .env with CHARSET

Please save us all and just use UTF-8

* style fixes

* less Yoda

* ensure return type

* fall back to passed string

* don't convert strings with any unprintable characters (such as line return)

* Update LibreNMS/Util/StringHelpers.php

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

* Fix CP850

* fix space

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-09-21 08:47:44 -05:00
Tony Murray
c41c25cab6 reorganize release categories a bit (#13249) 2021-09-18 13:22:54 -05:00
Tony Murray
b4b4820cba Bump version to 21.9.0 2021-09-16 22:45:07 -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
Jellyfrog
232b9a414c Apply fixes from StyleCI (#13201) 2021-09-07 20:33:54 -05:00
Tony Murray
9b8b1b814a Validate APP_KEY (#13171)
* Validate APP_KEY
key:rotate command to rotate keys, only rotates validation data for now

* fixes, swapped encrypters, not saving new value to db, check that key exists first

* add confirmation

* Option to generate new key, re-encrypt data and then save it to .env
A lot more text to try to prevent disaster.  Print out both keys 1-2 times.
Fix bug in EnvHelper (when key is commented but not empty)

* fix style

* oops, good phpstan
2021-08-27 22:48:21 -05:00
Tony Murray
8e409ba051 Rewrite ISIS Adjacency discovery/polling (#13155)
* Rewrite ISIS Adjacency discovery/polling
hopefully much faster now, do most work in discovery and just check up/down in poller.

* unused variable

* Implement option for OS override

* fix an incorrect typehint

* test data

* work around stupid migration name

* update schema

* better handling for the on-demand discovery

* more detailed phpdoc

* fix when adjacency is not found

* don't clear out data when adjacency goes away

* Adjust nullable fields

* fixes

* fix class name

* correct migration

* fix bug causing adjacency data to always be blank

* port popups for port links

* isisISAdjState does not need to be nullable

* remove extra space

* default off

* If port is missing return $text

* update schema

* Cleanup old components

* correc copy paste error
2021-08-23 21:19:55 -05:00
Tony Murray
54964e0c42 Release script updates (#13161)
add mibs category
revert changelog when exiting to prevent double log
2021-08-22 19:46:06 -05:00
Tony Murray
e5e2633fbb Bump version to 21.8.0 2021-08-22 15:49:45 -05:00
Kevin Wallace
e981570c34 enclose IPv6 literal in [brackets] for snmpget and unix-agent (#13130)
Co-authored-by: Kevin Wallace <kevinwallace@users.noreply.github.com>
2021-08-19 18:00:06 -05:00
fbourqui
f1dc4435e3 Cleanup Port hover minigraph description when using "Interface Description Parsing" (#13143)
* Cleanup Port hover minigraph description.
Use port_descr_descr if exists or ifDescr.
Use the same generate_port_link() in:
- Devices - Ports
- Ports - All/Errored/Ignored
- Ports - "Types"

* Port-Customers, using Ajax Controller,  Util/Url

* make https://styleci.io/ check happy
2021-08-18 13:02:01 +02:00
SourceDoctor
516b27f476 adjust App String Pi-hole to project name (#13136) 2021-08-14 19:55:07 +02:00
Jellyfrog
e873768845 Bump larastan (#13071)
* Bump larastan

* Use php7.4 for lint test
2021-07-26 09:00:34 -05:00
Tony Murray
5147ce866c Bump version to 21.7.0 2021-07-16 17:28:22 -05:00
Tony Murray
4f7c7b3f2a PHP dependencies update (#13034)
* Removing dnoegel/php-xdg-base-dir (v0.1.1)

barryvdh/laravel-debugbar (v3.5.2 => v3.6.2)
barryvdh/laravel-ide-helper (v2.9.1 => v2.10.0)
composer/ca-bundle (1.2.9 => 1.2.10)
composer/composer (2.0.13 => 2.1.3)
composer/semver (3.2.4 => 3.2.5)
composer/xdebug-handler (1.4.6 => 2.0.1)
dapphp/radius (2.5.4 => 2.5.5)
doctrine/annotations (1.12.1 => 1.13.1)
doctrine/cache (1.10.2 => 2.0.3)
doctrine/dbal (2.13.0 => 2.13.2)
facade/flare-client-php (1.5.0 => 1.8.1)
facade/ignition (2.7.0 => 2.10.2)
fakerphp/faker (v1.14.1 => v1.15.0)
filp/whoops (2.12.0 => 2.13.0)
friendsofphp/php-cs-fixer (v2.18.4 => v2.19.0)
fruitcake/laravel-cors (v2.0.3 => v2.0.4)
guzzlehttp/psr7 (1.8.1 => 2.0.0)
laravel/dusk (v6.15.0 => v6.15.1)
laravel/framework (v8.40.0 => v8.49.2)
laravel/ui (v3.2.0 => v3.3.0)
league/commonmark (1.5.8 => 1.6.5)
league/flysystem (1.1.3 => 1.1.4)
monolog/monolog (2.2.0 => 2.3.0)
nesbot/carbon (2.46.0 => 2.50.0)
nikic/php-parser (v4.10.4 => v4.11.0)
nunomaduro/collision (v5.3.0 => v5.5.0)
nunomaduro/larastan (v0.7.4 => v0.7.10)
php-parallel-lint/php-parallel-lint (v1.2.0 => v1.3.0)
php-webdriver/webdriver (1.10.0 => 1.11.1)
phpseclib/phpseclib (3.0.7 => 3.0.9)
phpstan/phpstan (0.12.83 => 0.12.92)
phpstan/phpstan-mockery (0.12.13 => 0.12.14)
phpunit/phpunit (9.5.4 => 9.5.6)
predis/predis (v1.1.6 => v1.1.7)
psr/cache (1.0.1)
psr/http-factory (1.0.1)
psr/log (1.1.3 => 1.1.4)
psy/psysh (v0.10.7 => v0.10.8)
rmccue/requests (v1.8.0 => v1.8.1)
sebastian/global-state (5.0.2 => 5.0.3)
sebastian/type (2.3.1 => 2.3.4)
symfony/console (v5.2.6 => v5.3.2)
symfony/css-selector (v5.2.4 => v5.3.0)
symfony/debug (v4.4.20 => v4.4.25)
symfony/error-handler (v5.2.6 => v5.3.3)
symfony/event-dispatcher (v5.2.4 => v5.3.0)
symfony/filesystem (v5.2.6 => v5.3.3)
symfony/finder (v5.2.4 => v5.3.0)
symfony/http-foundation (v5.2.4 => v5.3.3)
symfony/http-kernel (v5.2.6 => v5.3.3)
symfony/mime (v5.2.6 => v5.3.2)
symfony/options-resolver (v5.2.4 => v5.3.0)
symfony/polyfill-ctype (v1.22.1 => v1.23.0)
symfony/polyfill-iconv (v1.22.1 => v1.23.0)
symfony/polyfill-intl-grapheme (v1.22.1 => v1.23.0)
symfony/polyfill-intl-idn (v1.22.1 => v1.23.0)
symfony/polyfill-intl-normalizer (v1.22.1 => v1.23.0)
symfony/polyfill-mbstring (v1.22.1 => v1.23.0)
symfony/polyfill-php72 (v1.22.1 => v1.23.0)
symfony/polyfill-php73 (v1.22.1 => v1.23.0)
symfony/polyfill-php80 (v1.22.1 => v1.23.0)
symfony/process (v5.2.4 => v5.3.2)
symfony/routing (v5.2.6 => v5.3.0)
symfony/stopwatch (v5.2.4 => v5.3.0)
symfony/string (v5.2.6 => v5.3.3)
symfony/translation (v5.2.6 => v5.3.3)
symfony/var-dumper (v5.2.6 => v5.3.3)
symfony/yaml (v4.4.21 => v4.4.26)

* add ignores
2021-07-13 17:41:04 -05:00
Tony Murray
a8b005d23e php-cs 3 prep (#13039) 2021-07-13 16:36:02 -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
Tony Murray
fb2608ee3d Bump version to 21.6.0 2021-06-17 23:35:44 -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
maesbrisa
bc46491349 Bump version to 21.5.1 (#12900) 2021-05-25 15:30:01 +02:00
Tony Murray
e782bdbe02 Bump version to 21.5.0 2021-05-17 19:17:53 -05:00
Tony Murray
3cd7043fa7 Always test all OS detection. (#12879) 2021-05-16 20:32:54 +02:00
Tony Murray
5ba3df45eb Fix validation runningInConsole issues (#12872)
* test

* Fix cli checks
Add helper function that works in both before Laravel is booted and without the legacy includes
2021-05-13 13:00:56 -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
wolfraider
60d372979d PHP 8 Unit Conversion Fix (#12857)
* PHP 8 Unit Conversion Fix

* changed to float
2021-05-11 18:30:49 -05: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
Tony Murray
76910e4180 Debug and collect-snmp-data.php fixes (#12837)
Fix output so it can be captured and typo in collect-snmp-data.php
2021-05-05 10:27:10 -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
Tony Murray
5f7682d4fe Bump version to 21.4.0 2021-04-17 23:05:07 -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
Tony Murray
04407db85b Use native browser lazy load (#12720)
* Use native browser lazy load
Polyfill for older

* Add intersection polyfill for IE and older browsers
2021-04-08 11:24:53 +02:00
Jellyfrog
a70d55bfd8 Add feature to capture a full snmprec (#12706) 2021-04-06 17:26:31 -05:00
Jellyfrog
a0a3a1c8d8 PHPDoc fixes (#12693) 2021-04-01 00:35:19 +02:00
Jellyfrog
535ce5eb20 Fix deviceUrl check (#12682) 2021-03-30 16:10:20 -05:00
Tony Murray
f84591a1c7 Fix links to non-existent devices (#12680)
Was throwing an exception before instead of returning an empty string
2021-03-30 21:47:11 +02:00
Tony Murray
1c379dcd05 Remove legacy function calls (#12651)
* massive inlines

* fix style and wtf

* remove rrdtool.inc.php include

* fix CommonFunctions namespace issues

* looking for missing class space, fix undefined class issues

* style fixes
2021-03-29 00:25:30 +02:00
Tony Murray
1695f86af8 Always skip style check for dev:check ci (#12654)
* Always skip style check for dev:check ci

* fix names and mysql 8 was barely being tested

* fix sql mode test

* safer vendor check

* flubbed the regex

* ...

* Mysql 8 fixes

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-03-28 23:55:41 +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
Simon Smith
6aa7717403 fix progress-bar 0% (#12648) 2021-03-25 14:30:35 -05:00
Jellyfrog
3cfffb9912 Cleanups (#12642)
Should only be cosmetic
2021-03-24 09:13:43 -05:00
Jellyfrog
d24730818f Bump version to 21.3.0 2021-03-21 00:58:30 +01:00
Tony Murray
61316ce2cc PHP 8 fixes (#12528)
* port related errors

* more fixes

* fix storage count

* add tests for php8

* style

* only need not empty

* aix fixes....

* storage WIP

* fix aix discovering hrstorage
fix db test adding .gitkeep
fix os modules when discovery only

* fix aos processors wrong oid

* fix mempool number casting

* fix aos7 cpu

* use + 0 cast instead of floatval()

* more verbose error on invalid json

* remove invalid data in json

* actually fix the json

* correct json error fix

* cast_number() function
fix aruba-instant and aos6 bugs exposed by new function, probably more...

* fix a-f
fix inadequate sort for component data

* fix global port poll time

* fix mempools precent 0, route count, ntp const

* fix schleifenbauer liberal current usage

* further number casting refinement

* vrp

* fix tests

* fix arbos

* warn cleanups adjust to :: change

* fix ciena-sds

* fix drac

* fix dell-rpdu anddlink

* fix and improve arubaos
better error when getting an array in Processor

* fix atenpdu, add missing arubaos files

* aruba-instant to yaml
apparently I didn't need to do this, the diff just looks really odd
It did add ranged sub-index replacements

* docker app, was completely wrong... fixed

* fix sentry4 divide by 0...

* fixed root issue, remove check

* nicer cidr in ipv6 code

* remove bogus enuxus battery bank skip_values

* Fix InfluxDB tests

* remove extra import

* fix other style issues.

* influx "style" fixes
2021-03-12 18:10:14 -06:00