5051 Commits

Author SHA1 Message Date
Joseph Nuthalapati
b0305746c8
tahoe-lafs: Drop app as it is not being used
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Add to configuration file removal in Debian package and setup.py]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 15:12:11 -08:00
Joseph Nuthalapati
621cb67527
diaspora: Drop app that was never finished.
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Add to configuration file removal in Debian package]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 15:11:29 -08:00
Joseph Nuthalapati
ce5274d9ee
monkeysphere: Drop app as it is not being used
Closes #2157.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Split diaspora and tahoe-lafs into separate commits]
[sunil: Remove monkeysphere from help/tests/test_views.py]
[sunil: Add to configuration file removal in Debian package and setup.py]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 15:09:50 -08:00
pesder
41f5ccd80c
Translated using Weblate (Chinese (Traditional))
Currently translated at 17.2% (259 of 1498 strings)
2021-12-20 14:51:31 +01:00
Jiří Podhorecký
6f17901939
Translated using Weblate (Czech)
Currently translated at 100.0% (1498 of 1498 strings)
2021-12-20 14:51:31 +01:00
Eric
ab6c9bdd32
Translated using Weblate (Chinese (Simplified))
Currently translated at 71.2% (1067 of 1498 strings)
2021-12-20 14:51:29 +01:00
Michael Breidenbach
117d66584c
Translated using Weblate (Swedish)
Currently translated at 99.9% (1497 of 1498 strings)
2021-12-20 14:51:27 +01:00
pesder
697653ac86
Translated using Weblate (Chinese (Traditional))
Currently translated at 16.3% (245 of 1498 strings)
2021-12-18 22:57:10 +01:00
Jiří Podhorecký
fa1986e6fa
Translated using Weblate (Czech)
Currently translated at 81.9% (1227 of 1498 strings)
2021-12-18 22:57:09 +01:00
Eric
a92d5d81f8
Translated using Weblate (Chinese (Simplified))
Currently translated at 55.2% (827 of 1498 strings)
2021-12-18 22:57:06 +01:00
Coucouf
34e24b7d7a
Translated using Weblate (French)
Currently translated at 100.0% (1498 of 1498 strings)
2021-12-18 22:57:05 +01:00
Joseph Nuthalapati
102aaff2a2
tests: functional: Skip MLDonkey app
MLDonkey is currently not available in testing and not installable in
unstable. Attempting to install MLDonkey leaves dpkg in a broken state
which breaks other app installations as well.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
2021-12-17 13:33:25 +05:30
Sunil Mohan Adapa
d09fe5240b
datetime: Fix checking when timesyncd will run on a system
Fixes #2158.

When 'systemctl show' is used see the ConditionResult property, the value is
correct only when the unit has been started. When the unit is not running but
can run, ConditionResult has a value of 'no' leading to an incorrect result.

This in turn leads to _is_time_managed() returning incorrect value once the
service has been stopped. FreedomBox would have noted that daemon can be
enabled/disabled during startup while during attempts to enable it the action
script will think that service can't be enabled/disabled.

Fix this by using a better approach to detect when the service can run. Newer
versions of systemd (likely >=250) have the ability to run 'systemd-analzye
condition --unit=systemd-timesyncd.service' which have been ideal to detect
this. However, --unit option is not available in older versions. Use
systemd-virt-detect (part of systemd package) to detect for containers instead.

Tests:

- Boot the machine and run datetime functional tests

- User interface should not show enable/disable button for the app in container
but show in VM.

- Running first setup (after removing /var/lib/plinth/plinth.sqlite3) should
work on container and VM.

- Run above tests on a container and on a VM

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-16 07:44:13 -05:00
Sunil Mohan Adapa
ece2a1db33
email_server: Rename dovecot TLS configuration file for consistency
Tests:

- Configuration parameters are set properly after fresh app setup according to
'doveconf'.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:22:57 -05:00
Sunil Mohan Adapa
9a8b57efd4
email_server: Adjust TLS configuration parameters
- Don't add TLS debugging information to Received: header.

- Drop unused fingerprint digest configuration. They are only used when
smtpd_tls_security_level is set to 'fingerprint' in which case certifying
authorities are ignored.

- Drop alterations to TLS low/high cipher lists. They are not used since
tls_ciphers are all set to 'medium'.

