Page MenuHomePhabricator

Raise a setup warning when locked configuration has a configuration value stored in the database
ClosedPublic

Authored by epriestley on Feb 13 2019, 2:45 PM.
Tags
None
Referenced Files
F19037455: D20159.id.diff
Nov 25 2025, 11:35 PM
F19031336: D20159.diff
Nov 25 2025, 12:07 AM
F18851935: D20159.id.diff
Oct 31 2025, 5:28 AM
F18836982: D20159.id.diff
Oct 27 2025, 4:05 AM
F18814810: D20159.id.diff
Oct 20 2025, 11:58 PM
F18810618: D20159.diff
Oct 19 2025, 10:35 PM
F18809735: D20159.id48146.diff
Oct 19 2025, 4:27 PM
F18808979: D20159.id48138.diff
Oct 19 2025, 10:12 AM
Subscribers
None

Details

Summary

Ref T13249. See https://discourse.phabricator-community.org/t/configuring-the-number-of-taskmaster-daemons/2394/.

Today, when a configuration value is "locked", we prevent writes to the database. However, we still perform reads. When you upgrade, we generally don't want a bunch of your configuration to change by surprise.

Some day, I'd like to stop reading locked configuration from the database. This would defuse an escalation where an attacker finds a way to write to locked configuration despite safeguards, e.g. through SQL injection or policy bypass. Today, they could write to cluster.mailers or similar and substantially escalate access. A better behavior would be to ignore database values for cluster.mailers and other locked config, so that these impermissible writes have no effect.

Doing this today would break a lot of installs, but we can warn them about it now and then make the change at a later date.

Test Plan
  • Forced a phd.taskmasters config value into the database.
  • Saw setup warning.
  • Used bin/config delete --database phd.taskmasters to clear the warning.
  • Reviewed documentation changes.
  • Reviewed phd.taskmasters documentation adjustment.

Diff Detail

Repository
rP Phabricator
Branch
config1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 21982
Build 30023: Run Core Tests
Build 30022: arc lint + arc unit

Event Timeline

amckinley added inline comments.
src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
158

"configuration option"

This revision is now accepted and ready to land.Feb 13 2019, 6:45 PM
This revision was automatically updated to reflect the committed changes.
src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
158

🕶