4136 Commits

Author SHA1 Message Date
Fioddor Superconcentrado
94c3ddefd1
Translated using Weblate (Spanish)
Currently translated at 100.0% (1321 of 1321 strings)
2020-10-01 23:41:04 +02:00
Sunil Mohan Adapa
956530ab8a
mumble: Store and use a single domain for TLS certificate setup
Certificate can be setup for a single domain at a time in Mumble. So, allow the
user to choose the domain purely for this propose even though Mumble can work
with multiple domains. Tell Let's Encrypt to work with this domain.

Tests:

- Without Mumble installed, change the domain name. Notice the mumble related
certificate events are ignored.

- Install Mumble, a TLS domain is automatically selected. Certificate is setup
for that domain.

- Ensure at least two domains are setup in the system. See the list in the
Mumble app page. Choose a non-default domain. Domain should change and cert
should be setup for that domain.

- Go to config app and change the domain. Mumble domain should get set to a
different domain and cert should get updated.

- Install mumble without these changes. Apply the changes and start FreedomBox.
Mumble app should get upgraded and certificate should get setup for a domain.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-29 20:46:48 -04:00
Phil Morrell
215371a877
mumble: configure letsencrypt component
Fixes: #701

Signed-off-by: Phil Morrell <debian@emorrp1.name>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-29 20:46:42 -04:00
ssantos
9ea5792306
Translated using Weblate (Portuguese)
Currently translated at 12.3% (163 of 1321 strings)
2020-09-29 11:39:56 +02:00
Coucouf
69d66927ac
Translated using Weblate (French)
Currently translated at 100.0% (1321 of 1321 strings)
2020-09-29 11:39:56 +02:00
Sunil Mohan Adapa
5f4e2673f3
quassel: Don't handle certificates if not installed
Tests:

- Without these changes, with Quassel not-installed, change the domain name.
Notice that certificate events for Quassel fails due to missing domain
information.

- With these changes, with Quassel not-installed, change the domain name. Notice
that certificate events for Quassel don't result in any actions.

- With these changes, with Quassel installed, change the domain name. Notice
that certificate events for Quassel succeed.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-28 19:23:26 -04:00
Sunil Mohan Adapa
53b6203473
coturn: Don't handle certificates if not installed
Tests:

- Without these changes, with Coturn not-installed, change the domain name.
Notice that certificate events for Coturn fails due to missing domain
information.

- With these changes, with Coturn not-installed, change the domain name. Notice
that certificate events for Coturn don't result in any actions.

- With these changes, with Coturn installed, change the domain name. Notice that
certificate events for Coturn succeed.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-28 19:23:23 -04:00
Michael Breidenbach
e421e0fde9
Translated using Weblate (Swedish)
Currently translated at 100.0% (1321 of 1321 strings)
2020-09-28 14:41:22 +02:00
Joseph Nuthalapati
5a04f6d309
calibre: Minor changes to app description
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
2020-09-27 22:16:37 +05:30
Joseph Nuthalapati
6bfffeee13
calibre: Add new e-book library app
[joseph: initial code for the app]
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
[sunil: use the modified framework API]
[sunil: simplify setup logic, move to service file]
[sunil: strict security for service file, dynamic users]
[sunil: interface for managing libraries]
[sunil: implement backup/restore]
[sunil: add functional, action, and view tests]
[sunil: use svg icon]
[sunil: update description]
[sunil: fix apache configuration]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2020-09-27 22:16:07 +05:30
Sunil Mohan Adapa
68475668ea
tests: functional: Simplify calling the login helper
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2020-09-27 22:15:27 +05:30
Sunil Mohan Adapa
7b7d42fe33
tor: Don't check if enabled when not installed
Tests:

- Install Tor and enable onion service. Restart FreedomBox. During
initialization the onion service domain is added. Check in Name Services.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-27 09:54:20 -04:00
Sunil Mohan Adapa
9b9238188a
pagekite: Don't update names module if not installed
- Due to a minor regression with init() method refactoring:

  - Pagekite tries to check if it is enabled even when it is not installed. This
  is an unnecessary check.

  - Pagekite tries to remove domains from name services even when it is not
  installed. This could have unnecessary consequences.

