1
0
Fork 0
mirror of https://github.com/element-hq/synapse.git synced 2025-03-06 16:06:52 +00:00
synapse/tests/config
V02460 2159b3852e
Add --no-secrets-in-config command line option (#18092)
Adds the `--no-secrets-in-config` command line option that makes Synapse
reject all configurations containing keys with in-line secret values.
Currently this rejects

- `turn_shared_secret`
- `registration_shared_secret`
- `macaroon_secret_key`
- `recaptcha_private_key`
- `recaptcha_public_key`
- `experimental_features.msc3861.client_secret`
- `experimental_features.msc3861.jwk`
- `experimental_features.msc3861.admin_token`
- `form_secret`
- `redis.password`
- `worker_replication_secret`

> [!TIP]
> Hey, you! Yes, you! 😊 If you think this list is missing an item,
please leave a comment below. Thanks :)

This PR complements my other PRs[^1] that add the corresponding `_path`
variants for this class of config options. It enables admins to enforce
a policy of no secrets in configuration files and guards against
accident and malice.

Because I consider the flag `--no-secrets-in-config` to be
security-relevant, I did not add a corresponding `--secrets-in-config`
flag; this way, if Synapse command line options are appended at various
places, there is no way to weaken the once-set setting with a succeeding
flag.

[^1]: [#17690](https://github.com/element-hq/synapse/pull/17690),
[#17717](https://github.com/element-hq/synapse/pull/17717),
[#17983](https://github.com/element-hq/synapse/pull/17983),
[#17984](https://github.com/element-hq/synapse/pull/17984),
[#18004](https://github.com/element-hq/synapse/pull/18004),
[#18090](https://github.com/element-hq/synapse/pull/18090)


### Pull Request Checklist

<!-- Please read
https://element-hq.github.io/synapse/latest/development/contributing_guide.html
before submitting your pull request -->

* [x] Pull request is based on the develop branch
* [x] Pull request includes a [changelog
file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog).
The entry should:
- Be a short description of your change which makes sense to users.
"Fixed a bug that prevented receiving messages from other servers."
instead of "Moved X method from `EventStore` to `EventWorkerStore`.".
  - Use markdown where necessary, mostly for `code blocks`.
  - End with either a period (.) or an exclamation mark (!).
  - Start with a capital letter.
- Feel free to credit yourself, by adding a sentence "Contributed by
@github_username." or "Contributed by [Your Name]." to the end of the
entry.
* [x] [Code
style](https://element-hq.github.io/synapse/latest/code_style.html) is
correct
(run the
[linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
2025-02-25 16:26:01 +00:00
..
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test___main__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_api.py Allow selecting "prejoin" events by state keys (#14642) 2022-12-13 00:54:46 +00:00
test_appservice.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_background_update.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_base.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_cache.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_database.py Update license headers 2023-11-21 15:29:58 -05:00
test_generate.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_load.py Add --no-secrets-in-config command line option (#18092) 2025-02-25 16:26:01 +00:00
test_oauth_delegation.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_ratelimiting.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_registration_config.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_room_directory.py Allow room creation but not publishing to continue if room publication rules are violated when creating a new room. (#16811) 2024-01-22 13:59:45 +00:00
test_server.py Update license headers 2023-11-21 15:29:58 -05:00
test_tls.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_util.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_workers.py Add --no-secrets-in-config command line option (#18092) 2025-02-25 16:26:01 +00:00
utils.py Add macaroon_secret_key_path config option (#17983) 2024-12-16 18:01:33 -06:00