4542 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
fd7bda7ce9
ssh, apache: Make fail2ban use systemd journald backend by default
- This allows disabling syslog daemons.

- Fall back to using file based monitoring for Apache.

Tests performed:

- Before and after the patch, connecting via SSH and typing in incorrect
password leads to a entry in fail2ban.log. 10 incorrect attempts result in a 10
minute ban.

- Before and after the patch, typing in incorrect password for radicale leads to
a entry in fail2ban.log. 10 incorrect attempts result in a 10 minute ban.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2021-03-05 18:05:23 -08:00
Veiko Aasa
631e10c09e
deluge: Fix daemon user not in freedombox-share group after installation
Add the debian-deluged user to the freedombox-share group *before* running
app setup. The app setup process restarts the deluged daemon
after which the process has correct group ownerships.

Tests done in Debian stable and testing dev containers:
- After installing the deluge app, checked from /proc/--process-id--/status that
the deluged daemon process has the freedombox-share group.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-03-05 17:36:07 -08:00
Veiko Aasa
8df60f596e
deluge, mldonkey, syncthing, transmission: Depend on nslcd.service
Add nslcd.service as a dependency to the services that depend on users
and groups defined in LDAP. deluged, mldonkey-server, syncthing@syncthing
and transmission-daemon services depend on freedombox-share LDAP group.

Closes #2061