Fix this by checking if Pagekite is installed and perform name services updating
only if service is enabled.

Tests:

- Enable pagekite and configure it. When FreedomBox is restarted, Pagekite kite
is announced as domain and shown in Name Services.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-27 09:54:18 -04:00
Sunil Mohan Adapa
ec5f994068
pagekite: Don't announce unconfigured kite as a valid domain
Closes: #1891.

As soon as the app is installed, the default configuration has NAME.pagekite.me.
This is incorrectly announced as a valid domain to the system. Avoid this
behavior by never announcing this default configured kite name.

Tests:

- Install Pagekite. Observe that the default kite name is not announced as a
domain (confirmed in Name Services). With the patch, it will.

- Change the domain to anything other than default. It is announced. LE tries to
obtain cert. Name Services list the domain.

- Change the domain back to default kite name. It is not announced. Old domain
is removed.

- Start FreedomBox with Pagekite configured with default domain. It is not
announced.

- Start FreedomBox with Pagekite configured with non-default domain. It is
announced.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-27 09:54:14 -04:00
Sunil Mohan Adapa
e9559b2d0d
dynamicdns: Drop unnecessary code to set app as enabled
This is already handled by module loader.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-27 09:54:11 -04:00
Sunil Mohan Adapa
75a46962f0
module_loader, web_framework: Update console log messages
- Drop message for initialization of each app. This was removed earlier but was
reintroduced during init() refactoring. There is not much use for these messages
and the noise they generate hide some important messages relating to domains
added.

- Print lists in a better way for humans.

- Add a log message after all the initialization is completed.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-27 09:54:09 -04:00
Joseph Nuthalapati
f69d8289f6
bepasty: Change default permissions to 'read'
Allow read access by URL by default.

Tests:

- Installing bepasty fresh show the default permissions as read.

- Upgrading bepasty from older version when default permissions are none sets
the default permissions to read.

- Upgrading bepasty from older version when default permissions are not none
retrains the permissions.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Don't relocate setup() method]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
Tested-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-25 14:54:35 -07:00
Coucouf
889810bb96
Translated using Weblate (French)
Currently translated at 100.0% (1321 of 1321 strings)
2020-09-25 00:41:00 +02:00
Coucouf
f68b9e23bb
Translated using Weblate (French)
Currently translated at 94.6% (1250 of 1321 strings)
2020-09-23 13:08:36 +02:00
Dietmar
995347db54
Translated using Weblate (German)
Currently translated at 98.4% (1300 of 1321 strings)
2020-09-23 13:08:35 +02:00
Sunil Mohan Adapa
00b551972b
module_loader: Load/process all essential modules before others
Since modules need not have dependency on any essential module even though they
are dependent on them, it must be assumed that any module may depend on any
essential module. So, load or process (like running setup) essential modules
before non-essential modules.

Closes: #1967.

Tests:

- When service is started, console messages show that in the module load order,
all the essential modules are prioritized.

- Without these changes, this is not the case.

- When version of essential app and non-essential app are incremented, essential
app is setup before the non-essential app.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-23 06:44:13 -04:00
Petter Reinholdtsen
694866e4b2
Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.2% (1086 of 1321 strings)
2020-09-22 11:39:56 +02:00
Petter Reinholdtsen
e9f944523f
Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.9% (1083 of 1321 strings)
2020-09-21 08:58:17 +02:00
Sunil Mohan Adapa
9f8f187d42
cockpit: Don't show home page icon to non-admin users
Tests:

- Logout and see that the home page icon is not visible.

- Login as non-admin user and see that the home page icon is not visible.

- Login as admin user and see that the home page icon is visible.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2020-09-19 15:21:03 +05:30
JC Staudt
a9ee8fb432
minidlna: Fix typo DNLA -> DLNA
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-18 14:00:59 -07:00
Nikita Epifanov
11c05bad0d
Translated using Weblate (Russian)
Currently translated at 100.0% (1321 of 1321 strings)
2020-09-17 11:36:16 +02:00
Burak Yavuz
ef65d02c56
Translated using Weblate (Turkish)
Currently translated at 100.0% (1321 of 1321 strings)
2020-09-17 11:36:16 +02:00
James Valleroy
d5b764df81
Release v20.14 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-15 17:43:05 -04:00
James Valleroy
981561cbbb
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-15 16:56:59 -04:00
Reg Me
ca1bdf4b8d
Translated using Weblate (Dutch)
Currently translated at 73.8% (960 of 1300 strings)
2020-09-15 22:54:55 +02:00
Q.-A. Nick
91d96b9f72
upgrades, security: Update the messages describing backports
See https://salsa.debian.org/sunilmohan/plinth/-/merge_requests/1 for discussion
on the topic.

Signed-off-by: Q.-A. Nick <email.bug@arcor.de>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-15 11:22:04 -07:00
Fioddor Superconcentrado
4c9e5dbc24
snapshots: Clarify description for disabling yearly snapshots
BTW, choice literals translated.

Close #1937.

Signed-off-by: Fioddor Superconcentrado <fioddor@gmail.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-14 15:40:51 -07:00
Fioddor Superconcentrado
43ab6db456
i18n: Mark strings missed for translation
Helps: #1938.

    backups/forms.py:
	- ChoiceField labeled to allow translation.
	- Translation applied to hard coded literals.

    config/forms.py:
	Lazy translation applied to literals that were translated but still
	displayed in english to non-english users.

    diagnostics_results.html:
	Apply translation to results. Use gettext_noop to mark for translation.

    dynamicdns/forms.py:
	Apply translation to choice literals.

    i2p/views.py:
	Lazy translation applied to literals that were translated but still
	displayed in english to non-english users.

    names.html:
	Apply translation to table headers.

    performance/__init__.py:
	Apply translation to description literals.

    radicale/forms.py:
	ChoiceField labeled to allow translation.

    users/forms.py:
	CharField labeled to allow translation.

    QA:
	- Literals visually verified.
	- No errors in py.test-3.
	- Yapf applied (only) to changed files.
	- No remarks by flake8 to changed file.

Signed-off-by: Fioddor Superconcentrado <fioddor@gmail.com>
[sunil: Separate out the translations]
[sunil: Fix i18n for diagnostics]
[sunil: dynamicdns: Also do i18n for string GnuDIP]
[sunil: searx: Revert an incorrect removal of import]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-14 15:39:19 -07:00
Sunil Mohan Adapa
893ecbed1b
matrixsynapse: Perform a one time conversion to new config format
- This will allow us to remove the code needed for force upgrading. Upgrade code
can be dropped after a while.

- This will ensure that all our users have a single configuration format which
will make future testing easier.

- We can notify the users of a single overwrite now and be assured that in
future, the overwrites of configuration will not happen.

- We don't have to monitor for changes to configuration files in future version
of the package.

- Keep old configuration as a backup file and restore a pristine copy with
--reinstall and --force-confmiss.

Tests:

- Install the app freshly. Configuration file is unchanged, new config snippets
are created. App is running.

- Install the app with code before new configuration changes. Notice that old
configuration format is used. Then switch the code to a branch with current
changes. Setup is automatically executed. The package is reinstalled. After
re-installation, the main config file is restored. Configuration snippets exist.
value of public registration and domain is preserved. Backup file exists with
previous configuration contents.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Tested-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-14 16:49:54 -04:00
Sunil Mohan Adapa
f59fc5e33b
package: Add ability to reinstall a package
- Also add ability restore missing configuration files during reinstall.

- Reinstall is useful for restoring the original configuration files of the
package.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-14 16:49:51 -04:00
Reg Me
b9e47dcf0b
Translated using Weblate (Dutch)
Currently translated at 73.7% (959 of 1300 strings)
2020-09-14 16:36:14 +02:00
Ralf Barkow
ae0202d87d
Translated using Weblate (German)
Currently translated at 100.0% (1300 of 1300 strings)
2020-09-14 16:36:14 +02:00
Sunil Mohan Adapa
271f88d9ed
backports: When upgrading from older version, assumed requested
- This helps the case where an user installs FreedomBox on Buster and then after
finishing the first boot wizard and before repositories have been setup,
upgrades to latest FreedomBox version.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-11 10:55:49 -04:00
Sunil Mohan Adapa
ff4b4414fd
upgrades, security: Use consistent terminology 'activate'
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-11 10:55:42 -04:00
Sunil Mohan Adapa
b12d994760
upgrades: Separate concepts for backports enabled vs. requested
It is confusing to combine the user's intent of wanting to have backports
activated with whether they have actually been configured in the system.

- Separate out checking for requested which is a key in the kvstore from enabled
which is about checking system configuration for backports.

- Implement convenience method for setting whether user requested backports.

- Do not base the status display (in security and upgrades modules) on the
configuration status and instead focus on user intent.

  - If user requested backports but they have not been enabled yet due to not
  being available, show as activated. System will keep trying the background and
  configure eventually.

  - If user requested backports but their configuration is outdated yet due to
  newer release, show as activated. System will keep trying in the background
  and configure latest settings eventually.

- In all places where backports enabling is being checked, split the logic for
'can be activated' from 'already activated' and 'user requested activation'
properly.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-11 10:55:10 -04:00
Sunil Mohan Adapa
86de956118
upgrades: Fix issue with checking if backports is current
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-11 10:55:03 -04:00
James Valleroy
d2f6fe9556
upgrades: Use kvstore and then file to determine if backports are enabled
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-11 10:54:57 -04:00
James Valleroy
65d8f82ae1
upgrades: Add first boot step to configure backports
Closes: #1855.

Tests:

- On unstable, first boot step is not shown. Backports are not
  enabled.

- On testing, tested enabling backports at first boot step. Backports
  are enabled.

- On testing, tested not enabling backports. Backports are not enabled
  and can be activated later.

- On testing, confirmed that functional tests can click through the
  first boot step.

- On stable with backports, first boot step is not shown. Backports
  are enabled.

- On stable, tested enabling backports at first boot step. Backports
  are enabled.

- On stable, tested not enabling backports. Backports are not enabled
  and can be activated later.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
[sunil: Avoid two different i18n strings with almost same content]
[sunil: Use box_name instead of hardcoded FreedomBox name]
[sunil: Use consistent terminology 'activate' instead of 'enable']
[sunil: Rename the wizard, form, view, url for consistency with existing code]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-11 10:54:02 -04:00
James Valleroy
2f7b3264d1
upgrades: Display correct backports info for unstable
Backports are not enabled and cannot be activated on unstable.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
[sunil: Add statement that backports may not be necessary]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-11 10:53:43 -04:00
James Valleroy
8f4681fd10
upgrades: Change backports activation message wording
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-11 10:53:37 -04:00
James Valleroy
05ca4301b1
matrixsynapse: Use conf.d snippets
Instead of changing original conffile.

Closes: #1787.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-09 17:00:48 -07:00
Veiko Aasa
c136f27707
gitweb: Add ability to change default branch
Now it is possible to change default branch when editing a repository.

Gitweb site shows default branch as a main branch and the 'git clone'
command checks out to default branch.

Added unit and functional tests. Splitted one large 'test_actions'
into multiple tests.

Tests performed:
- All gitweb unit and functional tests pass.
- Created a repository from a remote repository which has default
  branch other than master. Confirmed that the 'Edit repository'
  page shows correct branch and gitweb site shows this branch as
  a default branch

Closes #1925

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-09-09 14:37:17 -07:00
Sunil Mohan Adapa
50fb524972
firewall: Show port forwarding info contextually
- When port forwarding configuration is not required in the router, don't show
the ports information.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2020-09-04 16:32:46 +03:00
Sunil Mohan Adapa
f58b5f8962
networks: Expose API to get/set network meta info
- API can be consumed by other apps.

- Consistently, get/set store keys and default values without repeated code.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2020-09-04 16:32:37 +03:00
Sunil Mohan Adapa
3375ba7d19
kvstore: Allow module to be imported before Django init
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2020-09-04 16:32:31 +03:00