Nicola Murino
9888a3d169
CI: update Go version
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
v2.7.5
2026-07-17 18:25:27 +02:00
Nicola Murino
13da9740c3
set version to 2.7.5
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-17 18:23:56 +02:00
Nicola Murino
d9a1835380
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-17 18:20:14 +02:00
Nicola Murino
4f751232d7
sftpd: fix panic on malformed SSH subsystem request
...
Parse the payload with ssh.Unmarshal into a single string field, which
validates the wire format and rejects short or malformed payloads, and
compare the decoded name to "sftp".
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-17 18:11:28 +02:00
Nicola Murino
385c840763
suppress a lint warning
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-12 08:44:25 +02:00
Nicola Murino
ac4195f7f2
totp: harden 2FA enrollment
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-12 08:26:47 +02:00
Nicola Murino
35e0a07458
WebUIs: clear also i18n-options before localizing a text
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-12 08:26:40 +02:00
Nicola Murino
6bb3e769db
totp: harden one-time passcode use
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-10 17:23:21 +02:00
Nicola Murino
6617b5cc9c
invalidate WebDAV user cache on user creation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-09 19:43:42 +02:00
Nicola Murino
8e0675391b
update deps and nfpm
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-06 20:26:51 +02:00
Nicola Murino
8751655d1e
user: assign each connection an independent fs cache
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-06 15:19:51 +02:00
Nicola Murino
ec34d489b8
httpd: make sure to always close connection for shares
...
double closes are no-op
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-06 12:48:13 +02:00
Nicola Murino
555bf6842a
user: clear recovery codes in SetEmptySecrets
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-07-06 11:39:14 +02:00
Nicola Murino
5c1286eaed
skip POSIX specific tests on Windows
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
v2.7.4
2026-06-27 18:01:07 +02:00
Nicola Murino
4bba00cd6f
vfs: refactor Readlink
...
add new test cases. Most of this code is temporary and will be
removed once we'll switch to os.Root
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-27 18:01:04 +02:00
Nicola Murino
f9a6df45b9
vfs: fix symlink failure introduced in previous commits
...
rewrite the checks so that they can handle short paths on Windows
and home dir over symlinks
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-27 11:13:17 +02:00
Nicola Murino
9a41a3e227
update sponsors section
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-26 08:31:11 +02:00
Nicola Murino
1865e36380
suppress a lint warning
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 11:16:10 +02:00
Nicola Murino
da0a440124
set version to 2.7.4
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:08:34 +02:00
Nicola Murino
9c3ed674fe
CI: update actions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:07:09 +02:00
Nicola Murino
05390b586c
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:05:53 +02:00
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
fdeaa0a705
fix symlink test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:03:37 +02:00
Nicola Murino
e760178473
update security policy
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:03:16 +02:00
Nicola Murino
55e0cf15b9
harden symlink checks and add more test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:02:32 +02:00
Nicola Murino
d6538e5601
common: require create_symlinks on both the link and the target directory
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:02:26 +02:00
Nicola Murino
db64d32fdb
httpd: harden and unify the redirect target validation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:02:21 +02:00
Nicola Murino
725be081bc
httpd: clean the web client login redirect target
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:02:11 +02:00
Nicola Murino
97a0d2130f
httpd: return after CSRF failure in web client login
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:02:06 +02:00
Nicola Murino
239eda778b
oidc redirect: preserve next url for WebClient
...
Fixes #2241
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 09:01:51 +02:00
Nicola Murino
04e7798f3a
kms: fail fast on an unavailable secret provider
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 08:50:53 +02:00
Nicola Murino
a4304835ab
Add dedicated setting to control symlink creation
...
Symlink creation is now disabled by default
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-21 08:50:47 +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
47af8ba9e3
openapi: clarify speed limits and max sessions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-08 13:13:14 +02:00
Nicola Murino
b2d5c68b98
fix overquota transfers check
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-06-04 08:15:19 +02:00
Nicola Murino
ec3c16f047
CI: create release in draf mode
...
this should allow to enable immutable release
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-31 09:28:41 +02:00
Nicola Murino
a779e50448
set version to 2.7.3
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
v2.7.3
2026-05-30 21:45:57 +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
d29d1f5a5a
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 18:34:57 +02:00
Nicola Murino
dae8cac61c
CI: update Go and nfpm version
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:42:28 +02:00
Nicola Murino
101b42c431
set version to 2.7.2
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:40:58 +02:00
Nicola Murino
522e2936b9
keyboard interactive program: check for scanner errors
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:39:46 +02:00
Nicola Murino
09628fb708
suppress lint warning
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:31:59 +02:00
Nicola Murino
b5409a4781
httpd: always download share and user files as attachments
...
The `inline` query parameter on the browsable-share file download
and on the authenticated user file download suppressed the
`Content-Disposition: attachment` header. A file placed in a share
or user home (for example an HTML document) could then be served
inline as `text/html` and execute in SFTPGo's web origin,
allowing stored XSS through a shared link.
These endpoints now always respond with `Content-Disposition:
attachment`. The `inline` parameter is removed from the API and from
the OpenAPI schema: it dates back to a time when the WebClient had no
built-in viewers, and the current web client previews images, video,
PDF and other files directly within shares through its own viewer
endpoints, so the flag is obsolete.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:30:33 +02:00
Nicola Murino
b931573a07
fix test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:16:34 +02:00
Nicola Murino
31fc0b5eb4
admins: restrict 2FA reset on other admins to super-admins
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:04:21 +02:00
Nicola Murino
c425f8a745
CI: use Go 1.26 in FreeBSD tests
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:04:16 +02:00
Nicola Murino
c495d5a479
Event Manager: neutralize CSV formula injection
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:04:08 +02:00
Nicola Murino
6c723ff2bd
config: fix default naming rules in code
...
align with the value in the json file
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2026-05-30 13:04:00 +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