144 Commits
Author SHA1 Message Date
Nicola Murino 19da7af8ed update js deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-06-21 09:03:43 +02:00
Nicola Murino 96850d2563 i18n: improve some help texts
Fixes #2242
Closes #2243

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-06-08 14:03:36 +02:00
Nicola Murino b9cf2a3193 update js and css deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-05-30 19:31:04 +02:00
Nicola Murino 47bbff2974 fs: enforce a configurable minimum entropy for data-encryption secrets
The CryptFs passphrase and the S3 SSE-C key are used directly as
data-at-rest encryption key material, yet they were accepted with no
strength check, so an operator could protect encrypted data with a
trivially guessable secret.

Add common.secret_min_entropy (default 80): when one of these
secrets is submitted in plain text it must pass a minimum-entropy
check before it is encrypted and stored. The check runs on
plain-text input, so secrets that are already stored keep working even
if the threshold is later raised. The estimate is a heuristic used to
reject obviously weak input, not a measure of cryptographic strength:
always supply key material generated by a CSPRNG.

Thanks to Vishal Shukla (@shukla304) for the report.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-05-30 13:03:44 +02:00
Nicola Murino b383e1d909 WebClient: replaced gligthbox with a custom implementation
better CSP compatibility and more control

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-03-24 14:16:37 +01:00
Nicola Murino 86e511d74b update js deps
include axios 1.13.5

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-02-14 14:21:28 +01:00
Nicola Murino ecc131d617 update css and js
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-02-08 09:15:52 +01:00
Nicola Murino 8dc96c8607 update logo
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2026-02-05 07:54:44 +01:00
Nicola Murino fd0444c8ff Enforce missing naming rule for actions and rules
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-12-07 10:41:59 +01:00
Nicola Murino 1ad5456d91 apply naming rules for related groups, roles and folders
also enforce stricter validation rules for usernames/names

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-12-06 22:09:51 +01:00
Nicola Murino a469dd68a2 update theme and js deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-09-22 09:15:57 +02:00
Nicola Murino 78d93730e0 update README and support link now that SFTPGo Enterprise is GA
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-09-07 18:18:55 +02:00
Nicola Murino c49d76274d WebClient: translate "selected items" label also at bottom of page
Fixes #1979

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-07-21 18:24:49 +02:00
Nicola Murino e275e8a142 WebClient: prevent uploads if no file is selected
Fixes #1980

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-05-19 18:21:55 +02:00
Nicola Murino f7273ce97e UI: add missing French and German localization for calendars
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-05-19 18:18:52 +02:00
Nicola Murino 3cae004e6b UI: added German and French translations
Thanks to all contributors on Crowdin.

Updates #1874

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-03-31 19:05:50 +02:00
Nicola Murino 06cd07d67a oidc: add missing translations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-03-29 20:51:45 +01:00
Nicola Murino dfde4d45e2 update plugins bundle.js
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-03-16 12:45:01 +01:00
Nicola Murino 312902b5f5 update js deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-03-16 12:26:08 +01:00
Nicola Murino aadd5d7d28 update js bundle
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-02-24 18:42:39 +01:00
Nicola Murino b686da5e56 WebClient: improve error message after the session expires
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-01-22 19:54:56 +01:00
Nicola Murino 6ab0f22d2d update translations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-01-21 18:10:51 +01:00
Nicola Murino ef2f3e51ea EventManager: add more datetime placeholders
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-01-16 18:14:43 +01:00
Nicola Murino e8c5f8ed81 command actions: restrict passing env vars
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-01-13 20:58:32 +01:00
Nicola MurinoandPer Osbeck dee3f3f87a EventManager: add placeholder for filename without extension
Fixes #1828
Fixes #1833

Co-authored-by: Per Osbeck <per.osbeck@consid.se>
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-12-23 19:08:48 +01:00
Nicola Murino bfe6c58133 don't allow DSA keys
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-12-18 19:01:15 +01:00
Nicola Murino d3e76898cd WebAdmin: refactor template permissions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-26 20:39:36 +01:00
Nicola Murino 7bffed712a events: add copy action
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-10 15:00:11 +01:00
Nicola Murino f30d6ad82a update css and js deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-10 12:34:10 +01:00
Nicola Murino 3dd412f6e3 WebAdmin and REST API: remove too granular permissions
Our permissions system for admin users is too granular and some
permissions overlap. For example, you can define an administrator
with the "manage_system" permission and not with the "manage_admins"
or "manage_user" permission, but the "manage_system" permission
allows you to restore a backup and then create users and
administrators. The following permissions will be removed:
"manage_admins", "manage_apikeys", "manage_system", "retention_checks",
"manage_event_rules", "manage_roles", "manage_ip_lists". Now you
need to add the "*" permission to replace the removed granular
permissions because the removed permissions allow actions that
should only be allowed to super administrators.
There is no point in having separate, overlapping permissions.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-10 10:46:28 +01:00
Nicola Murino ef98ee7d11 don't allow admins to change their own permissions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-09 20:24:35 +01:00
Nicola Murino 8d697bcc94 WebClient: enforce 2fa and password requirements also with OIDC
password and 2fa can be used with other protocols

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-21 20:40:44 +02:00
Nicola Murino d8691d1e1a update translations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-13 17:00:17 +02:00
Nicola Murino b23e67ae6a EventManager: add escaped virtual path
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-12 11:25:07 +02:00
Rafał Bielawski dc907c0ba3 Update translation.json (#1781)
Signed-off-by: Rafał Bielawski <hello@rbielawski.pl>
2024-10-11 19:30:40 +02:00
Nicola Murino eba4c93efd user: add additional emails
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-11 19:20:51 +02:00
Nicola Murino 4103344989 EventManager: add datetime placeholder
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-08 18:39:00 +02:00
Nicola Murino 72ba54b5be WebAdmin: add CSV export for users, groups, folders, admins, roles
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-05 19:09:46 +02:00
Nicola Murino 3b2f709aeb WebClient: improve readability of upload progress
Fixes #1773

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-03 19:07:27 +02:00
Nicola Murino 2ecd20d444 WebClient: make sure to upload files after the queue is populated
Ugly hack to prevent to start uploading files before the upload
queue is fully populated.

We should investigate if there is a better way

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-03 19:06:33 +02:00
Nicola Murino 85c65dcad3 update i18next
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-09-27 19:52:52 +02:00
Nicola Murino a34d9bc916 update css and js bundle
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-09-27 18:08:54 +02:00
Nicola Murino eeef23139d EventManager: filter action execution based on event status
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-09-23 19:55:03 +02:00
Nicola Murino eb5ffb940e update translations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-09-01 13:44:16 +02:00
Nicola Murino 2fbf608895 S3: add SSE customer key
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-15 10:09:06 +02:00
Nicola Murino 81433e00d1 event action: add update modtime to fs rename
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-09 20:18:33 +02:00
Nicola Murino aa920432f3 WebUIs: update theme to version 1.0.4
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-03 15:53:30 +02:00
Nicola Murino b5c821795a allow to customize name and log from the WebUI
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-24 09:14:27 +02:00
Nicola Murino b2926377b7 WebUI: switch favicon from ico to png
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-20 16:11:21 +02:00
Nicola Murino 55be9f0b9c EventManager: allow to configure the timezone to use for the scheduler
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-06-30 18:52:59 +02:00