From 32737a16ed26056921ae14a6174069fef106ef32 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Fri, 28 Jan 2022 18:50:33 -0800 Subject: [PATCH] email: Rename app from email_server to email For simplicity and consistency. Eliminate '_' in the name. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- actions/{email_server => email} | 2 +- .../{email_server => email}/__init__.py | 61 ++++++++++--------- .../{email_server => email}/aliases.py | 2 +- .../{email_server => email}/audit/__init__.py | 0 .../{email_server => email}/audit/aliases.py | 0 .../{email_server => email}/audit/domain.py | 4 +- .../{email_server => email}/audit/home.py | 2 +- .../{email_server => email}/audit/ldap.py | 12 ++-- .../{email_server => email}/audit/models.py | 0 .../{email_server => email}/audit/spam.py | 6 +- .../{email_server => email}/audit/tls.py | 2 +- .../conf-available/email-freedombox.conf} | 2 +- .../apache2/includes/freedombox-robots.conf | 0 .../dovecot/conf.d/05-freedombox-auth.conf | 2 +- .../dovecot/conf.d/05-freedombox-mail.conf | 2 +- .../dovecot/conf.d/15-freedombox-mail.conf | 2 +- .../dovecot/conf.d/90-freedombox-lmtp.conf | 2 +- .../conf.d/90-freedombox-mailboxes.conf | 2 +- .../dovecot/conf.d/90-freedombox-master.conf | 2 +- .../etc/dovecot/conf.d/90-freedombox-tls.conf | 0 .../dovecot/conf.d/95-freedombox-sieve.conf | 2 +- .../dovecot/freedombox-sieve-after/README.txt | 0 .../freedombox-sieve-after/sort-spam.sieve | 0 .../data/etc/plinth/modules-enabled/email | 1 + .../rspamd-config/local_milter_headers.conf | 0 .../plinth/rspamd-config/override_options.inc | 0 .../data/etc/postfix/freedombox-aliases.cf | 0 .../etc/postfix/freedombox-header-cleanup | 0 .../etc/postfix/freedombox-internal-cleanup | 0 .../etc/postfix/freedombox-rewrite-sender | 0 .../etc/postfix/freedombox-transport-from | 0 .../data/etc/postfix/freedombox-transport-to | 0 .../var/spool/postfix/fbx-managed/README.txt | 0 .../fbx-managed/pre-queue-milter-headers | 0 .../modules/{email_server => email}/forms.py | 0 .../{email_server => email}/interproc.py | 0 .../modules/{email_server => email}/lock.py | 0 .../{email_server => email}/manifest.py | 0 .../{email_server => email}/modconf.py | 0 .../{email_server => email}/postconf.py | 0 .../templates/email-aliases.html} | 0 .../templates/email-autoconfig.xml} | 0 .../templates/email.html} | 2 +- .../{email_server => email}/tests/__init__.py | 0 plinth/modules/email/urls.py | 14 +++++ .../modules/{email_server => email}/views.py | 14 ++--- .../etc/plinth/modules-enabled/email_server | 1 - plinth/modules/email_server/urls.py | 14 ----- 48 files changed, 77 insertions(+), 76 deletions(-) rename actions/{email_server => email} (97%) rename plinth/modules/{email_server => email}/__init__.py (77%) rename plinth/modules/{email_server => email}/aliases.py (97%) rename plinth/modules/{email_server => email}/audit/__init__.py (100%) rename plinth/modules/{email_server => email}/audit/aliases.py (100%) rename plinth/modules/{email_server => email}/audit/domain.py (96%) rename plinth/modules/{email_server => email}/audit/home.py (90%) rename plinth/modules/{email_server => email}/audit/ldap.py (92%) rename plinth/modules/{email_server => email}/audit/models.py (100%) rename plinth/modules/{email_server => email}/audit/spam.py (95%) rename plinth/modules/{email_server => email}/audit/tls.py (97%) rename plinth/modules/{email_server/data/etc/apache2/conf-available/email-server-freedombox.conf => email/data/etc/apache2/conf-available/email-freedombox.conf} (93%) rename plinth/modules/{email_server => email}/data/etc/apache2/includes/freedombox-robots.conf (100%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/05-freedombox-auth.conf (77%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/05-freedombox-mail.conf (93%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/15-freedombox-mail.conf (90%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf (55%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf (89%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/90-freedombox-master.conf (79%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/90-freedombox-tls.conf (100%) rename plinth/modules/{email_server => email}/data/etc/dovecot/conf.d/95-freedombox-sieve.conf (57%) rename plinth/modules/{email_server => email}/data/etc/dovecot/freedombox-sieve-after/README.txt (100%) rename plinth/modules/{email_server => email}/data/etc/dovecot/freedombox-sieve-after/sort-spam.sieve (100%) create mode 100644 plinth/modules/email/data/etc/plinth/modules-enabled/email rename plinth/modules/{email_server => email}/data/etc/plinth/rspamd-config/local_milter_headers.conf (100%) rename plinth/modules/{email_server => email}/data/etc/plinth/rspamd-config/override_options.inc (100%) rename plinth/modules/{email_server => email}/data/etc/postfix/freedombox-aliases.cf (100%) rename plinth/modules/{email_server => email}/data/etc/postfix/freedombox-header-cleanup (100%) rename plinth/modules/{email_server => email}/data/etc/postfix/freedombox-internal-cleanup (100%) rename plinth/modules/{email_server => email}/data/etc/postfix/freedombox-rewrite-sender (100%) rename plinth/modules/{email_server => email}/data/etc/postfix/freedombox-transport-from (100%) rename plinth/modules/{email_server => email}/data/etc/postfix/freedombox-transport-to (100%) rename plinth/modules/{email_server => email}/data/var/spool/postfix/fbx-managed/README.txt (100%) rename plinth/modules/{email_server => email}/data/var/spool/postfix/fbx-managed/pre-queue-milter-headers (100%) rename plinth/modules/{email_server => email}/forms.py (100%) rename plinth/modules/{email_server => email}/interproc.py (100%) rename plinth/modules/{email_server => email}/lock.py (100%) rename plinth/modules/{email_server => email}/manifest.py (100%) rename plinth/modules/{email_server => email}/modconf.py (100%) rename plinth/modules/{email_server => email}/postconf.py (100%) rename plinth/modules/{email_server/templates/email_alias.html => email/templates/email-aliases.html} (100%) rename plinth/modules/{email_server/templates/email_autoconfig.xml => email/templates/email-autoconfig.xml} (100%) rename plinth/modules/{email_server/templates/email_server.html => email/templates/email.html} (89%) rename plinth/modules/{email_server => email}/tests/__init__.py (100%) create mode 100644 plinth/modules/email/urls.py rename plinth/modules/{email_server => email}/views.py (94%) delete mode 100644 plinth/modules/email_server/data/etc/plinth/modules-enabled/email_server delete mode 100644 plinth/modules/email_server/urls.py diff --git a/actions/email_server b/actions/email similarity index 97% rename from actions/email_server rename to actions/email index 8cfc79ae5..8bf68630c 100755 --- a/actions/email_server +++ b/actions/email @@ -10,7 +10,7 @@ import os import sys import plinth.log -from plinth.modules.email_server import audit +from plinth.modules.email import audit EXIT_SYNTAX = 10 EXIT_PERM = 20 diff --git a/plinth/modules/email_server/__init__.py b/plinth/modules/email/__init__.py similarity index 77% rename from plinth/modules/email_server/__init__.py rename to plinth/modules/email/__init__.py index de8b5a798..a3e90ab3f 100644 --- a/plinth/modules/email_server/__init__.py +++ b/plinth/modules/email/__init__.py @@ -36,9 +36,9 @@ app = None logger = logging.getLogger(__name__) -class EmailServerApp(plinth.app.App): - """FreedomBox email server app""" - app_id = 'email_server' +class EmailApp(plinth.app.App): + """FreedomBox app for an email server.""" + app_id = 'email' _version = 1 @@ -46,25 +46,26 @@ class EmailServerApp(plinth.app.App): """The app's constructor""" super().__init__() - info = plinth.app.Info( - app_id=self.app_id, version=self._version, - name=_('Postfix/Dovecot'), icon_filename='roundcube', - short_description=_('Email Server'), description=_description, - manual_page='EmailServer', clients=manifest.clients, - donation_url='https://rspamd.com/support.html') + info = plinth.app.Info(app_id=self.app_id, version=self._version, + name=_('Postfix/Dovecot'), + icon_filename='roundcube', + short_description=_('Email Server'), + description=_description, manual_page='Email', + clients=manifest.clients, + donation_url='https://rspamd.com/support.html') self.add(info) - menu_item = menu.Menu('menu-email-server', info.name, - info.short_description, info.icon_filename, - 'email_server:index', parent_url_name='apps') + menu_item = menu.Menu('menu-email', info.name, info.short_description, + info.icon_filename, 'email:index', + parent_url_name='apps') self.add(menu_item) shortcut = frontpage.Shortcut( - 'shortcut-email-server', info.name, + 'shortcut-email', info.name, short_description=info.short_description, icon=info.icon_filename, description=info.description, - configure_url=reverse_lazy('email_server:index'), - clients=info.clients, login_required=True) + configure_url=reverse_lazy('email:index'), clients=info.clients, + login_required=True) self.add(shortcut) # Other likely install conflicts have been discarded: @@ -72,7 +73,7 @@ class EmailServerApp(plinth.app.App): # - qmail and smail are missing in Bullseye (Not tested, # but less likely due to that). packages = Packages( - 'packages-email-server', [ + 'packages-email', [ 'postfix', 'postfix-ldap', 'postfix-sqlite', 'dovecot-pop3d', 'dovecot-imapd', 'dovecot-ldap', 'dovecot-lmtpd', 'dovecot-managesieved' @@ -80,13 +81,13 @@ class EmailServerApp(plinth.app.App): conflicts_action=Packages.ConflictsAction.IGNORE) self.add(packages) - packages = Packages('packages-email-server-skip-rec', ['rspamd'], + packages = Packages('packages-email-skip-rec', ['rspamd'], skip_recommends=True) self.add(packages) listen_ports = [(25, 'tcp4'), (25, 'tcp6'), (465, 'tcp4'), (465, 'tcp6'), (587, 'tcp4'), (587, 'tcp6')] - daemon = Daemon('daemon-email-server-postfix', 'postfix', + daemon = Daemon('daemon-email-postfix', 'postfix', listen_ports=listen_ports) self.add(daemon) @@ -94,13 +95,13 @@ class EmailServerApp(plinth.app.App): (993, 'tcp6'), (110, 'tcp4'), (110, 'tcp6'), (995, 'tcp4'), (995, 'tcp6'), (4190, 'tcp4'), (4190, 'tcp6')] - daemon = Daemon('daemon-email-server-dovecot', 'dovecot', + daemon = Daemon('daemon-email-dovecot', 'dovecot', listen_ports=listen_ports) self.add(daemon) listen_ports = [(11332, 'tcp4'), (11332, 'tcp6'), (11333, 'tcp4'), (11333, 'tcp6'), (11334, 'tcp4'), (11334, 'tcp6')] - daemon = Daemon('daemon-email-server-rspamd', 'rspamd', + daemon = Daemon('daemon-email-rspamd', 'rspamd', listen_ports=listen_ports) self.add(daemon) @@ -112,25 +113,25 @@ class EmailServerApp(plinth.app.App): # /rspamd location webserver = Webserver( 'webserver-email', # unique id - 'email-server-freedombox', # config file name + 'email-freedombox', # config file name urls=['https://{host}/rspamd']) self.add(webserver) # Let's Encrypt event hook letsencrypt = LetsEncrypt( - 'letsencrypt-email-server-postfix', domains='*', - daemons=['postfix'], should_copy_certificates=True, + 'letsencrypt-email-postfix', domains='*', daemons=['postfix'], + should_copy_certificates=True, private_key_path='/etc/postfix/letsencrypt/{domain}/chain.pem', certificate_path='/etc/postfix/letsencrypt/{domain}/chain.pem', - user_owner='root', group_owner='root', managing_app='email_server') + user_owner='root', group_owner='root', managing_app='email') self.add(letsencrypt) letsencrypt = LetsEncrypt( - 'letsencrypt-email-server-dovecot', domains='*', - daemons=['dovecot'], should_copy_certificates=True, + 'letsencrypt-email-dovecot', domains='*', daemons=['dovecot'], + should_copy_certificates=True, private_key_path='/etc/dovecot/letsencrypt/{domain}/privkey.pem', certificate_path='/etc/dovecot/letsencrypt/{domain}/cert.pem', - user_owner='root', group_owner='root', managing_app='email_server') + user_owner='root', group_owner='root', managing_app='email') self.add(letsencrypt) @staticmethod @@ -157,7 +158,7 @@ def setup(helper, old_version=None): """Installs and configures module""" def _clear_conflicts(): - component = app.get_component('packages-email-server') + component = app.get_component('packages-email') packages_to_remove = component.find_conflicts() if packages_to_remove: logger.info('Removing conflicting packages: %s', @@ -170,8 +171,8 @@ def setup(helper, old_version=None): # Setup helper.call('post', audit.home.repair) - app.get_component('letsencrypt-email-server-postfix').setup_certificates() - app.get_component('letsencrypt-email-server-dovecot').setup_certificates() + app.get_component('letsencrypt-email-postfix').setup_certificates() + app.get_component('letsencrypt-email-dovecot').setup_certificates() helper.call('post', audit.domain.set_domains) helper.call('post', audit.ldap.repair) helper.call('post', audit.spam.repair) diff --git a/plinth/modules/email_server/aliases.py b/plinth/modules/email/aliases.py similarity index 97% rename from plinth/modules/email_server/aliases.py rename to plinth/modules/email/aliases.py index e3c9515f2..aeeb9163f 100644 --- a/plinth/modules/email_server/aliases.py +++ b/plinth/modules/email/aliases.py @@ -98,7 +98,7 @@ def _set_status(username, aliases, status): def first_setup(): """Create the database file and schema inside it.""" - actions.superuser_run('email_server', ['aliases', 'setup']) + actions.superuser_run('email', ['aliases', 'setup']) # Create schema if not exists query = ''' diff --git a/plinth/modules/email_server/audit/__init__.py b/plinth/modules/email/audit/__init__.py similarity index 100% rename from plinth/modules/email_server/audit/__init__.py rename to plinth/modules/email/audit/__init__.py diff --git a/plinth/modules/email_server/audit/aliases.py b/plinth/modules/email/audit/aliases.py similarity index 100% rename from plinth/modules/email_server/audit/aliases.py rename to plinth/modules/email/audit/aliases.py diff --git a/plinth/modules/email_server/audit/domain.py b/plinth/modules/email/audit/domain.py similarity index 96% rename from plinth/modules/email_server/audit/domain.py rename to plinth/modules/email/audit/domain.py index 5e8d341f7..a6fd767f3 100644 --- a/plinth/modules/email_server/audit/domain.py +++ b/plinth/modules/email/audit/domain.py @@ -7,7 +7,7 @@ import subprocess from plinth.actions import superuser_run from plinth.modules import config -from plinth.modules.email_server import postconf +from plinth.modules.email import postconf from plinth.modules.names.components import DomainName from . import tls @@ -31,7 +31,7 @@ def set_domains(primary_domain=None): primary_domain = config.get_domainname() or list(all_domains)[0] superuser_run( - 'email_server', + 'email', ['domain', 'set_domains', primary_domain, ','.join(all_domains)]) diff --git a/plinth/modules/email_server/audit/home.py b/plinth/modules/email/audit/home.py similarity index 90% rename from plinth/modules/email_server/audit/home.py rename to plinth/modules/email/audit/home.py index dae22f6fc..860cd1c52 100644 --- a/plinth/modules/email_server/audit/home.py +++ b/plinth/modules/email/audit/home.py @@ -14,7 +14,7 @@ def repair(): directory. Ensure that 'others' can access /var/mail/. """ - actions.superuser_run('email_server', ['home', 'set_up']) + actions.superuser_run('email', ['home', 'set_up']) def action_set_up(): diff --git a/plinth/modules/email_server/audit/ldap.py b/plinth/modules/email/audit/ldap.py similarity index 92% rename from plinth/modules/email_server/audit/ldap.py rename to plinth/modules/email/audit/ldap.py index 6a727e490..87d8f9934 100644 --- a/plinth/modules/email_server/audit/ldap.py +++ b/plinth/modules/email/audit/ldap.py @@ -6,8 +6,8 @@ import logging from django.utils.translation import gettext_lazy as _ -import plinth.modules.email_server.aliases as aliases -import plinth.modules.email_server.postconf as postconf +import plinth.modules.email.aliases as aliases +import plinth.modules.email.postconf as postconf from plinth import actions from . import models @@ -82,7 +82,7 @@ def repair(): POST /audit/ldap/repair """ aliases.first_setup() - actions.superuser_run('email_server', ['ldap', 'set_up']) + actions.superuser_run('email', ['ldap', 'set_up']) def action_set_up(): @@ -102,13 +102,13 @@ def fix_sasl(diagnosis): def action_set_sasl(): - """Handles email_server -i ldap set_sasl""" + """Handles email -i ldap set_sasl""" with postconf.mutex.lock_all(): fix_sasl(check_sasl()) def action_set_submission(): - """Handles email_server -i ldap set_submission""" + """Handles email -i ldap set_submission""" postconf.set_master_cf_options(service_flags=submission_flags, options=default_submission_options) postconf.set_master_cf_options(service_flags=smtps_flags, @@ -140,6 +140,6 @@ def fix_alias_maps(diagnosis): def action_set_ulookup(): - """Handles email_server -i ldap set_ulookup""" + """Handles email -i ldap set_ulookup""" with postconf.mutex.lock_all(): fix_alias_maps(check_alias_maps()) diff --git a/plinth/modules/email_server/audit/models.py b/plinth/modules/email/audit/models.py similarity index 100% rename from plinth/modules/email_server/audit/models.py rename to plinth/modules/email/audit/models.py diff --git a/plinth/modules/email_server/audit/spam.py b/plinth/modules/email/audit/spam.py similarity index 95% rename from plinth/modules/email_server/audit/spam.py rename to plinth/modules/email/audit/spam.py index d070a9f8b..a164cdca4 100644 --- a/plinth/modules/email_server/audit/spam.py +++ b/plinth/modules/email/audit/spam.py @@ -9,8 +9,8 @@ import subprocess from django.utils.translation import gettext_lazy as _ from plinth import actions -from plinth.modules.email_server import interproc, lock, postconf -from plinth.modules.email_server.modconf import ConfigInjector +from plinth.modules.email import interproc, lock, postconf +from plinth.modules.email.modconf import ConfigInjector from . import models @@ -94,7 +94,7 @@ def get(): def repair(): - actions.superuser_run('email_server', ['spam', 'set_filter']) + actions.superuser_run('email', ['spam', 'set_filter']) def check_filter(title=''): diff --git a/plinth/modules/email_server/audit/tls.py b/plinth/modules/email/audit/tls.py similarity index 97% rename from plinth/modules/email_server/audit/tls.py rename to plinth/modules/email/audit/tls.py index 93e891d03..5d20b2a39 100644 --- a/plinth/modules/email_server/audit/tls.py +++ b/plinth/modules/email/audit/tls.py @@ -1,7 +1,7 @@ """TLS configuration for postfix and dovecot.""" # SPDX-License-Identifier: AGPL-3.0-or-later -from plinth.modules.email_server import interproc, postconf +from plinth.modules.email import interproc, postconf # Mozilla Guideline v5.6, Postfix 1.17.7, OpenSSL 1.1.1d, intermediate # Generated 2021-08 diff --git a/plinth/modules/email_server/data/etc/apache2/conf-available/email-server-freedombox.conf b/plinth/modules/email/data/etc/apache2/conf-available/email-freedombox.conf similarity index 93% rename from plinth/modules/email_server/data/etc/apache2/conf-available/email-server-freedombox.conf rename to plinth/modules/email/data/etc/apache2/conf-available/email-freedombox.conf index 218087e8a..6fe412877 100644 --- a/plinth/modules/email_server/data/etc/apache2/conf-available/email-server-freedombox.conf +++ b/plinth/modules/email/data/etc/apache2/conf-available/email-freedombox.conf @@ -27,6 +27,6 @@ RewriteEngine On - RewriteRule ^ /plinth/apps/email_server/config.xml [PT] + RewriteRule ^ /plinth/apps/email/config.xml [PT] diff --git a/plinth/modules/email_server/data/etc/apache2/includes/freedombox-robots.conf b/plinth/modules/email/data/etc/apache2/includes/freedombox-robots.conf similarity index 100% rename from plinth/modules/email_server/data/etc/apache2/includes/freedombox-robots.conf rename to plinth/modules/email/data/etc/apache2/includes/freedombox-robots.conf diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/05-freedombox-auth.conf b/plinth/modules/email/data/etc/dovecot/conf.d/05-freedombox-auth.conf similarity index 77% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/05-freedombox-auth.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/05-freedombox-auth.conf index a2d3eabcc..bd33cde76 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/05-freedombox-auth.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/05-freedombox-auth.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox # Outlook and Windows Mail works only with LOGIN mechanism, not the standard # PLAIN: diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/05-freedombox-mail.conf b/plinth/modules/email/data/etc/dovecot/conf.d/05-freedombox-mail.conf similarity index 93% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/05-freedombox-mail.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/05-freedombox-mail.conf index e3c908d64..743b69318 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/05-freedombox-mail.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/05-freedombox-mail.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox # Users in FreedomBox are not expected to access mail by logging into the # system. Storing the mail in single location instead of home directories and diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/15-freedombox-mail.conf b/plinth/modules/email/data/etc/dovecot/conf.d/15-freedombox-mail.conf similarity index 90% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/15-freedombox-mail.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/15-freedombox-mail.conf index 40bccbce2..44bad2b93 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/15-freedombox-mail.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/15-freedombox-mail.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox # Use sdbox, a format specific to dovecot, for storing mails. The format allows # better performance with some IMAP queries. When this is combined with Full diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf similarity index 55% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf index a0f2a3ca4..33979e116 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-lmtp.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox protocol lmtp { mail_plugins = $mail_plugins sieve diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf similarity index 89% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf index d14f70d59..1456360ce 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-mailboxes.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox namespace inbox { mailbox Archive { diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-master.conf b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-master.conf similarity index 79% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-master.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-master.conf index 0b1137be7..162ee0f68 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-master.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-master.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox service auth { unix_listener /var/spool/postfix/private/auth { diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-tls.conf b/plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-tls.conf similarity index 100% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/90-freedombox-tls.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/90-freedombox-tls.conf diff --git a/plinth/modules/email_server/data/etc/dovecot/conf.d/95-freedombox-sieve.conf b/plinth/modules/email/data/etc/dovecot/conf.d/95-freedombox-sieve.conf similarity index 57% rename from plinth/modules/email_server/data/etc/dovecot/conf.d/95-freedombox-sieve.conf rename to plinth/modules/email/data/etc/dovecot/conf.d/95-freedombox-sieve.conf index dc34ba411..352475064 100644 --- a/plinth/modules/email_server/data/etc/dovecot/conf.d/95-freedombox-sieve.conf +++ b/plinth/modules/email/data/etc/dovecot/conf.d/95-freedombox-sieve.conf @@ -1,5 +1,5 @@ # Direct edits to this file will be lost! -# Manage your settings on Plinth +# Manage your settings on FreedomBox plugin { sieve_after = /etc/dovecot/freedombox-sieve-after diff --git a/plinth/modules/email_server/data/etc/dovecot/freedombox-sieve-after/README.txt b/plinth/modules/email/data/etc/dovecot/freedombox-sieve-after/README.txt similarity index 100% rename from plinth/modules/email_server/data/etc/dovecot/freedombox-sieve-after/README.txt rename to plinth/modules/email/data/etc/dovecot/freedombox-sieve-after/README.txt diff --git a/plinth/modules/email_server/data/etc/dovecot/freedombox-sieve-after/sort-spam.sieve b/plinth/modules/email/data/etc/dovecot/freedombox-sieve-after/sort-spam.sieve similarity index 100% rename from plinth/modules/email_server/data/etc/dovecot/freedombox-sieve-after/sort-spam.sieve rename to plinth/modules/email/data/etc/dovecot/freedombox-sieve-after/sort-spam.sieve diff --git a/plinth/modules/email/data/etc/plinth/modules-enabled/email b/plinth/modules/email/data/etc/plinth/modules-enabled/email new file mode 100644 index 000000000..ae704e3fd --- /dev/null +++ b/plinth/modules/email/data/etc/plinth/modules-enabled/email @@ -0,0 +1 @@ +#plinth.modules.email diff --git a/plinth/modules/email_server/data/etc/plinth/rspamd-config/local_milter_headers.conf b/plinth/modules/email/data/etc/plinth/rspamd-config/local_milter_headers.conf similarity index 100% rename from plinth/modules/email_server/data/etc/plinth/rspamd-config/local_milter_headers.conf rename to plinth/modules/email/data/etc/plinth/rspamd-config/local_milter_headers.conf diff --git a/plinth/modules/email_server/data/etc/plinth/rspamd-config/override_options.inc b/plinth/modules/email/data/etc/plinth/rspamd-config/override_options.inc similarity index 100% rename from plinth/modules/email_server/data/etc/plinth/rspamd-config/override_options.inc rename to plinth/modules/email/data/etc/plinth/rspamd-config/override_options.inc diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-aliases.cf b/plinth/modules/email/data/etc/postfix/freedombox-aliases.cf similarity index 100% rename from plinth/modules/email_server/data/etc/postfix/freedombox-aliases.cf rename to plinth/modules/email/data/etc/postfix/freedombox-aliases.cf diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-header-cleanup b/plinth/modules/email/data/etc/postfix/freedombox-header-cleanup similarity index 100% rename from plinth/modules/email_server/data/etc/postfix/freedombox-header-cleanup rename to plinth/modules/email/data/etc/postfix/freedombox-header-cleanup diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-internal-cleanup b/plinth/modules/email/data/etc/postfix/freedombox-internal-cleanup similarity index 100% rename from plinth/modules/email_server/data/etc/postfix/freedombox-internal-cleanup rename to plinth/modules/email/data/etc/postfix/freedombox-internal-cleanup diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-rewrite-sender b/plinth/modules/email/data/etc/postfix/freedombox-rewrite-sender similarity index 100% rename from plinth/modules/email_server/data/etc/postfix/freedombox-rewrite-sender rename to plinth/modules/email/data/etc/postfix/freedombox-rewrite-sender diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-transport-from b/plinth/modules/email/data/etc/postfix/freedombox-transport-from similarity index 100% rename from plinth/modules/email_server/data/etc/postfix/freedombox-transport-from rename to plinth/modules/email/data/etc/postfix/freedombox-transport-from diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-transport-to b/plinth/modules/email/data/etc/postfix/freedombox-transport-to similarity index 100% rename from plinth/modules/email_server/data/etc/postfix/freedombox-transport-to rename to plinth/modules/email/data/etc/postfix/freedombox-transport-to diff --git a/plinth/modules/email_server/data/var/spool/postfix/fbx-managed/README.txt b/plinth/modules/email/data/var/spool/postfix/fbx-managed/README.txt similarity index 100% rename from plinth/modules/email_server/data/var/spool/postfix/fbx-managed/README.txt rename to plinth/modules/email/data/var/spool/postfix/fbx-managed/README.txt diff --git a/plinth/modules/email_server/data/var/spool/postfix/fbx-managed/pre-queue-milter-headers b/plinth/modules/email/data/var/spool/postfix/fbx-managed/pre-queue-milter-headers similarity index 100% rename from plinth/modules/email_server/data/var/spool/postfix/fbx-managed/pre-queue-milter-headers rename to plinth/modules/email/data/var/spool/postfix/fbx-managed/pre-queue-milter-headers diff --git a/plinth/modules/email_server/forms.py b/plinth/modules/email/forms.py similarity index 100% rename from plinth/modules/email_server/forms.py rename to plinth/modules/email/forms.py diff --git a/plinth/modules/email_server/interproc.py b/plinth/modules/email/interproc.py similarity index 100% rename from plinth/modules/email_server/interproc.py rename to plinth/modules/email/interproc.py diff --git a/plinth/modules/email_server/lock.py b/plinth/modules/email/lock.py similarity index 100% rename from plinth/modules/email_server/lock.py rename to plinth/modules/email/lock.py diff --git a/plinth/modules/email_server/manifest.py b/plinth/modules/email/manifest.py similarity index 100% rename from plinth/modules/email_server/manifest.py rename to plinth/modules/email/manifest.py diff --git a/plinth/modules/email_server/modconf.py b/plinth/modules/email/modconf.py similarity index 100% rename from plinth/modules/email_server/modconf.py rename to plinth/modules/email/modconf.py diff --git a/plinth/modules/email_server/postconf.py b/plinth/modules/email/postconf.py similarity index 100% rename from plinth/modules/email_server/postconf.py rename to plinth/modules/email/postconf.py diff --git a/plinth/modules/email_server/templates/email_alias.html b/plinth/modules/email/templates/email-aliases.html similarity index 100% rename from plinth/modules/email_server/templates/email_alias.html rename to plinth/modules/email/templates/email-aliases.html diff --git a/plinth/modules/email_server/templates/email_autoconfig.xml b/plinth/modules/email/templates/email-autoconfig.xml similarity index 100% rename from plinth/modules/email_server/templates/email_autoconfig.xml rename to plinth/modules/email/templates/email-autoconfig.xml diff --git a/plinth/modules/email_server/templates/email_server.html b/plinth/modules/email/templates/email.html similarity index 89% rename from plinth/modules/email_server/templates/email_server.html rename to plinth/modules/email/templates/email.html index b18fdaa54..03bf737d8 100644 --- a/plinth/modules/email_server/templates/email_server.html +++ b/plinth/modules/email/templates/email.html @@ -11,7 +11,7 @@ + href="{% url 'email:aliases' %}"> {% trans "Manage Aliases" %} {% endblock %} diff --git a/plinth/modules/email_server/tests/__init__.py b/plinth/modules/email/tests/__init__.py similarity index 100% rename from plinth/modules/email_server/tests/__init__.py rename to plinth/modules/email/tests/__init__.py diff --git a/plinth/modules/email/urls.py b/plinth/modules/email/urls.py new file mode 100644 index 000000000..d177e136a --- /dev/null +++ b/plinth/modules/email/urls.py @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +from django.urls import path +from stronghold.decorators import public + +from plinth.utils import non_admin_view + +from . import views + +urlpatterns = [ + path('apps/email/', views.EmailAppView.as_view(), name='index'), + path('apps/email/aliases/', non_admin_view(views.AliasView.as_view()), + name='aliases'), + path('apps/email/config.xml', public(views.XmlView.as_view())), +] diff --git a/plinth/modules/email_server/views.py b/plinth/modules/email/views.py similarity index 94% rename from plinth/modules/email_server/views.py rename to plinth/modules/email/views.py index 6a34d89a5..8964f13ee 100644 --- a/plinth/modules/email_server/views.py +++ b/plinth/modules/email/views.py @@ -15,11 +15,11 @@ from . import aliases as aliases_module from . import audit, forms -class EmailServerView(AppView): - """Server configuration page""" - app_id = 'email_server' +class EmailAppView(AppView): + """Server configuration page.""" + app_id = 'email' form_class = forms.DomainForm - template_name = 'email_server.html' + template_name = 'email.html' def get_initial(self): """Return the initial values to populate in the form.""" @@ -52,9 +52,9 @@ class AliasView(FormView): posted is detected using hidden form values and the appropriate form is initialized for the FormView base class to work with. """ - template_name = 'email_alias.html' + template_name = 'email-aliases.html' form_classes = (forms.AliasCreateForm, forms.AliasListForm) - success_url = reverse_lazy('email_server:aliases') + success_url = reverse_lazy('email:aliases') def __init__(self, *args, **kwargs): """Initialize the view.""" @@ -125,7 +125,7 @@ class AliasView(FormView): class XmlView(TemplateView): - template_name = 'email_autoconfig.xml' + template_name = 'email-autoconfig.xml' def render_to_response(self, *args, **kwargs): kwargs['content_type'] = 'text/xml; charset=utf-8' diff --git a/plinth/modules/email_server/data/etc/plinth/modules-enabled/email_server b/plinth/modules/email_server/data/etc/plinth/modules-enabled/email_server deleted file mode 100644 index fb87084c0..000000000 --- a/plinth/modules/email_server/data/etc/plinth/modules-enabled/email_server +++ /dev/null @@ -1 +0,0 @@ -#plinth.modules.email_server diff --git a/plinth/modules/email_server/urls.py b/plinth/modules/email_server/urls.py deleted file mode 100644 index cd56f03c8..000000000 --- a/plinth/modules/email_server/urls.py +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later -from django.urls import path -from stronghold.decorators import public - -from plinth.utils import non_admin_view - -from . import views - -urlpatterns = [ - path('apps/email_server/', views.EmailServerView.as_view(), name='index'), - path('apps/email_server/my_aliases', - non_admin_view(views.AliasView.as_view()), name='aliases'), - path('apps/email_server/config.xml', public(views.XmlView.as_view())), -]