Tests:

- No configuration errors are reported by postfix in its logs after startup.

- 'postconf' shows that the new configuration parameters are set properly.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:22:54 -05:00
Sunil Mohan Adapa
e43e144040
email_server: Re-implement TLS configuration
- Use LetsEncrypt component to perform TLS certificate copying instead of custom
implementation.

- Use two components to copy the certificates to dovecot and postfix separately.

- Add support for multiple domains using SNI. Provide all the certificates. Use
primary domain's certificate as the fallback certificate.

- Drop the diagnose/repair approach due to its complexity.

Tests:

- Installing the app works. After installation, all TLS parameters are show as
expected by 'postconf' command and 'doveconf' command.

- A default domain is selected by default. This will reflect as primary domain
in TLS certificate configuration.

- When primary domain is changed, the configuration is updated to reflect the
default certificate path but SNI configuration is unchanged in dovecot and
postfix.

- Postfix and dovecot are restarted after setup.

- There are no configuration error shows in postfix/dovecot logs.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:22:51 -05:00
Sunil Mohan Adapa
4b024b269b
email_server: Fix issue with handling domain removal
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:22:48 -05:00
Sunil Mohan Adapa
4ec1e15fc1
email_server: Include postfix package in packages list
- Mostly for consistency. Will be useful when uninstall action is implemented.

Tests:

- Installation of email server app works without errors.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:22:45 -05:00
Sunil Mohan Adapa
aff62d4d85
letsencrypt: Handle cert setup when an app wants all domains
Currently, when domains is for an app's LE component is set as '*'. Calling
setup_certificates() results in copying certificate for the '*' domain instead
copying certificates for each of the domains on the system. Fix this by
implementing a special case where certificates are copied for all domains that
can have certificates.

Tests:

- Implement and run unit tests.

- Certificates are copied to /etc/{postfix,dovecot}/letsencrypt/ when email
server uses LE components with '*' for domains parameter.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:22:41 -05:00
Sunil Mohan Adapa
84f12d8633
roundcube: Allow upgrades using configuration file prompts
Closes: #2159.

Ship a separate Apache configuration file instead of editing the one provided by
roundcube package. This avoids configuration file prompt when roundcube package
needs to be upgraded.

Tests:

- Freshly install roundcube package 1.4.x (using apt preferences and Bullseye),
run functional tests and login to a gmail account.

- Freshly install roundcube package 1.5.x (from testing), run functional tests
and login to a gmail account.

- Install roundcube 1.4.x version on testing container without these changes.
After applying these changes, run 'apt update' while roundcube is enabled and
let FreedomBox upgrade roundcube to 1.5.x version. After this, run functional
tests and login to a gmail account.

- Repeat the previous test with upgrade while rouncube is disabled. Then enable
rouncube, run functional tests and login to gmail account.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-14 18:02:59 -05:00
Joseph Nuthalapati
57295ae893
ejabberd: Make name option in Signal handlers
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-11 17:27:20 -05:00
Joseph Nuthalapati
e19c9dbbbe
cockpit: Make 'name' optional in Signal handlers
Fixes #2154

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-11 17:27:11 -05:00
Joseph Nuthalapati
3bf9dac201
tests: Fix app name in pytest.skip statement
Removed a stray `$` character prepended to the app name.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-11 17:27:01 -05:00
Johannes Keyser
6816d2c87d
Translated using Weblate (German)
Currently translated at 100.0% (1498 of 1498 strings)
2021-12-09 13:50:34 +01:00
Burak Yavuz
ebff96af78
Translated using Weblate (Turkish)
Currently translated at 100.0% (1498 of 1498 strings)
2021-12-07 21:13:06 +01:00
James Valleroy
555f68e936
Release v21.15 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-06 18:52:06 -05:00
James Valleroy
7c54128cf8
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-06 18:36:00 -05:00
Sunil Mohan Adapa
b1740eee79
letsencrypt: On domain removal, don't revoke certificate, keep it
Closes: #2156.

Tests:

- Remove a domain from System -> Config, 'letsencrypt revoke' action is not
invoked.

- Triggering a manual revoke operation still leads to action getting triggered.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-06 18:25:20 -05:00
Sunil Mohan Adapa
4d73d7eb7f
email_server: Merge domain configuration with app view
Test:

