100 Commits
Author SHA1 Message Date
Nicola Murino a020a4e0ed update dependencies in tests and examples
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-20 17:22:14 +02:00
Nicola Murino ad7dcdb628 ssh: remove the ability to fully customize the software version
many clients rely on the version string to enable/disable some features.
We only allow to hide the version number, clients must be able to reliably
identify SFTPGo

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-20 17:15:15 +02:00
Nicola Murino a38fd26cf6 minor refactor to memory provider initialization
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-20 16:45:20 +02:00
Nicola Murino 950cf67e4c dataprovider: small refactor for password check
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-18 18:23:16 +02:00
Nicola Murino d8341509e7 micro optimization for external process wrapping
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-16 18:34:40 +02:00
Nicola Murino e315e48c39 CI: re-enable FreeBSD testing now that Go 1.22 is in quarterly
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-14 15:40:12 +02:00
Nicola Murino 150a338166 removed unused methods
these methods were used in the old UIs

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-14 09:23:57 +02:00
Nicola Murino a957474740 SMTP: document why we always load templates in service mode
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-13 14:27:59 +02:00
Nicola Murino 8ca069f6de add a template for pull requests
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-12 18:01:35 +02:00
Nicola Murino 2f16b06ffe README: add a link to the compliance page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-12 17:58:40 +02:00
Nicola Murino 456517af87 notifier plugin: add support for login succeeded events
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-10 18:39:08 +02:00
Nicola Murino e8140d7310 update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-09 19:21:06 +02:00
Nicola Murino ff48386cc8 store used data transfer as big integer
we originally stored these values as MB but since we use bytes now,
an integer field is not enough.

Fixes #1575

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-02 18:38:22 +02:00
Nicola Murino 70cb71acfa WebClient: don't hide initial errors in files page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-02 18:37:29 +02:00
Nicola Murino 13418e9324 update deps and npm to the latest version
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-02 18:36:41 +02:00
Nicola Murino 1196727448 dataretention: remove ignore_user_permissions
Required permissions are now automatically granted as for any other
filesystem action

