5939 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
2240f7a151
firewall: Create a mechanism for protecting local services
Tests:

- On a fresh container, run FreedomBox service. Notice that firewall app setup
succeeds. Base setup rules are inserted into the nftables as checked with 'nft
list ruleset ip' and 'nft list ruleset ipv6'.

- When firewalld is restarted or reloaded, the rules are still present.

- When machine is restarted, the rules are still present.

- Without the patch, setup a container. Then apply patches and restart
FreedomBox service. App setup runs again however, duplicate rules are listed in
nftables as checked with 'nft list ruleset ip' and 'nft list ruleset ipv6'.

- Increment setup version of the firewall app manually and repeat the test.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-12-05 20:46:46 -05:00
Sunil Mohan Adapa
a8400d07a6
searx: Ensure that socket is only reachable by Apache and root
When the security access restrictions are removed from /etc/security/access.d,
we don't want users to bypass Apache access control and directly access the app.

Tests:

- Without the patch, the uwsgi socket file is with permissions 666 in
/run/uwsgi/apps/searx/socket. nc -U <socket> succeeds as non-admin user on the
system.

- Apply the patch and restart FreedomBox. searx set is run and uwsgi service is
restarted and permissions are 660 on /run/uwsgi/apps/searx/socket. nc -U
<socket> fails as non-admin user on the system.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-12-05 20:46:43 -05:00
James Valleroy
39aac9228b
ejabberd: Enable mod_http_upload
- Upgrade existing config.

Tests:

- Install ejabberd. Configuration is set as expected and ejabberd is
  running.

- Upgrade from existing ejabberd install. Configuration is set as
  expected and ejabberd is running.

- Send a file between two users in dino-im and Conversations app.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-12-04 10:56:30 -08:00
Sunil Mohan Adapa
ce1347b172
i2p: Remove donation URL that is no longer available
Closes: #2300

https://www.reddit.com/r/i2p/comments/utou95/what_happened_to_the_donate_page_on_geti2pnet/

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-12-03 08:55:24 -05:00
Sunil Mohan Adapa
1f4171e524
Release 22.25.1 to unstable
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-12-02 08:23:18 -08:00
James Valleroy
952b61bef5
Release v22.25 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-11-21 20:32:49 -05:00
Sunil Mohan Adapa
678ca1a9d1
email: Fix creation of aliases for security@ and usenet@
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-11-21 19:37:50 -05:00
nbenedek
c1129be4e7
email: dovecot: Add fail2ban jail
I tested this patch on a production server. When trying to authenticate with
Thunderbird, the program will try to log in three times, then disconnect from
the server. This means that one failed login attempt will be logged as four
attempts. For this reason, set maxretry to be 30.

The IP block only affects dovecot, other services are still reachable.

Signed-off-by: nbenedek <contact@nbenedek.me>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-11-21 11:04:37 -08:00
James Valleroy
5cfdf13491
Release v22.24 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-11-07 20:58:09 -05:00
James Valleroy
022d01de40
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-11-07 20:14:46 -05:00
Petter Reinholdtsen
3309711a9a
Translated using Weblate (Norwegian Bokmål)
Currently translated at 79.0% (1174 of 1486 strings)
2022-11-07 11:05:15 +01:00
Sunil Mohan Adapa
22a58db896
upgrades: Add documentation link upgrades service file
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-11-05 07:20:13 -04:00
James Valleroy
3b69714e58
upgrades: Update list of holds during dist upgrade
Add bind9, minetest-server, minidlna.

This matches the set of apps that implement force_upgrade.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-11-04 16:38:16 -07:00
James Valleroy
e3c623b471
minetest: Handle upgrade from 5.3.0 to 5.6.1
Closes: #2134.

Tests:

1. In testing container, install Minetest and change the
configuration.

2. Manually downgrade minetest-server and minetest-data to a slightly
older version (5.5.0+dfsg+~1.9.0mt4+dfsg-1).

3. In /var/lib/dpkg/status, change the hash for
/etc/minetest/minetest.conf.

4. Run "apt update".
- minetest-server package is upgraded.
- Configuration changes are kept.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-11-04 16:38:01 -07:00
James Valleroy
b1b457a65f
storage: Drop skip_recommends
Originally there was a separate module for udiskie, which later got
merged into storage module. Since storage is an essential module,
skip_recommends has no effect. (Recommends are never installed for
essential modules.)

