Commit Graph

1558 Commits

Author SHA1 Message Date
Pelt10
6d4e1f8d93 Return an 5XX error when an exception is raise (#15285) 2023-09-06 13:41:13 -05:00
Skylark
2b10956f0b Hide token, keys and possword in Transports (#15274)
I've gone over all the Transporters adn changed all 'text' fields for token, keys and passwords to 'password' so the no longer show up as clear text in the GUI
2023-09-01 15:07:39 -05:00
Tony Murray
9c6fc31113 Fix LDAP Authorization Authorizer (#15267)
https://community.librenms.org/t/8-28-sudden-ldap-authentication-issues/22176/10
2023-08-30 19:33:13 +02:00
Tony Murray
bbe835b5f9 Radius update roles correctly (#15261)
Needs a re-write so semantics line up with Laravel auth better, but this is the quick/safe fix.
2023-08-28 23:38:09 -05:00
Tony Murray
b889e218dc LDAP Authorizer hand count entry (#15259) 2023-08-28 14:06:33 -05:00
Tony Murray
f622a96c70 Fix mysql auth removing roles upon login (#15258) 2023-08-28 11:00:18 -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
Tony Murray
723600751c Dispatcher option to log output (#15230)
* Dispatcher option to log output
-o --log-output Log output into various files in the log directory
wire up -d option to be passed into scheduled commands
Caution, can fill your disk.

* style fixes

* more silly style fixes (and a typo accidentally added)

* final lint maybe?

* more lint...

* believe it or not, more lint
2023-08-21 18:28:07 -05:00
Tony Murray
69297c9e91 Bump version to 23.8.0 2023-08-19 09:13:28 -05:00
Tony Murray
6e4d124619 Misc fixes 2 (#15190)
* Fix error when missing poller data

* Apparently impossible to detect regex without error, so require regex always.  Update docs.

* Apparently this adva code is garbage :D

* Missing count sensor type

* Processor handle missing input

* Handle missing ifName a little better

* Yep, ports module is a dumpster fire.  Attempt to clean up some.

* apparently os yaml trying to replace on non-existent fields

* Might as well define all sensor type units

* revert previous fix, real issue was vlans module does not have polling.
2023-08-13 18:43:52 +02:00
Tony Murray
d865e3b372 Always mark device last_discovered (#15218)
Previously, if the device was ping only, it wasn't marked as discovered.
Now we always run discovery, but basically all it does is update last_discovered.
2023-08-13 16:56:54 +02:00
Tony Murray
670904bd30 Fix service_master_timeout setting (#15217) 2023-08-11 14:20:39 -05:00
AdamB
daf36ef48f fping 4.0+ prefers IPv6 (#14825)
Additionally fping6 is no longer a thing - this breaks IPv4 hosts entirely in a dual stack environment

It's not possible to reconcile these options, so we have to have a toggle until distro's with fping 3.x fall out of support.
2023-08-10 20:16:59 -05:00
Jacob
a71ca98fac LDAP: remove user_id cast to int (#15205)
* Remove user_id cast to int

Unnecessary due to field being varchar.

* Change the strict comparisons to non-strict
2023-08-08 21:30:16 -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
Tony Murray
9382959c8c Set mibs explicitly in SnmpQuery (#15199)
* Set mibs explicitly in SnmpQuery
Always override system mibs, so we have consistency
New method to control mibs

* Lint fixes
2023-08-05 14:45:15 +02:00
Johnny Sung
de65ff55fc Implement LINE Messaging API (#14867)
* implement LINE Messaging api

* apply code clean up

* Update Linemessagingapi.php

* fix variable type

* Match branding

* Remove extra proxy

---------

Co-authored-by: Neil Lathwood <gh+n@laf.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-08-04 12:30:46 -05:00
Tony Murray
523e76db71 Fix sensor discovery fetch issue (#15193)
* Fix sensor discovery fetch issue

* value is not in an array

* Fix type

* remove exception...

* Update HarmonyEnhanced

* update test data
2023-08-04 13:25:19 +02:00
Tony Murray
12f8bb2040 MAC Vendor OUI use scheduler (#15187)
* MAC Vendor OUI use scheduler
Add command to update `lnms maintenance:fetch-ouis`
Show vendor column in tables if mac_oui.enabled is set to true
Improve scheduler validation handle non-standard install directories and systems without systemd
Add index to table to improve speed and improve mac->vendor lookup speed
Scheduled weekly with random wait to prevent stampeding herd issues for upstream
drop oui update from daily

* MAC Vendor OUI use scheduler
Add command to update `lnms maintenance:fetch-ouis`
Show vendor column in tables if mac_oui.enabled is set to true

* Lint fixes and better prefix detection

* update schema file
2023-08-03 19:29:30 -05:00
Jellyfrog
5a56e9081e Use Laravel schema migration command directly (#14039)
* Add new schema migration command

* Apply fixes from StyleCI
2023-08-03 19:26:48 -05:00
Justin Lentz
90b16bab81 port_error_perc macro (#15016)
* port_error_perc

* Update macros.json

* Update macros.json

* Update querybuilder.json

* Revert

* Update macros.json

* Change macro names so they match usage_perc

* Try *100.0

* Attempt 2 - Encapsulate in parenthesis

* Undo Parenthesis

* Trying laf's suggestions

* Update QueryBuilderFilter.php
2023-07-31 22:26:21 -05:00
Jellyfrog
1a6fe2bff7 Update composer dependencies (#15167) 2023-07-26 22:24:37 +02:00
Tony Murray
3908bddb49 Miscellaneous fixes (#15162) 2023-07-26 01:08:10 +02:00
Janno Schouwenburg
ffffdd2663 Fix Timos SAR Cellular RSRP and RSSI sensors (#15163)
* Fix Timos SAR Cellular RSRP and RSSI sensors

* For some reason test data generated on dev machine double quoted backslashes, fixed
2023-07-26 01:04:35 +02:00
Tony Murray
a2f906c3f4 Allow dispatcher service master timeout to be set (#15161)
and increase default to 20s from 10s
20s should still be fast enough to prevent gaps, but larger installs can take longer than 10s (or even 20s) to do dispatch work.
2023-07-25 11:27:34 -05:00
Tony Murray
cce3dc0746 Discord Transprot user configurable embed fields (#15068) 2023-07-24 18:53:34 -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
fbourqui
a978476cda Fortigate ipv6 ipsec (#15150)
* Squash Commit
Fortigate Mib updates and ipsc ipv6 tunnels stat
test data to go allong with it

* add optional -Ih flag

* lint fix

* revert changeed on test data 500d

* fix test data on 60f3g4g
2023-07-20 07:50:49 -05:00
Marek Wobst
0e952b9c98 Add module support for wrapper script calls (#14055)
* Add module support for wrapper script calls

The scripts poller.php and discovery.php offer a module
option (-m), which may be used to specify specific modules
for polling/discovery, possibly for special (and then faster) testing
or for example rediscovering the fdb table (on all hosts).

Until now, this was not possible with the python wrapper scripts.
Now they support a '-m' option, where comma separated module names
may be passed. This will currently only work with poller and discovery, though.

* Replace single quotation signs with double ones (empty strings only)

* Fix more code lines (quotation signs, indentation)

Also 'reduced' if-else-clause size at end of LibreNMS/wrapper.py
(do not call method at each branch, instead prepare a value for modules)

* Add commas after last parameter of dict+methode

Also an additional comment sign before #

* Fix two leftover single quot. signs …

* doc: Add documentation for module support
2023-07-19 23:09:57 -05:00
Zane C. Bowers-Hadley
54a38dd4cd add the Mojo CAPE Submit app (#15140)
* add poller for mojo cape submit

* mojo_cape_submit poller now works

* add app page for mojo_cape_submit

* add basic generic stat graphs for mojo cape submit

* general size stats graph for mojo_cape_submit

* make sure we update slugs that did not see anything submitted for them

* sort the slugs by sub count

* add app protos graph and sub top 12 graphs

* add mojo cape submit docs

* add tests for mojo_cape_submit

* add mojo_cape_submit to the apps page

* add string helper for mojo_cape_submit

* poke lots of stuff with php-cs-fixer

* remove a unneeded line

* add a missing metric and app data to test
2023-07-19 22:41:51 -05:00
Tony Murray
13547225b4 Dependency Updates (#15149)
* symfony/finder (v6.2.7 => v6.3.0)
symfony/var-dumper (v6.2.10 => v6.3.1)
symfony/css-selector (v6.2.7 => v6.3.0)
symfony/uid (v6.2.7 => v6.3.0)
symfony/routing (v6.2.8 => v6.3.1)
symfony/process (v6.2.10 => v6.3.0)
symfony/mime (v6.2.10 => v6.3.0)
symfony/service-contracts (v3.2.1 => v3.3.0)
symfony/event-dispatcher-contracts (v3.2.1 => v3.3.0)
symfony/event-dispatcher (v6.2.8 => v6.3.0)
symfony/mailer (v6.2.8 => v6.3.0)
symfony/polyfill-php83 (v1.27.0)
symfony/deprecation-contracts (v3.2.1 => v3.3.0)
symfony/http-foundation (v6.2.10 => v6.3.1)
symfony/error-handler (v6.2.10 => v6.3.0)
symfony/http-kernel (v6.2.10 => v6.3.1)
symfony/string (v6.2.8 => v6.3.0)
symfony/console (v6.2.10 => v6.3.0)
symfony/translation-contracts (v3.2.1 => v3.3.0)
symfony/translation (v6.2.8 => v6.3.0)
nesbot/carbon (2.66.0 => 2.68.1)
monolog/monolog (3.3.1 => 3.4.0)
doctrine/inflector (2.0.6 => 2.0.8)
laravel/framework (v10.11.0 => v10.15.0)
phpstan/phpdoc-parser (1.21.0 => 1.22.1)
doctrine/deprecations (v1.0.0 => v1.1.1)
phpdocumentor/type-resolver (1.7.1 => 1.7.2)
nikic/php-parser (v4.15.5 => v4.16.0)
doctrine/dbal (3.6.2 => 3.6.4)
composer/class-map-generator (1.0.0 => 1.1.0)
barryvdh/reflection-docblock (v2.1.0 => v2.1.1)
symfony/filesystem (v6.2.10 => v6.3.1)
composer/ca-bundle (1.3.5 => 1.3.6)
composer/composer (2.5.5 => 2.5.8)
fakerphp/faker (v1.22.0 => v1.23.0)
symfony/stopwatch (v6.2.7 => v6.3.0)
symfony/options-resolver (v6.2.7 => v6.3.0)
friendsofphp/php-cs-fixer (v3.17.0 => v3.22.0)
laravel/dusk (v7.7.1 => v7.8.0)
psy/psysh (v0.11.18 => v0.11.19)
mockery/mockery (1.5.1 => 1.6.2)
filp/whoops (2.15.2 => 2.15.3)
phpstan/phpstan (1.10.15 => 1.10.25)
phpmyadmin/sql-parser (5.7.0 => 5.8.0)
nunomaduro/larastan (v2.6.0 => v2.6.3)
nunomaduro/laravel-console-summary (v1.9.1 => v1.10.0)
phpseclib/phpseclib (3.0.19 => 3.0.21)
php-amqplib/php-amqplib (v3.5.3 => v3.5.4)
php-flasher/flasher (v1.13.1 => v1.15.3)
php-flasher/flasher-laravel (v1.13.1 => v1.15.3)
phpunit/phpunit (9.6.8 => 9.6.10)
predis/predis (v2.1.2 => v2.2.0)
laravel/socialite (v5.6.1 => v5.8.0)
spatie/backtrace (1.4.0 => 1.5.3)
spatie/flare-client-php (1.3.6 => 1.4.1)
spatie/ignition (1.7.0 => 1.9.0)
spatie/laravel-ignition (2.1.2 => 2.2.0)
symfony/yaml (v6.2.10 => v6.3.0)

* Typehint update

* update baseline for fixed issues
2023-07-17 08:18:10 -05:00
Tony Murray
6edb3b5046 Bump version to 23.7.0 2023-07-16 23:42:41 -05:00
Antonio Perretta
8c8b877ba4 Alert transport slack config (#15131)
* Fixing webform - Icon field was referencing slack-author and causing issues when writing to database

* Fixing validation - slack-username no longer used, changed to slack-author

* Fixed typo in previous update to Slack.php
2023-07-07 12:36:34 -05:00
Garcia MICHEL
9c6541f3a4 Fix validation: memcached required only if it is configured in .env (#15122)
* Fix validation: memcached required if it is configured in .env

* Remove unuse namespace
2023-07-05 08:29:32 -05:00
Tony Murray
32b5bcbba5 More comforting generic os message (#15089) 2023-06-24 12:12:16 -05:00
Tony Murray
0a3678d11a Convert several JunOS sensors to yaml (#15118)
* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches

* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches

* Convert BER as well
Allow divisor and multiplier to be set from oid

* use fillValues

* fix

* sort snmprec, fix divide by 0, add more context
2023-06-24 11:52:36 -05:00
Wheel
741c26dd2f Transport Messagebird voice message API (#15115)
* Messagebird voice message API

* Reverse permission change on rrd/.gitignore

* Name string
2023-06-23 15:19:26 -05:00
Tony Murray
63fd62ca12 Yaml value filling improvements (#15116)
* Yaml value filling improvements
search all data for fully qualified oids (to prevent incorrect matches)
Reduce searches when not needed
subindex code optimization

* fix aos7

* fix e3meterdc

* Cleanups

* fix hpe-mapdu

* fix timos add note to dev:check

* remove inconsistent Str::contains usage
2023-06-23 13:57:44 -05:00
Tony Murray
eaf0253412 Bump version to 23.6.0 2023-06-23 08:25:03 -05:00
Jellyfrog
b14e2d4609 Apply fixes from StyleCI (#15101)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-13 13:35:00 +02:00
Garcia MICHEL
e547945985 Improve OpenWRT detection (#15096)
* Improve OpenWRT detection

* Add test data

* Remplace openwrt date with new one
2023-06-12 13:59:24 +02:00
Wheel
3ac0129fab Messagebird transport (#15079)
* Messagebird transport

* Linting

* Styleci

* Styleci

* Minor note update
2023-06-07 08:22:36 +03:00
Peter Childs
713bef33bd Fix syslog transport output format (#15070)
* add maxclients to redis

* Syslog Transport fix Header (remove space)

* Did not mean to touch this file

* Did not mean to touch this file
2023-05-30 08:12:08 -05:00
Tim de Boer
ed0dee6487 Fixed Markdown/Parse mode for Telegram (#15066)
* Updated Install-LibreNMS.md

Default PHP version of Debian 11 (following this documentation) is 8.2 currently, instead of 8.1

* Fixed Markdown/Parse mode for Telegram
2023-05-26 00:56:19 +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
Tony Murray
0c93132588 Quick fix for alerting (#15060) 2023-05-24 08:24:05 -05:00
Jellyfrog
075267dcc9 Add AllowDynamicProperties to DynamicConfigItem (#15058) 2023-05-23 21:18:03 -05: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
Tony Murray
02896172bd Bump version to 23.5.0 2023-05-19 10:32:19 -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