Fixes #1564

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-01 15:07:03 +02:00
Nicola Murino aaae191710 WebAPI: ensure to check rootfs before creating directories
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-01 12:40:35 +02:00
Nicola Murino 1620e16b89 WebClient: fix move and copy
Regression introduced in fc023748c1

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-01 12:00:06 +02:00
Nicola Murino db577b154e webclient: add more test cases for shares
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-04-01 11:42:22 +02:00
Nicola Murino c6164b8ae7 update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-31 20:43:48 +02:00
Nicola Murino fc023748c1 WebClient: improve file uploads
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-31 20:42:28 +02:00
Nicola Murino cb3bc3f604 update OpenAPI definition
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-18 19:32:01 +01:00
Nicola Murino 1dd63c29ec update translations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-17 11:53:45 +01:00
Nicola Murino cc9a0d4dc2 add time-based access restrictions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-17 11:30:03 +01:00
Nicola Murino 74dd2a3b9a update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-16 10:30:46 +01:00
Nicola Murino 55c8677443 restored the log if retrieving directory entries fails
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-12 18:31:01 +01:00
Nicola Murino 26d3105f54 groups: add role placeholder
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-12 18:21:50 +01:00
Nicola Murino ca2757d41e copy: fix quota for FsFileCopier
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-12 08:43:23 +01:00
Nicola Murino f38966c6ac WebClient: refactor long-running tasks to improve browser compatibility
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-11 18:19:57 +01:00
Nicola Murino baaef63d1d update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-07 18:11:26 +01:00
Nicola Murino 4d357a6a57 EventManager: allow to check for inactive users
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-04 19:48:10 +01:00
Nicola Murino 8b2188fcb6 remove some useless nil checks
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-03-02 18:49:07 +01:00
Nicola Murino 799fdd7098 allow IPs in defender safe list to exceed max per-host connections
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-27 18:22:21 +01:00
Nicola Murino 12f599fd65 WebUI: skip checks for static resource
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-25 18:19:21 +01:00
Nicola Murino be2ed1089c ssh: add username to sftp auth errors
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-25 15:45:50 +01:00
Nicola Murino 92911bda2b require at least 2048 bits for RSA certificates/keys
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-25 11:12:57 +01:00
Nicola Murino f7d9e56cac ssh: remove moduli, log negotiated algorithms
Fixes #1324

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-24 20:35:09 +01:00
Nicola Murino a577d8b3cd WebAdmin: allow to disable 2FA
Before it was only possible using REST API

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-23 18:24:07 +01:00
Nicola Murino 76ffa107dd check admins' two-factor requirements in the disable API as well
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-22 19:05:16 +01:00
Nicola Murino 9a6a65931e two-factor auth: fixed validation of conflicting settings
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-22 18:20:51 +01:00
Nicola Murino de089e51fd Web: allow to require password change and two-factor for admins
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-21 20:45:10 +01:00
Nicola Murino 51ae2d7301 add copy permission
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-20 18:19:09 +01:00
Nicola Murino e5fc1bd574 docs: replace the images relating to the old theme
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 19:31:37 +01:00
Nicola Murino aaf310ffff add some notes about internationalization support
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 13:13:48 +01:00
Nicola Murino 3ad86274d8 CI: disable tests on FreeBSD until Go 1.22 is available
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 12:29:59 +01:00
Nicola Murino b4afdac8a0 fix test cases on Windows (again)
in Go 1.22 Readdir now works on Windows in the same way as on other
platforms

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 12:17:51 +01:00
Nicola Murino 19d405fa3a WebClient: make directory loading message more evident
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 11:51:15 +01:00
Nicola Murino d92f85d1dd WebClient: improve error message when trying to move non-empty folder
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 11:22:41 +01:00
Nicola Murino 5a319dc64f update to Go 1.22
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:14:14 +01:00
Nicola Murino a45aeb3bd6 WebAdmin: allow to reorder and search groups and actions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:14:10 +01:00
Nicola Murino 162376fd74 add a nil check for attributes
just defensive code

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:14:05 +01:00
Nicola Murino 0d4e4175a8 CI: update golangci-lint action to v4
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:14:00 +01:00
Nicola Murino 7ca390c85a CI: fix codecov action
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:13:57 +01:00
Nicola Murino d413775060 vfs: log progress after each page iteration
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:13:51 +01:00
Nicola Murino db0a467d33 refactor metadata support
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-18 10:13:46 +01:00
Nicola Murino e2ff12c589 fix test cases on Windows
on Windows f.Readdir returns no error if f is closed

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-17 13:41:40 +01:00
Nicola Murino 849f0bd0a8 WebAdmin: clearly indicate that metadata check is no longer supported
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-17 12:33:16 +01:00
Nicola Murino e61fb42cbc remove metadata plugin
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-17 12:30:47 +01:00
Nicola Murino d8339ab967 WebClient: update pdfobject
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-16 18:56:17 +01:00
Nicola Murino 410b7cd512 fix remaining lint warnings
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-16 18:55:58 +01:00
Nicola Murino ad75543172 fix some new lint warnings
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-15 21:13:45 +01:00
Nicola Murino 757185256c i18next: fix fallback language
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-15 20:57:19 +01:00
Nicola Murino 04dcb65eb0 update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-15 20:55:18 +01:00
Nicola Murino 1ff55bbfa7 add DirLister interface
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-15 20:53:56 +01:00
Nicola Murino c60eb050ef WebAdmin: improve the error message when trying to delete referenced resources
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-05 19:18:37 +01:00
Nicola Murino d7975d8d76 WebAdmin: add expired to the status in users page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-05 19:03:05 +01:00
Nicola Murino 6b07908084 WebAdmin: add groups to users page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-05 19:02:43 +01:00
Nicola Murino c49553abd0 keyboard interactive: ask only the passcode if it is the second step
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-05 19:02:01 +01:00
Nicola Murino ae309d64c4 WebClient: disable indicator if we redirect from the login page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-04 21:13:04 +01:00
Nicola Murino 8385acd0e3 Redirect to two-factor auth page after creating the first admin
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-04 20:58:29 +01:00
Nicola Murino e5836c8118 WebUI: add a JSON helper function
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-04 18:16:10 +01:00
Nicola Murino c23d779280 WebClient: load shares using an async request
instead of rendering them directly within the template

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-04 14:33:51 +01:00
Nicola Murino 364c9c8162 WebClient: improve rendering of read only fields in profile page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-04 12:36:39 +01:00
Nicola Murino 3158190945 WebClient: respect second factor requirements enforced at group level
Fixes #1506

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-04 12:09:47 +01:00
Nicola Murino c8da72a7f7 add WP Engine to the sponsors section, thank you!!!
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-03 16:41:28 +01:00
Nicola Murino 6e041895c7 workflows: update actions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-03 16:29:44 +01:00
Nicola Murino 0aa6013342 docker: add back Distroless image
this is possible thanks to a new project sponsor

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-03 15:38:43 +01:00
Nicola Murino 6074ed21f7 dataproviders: return an uniform error for foreign key violations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-03 14:24:50 +01:00
Nicola Murino dcecb79f63 fix expected strings in some test cases
plain strings were converted to translation codes

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-03 12:51:12 +01:00
Nicola Murino 71e01ab26d new WebAdmin: add test cases
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-03 12:42:05 +01:00
Nicola Murino 7ad6d99bd7 WebUI: remove now unused assets
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-01 20:48:52 +01:00
Nicola Murino ad80d4e475 WIP new WebAdmin: event rules
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-02-01 20:32:43 +01:00
Nicola Murino c85601146d WIP new WebAdmin: event actions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-31 20:49:25 +01:00
Nicola Murino b18b37042d WIP new WebAdmin: add missing translations for events page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-29 10:49:21 +01:00
Nicola Murino 0900a63b83 WIP new WebAdmin: fix back pagination in events page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-28 19:54:24 +01:00
Nicola Murino 143d4611ba WIP new WebAdmin: events page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-28 19:38:01 +01:00
Nicola Murino caa1d70aab WebUI: add a base template for info messages
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-28 10:22:16 +01:00
Nicola Murino a275ef17a8 relax Unix domain socket permissions so that they are group writable
Fixes #1507

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-28 09:34:07 +01:00
Nicola Murino 856aed2d60 WebUI: fix long texts in message pages
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-28 09:02:50 +01:00
Nicola Murino b52a517b16 CI FreeBSD: update to FreeBSD 14
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-27 12:50:13 +01:00
Nicola Murino 69da5c10c6 WIP new WebAdmin: configs page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-27 12:48:15 +01:00
Nicola Murino d01fccf28c WIP new WebAdmin: maintenance page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-26 21:03:41 +01:00
Nicola Murino 9fcff83f8f WIP new WebAdmin: status page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-25 19:26:51 +01:00
Nicola Murino eec9c449d4 vfs: make PipeReader an interface
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-24 19:59:50 +01:00
Nicola Murino 8180b75ef1 WIP new WebAdmin: IP lists pages
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-24 19:23:15 +01:00
Nicola Murino d381304136 WIP new WebAdmin: admin/admins pages
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-22 20:22:41 +01:00
Nicola Murino d67f00546a WebUI: improve style for readonly fields
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-21 18:10:14 +01:00
Nicola Murino 810bf4542f WebUI: add autocomplete="new-password" for internal password fields
See:

https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-21 17:39:08 +01:00
Nicola Murino e38350e8b3 WIP new WebAdmin: role page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-21 17:19:25 +01:00
Nicola Murino 3f479c5537 WIP new WebAdmin: roles page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-21 16:49:04 +01:00