Hand config consumers a read-only view of mirth.properties
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 42/100
Piste de recherche
Start at ConfigurationController.getPropertiesConfiguration() (from #405) and wrap the live PropertiesConfiguration with ConfigurationUtils.unmodifiableConfiguration so callers get ImmutableConfiguration. Update declared types and call sites in Mirth, MirthWebServer, servlet filters, and WebStartServlet, including SSL connector construction. Drop the no-op updatePropertiesConfiguration(mirthProperties) in Mirth.startup(). Add boot plus TLS coverage and check tls-manager plugin overrides; done when consumers cannot mutate config while startup writes still show through the view.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
ConfigurationController.getPropertiesConfiguration() (added in #405) returns the controller's live, mutable PropertiesConfiguration. Every consumer today (Mirth, MirthWebServer, WebStartServlet) only reads it, so it's safe, but nothing enforces that. A future consumer that mutates it would corrupt the authoritative config the whole server reads.
Enforcing read-only means returning an ImmutableConfiguration (via ConfigurationUtils.unmodifiableConfiguration). That changes the declared type through Mirth, MirthWebServer, the servlet filters, and WebStartServlet, and runs through the SSL connector construction, so it needs its own boot + TLS test and a check of the tls-manager plugin overrides on that path. The controller keeps writing the backing config during startup (keystore password generation, password re-encryption); consumers see those writes through the view but can't make their own.
Also drop the now-dead self-copy in Mirth.startup() (updatePropertiesConfiguration(mirthProperties)), a no-op once the consumer holds the controller's own object.
Context: #405.
- Langage dominant
- Java
- Étoiles
- 227
- Forks
- 81
- Merge moyen
- 2 j 16 h
- PR mergées (30 j)
- 12
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de OpenIntegrationEngine/engine
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
OpenIntegrationEngine/engine#485 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
OpenIntegrationEngine/engine#478 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
OpenIntegrationEngine/engine#355 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
OpenIntegrationEngine/engine#347 ·
Les mainteneurs répondent en général sous 1 jour
-
Fix call-home in test runOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
OpenIntegrationEngine/engine#313 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de OpenIntegrationEngine/engine
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
federicoiosue/Omni-Notes#1032 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
unitycatalog/unitycatalog#2025 ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
krizaka/krizaka-notifications#22 ·
Les mainteneurs répondent en général sous 1 jour
-
CommandDispatcher.register returns a node that is not in the tree when the literal is already registeredPeut-être pris @auraseb l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
-
ToolCallbackProvider AutoConfiguration does not preserve tool orderPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertestatus: waiting-for-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
spring-projects/spring-ai#7206 ·
Les mainteneurs répondent en général sous 2 jours