Closes: #2203.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-11-04 14:41:32 -07:00
109247019824
a3b78e13c9
Translated using Weblate (Bulgarian)
Currently translated at 41.7% (620 of 1486 strings)
2022-11-03 22:05:01 +01:00
Coucouf
9bcf58bbf4
Translated using Weblate (French)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-30 12:00:25 +01:00
Johannes Keyser
69bf74dc62
Translated using Weblate (German)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-30 12:00:25 +01:00
James Valleroy
083f67757f
Release v22.23 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-24 20:38:14 -04:00
James Valleroy
6147558793
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-24 20:16:23 -04:00
Sunil Mohan Adapa
4c5344dfa0
letsencrypt: Fix regression with comparing certificate
Closes: #2295.

_assert_managed_path() expects pathlib.Path. Due to a typo, a string is being
sent instead.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-24 20:11:17 -04:00
Sunil Mohan Adapa
bcbd623f00
upgrades: Fix a minor flake8 pipeline failure
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-24 16:06:38 -07:00
nbenedek
63278f0bcd
rssbridge: add option to allow public access
These modifications are copied after the wordpress
public access configurator.

Signed-off-by: nbenedek <contact@nbenedek.me>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-24 12:02:10 -07:00
Sunil Mohan Adapa
50c6cfd6ac
Translated using Weblate (Hungarian)
Currently translated at 96.8% (1439 of 1486 strings)
2022-10-24 20:39:24 +02:00
James Valleroy
c16d1e51d6
upgrades: Skip unattended-upgrade in dist-upgrade
Skip running unattended-upgrade due to it getting stuck in endless
loop. See #2266.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-24 11:19:43 -07:00
tunebes
c4b17130d4
storage: Handle file systems on non-physical devices
Fixes: #2126.

Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-24 11:18:53 -07:00
109247019824
0e0f5e5a86
Translated using Weblate (Bulgarian)
Currently translated at 40.5% (603 of 1486 strings)
2022-10-24 12:34:36 +02:00
Benedek Nagy
eb4229bb6e
Translated using Weblate (Hungarian)
Currently translated at 96.8% (1439 of 1486 strings)
2022-10-24 12:34:36 +02:00
James Valleroy
f0fd3d9132
upgrades: Allow FreedomBox vendor when adding backports
Fixes: #2294.

Tests:

- In stable container, when frequent feature updates option is
enabled, /etc/apt/sources.list.d/freedombox2.list exists as expected.

- Matrix Synapse can be installed.

- Shaarli can be installed.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-23 17:21:58 -07:00
109247019824
63b2e2a380
Translated using Weblate (Bulgarian)
Currently translated at 40.5% (602 of 1486 strings)
2022-10-20 23:06:51 +02:00
Michael Breidenbach
3f593bfa32
Translated using Weblate (Swedish)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-20 23:06:51 +02:00
James Valleroy
6c59f3fc7d
Release v22.22.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-16 11:42:35 -04:00
Tymofii Lytvynenko
aa8443b777
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-16 16:35:53 +02:00
Jiří Podhorecký
16b817da48
Translated using Weblate (Czech)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-16 16:35:53 +02:00
109247019824
9f83ed4f46
Translated using Weblate (Bulgarian)
Currently translated at 40.4% (601 of 1486 strings)
2022-10-16 16:35:53 +02:00
Tymofii Lytvynenko
ba33efdb23
Translated using Weblate (Ukrainian)
Currently translated at 93.8% (1394 of 1486 strings)
2022-10-16 16:35:53 +02:00
Eric
1e6cadfb4f
Translated using Weblate (Chinese (Simplified))
Currently translated at 68.7% (1022 of 1486 strings)
2022-10-16 16:35:53 +02:00
Burak Yavuz
2a6d4e6694
Translated using Weblate (Turkish)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-16 16:35:53 +02:00
ikmaak
c788093bbf
Translated using Weblate (Dutch)
Currently translated at 100.0% (1486 of 1486 strings)
2022-10-16 16:35:53 +02:00
Sunil Mohan Adapa
bbb6451254
privacy: Remove unused import, fix pipline
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-10 22:55:30 -07:00
James Valleroy
64cbcb0d0d
Release v22.22 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-10 21:57:23 -04:00
James Valleroy
ae999c3ff0
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-10 21:35:37 -04:00
Sunil Mohan Adapa
236ad3771a
privacy: Set vendor as FreedomBox for dpkg and popularity-contest
- This changes sets the default dpkg vendor as FreedomBox. 'Debian' is still the
parent of the vendor.

