154 Commits
Author SHA1 Message Date
Thomas Vincent d4e255b5d9 security: stage nonce CSP migration and gated enforcement (#7662)
* security: add nonce CSP mode for inline JavaScript protection

Reworks the content_security_policy_script setting into a three-mode Inline JavaScript Protection dropdown (HTMLX default, Nonce, None) and ports the per-request nonce, strict-dynamic policy, and CSP violation report endpoint from 1.2.x. The stored option key and its default are unchanged, so existing installs keep their current policy byte-for-byte; nonce mode is opt-in.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* security: stage nonce CSP enforcement safely

Add report-only migration, gated enforcement, nonce-aware shared emitters, Linux Docker validation, and operator documentation.\n\nRefs #7703

* security: validate CSP header sources

Reject malformed alternate-source configurations at the CSP boundary, validate fallback report URIs, and remove the obsolete Psalm header-taint baseline entry.\n\nRefs #7705

* chore: drop the composer.json change from this PR

Dependency and manifest changes are a maintainer call and do not belong in
this one.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-08-16 21:38:46 -04:00
TheWitness 27919c50d7 Updating Copyrights to 2026 (#6578) 2026-01-28 16:11:10 -05:00
TheWitnessandCopilot b993471579 Fix #6539 - Allow Standard Cacti Log Files to be Rotated on Demand,PHPdoc, and Typing (#6540)
* Fix #6539 - Allow Standard Cacti Log Files to be Rotated on Demand from the Cacti UI

* QA: php-cs-fixer updates and documentation for lib/database.php

* QA: Update .gitignore for composer files

* QA: Update .gitignore for composer files

* QA: Back off .gitignore change its duplicated

* QA: Fix typing of db_has_permissions

* QA: Fixing typing issue in db_format_index_create

* Update lib/clog_webapi.php

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* QA: Fix additional code issues

* QA: Applying more defaults to add device

* QA: Fix at the database layer

* QA: Fixes based upon automated testing

* QA: Fix at the database layer

* QA: After new SQL checking

* QA: Skip MacTrack oui database download warnings

* QA: Fixing type issue

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Some minor changes to avoid errors in testing

* QA: Unused variable

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Minor introduced code defect

* QA: Adding some unifying space around concatination

* QA: Consistent comments and new function alias'

* QA: Multi-line comment corrections

* QA: Fix SQL Style

* QA: Missed one function alias

* QA: PHPStan Level 2 and PHPDoc fixes

* QA: PHPStan Level 2 and PHPDoc Fixes

* QA: PHPStan Level 6 Fixes

* QA: Fix lib/xml.php to PHPStan Level 6

* QA: Wrong grep -v

* PHPStan Level 6 for lib/vdef.php

* PHPStan Level 8 for lib/time.php

* QA: Raise PHPStan to Level 6 for lib/database.php

* QA: Remove @deprecated tag from grv()

* QA: Switch to htmle() alias over html_escape()

* QA: More addressing PHPStan issues at Level 6

* QA: Change recommended by Copilot for Readability

* QA: More PHPStan fixes

* QA: More PHPStan fixes

* QA: More PHPStan fixes for lib/utility.php

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Some phpseclib3 fixups to update to latest

* QA: More fixups for graphing for magic strings

* QA: More PHPStan fixes at Level 6

* QA: Fixing order string type on get_allowed_graphs()

* QA: Fixing improper use of print

* QA: Optimization of color_templates

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Raise PHPStan to Level 6 More Functions

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues testing Cacti

* QA: Copilot recommendation

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: Installer failing

* Undo ownership changes to remove tar errors

* QA: Updates after php-cs-fixer

* QA: Adding code checks to syntax checking

* QA Change syntax flow language

* QA: Reduce the number of cures

* QA: Use sequentional option

* Change runner to self-hosted for check job

* Fix typo in OS version in workflow file

* Add Git installation step in workflow

Added step to install Git if not already installed.

* Add '-y' flag to apt-get install and update commands

Updated apt-get commands to include '-y' for automatic confirmation.

* Change workflow OS version to 'ubuntu-latest'

Updated the workflow to use 'ubuntu-latest' instead of 'ubuntu:latest' and modified the 'runs-on' configuration.

* Remove sequential option from phpcsfixer script

* Remove PHPCS fixer step from workflow

Removed PHP coding standards check from workflow.

* Move code checks to before plugins

Moving these core checks to before the plugins are installed as we really want to check only the base Cacti here.

* Add Composer validation and caching to start of workflow

* QA: Addressing PHPStan additional

* QA: Restore composer lock file

* QA: Addressing PHPStan additional

* QA: Addressing PHPStan additional

* QA: Complete LDAP Project

* QA: php-cs-fixer doing it's thing

* QA: Syntax is already happening in PHPStan

* QA: The md5 function no longer exists

* QA: Update after ldap changes

* QA: Undo that last password hack

* QA: Attempting to switch to MariaDB 11.8

* QA: Attempting to switch to MariaDB 11.8

* QA: Resolving some issues with PHP8.4

* QA: Resolving some issues with PHP8.4

* QA: Add PHP8.5 to the matrix

* QA: Removing PHP8.5 due to dependency issues

* QA: Add the DB version to the testing output

* QA: Switch back to MySQL for the moment

* QA: More fidelity in reporting

* QA: The pipe must be mixed

* QA: Moving audit_schema.php changes from 1.2.x

* QA: Moving audit_schema.php changes from 1.2.x

* QA: Restore mysql monitoring

* QA: php-cs-fixer issues

* QA: Attempt to roll back to MariaDB 10.6

* QA: Attempt to fix check_all_pages.sh

* QA: Make installer functional again

* QA: Fix installer php-cs-fixer issues

* QA: Type to a string

* QA: Get the database version correctly

* QA: Fix issue with reports in check_all_pages.sh

* QA: Check the server version in the right place

* Feature: Support SHA256 as a new hash for passwords

* QA: Function definition and return typing audit

* QA: Refinement of form types

* QA: Refinement of form types

* QA: Consistency of comments

* QA: Issues with php-cs-fixer and more comments

* QA: More typing issues

* QA: php-cs-fixer on merge conflict resolution

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-25 10:13:56 -05:00
TheWitness b9334a15d9 QA: Updates for files for php-cs-fixer and some php-doc changes 2025-11-18 21:01:15 -05:00
TheWitness 2c779273f9 Copyright Updates and PHP-CS-Fixer updates 2025-03-09 14:34:19 -04:00
TheWitness 054e1aab5d QA: Fix: #6042 - And remove most of AUTH_METHOD_NONE
* What remains is lib/auth.php that includes some references and global_constants.php that I'm leaving in just in case of the potential use or misue in lib/auth.php
2025-01-04 16:39:32 -05:00
TheWitness bacba3609b QA: Remove some excess tables from the UI
* Convert the left side navigation to 100% div by removing two nested tables.  This will speed the rendering of each Cacti page.
2024-11-06 20:34:04 -05:00
TheWitness 1aa72d24c9 QA: Update Copyright to 2024 2024-02-03 14:18:57 -05:00
TheWitness 4abca9a073 QA: Use loadUrl() and not loadPage() 2023-10-02 10:19:29 -04:00
Mark Brugnoli-Vinten adba659e32 Why hide main 2023-01-08 16:30:27 +00:00
Mark Brugnoli-Vinten 32ba2f19f4 Update copyright year for 2023 2023-01-03 20:34:26 +00:00
Mark Brugnoli-Vinten 8b29d12cc9 Define cacti system paths as constants for better code checking (#5120)
This also provides a full run of src-fixer against all files to
ensure all code is now in alignment.

Closes #5120
2023-01-01 01:03:15 +00:00
Mark Brugnoli-Vinten 06512fa933 LDAP configuration should only use 'user_domains_ldap' (#2166)
Closes #2166
2022-12-11 01:50:54 +00:00
netniV fd44f394a0 Remove the need for header=false
Update loadPage calls to be loadUrl
Update loadPageNoHeader calls to be loadUrl calls

Also includes changes to make logout adhere to new html_auth_xxx functions
2022-11-26 13:58:49 +00:00
TheWitness 82b229db9e Updating Copyright to 2022. 2022-02-06 17:16:20 -05:00
TheWitness df54a4a3f3 Updating copright years 2021-01-01 20:28:58 -05:00
TheWitness 7f1d670759 Raise Cacti lighthouse accessibility score above 90%
Some of the lighthouse audit results are invalid.  The main console has a score of 95 now, and other pages 82, but when reviewing the results, there is only one failing test, which there is no real good solution for at the moment.
2020-04-25 13:32:56 -04:00
netniV 4fa9a68fb3 Update copyright to 2020 2020-01-12 12:19:49 +00:00
cigamit bab6a2ec30 Resolving Issue #2973
Can not show user menu well on mobile devices
2019-09-28 14:36:48 -05:00
netniV 308292e2d7 Update copyright notices for 2019 2019-01-25 08:05:00 +00:00
cigamit 2b49f13a58 Make Top Tabs use Ajax Callback
We can almost collapse all headers into a single call now.  There is a
currently a problem with the Dark and Modern themes the first time you
switch to preview.  On the first page.  This was a bit of a hack since
the cactiContent object was not being parsed correctly by jQuery.
2018-04-21 23:07:32 -05:00
cigamit 7343c8e4c1 Resolve Issue #1366
Improve error/info message display
2018-02-18 14:20:50 -06:00
cigamit d3536ed321 Consolidation for Issue #1305
Code reduction by making all the header into a function.
2018-02-04 22:01:16 -06:00
cigamit 671fa2f736 Regression and QA on Issue #1305
Missing some files and settings.  We should really just have a common
header function to reduce the chances of variation.
2018-02-04 14:09:56 -06:00
netniV b6e18d8250 Fix for issue #1292: browser caching of javascript and css files (#1305)
* issue #1292: Fix issues with browser caching of javascript and css files

* Removing unnecessary variable set.

* Minor changes to format and syntax

Use return and not echo, minor spacing changes.
2018-02-04 11:44:45 -07:00
Tony Roman 519b35f5cd Update copyright to 2018 2018-01-06 09:10:15 -05:00
Wolfgang Stöggl 4a1a15d72c Correct spelling of RRDtool (#1038)
- Change RRDTool -> RRDtool with a lowercase t.
- Replace in all files except *.mo, *.po, *.pot
2017-10-16 11:32:05 -04:00
cigamit 8e2a5fd806 Resolving Issue #986
Resolving minor visual issue with Modern theme
2017-10-15 08:29:49 -05:00
DavidLiedke c961425b67 Switch StorageAPI.js 2017-06-05 15:05:58 +02:00
Tony Roman 8a179d7d7f Fix up to move if elseif else blocks to PSR 2017-05-07 19:57:36 -04:00
cigamit 2b0a3734b8 feature: Updating Tablesorter to version 2.28.9 2017-05-04 19:02:26 -05:00
cigamit e5793b284b Adding more mobile features
Preparing for fullScreenMode support and more responsive fixes.
2017-04-12 17:34:51 -05:00
cigamit 164f01de44 Reseting default viewport to 1.0 2017-04-09 15:29:33 -05:00
cigamit 68336cd72a Resolving Issue #541
Issues with mobile graph viewing.  This introduces a small amount of
Javascript based responsiveness to the filters, and to menu navigation.
Tables will be next.
2017-04-09 15:21:44 -05:00
patrick 4d5bb9facb get_selected_theme()
- result of get_selected_theme() stored in vars
2017-04-06 18:00:38 +02:00
cigamit 4f40578310 Make menu movement smooth, update localStorage 2017-02-26 08:56:44 -06:00
cigamit c7fd363abd Resolving Issue #309 2017-02-23 20:30:34 -06:00
cigamit 3c7ef42902 Resolving Issue #329
Also first step in resolving issue #186
2017-02-23 17:40:19 -06:00
cigamit 75c6359894 Resolving Issue #329 2017-02-22 20:03:17 -06:00
cigamit 1de9c78eba Resolving Issue #241 2017-02-01 12:52:30 -06:00
cigamit 0fbe7404eb If a user does not have permission to the console page, don't show the console tab 2017-01-16 20:49:43 -06:00
Tony Roman 35a5988f41 Update source code files copyright to new year 2017-01-01 13:45:29 -05:00
cigamit 796e5210d4 adding d3 and c3 charting apis 2016-07-19 21:55:50 -05:00
cigamit afd7577f4b new javascript library 2016-07-12 22:28:09 -05:00
cigamit f1ba8a7290 updating jQuery to 3.0
need jQuery migrate until jQueryUI updates
2016-06-25 23:53:28 -05:00
cigamit 414c72b58c use ajax for about page 2016-06-15 22:48:40 -05:00
cigamit ac9fbda633 adding some aria labels for accessibility 2016-05-23 09:22:58 -05:00
cigamit f7d61b2a0a add new multiselect filter plugin 2016-04-23 17:36:04 -05:00
cigamit 9c2389ccc3 resolve page refresh issue permanently 2016-04-19 19:43:06 -05:00
cigamit 5f1c5e059c add table sorter and metadata plugins 2016-03-20 17:59:13 -05:00