6990 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
aa2d70de2e
storage: Skip tests if not enough disk space is available
Closes: #2147.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-26 20:46:36 -05:00
James Valleroy
aaf0879434
backups: Capitalize 'SSH' in template
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-24 10:18:43 -08:00
Sunil Mohan Adapa
de5300f44c
datetime: Explicitly list systemd-timesyncd as a dependency
Closes: #2162.

Something changed in Debian packaging and systemd-timesyncd was not
automatically being installed.

Tests:

- Run functional tests for datatime app.

- Run ./run --list-dependencies and note that systemd-timesyncd is listed.

- packages.debian.org shows that systemd-timesyncd package is available in
Bullseye, Bookworm and sid.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-24 08:30:31 -05:00
Sunil Mohan Adapa
62e7f9dc62
upgrades: Relabel from 'Update' to 'Software Update'
- The term 'Update' without a context is not easy to understand. This is
especially true during first setup wizard.

- This makes our UI similar to Android and lot of other OSes.

Tests:

- Trigger a update notification by incrementing FreedomBox version. In there,
the name of the app in the first line shows 'Software Update'.

- During first setup wizard, the title of the wizard step is 'Software Update'
initially and also when upgrades are running.

- In the System page, the title on the card is 'Software Update'. So is the
title on the app page.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-24 08:11:26 -05:00
James Valleroy
d5f34a1e49
Translated using Weblate (Hungarian)
Currently translated at 96.8% (1402 of 1447 strings)
2021-12-24 13:52:18 +01:00
James Valleroy
c84f01cbbe
Translated using Weblate (Hungarian)
Currently translated at 96.8% (1402 of 1447 strings)
2021-12-24 13:50:07 +01:00
ikmaak
9d2ec132f3
Translated using Weblate (Dutch)
Currently translated at 99.7% (1443 of 1447 strings)
2021-12-24 13:50:06 +01:00
pesder
830ed1eda8
Translated using Weblate (Chinese (Traditional))
Currently translated at 18.5% (269 of 1447 strings)
2021-12-23 13:50:26 +01:00
Benedek Nagy
1edf877f07
Translated using Weblate (Hungarian)
Currently translated at 96.8% (1401 of 1447 strings)
2021-12-23 13:50:25 +01:00
ikmaak
60d32d0f51
Translated using Weblate (Dutch)
Currently translated at 99.5% (1441 of 1447 strings)
2021-12-23 13:50:24 +01:00
James Valleroy
00b5d1bf64
Release v21.16 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v21.16
2021-12-20 20:58:26 -05:00
James Valleroy
229d59066a
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-20 20:56:37 -05:00
James Valleroy
0a7b2fb6ec
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-20 20:44:17 -05:00
James Valleroy
fc2d5c8fea
pyproject: Add domain marker
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 16:08:47 -08:00
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
James Valleroy
f72505d300
upgrades: Add type annotations to action
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 13:46:53 -08:00
James Valleroy
32d9f01597
upgrades: Cleanup dist upgrade steps specific to bullseye release
- Skip handling of obsolete packages if there are none.

- Skip handling of debconf selections if none are required.

- Handle tt-rss same as other packages with prompts.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 13:46:50 -08:00
James Valleroy
690859b02f
upgrades: Refactor dist upgrade process
No change in functionality.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
[sunil: Fix copy/paste error with indentation in start_dist_upgrade_service]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-12-20 13:46:47 -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>
v21.15
2021-12-06 18:52:06 -05:00
James Valleroy
b71e6df209
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-12-06 18:51:10 -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