Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Hand config consumers a read-only view of mirth.properties

Ouverte
#412 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

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
Type d'issue
Refactorisation
Clarté
Plutôt claire
Activité
Calme
Stack technique
java
Domaine
backend, security

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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de OpenIntegrationEngine/engine

Toutes les issues de OpenIntegrationEngine/engine

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.