8135 Commits

Author SHA1 Message Date
Frederico Gomes
ea48448a72
wireguard: Added functional test for auto add client flow
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:51 -04:00
Frederico Gomes
050a5366c1
wireguard: Bump version
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:48 -04:00
Frederico Gomes
bc34a50a24
wireguard: Include python3-segno in app packages
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:46 -04:00
Frederico Gomes
941a597bc9
wireguard: Add security warning in template
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:38 -04:00
Frederico Gomes
5f25fc56a5
wireguard: Create URL for client config QR action
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:34 -04:00
Frederico Gomes
fa4e6002b3
wireguard: Add Show QR Code button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:31 -04:00
Frederico Gomes
18d6f2d5db
wireguard: Add action for QR code generation
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:55:21 -04:00
Frederico Gomes
79c978e03a
wireguard: Add client config file section and download button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:53 -04:00
Frederico Gomes
ce2ce04979
wireguard: Create URL for client config download action
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:48 -04:00
Frederico Gomes
8e9b2a0631
wireguard: Create view to handle client config actions
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:32 -04:00
Frederico Gomes
60a6ac2a0d
wireguard: Create mixin for reusing generated client conf
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:09 -04:00
Frederico Gomes
bb6729a99a
wireguard: Create function for building conf files
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:54:03 -04:00
Frederico Gomes
81e60dff0e
wireguard: Add template to show generated client info
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:52:09 -04:00
Frederico Gomes
8cbcd39bb2
wireguard: Add empty form for AutoAddClientView
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:59 -04:00
Frederico Gomes
77a91fc357
wireguard/theme: Add icon to auto add client button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:48 -04:00
Frederico Gomes
ebac5e86a3
wireguard: Add auto add client button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:34 -04:00
Frederico Gomes
0a67183fe4
wireguard: Add URL for AutoAddClientView
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:29 -04:00
Frederico Gomes
36e1dd9e74
wireguard: Create AutoAddClientView
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:50:52 -04:00
Frederico Gomes
5fe11cedb6
wireguard: add wrapper function that generates client key pair
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:50:35 -04:00
jay
3d96f41053
Translated using Weblate (Dutch)
Currently translated at 93.9% (1813 of 1929 strings)
2026-05-21 18:11:36 +00:00
Hosted Weblate user 151773
511de5e106
Translated using Weblate (German)
Currently translated at 99.3% (1916 of 1929 strings)
2026-05-21 18:11:33 +00:00
Sunil Mohan Adapa
529bbf77df
bepasty: Don't remove old system user and group
As removing a system user and group is considered a bad practice.  Old unused
system accounts are mostly harmless.

Tests:

- Bepasty functional tests pass.

- Installing bepasty and uploading a file works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:38 -07:00
Sunil Mohan Adapa
e48ff1afbc
infinoted: Use systemd-sysusers for creating a system user account
- Drop dependency on 'adduser' package.

Tests:

- Functional tests for infinoted work.

- Installing infinoted app works. The system user and group are created with
proper UID/GID, shell, gecos, and home directory.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:35 -07:00
Sunil Mohan Adapa
f4be9039d2
syncthing: Use systemd-sysusers for creating a system user account
- Drop dependency on 'adduser' package.

Tests:

- Functional tests for syncthing work.

- Installing syncthing app works. The system user and group are created with
proper UID/GID, shell, gecos, and home directory.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-13 15:37:32 -07:00
James Valleroy
0f98ed67e7
Release v26.8 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-11 20:32:27 -04:00
Sunil Mohan Adapa
066f22ff35
api: Drop access-info API
This was meant to be used by the mobile client. But it is in unmaintained and
unusable state. We can re-introduce the API when mobile client is back in
action.

See: https://github.com/freedombox/FreedomBox/pull/1215

[Joseph]
This API is not called by the mobile client, so it is safe to remove.

Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-05-10 18:32:35 +05:30
Dietmar
bacaa59725
Translated using Weblate (German)
Currently translated at 99.2% (1914 of 1929 strings)
2026-05-05 19:11:34 +02:00
Pierfrancesco Passerini
2b28850b63
Translated using Weblate (Italian)
Currently translated at 100.0% (1929 of 1929 strings)
2026-05-05 19:11:32 +02:00
Pierfrancesco Passerini
d0c20a74f9
Translated using Weblate (Italian)
Currently translated at 99.8% (1927 of 1929 strings)
2026-05-02 17:09:50 +02:00
James Valleroy
5c42e04813
Release v26.7.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-28 18:26:58 -04:00
James Valleroy
449b78ae81
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-28 18:01:49 -04:00
Sunil Mohan Adapa
495f5f8a0d
radicale: tests: functional: Better checking for well-known URLs
- When SOGO app is enabled, radicale functional tests fail.

Tests:

- Enable SOGO app and run radicale functional tests. They fail without patch and
pass with the patch.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-27 19:19:53 -04:00
Sunil Mohan Adapa
2bd33ed428
radicale: Fix issue with parsing new configuration file
The latest version of radicale calendar server's configuration file does not
parse with augeas. This is because it contains the following entry in [headers]
section:

Content-Security-Policy = default-src 'self'; object-src 'none'

The semicolon is treated as comment by the lens which is not correct. Fix this
by overriding comment_re in the lens.

Tests:

- Updated test case works when using augparse.

- With the patch, latest upstream configuration file parses without errors.

- Functional tests work for radicale in testing distribution. Without patch
radicale fails to install.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-27 19:19:47 -04:00
Sunil Mohan Adapa
ae50ceaeb0
radicale, bepasty: Fix issue with failed diagnostic test
Fixes: #2571.

- During backup, a service related to backup is stopped and then started back
again after the backup. In case of .socket unit, the .service unit is not being
stopped and it continues to listen on the socket path. When the .socket unit is
started back again, it tries to listen on the socket path and fails.

- To fix the issue, when running stop, restart, etc. operations on a .socket
file, try to perform that operations that we actually intend.

Tests:

- Unit tests pass

- Functional tests for bepasty and radicale work.

- After taking a radicale backup uwsgi-app@radicale.socket does not become
inactive (works when service is running or stopped). uwsgi-app@radicale.service
stops if it is running, backup doesn't fail if service is not running.

- After taking a radicale backup uwsgi-app@bepasty-freedombox.socket does not
become inactive (works when service is running or stopped).
uwsgi-app@bepasty-freedombox.service stops if it is running, backup doesn't fail
if service is not running.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-27 19:13:14 -04:00
Frederico Gomes
dc3439fd70
radicale: Enable lc_username for case-insensitive auth
Enable lc_username = True in [auth] section during setup.

Bump version.

Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-25 13:25:49 -04:00
James Valleroy
5cebe7ffe0
Release v26.7 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-20 20:26:20 -04:00
Pierfrancesco Passerini
5b8e3b8f85
Translated using Weblate (Italian)
Currently translated at 99.4% (1918 of 1929 strings)
2026-04-18 23:09:49 +02:00
Coucouf
6b033b3f45
Translated using Weblate (French)
Currently translated at 100.0% (1929 of 1929 strings)
2026-04-16 15:09:51 +00:00
bittin1ddc447d824349b2
be84971c5a
Translated using Weblate (Swedish)
Currently translated at 100.0% (1929 of 1929 strings)
2026-04-15 10:10:34 +00:00
Dietmar
f9de7865ed
Translated using Weblate (Italian)
Currently translated at 99.3% (1917 of 1929 strings)
2026-04-09 10:09:55 +00:00
Jiří Podhorecký
cbb7998565
Translated using Weblate (Czech)
Currently translated at 100.0% (1929 of 1929 strings)
2026-04-09 10:09:54 +00:00
Burak Yavuz
a3c4d177df
Translated using Weblate (Turkish)
Currently translated at 100.0% (1929 of 1929 strings)
2026-04-09 10:09:52 +00:00
Dietmar
abc066a92b
Translated using Weblate (German)
Currently translated at 99.0% (1910 of 1929 strings)
2026-04-09 10:09:50 +00:00
大王叫我来巡山
516a8e23d0
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 60.9% (1176 of 1929 strings)
2026-04-08 09:09:54 +02:00
Besnik Bleta
6d7da4b43f
Translated using Weblate (Albanian)
Currently translated at 99.6% (1923 of 1929 strings)
2026-04-08 09:09:53 +02:00
Burak Yavuz
7ff91f3e86
Translated using Weblate (Turkish)
Currently translated at 99.2% (1914 of 1929 strings)
2026-04-08 09:09:49 +02:00
James Valleroy
02a6091722
Release v26.6 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-06 20:41:55 -04:00
James Valleroy
2694cbc367
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-06 20:13:33 -04:00
Sunil Mohan Adapa
00dc06d1b6
users: Add link to guide on passkeys
Tests:

- Visiting the 'Manage passkeys' page show the learn more link. Clicking on the
link shows the page for passkeys guide.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-04-06 18:26:36 -04:00
Sunil Mohan Adapa
9d6c74c887
users: Add support for logging in with passkeys
Tests:

- Login
  - Login using passkeys works on testing container and stable container.
  - Login page show 'Log in with passkey' button as expected along with key
    icon.
  - On GNOME's Web browser, the login page does not show an error on load.
    Clicking on 'Log in with passkey' shows the error: 'Logging in with passkey
    failed: Browser does not support passkeys.'
  - On Chromium browser, with invalid TLS certficiate, the login page does not
    show an error on load. Clicking on 'Log in with passkey' shows the error:
    'Logging in with passkey failed: NotAllowedError: WebAuthn is not supported
    on sites with TLS certificate errors.'
  - Raising an error in the passkey_login_begin() method shows the error message
    when login page is loaded. Raising an error in the passkey_login_complete
    method shows the error message after passkey is unlocked. In both cases, 500
    is HTTP status code.
  - With primary hardware key register passkey each for 'tester' and 'tester2'
    accounts.
  - With secondary hardware key register passkey for 'tester' account.
  - In login page, loading the page shows the console message 'Signing in with a
    passkey. Condition: true'.
  - In login page, when username field is clicked, 'passkey' is shown in the
    autofill popup options. Selecting it prompts for hardware PIN and touch.
    User is logged in.
  - In login page, when 'Log in with passkey' is clicked, console message is
    show 'Log in initiated with button, conditional mediation aborted.'.
    Hardware PIN and touch is prompted. User is logged in.
  - During autofill login, canceling the hardware key PIN shows no error alert.
    Autofill passkey login is not available.
  - During autofill login, canceling the hardware touch prompt shows no error
    alert. Autofill passkey login is not available.
  - During button login, canceling the hardware key PIN shows '...user denied
    permission' error alert. Autofill passkey login is not available.
  - During button login, canceling the hardware touch prompt shows no '...user
    denied permission' error alert. Autofill passkey login is not available.
  - When multiple attempts fail, multiple error alerts are shown.
  - During login, with primary key account selection dialog is shown. Selecting
    'tester' logs into 'tester' account. Selecting 'tester2' logs into 'tester2'
    account.
  - During login, with secondary key, account selection dialog is not shown.
    User is logged into the 'tester' account.
  - Password based login continues to work as usual on Firefox, Chromium, and
    GNOME's web.
  - Logout, then visit /freedombox/sys/. This redirects to login page. After
    login with passkey the browser is redirected to /freedombox/sys page.
  - After passkey login, 'Last Used' for that key is updated. The value is not
    updated for remaining keys of the account.
  - After successful login, database is updated with the latest signature
    counter.
  - After successful login, for a user account with Spanish set as language, the
    UI language changes to Spanish.
  - If a key has been removed from list of passkeys and that passkey is
    attempted for login, 'Passkey used is not known' error alert is shown.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-31 07:48:54 -04:00