Commit Graph

5493 Commits

Author SHA1 Message Date
Tony Murray
9b4406ec9e Add Graylog settings (#10740)
* Add Graylog settings
Fix order of settings
Don't clobber text input when validation fails
fixed spacing for setting reset/undo buttons and help

* fix style
2019-10-26 00:29:47 +00:00
Tony Murray
e6423852ef Remove $_SESSION usage, except install (#10745)
* Remove $_SESSION usage, except install
Fixes issue with device debug capture
Removes secure_cookies setting, use the .env variable SESSION_SECURE_COOKIE instead.  Reminder secure cookies requires cookies are transported over https, if everything is already transported via https, the setting won't make a difference.

* Fix availability map controls
2019-10-26 00:29:12 +00:00
Jellyfrog
debec7032a Use Mix built in cache busting (#10733) 2019-10-22 10:01:40 +01:00
Justin Hayes
48d4273267 Add support for Illustra network cameras (#10721)
* Create illustra.yaml

* Create illustra.inc.php

* Add illustra.png

* Add illustra.png

* Create illustra.snmprec

* Create illustra.json
2019-10-21 00:52:35 +00:00
Tony Murray
1d7347dd62 Validate config schema, add types to all (#10723)
* Vaildate config_definitions.json schema

* finish adding types and other cleanups
2019-10-20 23:08:40 +00:00
Tony Murray
f9b704cb29 Add distributed polling config settings (#10711)
Show error on cli when type or validation is not set
2019-10-17 18:32:27 +00:00
Tony Murray
699aa8a042 Consolidate configuration settings and implement dynamic webui settings (#9809)
* initial db/defaults dump

* numeric values

* Remove $config['time']

* Use config_definitions.json

* try setting definition as a complete array

* a little more

* fix format

* WIP converting dynamic setting pages

* rewriting the webui

* remove legacy and add translations

* finish email section

* improve navigation
update js a bit

* Import the remaining existing settings

* Update backend still some wip
migration

* fix config loading (db not overriding defaults)

* some cleanup

* more array collapsing

* update settings

* Settings search

* add purge settings to ui, order groups and sections

* collapse more arrays

* Auth definitions WIP

* remove needless slash escapes

* add warning to json

* moving settings from defaults.inc

* remove slow_statistics

* Move rrdtool settings to the poller section

* Use translations more consistently

* removing more settings from defaults.inc.php

* show setting name in tooltip

* allow help text to be shown on mobile

* disable settings that are set in config.php

* Implement undo and reset to default.

* Vue.js functional

* Vue.js WIP

* Implement tabs component

* accordion WIP

* lodash ver update

* two items

* Accordion somewhat working

* hash navigation

* Refine Accordion

* Fix up tab styling a bit

* Cleaner tab selected property
Hide html while loading

* spinner?

* Icon support
property for accordion to active

* WIP

* Tabs/Sections from ajax

* Setting Component skeletons

* Dynamic Component resolution

* Basic functionality

* toggle class

* Refactor components

* translate tabs and accordions

* simple array attempt

* improve readonly tooltip

* array styling

* array value editing

* organize snmp info

* Handle initial tab/section in url

* Use Laravel to parse tab/section, dump old

* Draggable array entries

* v-tooltip, for clickable (and touch) help tooltips
disable draggable

* Navigation WIP

* Navigation WIP

* groups computed

* filter settings

* fix event reference

* vue.js i18n initial

* missing description = just setting name

* en fallback

* tidy up the language support and js generation

* persist value to db

* fix issue with 0

* Delete settings from DB instead of setting them to default

* ldap-groups
fixup style

* Default dashboard selection

* fix array of options instead of object

* allow custom validation for settings

* translate options in SettingSelect

* SNMP v3 WIP

* fix setting arrays

* Split persist out of set

* Hook up events for SNMP v3 Auth
correct Config::persist behaviour with arrays

* dependent settings (primitive for now)
actually update the settings values in the LibrenmsSettings component

* more complex "when" behaviour

* remove un-needed seeder

* add poller_modules.cisco-qfp

* remove en.json (disable warning)

* don't set default for log_dir or log_file, otherwise it won't be processed correctly

* Fix module order
add some missing settings

* more config corrections

* correct graphs
correct loading values set to null (although it should have no difference)
remove project_name_version

* Add nfsen settings.  Docs are very confusing, so might have flubbed something
remove option for array definition of select option as numeric indexes messes it up

* Correct more upstream config differences

* Config cleanup after a bunch of merges.

* Fixes

* add version tags to js/css files
remove old js

* Print out full settings list read-only

* Add http_proxy setting
fix indents in config_definitions.json

* repeaters default is 0 (aka 20)

* cleanups

* rewrite the dynamic config docs

* add language docs

* Don't show snmp v3 auth add/remove if disabled by config.php
2019-10-16 21:22:05 +00:00
pedjaj
a19a18492e Added support for RedLion N-Tron 714FX6 industrial switch (#10617)
* Add files via upload

add icon for REDLION

* Add files via upload

Add Device REDLION ntron 716FX6

* Add files via upload

* add device redlion ntron 714FX6

* Delete ntron.yaml

* Add nev device RedLion N-Tron 714FX6

* Update ntron.yaml

* additional snmp data redlion ntron714fx6

* Rename ntron714fx6.mib to NTRON714FX6-MIB

* Create ntron.json

* Update os_schema.json
2019-10-10 14:09:45 +02:00
Jellyfrog
8b329a18a1 Optimize logo sizes (#10656)
by reducing colors
2019-10-07 21:27:23 +00:00
Yisroel Tech
a1ed45eb46 Fix LibreNMS Logo SVG missing i sometimes (#10632)
* Update librenms_logo_light.svg

Corrected an issue with the "i" being invisible in certain scenarios on certain (Chromium version 77) browsers, see https://community.librenms.org/t/librenms-svg-logo-issue-in-some-zooms/9640/4. The issue seems to be that "i" was a separate clip-path from the "L bre".

* Update librenms_logo_blue.svg

Corrected an issue with the "i" being invisible in certain scenarios on certain (Chromium version 77) browsers, see https://community.librenms.org/t/librenms-svg-logo-issue-in-some-zooms/9640/4. The issue seems to be that "i" was a separate clip-path from the "L bre".

* Update librenms_logo_mono.svg

Corrected an issue with the "i" being invisible in certain scenarios on certain (Chromium version 77) browsers, see https://community.librenms.org/t/librenms-svg-logo-issue-in-some-zooms/9640/4. The issue seems to be that "i" was a separate clip-path from the "L bre".

* Update librenms_logo_dark.svg

Corrected an issue with the "i" being invisible in certain scenarios on certain (Chromium version 77) browsers, see https://community.librenms.org/t/librenms-svg-logo-issue-in-some-zooms/9640/4. The issue seems to be that "i" was a separate clip-path from the "L bre".
2019-09-27 16:56:03 +00:00
fbourqui
c73e9cbcfb add AIX detection running std snmpd or net-snmp (#10569)
* update IBM mibs
* add AIX detection running std snmpd or net-snmp
* simplifying  complex logical expression, codeclim.
2019-09-02 22:08:05 +02:00
Orsiris de Jong
ccf2d9a5c5 Use PHP sys_temp_dir by default (#10428)
* Fix installer not generating tmp directory directive

This fixes a usecase when open_basedir is set, not allowing php to write to default temp directory /tmp.
In that case, temp directory is set by `php_admin_value[sys_temp_dir] = /var/www/site/tmp`
Without setting config['temp_dir'] in generated config.php, LibreNMS will use /tmp regardless of what is set in fpm configuration.

* is_writeable and is_writable are both valid, but let's stay consistent

* Make $config['temp_dir'] non static

* Remove $config['temp_dir'] from standard config.php

* Make sys_get_temp_dir() fallback to '/tmp'

* Update defaults.inc.php

* Update install.php

* Update Config.php

* Update defaults.inc.php

* Update defaults.inc.php
2019-08-22 18:08:42 +01:00
NonStop Networks
b8c96abc35 Added support for Exagrid devices (#10496)
* Added new device - Exagrid
* Update and Rename exagridos.inc.php Match Version and HW
2019-08-07 20:05:59 +02:00
Tony Murray
e99f421511 Remove legacy auth usage of $_SESSION (#10491)
* 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
2019-08-05 14:16:05 -05:00
Tony Murray
89fae9be1d Move API routing to Laravel (#10457)
* Add more api helper functions
to centralize code more

* Enable cors

* Initial Legacy route in Laravel

* Force api v0 responses to json
Add a couple more routes

* more paths, pretty print the json response
pass parameters to the api function

* devices basic functions

* Port generic graph function
check permissions function accepts callback to avoid lots of if statements

* move vlans

* links

* graphs

* fdb

* health

* wireless

* port graphs

* ip functions
split em up

* port_stack

* components

* compoment add/edit/delete

* get_device_groups

* port stats

* port graphs

* get_devices_by_group

* port_groups

* api_get_graph

* show_endpoints

* get_bill

* get_bill_graph

* get_bill_graphdata

* get_bill_history

* get_bill_history_graph

* remaining bill functions

* list_alerts

* ack/unmute alert

* Some cleanups

* Some cleanups

* list_alert_rules

* alert rule add/edit/delete

* inventory

* list_cbgp

* vrf

* list_ipsec

* list_fdb

* list_links (fix both usages)

* list_locations

* list_locations

* list_vlans

* list_ip_addresses

* list_arp

* list_ip_networks

* cleanup

* services

* list_logs and fix authlog.......

* cleanup

* cleanup 2

* remove slim

* don't load schema more than once

* basic test

* fix style

* downgrade laravel-cors to a version that supports PHP 7.1
2019-07-29 16:32:37 -05:00
CirnoT
cafcf417fa Fix NetAgent II battery voltage (#10427)
* Fix NetAgent II battery voltage

* Add new test data and new icon for NetAgent
2019-07-22 23:34:31 -05:00
Tony Murray
cfdd23d2c2 Fix roku svg (#10453) 2019-07-18 11:11:01 -05:00
arrmo
6986711a72 Add svg image for Roku (#10448) 2019-07-18 08:33:38 -05:00
Tony Murray
3ead462549 Enable CSRF protection (#10447)
* Enable CSRF protection

* fix style issues
2019-07-17 07:20:26 -05:00
jozefrebjak
20b3211e7e Added Support for Unitrends Backup (#10411) 2019-07-05 08:49:03 +02:00
SniperVegeta
f419419830 Added panasonic ns1000 os (#10390)
* Add files via upload

panasonic png

* Create panasonic-ns.yaml

Panasonic NS

* Create panasonic-ns.inc.php

Panasonic NS Series

* Create KX-NS.mib

Panasonic NS mib file

* Add files via upload

Add snmprec

* Add files via upload

add panasonic-ns data

* Update panasonic-ns.inc.php

Space?
2019-07-02 00:08:04 +02:00
Tony Murray
e8e6ed5142 Fix broken updates (#10380) 2019-06-26 08:49:04 -05:00
Tony Murray
f3ba8947f7 Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
ckforum
342acf50f1 Add 2 css class graph - minigraph for bg color and other (#10318)
* Add 2 class for graph / mini graph (styles.css)

Add 2 class for graph / mini graph (styles.css) 
for changing bg color and more (mini graph port / device) (graph port / general)

* Update styles.css

Add 2 class for graph / mini graph (styles.css) 
for changing bg color and more (mini graph port / device) (graph port / general)

* Add class CSS for mini graph 

Add class CSS for mini graph

* Update graph.inc.php

Change graph.inc.php, add css class / overlib

* restore original bg #f5f5f5 .graph-all-common

restore original bg #f5f5f5 .graph-all-common

* Update ports.inc.php

correct extra \

* Update graph.inc.php

* Update ports.inc.php

* Update ports.inc.php

* Update graph.inc.php

* Comment line 88 URL.php, because description of location enlarge too much overlib devices's title

* Update Url.php

* Update Url.php

Line 88 -> re ident to pass travis...
2019-06-21 22:44:47 -05:00
Tony Murray
1a60c44eb0 Device groups rewrite (#10346)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests

* Fix some QueryBuilderFluentParser issues with OR
updated/more test data

* Show device groups runtime
fix querybuilder.json format

* Store table joins in the rules to minimize polling time
Update group joins in daily.sh (and when they are saved)

* Update daily.php

* Add units to time
2019-06-19 16:01:53 -05:00
Tony Murray
c2b09b8f80 Revert "Rewritten device groups (including static) (#10295)" (#10340)
This reverts commit cfc51d51f5.
2019-06-16 21:52:57 -05:00
Tony Murray
cfc51d51f5 Rewritten device groups (including static) (#10295)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests
2019-06-16 08:27:22 -05:00
Janyk Steenbeek
2ee843d86b Check correct path for config in the installer (#10333)
* Check ../config.php for older installations in installer

For older installations, install.php is still available for installations that have the configuration file in the parent directory. This PR fixes this.

* Replace relative directory with absolute path

* Update install.php

* Update install.php
2019-06-15 18:04:18 -05:00
TheGreatDoc
8c69d7dac8 Support for Fibernet XMUX4+ (#10331)
* Support for Fibernet XMUX4+

* Update fibernet.svg

remove length and width, add viewbox
2019-06-11 22:16:10 -05:00
ckforum
cafe057001 Add overlib link css class for changing background color - Update Url.php (#10300)
* Update Url.php

Ad css class to onmouserover event and overlib, easyer to change color of background ex.: for a dark theme vs bg color hardcoded

* Update styles.css

* Update Url.php

* Update librenmsv1.blade.php
2019-06-03 19:40:56 -05:00
Tony Murray
54e4d0910a Sanitize report name in pdf.php (#10270)
Authentication users could include arbitrary file.
2019-05-29 09:39:17 -05:00
Arnoud Vermeer
f14b90a1ef Icotera support for 6400 and 6800 series. (#9755)
* Icotera support for 6400 and 6800 series

* Fix broken test data
2019-05-29 09:37:10 -05:00
Spencer Butler
83522c6fef Added support for East iStars UPS (os: istars) (#10041)
* istars - Added support for East iStars UPS (os: istars)

* typo

* remove duplicate image

* refactored to use rfc1628

* added json

* update is_array to isset for bad rfc1628 implementation

* Update istars.inc.php

* revert rfc1628 changes

* update test data + PR 10240 patch

* update OIDs
2019-05-21 11:03:28 -05:00
Tony Murray
e9ae08d5db Use Laravel url helpers to improve functionality without dns name (#10227)
* Use Laravel url helpers to improve functionality without dns name
Not exhaustive...

* Fix Url generated urls

* Bump js version
2019-05-20 11:47:34 -05:00
corsoblaster
b58527cc84 Replace Cyberoam with Sophos (icon and logo) (#10213)
* Replace Cyberoam with Sophos (icon and logo)

Cyberoam has been completely incorporated by Sophos since many years.
I'll try to replace everything related to Cyberoam, staring from logo and icon.

* Updated Sophos logo

Updated Sophos logo

* Added Sophos logo

Added Sophos logo
2019-05-14 08:11:15 -05:00
Tony Murray
9ede688d13 Replace legacy menu with new Blade generated one (#10173)
* Remove legacy index php file

* fix routing page missing data

* WIP

* fix $navbar global usage

* remove global use of $locations

* ObjectCache again...

* move vars.inc.php to init.php for legacy ajax

* navbar is more local than I thought before.  Fix it.

* Fix some sensors tables escaping

* restore custom menu functionality, but with blade
and docs

* cleanup

* tidy menu @if checks

* Fix up the rest of the global variables and remove print-menubar.php

* consolidate some counting in the menu

* filter out empty custom port descr types

* Fix up custom port groups

* Fix up apps menu

* Fix services menu when all are ok

* Limit cached data to the user it is for

* Fix style

* A few clean ups

* fix pseudowire bug
2019-05-10 11:02:39 -05:00
Tony Murray
d7bcd92612 Realtime graph handle snmp server caching (#10113)
* Realtime graph handle server caching
Handle server caching more gracefully than setting the throughput to 0 Mbps

* smoother estimated interval

* don't change the graphing timescale
2019-05-01 23:02:14 +01:00
Tony Murray
f2b6aaeb11 Fix transition os (#10169) 2019-04-30 09:18:18 -05:00
JoshWeepie
4e62838cce Add support for Transition NIDs (#9729)
* Add support for Transition NIDs

* Upload Transition logo

* Create transition

* Add files via upload

* Add files via upload

* Delete transition

* Delete MEF-UNI-MIB.smi

* Delete PTP-MIB.smi

* Delete BRIDGE-MIB.smi

* Delete ENTITY-STATE-TC-MIB.smi

removed standard mibs

* remove extensions from mibs

* Create TN-AC-MIB

* Removed extensions from Transition MIBs

* Delete TN-AC-MIB

* Create transition.snmprec

Added test data

* Renamed some mibs + updated tests

* Update transition.json
2019-04-29 22:14:46 -05:00
Spencer Butler
9cfa2aaf40 Added support for Zmtel greenpacket devices (os: zmtel) (#10067)
* Added support for Zmtel greenpacket devices (os: zmtel)

* added more sensors

* move count sensors to features

* rename MIB and move modulation scheme to state sensor

* added test data

* graph pCID
2019-04-29 09:53:35 -05:00
PipoCanaja
a3263b802b Added packetlight support (#10131)
* MIBS

* logos
sensors
user_func
cleaning

* tests

* Switch to Packetlight class, and use is_callable instead of function_exists

* tests

* CodeClimate

* Rename functions
2019-04-29 09:46:53 -05:00
Tony Murray
39ff4c7aaf Fix install.php can't find config.php (#10129) 2019-04-20 12:32:17 -05:00
Tony Murray
36431dd296 Security fix: unauthorized access (#10091)
* 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/
2019-04-11 23:26:42 -05:00
Slushnas
b81af32ed2 Fixed display minimum values in uptime graphs. (#10078)
Fixes an issue with several uptime graphs using the average value when it should be using the minimum value.

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2019-04-11 23:05:18 +01:00
Tony Murray
4718cd594c Fix unescaped variables in ajax_search.php (#10088) 2019-04-11 09:39:25 -05:00
Tony Murray
8926d7cfe6 Fixed arp api network query (#10085)
It was using a non-existent function

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2019-04-10 22:33:25 +01:00
Neil Lathwood
54c7ed3d0d Fixed a duplicate route name in the api (#10082) 2019-04-10 10:36:48 +01:00
smiles1969
9c3f987d7c Cleanup of typo in oxidized view (#10079)
* HTML Cleanup

Extra quote and semicolon

* Revert "HTML Cleanup"

This reverts commit 6a956916fc.

* HTML Cleanup

Extra quote and semicolon
2019-04-09 18:37:46 +02:00
Tim de Boer
91ca7b37fe Refactored Nvidia Application (#10037)
DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2019-04-09 14:47:43 +01:00
Misha Komarovskiy
7b4c63a2f4 Added API call to list all ports FDB (#10020)
Add FDB API calls to resolve this [forum request](https://community.librenms.org/t/fdb-table-search-via-api-mac-ip-switch-port/1772/4) 

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2019-04-09 13:51:01 +01:00