- Submit the domain form unchanged. Message is printed that settings are
unchanged.

- Submit the domain form with changes. Message is printed that domain has been
updated. Configuration reflects the new domain.

- On page load, the current domain is shown in the domain configuration form.

- Clicking the repair button the service alert section triggers the repair
operations as seen in the console.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-06 17:39:55 -05:00
Sunil Mohan Adapa
ae882fea70
email_server: Simplify domain configuration form
- By default, receive mail for all the domains on the system.

- Allow user to select a primary domain. This domain is used for TLS
certificate, automatically adding domain to sender address, etc.

- Don't expose postfix configuration parameters.

Tests:

- On installation, the domain list populated in postfix. Primary domain is
the one set in the config module. If it is not set, any other domain from
configured domains is taken.

- When not installed, adding/removing domains does not cause errors.

- Changing the domain in the domain view works. mydomain has the primary domain
set. myhostname has primary domain set. mydestination has default values and in
addition has all the domains on the system.

- /etc/mailname is populated with the primary domain.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-06 17:39:43 -05:00
James Valleroy
b12a07229c
tests: Add 'domain' mark for apps that add/remove domains
Test:
- "py.test-3 --include-functional -m domain" tests the marked apps.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-05 11:00:41 -08:00
Johannes Keyser
9f7e97c4ae
Translated using Weblate (German)
Currently translated at 100.0% (1498 of 1498 strings)
2021-12-05 10:51:27 +01:00
Sunil Mohan Adapa
b5273cccf7
forms: Fix regression with TLS domain form in quassel and tt-rss
Without the change, the list of domains in the app pages for tt-rss and quassel
is empty.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:40:07 -05:00
Sunil Mohan Adapa
019a785cc3
*: Drop module level depends declaration
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:39:49 -05:00
Sunil Mohan Adapa
603b63bbac
module_loader, app: Move app init to app module
- Don't try to get the depends from module level and sort modules based on that.

- Instead after all App instances are created, sort the apps based on
app.info.depends and app.info.is_essential.

- Print message that apps have been initialized instead of printing before they
are initialized. The correct order of apps is only known after they have been
initialized and sorted.

- Avoid circular import on module_loader and setup.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:39:40 -05:00
Sunil Mohan Adapa
3421469825
setup: Work on apps instead of modules for force upgrade
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:39:33 -05:00
Sunil Mohan Adapa
b9dc2d38f6
setup: Use apps instead of modules to determine running first setup
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:39:22 -05:00
Sunil Mohan Adapa
7eab8a2cda
setup: List dependencies for apps instead of modules
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:39:13 -05:00
Sunil Mohan Adapa
a0a6e1d362
setup: Run setup on apps instead of modules
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:39:01 -05:00
Sunil Mohan Adapa
f2af08d8a6
main: List apps instead of modules
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:38:51 -05:00
Sunil Mohan Adapa
8382a604bb
security: Drop use of loaded_modules and use App.list
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:38:43 -05:00
Sunil Mohan Adapa
bc3a879ead
first_boot: Drop use of loaded_modules and use App.list
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:38:34 -05:00
Sunil Mohan Adapa
57422d562e
web_server: Drop use of loaded_modules and use App.list
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:38:25 -05:00
Sunil Mohan Adapa
528fd08245
middleware, views: Reduce use of setup_helper
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:38:17 -05:00
Sunil Mohan Adapa
a3d4d99b33
*: Drop use of module level version
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:38:08 -05:00
Sunil Mohan Adapa
cf36a9d385
*: Drop use of module level is_essential flag
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:37:59 -05:00
Sunil Mohan Adapa
6f791d8806
setup: Drop unused API for app's state management
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:37:49 -05:00
Sunil Mohan Adapa
b609abe7e5
*: Use the App's state management API
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:37:40 -05:00
Sunil Mohan Adapa
47cb5e027f
app: Introduce API for managing setup state of the app
Useful for replacing setup_helper. This API should be considered EXPERIMENTAL
and may change.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:37:22 -05:00
Sunil Mohan Adapa
929e7f6dba
packages: Move checking for unavailable packages to component
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-04 16:37:12 -05:00