Skip to content

[codex] Fix graph subsystem correctness bugs#7186

Draft
somethingwithproof wants to merge 5 commits into
Cacti:developfrom
somethingwithproof:feat/graph-subsystem-correctness
Draft

[codex] Fix graph subsystem correctness bugs#7186
somethingwithproof wants to merge 5 commits into
Cacti:developfrom
somethingwithproof:feat/graph-subsystem-correctness

Conversation

@somethingwithproof
Copy link
Copy Markdown
Contributor

Summary

  • Preserve the authenticated user when proxying graph image renders to a remote collector.
  • Reject remote graph responses that do not contain the expected image marker before serving bytes as PNG data.
  • Restore the remote collector temporary error handler with finally so failed collector calls do not leak handlers.
  • Key the GPRINT consolidation-function cache by data source and template RRD id.
  • Use returned realtime graph bytes when RRDtool succeeds but the realtime cache file is unavailable.
  • Add a Docker-backed graph subsystem regression probe.

Open PR overlap

Validation

  • php -l graph_image.php
  • php -l graph_realtime.php
  • php -l lib/functions.php
  • php -l lib/rrd.php
  • php -l tests/e2e/graph_subsystem_probe.php
  • bash -n tests/e2e/graph_subsystem_docker.sh
  • bash tests/e2e/graph_subsystem_docker.sh

The Docker probe passes. It emits existing PHP deprecation notices from Cacti/vendor code under the container PHP version before printing PASS graph subsystem docker probe.

php-cs-fixer flagged array() in graph_realtime.php; convert to [] for the
coding-standards gate.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
phpstan 2.2.2 added a stricter is_numeric() always-true inference that
fails on pre-existing develop code (lib/data_query.php); pin until that
is addressed upstream so CI is reproducible.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant