feat: Complete config.xml and access.xml audit + enforce ACL across codebase #137

Closed
opened 2026-06-23 18:36:13 +00:00 by jmiller · 0 comments
Owner

Summary

Audit and complete the component configuration and ACL permissions, then enforce them consistently across all controllers, API endpoints, and AJAX handlers.

config.xml gaps

  • Global ntfy server/topic/token (fallback when profile doesn't set them)
  • Default MokoRestore mode (none/wrapped/standalone)
  • Default archive format (zip/tar.gz/7z)
  • Default sanitization settings (passwords, emails, sessions)
  • Log retention (days to keep .log files alongside archives)
  • API rate limiting settings

access.xml gaps

  • mokosuitebackup.backup.purge — separate permission for purging old backups
  • mokosuitebackup.backup.compare — permission for comparing backups
  • mokosuitebackup.backup.browse — permission for browsing archive contents

ACL enforcement audit

  • BackupsController: verify all actions check correct permission
  • SnapshotsController: verify all actions check snapshot.manage
  • AjaxController: verify all AJAX endpoints check correct permission
  • API BackupsController: verify download uses backup.download, not just core.manage
  • API SnapshotsController: verify all endpoints check snapshot.manage
  • System plugin webcron: verify permission checks
## Summary Audit and complete the component configuration and ACL permissions, then enforce them consistently across all controllers, API endpoints, and AJAX handlers. ## config.xml gaps - [ ] Global ntfy server/topic/token (fallback when profile doesn't set them) - [ ] Default MokoRestore mode (none/wrapped/standalone) - [ ] Default archive format (zip/tar.gz/7z) - [ ] Default sanitization settings (passwords, emails, sessions) - [ ] Log retention (days to keep .log files alongside archives) - [ ] API rate limiting settings ## access.xml gaps - [ ] `mokosuitebackup.backup.purge` — separate permission for purging old backups - [ ] `mokosuitebackup.backup.compare` — permission for comparing backups - [ ] `mokosuitebackup.backup.browse` — permission for browsing archive contents ## ACL enforcement audit - [ ] BackupsController: verify all actions check correct permission - [ ] SnapshotsController: verify all actions check snapshot.manage - [ ] AjaxController: verify all AJAX endpoints check correct permission - [ ] API BackupsController: verify download uses backup.download, not just core.manage - [ ] API SnapshotsController: verify all endpoints check snapshot.manage - [ ] System plugin webcron: verify permission checks
jmiller added the component: enginecomponent: admin labels 2026-06-23 18:36:13 +00:00
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteBackup#137