From c326b35238c2af10a5ec499ff503a90d97512e1f Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 16 May 2023 11:51:26 -0700 Subject: [PATCH] matrixsynapse: Use drop-in config component for /etc files Tests: - Config files are all symlinks in /etc/ - Login to Matrix using app.element.io works. - Fail2ban rules work Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- debian/freedombox.maintscript | 3 +++ plinth/modules/matrixsynapse/__init__.py | 10 +++++++++- .../apache2/conf-available/matrix-synapse-plinth.conf | 0 .../etc/fail2ban/filter.d/matrix-auth-freedombox.conf | 0 .../etc/fail2ban/jail.d/matrix-auth-freedombox.conf | 0 5 files changed, 12 insertions(+), 1 deletion(-) rename plinth/modules/matrixsynapse/data/{ => usr/share/freedombox}/etc/apache2/conf-available/matrix-synapse-plinth.conf (100%) rename plinth/modules/matrixsynapse/data/{ => usr/share/freedombox}/etc/fail2ban/filter.d/matrix-auth-freedombox.conf (100%) rename plinth/modules/matrixsynapse/data/{ => usr/share/freedombox}/etc/fail2ban/jail.d/matrix-auth-freedombox.conf (100%) diff --git a/debian/freedombox.maintscript b/debian/freedombox.maintscript index c7439b533..5708889de 100644 --- a/debian/freedombox.maintscript +++ b/debian/freedombox.maintscript @@ -114,3 +114,6 @@ rm_conffile /etc/ikiwiki/plinth-wiki.setup 23.10~ rm_conffile /etc/apache2/conf-available/ikiwiki-plinth.conf 23.10~ rm_conffile /etc/apache2/conf-available/janus-freedombox.conf 23.10~ rm_conffile /etc/letsencrypt/renewal-hooks/deploy/50-freedombox 23.10~ +rm_conffile /etc/apache2/conf-available/matrix-synapse-plinth.conf 23.10~ +rm_conffile /etc/fail2ban/jail.d/matrix-auth-freedombox.conf 23.10~ +rm_conffile /etc/fail2ban/filter.d/matrix-auth-freedombox.conf 23.10~ diff --git a/plinth/modules/matrixsynapse/__init__.py b/plinth/modules/matrixsynapse/__init__.py index 46ed62539..de16cc499 100644 --- a/plinth/modules/matrixsynapse/__init__.py +++ b/plinth/modules/matrixsynapse/__init__.py @@ -11,6 +11,7 @@ from ruamel.yaml.util import load_yaml_guess_indent from plinth import app as app_module from plinth import frontpage, menu +from plinth.config import DropinConfigs from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.backups.components import BackupRestore @@ -44,7 +45,7 @@ class MatrixSynapseApp(app_module.App): app_id = 'matrixsynapse' - _version = 8 + _version = 9 def __init__(self): """Create components for the app.""" @@ -77,6 +78,13 @@ class MatrixSynapseApp(app_module.App): ['matrix-synapse', 'matrix-synapse-ldap3', 'python3-psycopg2']) self.add(packages) + dropin_configs = DropinConfigs('dropin-configs-matrixsynapse', [ + '/etc/apache2/conf-available/matrix-synapse-plinth.conf', + '/etc/fail2ban/jail.d/matrix-auth-freedombox.conf', + '/etc/fail2ban/filter.d/matrix-auth-freedombox.conf', + ]) + self.add(dropin_configs) + firewall = Firewall('firewall-matrixsynapse', info.name, ports=['matrix-synapse-plinth'], is_external=True) self.add(firewall) diff --git a/plinth/modules/matrixsynapse/data/etc/apache2/conf-available/matrix-synapse-plinth.conf b/plinth/modules/matrixsynapse/data/usr/share/freedombox/etc/apache2/conf-available/matrix-synapse-plinth.conf similarity index 100% rename from plinth/modules/matrixsynapse/data/etc/apache2/conf-available/matrix-synapse-plinth.conf rename to plinth/modules/matrixsynapse/data/usr/share/freedombox/etc/apache2/conf-available/matrix-synapse-plinth.conf diff --git a/plinth/modules/matrixsynapse/data/etc/fail2ban/filter.d/matrix-auth-freedombox.conf b/plinth/modules/matrixsynapse/data/usr/share/freedombox/etc/fail2ban/filter.d/matrix-auth-freedombox.conf similarity index 100% rename from plinth/modules/matrixsynapse/data/etc/fail2ban/filter.d/matrix-auth-freedombox.conf rename to plinth/modules/matrixsynapse/data/usr/share/freedombox/etc/fail2ban/filter.d/matrix-auth-freedombox.conf diff --git a/plinth/modules/matrixsynapse/data/etc/fail2ban/jail.d/matrix-auth-freedombox.conf b/plinth/modules/matrixsynapse/data/usr/share/freedombox/etc/fail2ban/jail.d/matrix-auth-freedombox.conf similarity index 100% rename from plinth/modules/matrixsynapse/data/etc/fail2ban/jail.d/matrix-auth-freedombox.conf rename to plinth/modules/matrixsynapse/data/usr/share/freedombox/etc/fail2ban/jail.d/matrix-auth-freedombox.conf