Skip to content

v1.9.1 — Session & shared-server isolation diagnostic fixes

Latest

Choose a tag to compare

@verzog verzog released this 21 Jun 11:46
5a58253

block_servermon 1.9.1
A maintenance release that sharpens the accuracy of the session handler and shared-server isolation diagnostics in the debug footer. No new features or settings; all changes are read-only and best-effort, in keeping with the plugin's "always unconfirmed" tone. Safe drop-in upgrade from 1.9.0.

Fixed

  • Session handler now reflects the effective backend. When $CFG->session_handler_class is unset, the panel resolves the handler the same way Moodle core's \core\session\manager does — reporting database sessions when $CFG->dbsessions is enabled (and the DB driver supports session locking), otherwise file. Previously a database-session site was mislabelled "defaults to file" and could falsely raise the Redis-inactive / file-session warning.
  • /proc visibility no longer trusts getmyuid(). That function returns the owner of the PHP script file, not the worker's effective UID, so on hosts without the POSIX extension it compared /proc owners against the wrong identity. The check is now skipped unless a true effective UID is available.
  • hidepid hardening is detected authoritatively. The check now reads the hidepid level from the /proc mount options (/proc/self/mounts), so a properly hardened hidepid=2 mount — which hides other users' /proc/[pid] directories from the listing entirely — is correctly reported as hardened. It also distinguishes "no other-user processes were running" (inconclusive) from "foreign processes exist but are hidden" (hardened), instead of giving a false signal either way.
  • Unresolvable OS accounts are treated as incomplete, not failed. When neither /etc/passwd is readable nor posix_getpwnam() is available, a PHP-FPM pool whose user can't be looked up is now flagged undetermined rather than a hard "user not found" failure that wrongly downgraded the whole isolation verdict to Weak.
  • Isolation verdict preserves "Incomplete" when pool configs are unresolved. The site-centric Partial ("running on its own dedicated pool") result is no longer returned when another pool's user is set via an include (undetermined) and the current request's pool wasn't positively matched as clean — such hosts now correctly report Incomplete.

Full changelog: v1.9.0...v1.9.1