- This results in popcon setting the Vendor as FreedomBox. This allows measuring
the popular of FreedomBox distribution itself as against other Debian
derivatives in the section 'Statistics per distributions reporting to Debian' of
https://popcon.debian.org

Tests:

- Run `sudo ./setup.py install` and freedombox service. Privacy app will be
setup for the first time. In /etc/dpkg/origins/ the file default is a symlink
pointing to /etc/dpkg/origins/fredombox. Running 'sudo sh +x
/etc/cron.daily/popularity' runs successfully. Remove files
/var/lib/popularity-contest/lastsub /var/log/popularity-contest* if necessary.
The file /etc/log/popularity-contest shows VENDOR:FreedomBox in the first line.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-10 21:33:27 -04:00
nbenedek
7e2ebcb743
privacy: Add new system app for popularity-contest
- Keep the description about app generic

- Remove enable/disable option

- Create a booleanfield to turn on/off popcon

- Don't re-enable popcon during an update

Tests:

- When enabling/disabling the option, the `"PARTICIPATE"` value in
`/etc/popularity-contest.conf` is changed to yes/no as expected. For reference
see `/var/lib/dpkg/info/popularity-contest.templates`

- When popcon option is enabled, running sudo sh -x
/etc/cron.daily/popularity-context shows that execution was successful and data
was submitted. Remove files /var/log/popularity-contest* and
/var/lib/popularity-contest/lastsub if necessary. Gpg is used and encrypted data
is what was submitted.

- When popcon option is disabled, running sudo sh -x
/etc/cron.daily/popularity-context shows that execution stopped because the
option is disabled.

Signed-off-by: nbenedek <contact@nbenedek.me>
[sunil: Add a notification to tell users about privacy app]
[sunil: Correct the URL to /sys]
[sunil: Minor code styling changes and updates to description, icon]
[sunil: Ensure that popcon works with encryption]
[sunil: Write configuration to a separate file]
[sunil: Use Shellvars lens instead of Php lns]
[sunil: Add functional tests]
[sunil: Backup/restore the configuration file]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-10 17:35:26 -07:00
Nikita Epifanov
5dd2751514
Translated using Weblate (Russian)
Currently translated at 96.7% (1443 of 1491 strings)
2022-10-10 20:52:22 +02:00
nbenedek
95f2d372d8
matrix: Add fail2ban jail
Test:

- Setup Matrix on a VPS with a FQDN and a valid LE certificate, then add these
configs to fail2ban.

- On a production server apply the changes of MR !2296

- Setup the fail2ban filter and jail, then restart fail2ban

- Trying to log in unsuccessfully from FluffyChat leads to a 10 min ban

Result:

`sudo fail2ban-client status matrix-synapse-auth-freedombox` returns the
following output, but the server actually remains accessible in every way.

```
Status for the jail: matrix-synapse-auth-freedombox
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     11
|  `- Journal matches:
`- Actions
   |- Currently banned: 1
   |- Total banned:     1
   `- Banned IP list:   MY IP
```
Signed-off-by: nbenedek <contact@nbenedek.me>
2022-10-10 10:08:06 -07:00
Besnik Bleta
ecb4ce0733
Translated using Weblate (Albanian)
Currently translated at 99.3% (1482 of 1491 strings)
2022-10-10 15:34:38 +02:00
Besnik Bleta
99aa891454
Translated using Weblate (Albanian)
Currently translated at 95.8% (1429 of 1491 strings)
2022-10-10 15:34:38 +02:00
Tymofii Lytvynenko
c9f924f592
Translated using Weblate (Ukrainian)
Currently translated at 88.0% (1313 of 1491 strings)
2022-10-10 15:34:38 +02:00
Petter Reinholdtsen
b7b2c94526
Translated using Weblate (Norwegian Bokmål)
Currently translated at 79.0% (1179 of 1491 strings)
2022-10-10 15:34:37 +02:00