Tests done with apps deluge, mldonkey, syncthing and transmission,
in both debian stable and testing dev containers, after applying changes:
- After installing an app and after reboot, the daemon user is a member
of the freedombox-share group.
- Checked with the `systemctl show` command that nslcd.service is added to
After=... dependencies.
- All the functional tests pass (in Debian stable, closed manually
the syncthing usage reporting form - #2059).

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-03-05 17:33:40 -08:00
Fioddor Superconcentrado
64b3fb98b2
config: Fix tests related to user home directory
Closes: #2014

- test_homepage_mapping_skip_ci: Don't expect fbx to run the test.
- test_homepage_field: Check additional precondition.

Signed-off-by: Fioddor Superconcentrado <fioddor@gmail.com>
[sunil: Minor refactoring to avoid flake8 warnings]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-03-05 16:23:55 -08:00
Burak Yavuz
378b2bdaba
Translated using Weblate (Turkish)
Currently translated at 100.0% (1453 of 1453 strings)
2021-03-05 19:50:48 +01:00
ikmaak
f514d6cfa2
Translated using Weblate (Dutch)
Currently translated at 100.0% (1453 of 1453 strings)
2021-03-05 19:50:47 +01:00
Michalis
fef06f1d3c Translated using Weblate (Greek)
Currently translated at 73.4% (1064 of 1449 strings)
2021-03-03 17:50:56 +01:00
Karol Werner
ad184e8bea Translated using Weblate (Polish)
Currently translated at 34.9% (506 of 1449 strings)
2021-03-03 17:50:55 +01:00
Dietmar
45ee9dd4f2 Translated using Weblate (German)
Currently translated at 100.0% (1449 of 1449 strings)
2021-03-03 17:50:55 +01:00
James Valleroy
8f6b6f87a0
Release v21.4 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-28 21:37:19 -05:00
James Valleroy
bcb2ff1b75
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-28 20:15:59 -05:00
Sunil Mohan Adapa
52b2c17ec3
matrix-synapse, coturn: Fix minor pipeline failures
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-28 17:08:55 -08:00
Joseph Nuthalapati
b7007eb873
matrix-synapse: Update description to talk about TURN configuration
Sunil:

- Minor update to the TURN server message.

- Drop updating the FAQ link since there may not be much time for translators to
translate the changed message due to our current release schedule. The old link
still works.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-28 16:28:56 -08:00
Joseph Nuthalapati
2ffde1b646
matrix-synapse: Auto configure STUN/TURN using coturn server
- Matrix Synapse will automatically pick up the locally installed coturn server
during its installation. This handles only the case where coturn is installed
and configured with a valid TLS domain name before matrix-synapse is installed.

- Allow overriding STUN/TURN config. Matrix Synapse uses the local coturn
server's configuration by default. However, an administrator can override the
STUN/TURN configuration from FreedomBox web interface. Allow administrator's
overrides to co-exist with FreedomBox's managed STUN/TURN configuration.
Administrator's configuration, if it exists, always overrides FreedomBox's
managed configuration. Any updates to FreedomBox's managed configuration will
have no impact on the administrator's configuration since the latter takes
precedence.

Sunil:

- Collapse multiple turn actions into a single one for simplicity. Sending empty
configuration means removal of the configuration.

- Ensure that when removing configuration file is idempotent.

- Manage TURN configuration even when app setup is not yet completed. This fixes
issue with TURN configuration not getting setup on app installation and setup.

- Fix issue with TURN configuration getting updated on form submission even when
the field is not changed. This is due to mismatch between the browser submitted
\r\n with the internal \n.

- Simplify JavaScript for the form and attach handlers only after DOM is ready.

- Drop the no-JS message since the loss of functionality is trivial and to
reduce translation burden.

- Fix issue with URIs and secret parameters not getting updated unless the
managed checkbox changes.

- Drop specialized success messages for TURN configuration update to reduce
translation burden.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-28 16:28:53 -08:00
Joseph Nuthalapati
fd4339aef4
coturn: Remove advanced flag, make app visible to all
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-28 16:28:49 -08:00
Joseph Nuthalapati
6e93633584
coturn: Minor refactor view to use utility to generate URIs
Sunil:
 - Join the string in the template instead of the view.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-28 16:28:46 -08:00
Joseph Nuthalapati
ceacde67b9
coturn: Add new component for usage of coturn by other apps
Sunil:

 - Add TurnConfiguration to reference documentation. Add more details in
 docstrings.

 - Rename the component to TurnConsumer since 'Component' in the name is
 redundant and unconventional. Also, hopefully, the component will retain the
 API over multiple TURN servers.

 - Log when notifying other components about configuration change.

 - Use TurnConfiguration class more widely.

 - Refactor for simplicity.

 - Additional tests.

 - Move URI generation code into TurnConfiguration.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-28 16:28:41 -08:00
Kornelijus Tvarijanavičius
826b20c1d9
Translated using Weblate (Lithuanian)
Currently translated at 0.2% (4 of 1449 strings)
2021-02-22 11:50:50 +01:00
Dietmar
09e11b85a7
Translated using Weblate (Italian)
Currently translated at 54.2% (786 of 1449 strings)
2021-02-20 23:50:29 +01:00
Benedek Nagy
00ff50e483
Translated using Weblate (Hungarian)
Currently translated at 89.2% (1293 of 1449 strings)
2021-02-19 16:50:45 +01:00
Dietmar
fea671e872
Translated using Weblate (German)
Currently translated at 100.0% (1449 of 1449 strings)
2021-02-19 16:50:45 +01:00
Michael Breidenbach
013a91ed5d
Translated using Weblate (Swedish)
Currently translated at 100.0% (1449 of 1449 strings)
2021-02-16 05:50:29 +01:00
Dietmar
f13be05bc5
Translated using Weblate (Italian)
Currently translated at 54.1% (785 of 1449 strings)
2021-02-16 05:50:28 +01:00
Coucouf
086f5752a2
Translated using Weblate (French)
Currently translated at 100.0% (1449 of 1449 strings)
2021-02-16 05:50:28 +01:00
Dietmar
dd023a3e3f
Translated using Weblate (German)
Currently translated at 99.9% (1448 of 1449 strings)
2021-02-16 05:50:27 +01:00
Burak Yavuz
bf2cbae959
Translated using Weblate (Turkish)
Currently translated at 100.0% (1449 of 1449 strings)
2021-02-14 11:50:50 +01:00
ikmaak
187d3497f5
Translated using Weblate (Dutch)
Currently translated at 100.0% (1449 of 1449 strings)
2021-02-14 11:50:50 +01:00
Allan Nordhøy
d1c2e2e0b4
Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.3% (1193 of 1449 strings)
2021-02-14 11:50:49 +01:00
Petter Reinholdtsen
6996e31b0d
Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.7% (1184 of 1449 strings)
2021-02-13 11:32:39 +01:00
James Valleroy
e66bd00b91
Release v21.3 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-11 18:00:16 -05:00
James Valleroy
9328cf3fe8
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-11 17:24:46 -05:00
Fioddor Superconcentrado
0e893c6404
Translated using Weblate (Spanish)
Currently translated at 99.9% (1440 of 1441 strings)
2021-02-11 19:50:28 +01:00
Aurélien Couderc
d4139098a3
sharing: Improve shares group access description
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-11 10:16:57 -08:00
Sunil Mohan Adapa
9d7793e53d
zoph: Make app unavailable in Buster
Closes: #2050.

Current implementation of Zoph does not work with version 0.9.9 in Buster. As an
easy hack to make the app only available in Bullseye, php7.4 dependency has been
added. After making the last release for Buster, this can be removed to allow
compatibility with newer versions of PHP that become available.

An incomplete list of problems with current implementation with Buster:

- zoph --get-config is unavailable. Can be circumvented by querying the DB
directly.

- zoph --dump-config is unavailable. Can be circumvented by querying the DB
directly.

- interface.user.remote and authentication based on REMOTE_USER are unavailable.
The Apache configuration shipped by Debian package does not include FreedomBox
related LDAP configuration.

- interface.user.cli defaults to "0" instead of "1". This cases running zoph
from command line. This can be circumvented by setting this configuration value
to "1" via DB interaction.

Tests:

- On stable container, zoph is not available for installation.

- On testing container, zoph can be installed, setup and used.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-10 20:36:47 -05:00
James Valleroy
f83c763ab7
upgrades: Only check free space bytes before dist upgrade
Remove the percentage check, which was incorrectly checking used
percent, not free percent.

Closes: #2046.

Tests:

- Fill up disk space so that 4.5G is free. Dist upgrade does not start
  due to not enough free space.

- Fill up disk space so that 5.5G is free. Dist upgrade can be
  started.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-10 07:54:52 -05:00
John Lines
f978d2f0d0
zoph: Add new app to organize photos
- Identify Freedbombox admin who installed the app to be zoph admin.

- Implement backup and restore.

- Photos directory should remain at /var/lib/zoph, for proper operation of
backups.

- There remains an issue that the App is enabled before it is configured but
will not work correctly until configuration.

- OpenStreetMap mapping is enabled. These should be configurable before
installation.

- Add initial forms.py and views.py to Zoph app, however these are currently
unused as urls.py does not invoke the view. When the view is not invoked the
Zoph App installs, with single signon, currently as the first LDAP user, rather
than the plinth user.

- The first user's preferences are not set, and need to be manually set to avoid
other errors.

* Sunil's changes

- Squash commits and re-split them.

- Drop documentation as it will be auto populated from wiki later.

- Remove outdated validation code from manifest.

- Drop some dead code.

- Don't send MySQL password over command line for improved security. Instead
  rely on Unix authentication of root user similar to backup/restore process.

- Use JSON for exchanging configuration dump to avoid encoding errors.

- Add username validation to avoid a potential SQL injection.

- Update description for neural tone and brevity. Add information about how user
  accounts work in FreedomBox

- Fix functional tests.

- Drop all code related to changing photos path until it is ready.

- Update URL from /zoph to /zoph/ to avoid another redirect.

- Fix disabling the app.

- Use icon that Zoph uses for favicon as logo. Update copyright file.

- Fix spelling unzip.

- Minor refactors. Run yapf and isort.

- Use subprocess.run() instead of os.popen() everywhere for better security with
argument parsing.

- Enable OpenStreetMap by default. User have a choice to disable it before using
the app. Add label to explain privacy concerns.

- Fix dropping database by using --force argument.

- Cleanup enabling the app to not enable the app when updating configuration.

- Use AppView's default template instead of overriding.

- Update functional tests to just check if the app is enabled/disabled as
expected. Checking that Zoph site is available will require reliable handling of
admin user.

Signed-off-by: John Lines <john@paladyn.org>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-10 01:13:29 -08:00
Sunil Mohan Adapa
84e671c919
tests: functional: Introduce step def. to check if app is enabled
- Useful in case the site can't be checked and daemon is not available.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-10 01:11:13 -08:00
James Valleroy
879f37de73
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-09 19:11:46 -05:00
James Valleroy
22ddeb64ae
upgrades: Mark string as no-python-format
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-09 19:09:12 -05:00
Michalis
60d3fd6473
Translated using Weblate (Greek)
Currently translated at 73.9% (1065 of 1441 strings)
2021-02-10 00:50:28 +01:00
Michael Breidenbach
aa1af9d100
Translated using Weblate (Swedish)
Currently translated at 99.9% (1440 of 1441 strings)
2021-02-08 07:50:32 +01:00
Burak Yavuz
c9dd30bfef
Translated using Weblate (Turkish)
Currently translated at 100.0% (1441 of 1441 strings)
2021-02-08 07:50:31 +01:00
ikmaak
de299049c1
Translated using Weblate (Dutch)
Currently translated at 100.0% (1441 of 1441 strings)
2021-02-08 07:50:28 +01:00
Oğuz Ersen
9e8e1436ab
Translated using Weblate (Turkish)
Currently translated at 100.0% (1441 of 1441 strings)
2021-02-06 18:55:40 +01:00
James Valleroy
6baa6e7698
Release v21.2 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-06 00:40:26 -05:00
James Valleroy
1770a2688f
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-05 23:09:01 -05:00
Coucouf
b02b183850
Translated using Weblate (French)
Currently translated at 100.0% (1437 of 1437 strings)
2021-02-06 04:51:22 +01:00
nautilusx
11ca1dffd4
Translated using Weblate (German)
Currently translated at 100.0% (1437 of 1437 strings)
2021-02-06 04:51:21 +01:00
James Valleroy
975dfca7ad
roundcube: Allow upgrade to 1.4.*
Hold roundcube during dist upgrade.

Closes: #2035.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-04 17:41:31 -08:00
Veiko Aasa
34f74a285f
plinth: Show running spinner when app installation is in progress
Add running spinner before every app installation step text, this
makes the fact that installation is in progress visually more noticeable.

Tested when installing the mediawiki app, the running spinner is shown
on every installation step.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
[sunil: Horizontally align the text and spinner by the spinner inline]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-04 17:35:31 -08:00