Nicola Murino
e892748ef4
system commands: recursively verify required permissions
...
If any permission is missing at any level, return a "Permission Denied"
error
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 09:36:19 +02:00
Nicola Murino
f4092b9f9e
sftpd: use VerifiedPublicKeyCallback
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 09:22:27 +02:00
Nicola Murino
cdaefbf04a
Fix flaky test case
...
ensure the user filter is set on the rule so notification triggers
only when expected.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-22 09:16:28 +02:00
Nicola Murino
29e9d95088
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-21 14:21:57 +02:00
Nicola Murino
952df50a98
remove ftpserverlib fork
...
the correct flow is to add features to the upstream library first
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-21 14:21:53 +02:00
Nicola Murino
d2ee43585a
remove x/crypto fork
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-21 14:21:47 +02:00
Nicola Murino
7f03dc0fab
convert action migration: allow to import any command action
...
EnabledCommands are initialized after the migration so allow any
command, they will be denied if not allowed and this is temporary.
The migration will be removed in the future
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-20 17:59:15 +02:00
Nicola Murino
b160090866
httpdtest: remove unused constant
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-07 18:19:45 +02:00
Nicola Murino
a5dd529d88
node token: embed permissions directly in JWT
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-22 15:57:41 +02:00
Nicola Murino
6bde42fc3f
dataprovider: prevent action execution after external authentication
...
As per the documentation for external authentication, provider actions
should not be executed post-authentication.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-21 07:20:06 +02:00
Nicola Murino
a2d3613250
dataprovider: preserve initial sort order for related resources
...
Folders and groups now retain their initial order, improving compatibility
and predictability when used with Terraform
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-19 16:11:53 +02:00
Nicola Murino
81a9813376
Windows: fix build
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-17 13:35:29 +02:00
Nicola Murino
63366b0007
virtual folders: fix path placeholder check
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-17 12:42:37 +02:00
Nicola Murino
e7a1128574
remove AWS Marketplace specific code
...
it is out of context for the Open-Source edition
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-17 12:29:57 +02:00
Nicola Murino
75ad6346c3
removed some unused constants
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-02 19:00:15 +02:00
Nicola Murino
b2948a5255
sshd: removed Git support
...
Git integration has been removed as it is out of scope for a file transfer
solution like SFTPGo.
Maintaining Git support introduces unnecessary complexity and potential
security risks due to reliance on system commands.
In particular, allowing Git operations could enable authorized users to
upload repositories containing hooks, which might then be executed and abused.
To reduce the attack surface and simplify the codebase, Git support has been
fully dropped.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-02 18:58:03 +02:00
Nicola Murino
ddbe40cefa
HTTPD, WebDAV: use http.ResponseController
...
backport from Enterprise edition
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-02 18:00:45 +02:00
Nicola Murino
9a0137befb
config: redact master key string
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-22 19:53:19 +02:00
Nicola Murino
0bac81816c
WebClient: add an id field to files list to simplify UI logic
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-22 18:59:20 +02:00
Nicola Murino
76f6dc06de
Log output from command hooks
...
Re-adds #1208 now that the CLA has been signed.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-20 10:45:48 +02:00
Nicola Murino
c2835bc19d
Enable setting password change requirements in user templates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-17 19:35:17 +02:00
Nicola Murino
fe78974b47
remove data retention hook
...
use the EventManager instead
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-14 18:22:32 +02:00
Nicola Murino
7317674b41
Remove legacy data retention API
...
Data retention is now managed via the EventManager, introduced in v2.4.0.
This allows scheduling retention checks and sending email or HTTP notifications,
making the old API redundant.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-12 22:20:54 +02:00
Nicola Murino
bdd097b1c7
s3: use multipart uploads only when multiple parts are needed
...
Fixes #2016
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-11 18:45:30 +02:00
Nicola Murino
ff5ea7cd40
S3: don't use manager for uploads
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-16 18:48:04 +02:00
Nicola Murino
d05250923b
Revert "GCS: allow a 10 seconds timeout for client creation"
...
This reverts commit b2e9935049 .
Fixes #2000
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-10 20:17:35 +02:00
Nicola Murino
5ca3522dc0
EventManager: avoid copying user struct when updating parameters
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-10 20:04:59 +02:00
Nicola Murino
0265c4c4a1
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-31 20:30:58 +02:00
Nicola Murino
b6873768b2
replace strings.Split with SplitSeq
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-31 19:03:41 +02:00
Nicola Murino
60af36813b
gcs: improve error checking
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-23 19:56:21 +02:00
Nicola Murino
3f7533b86a
update deps ...
...
... and adapt the code to the new constants I added to
golang.org/x/crypto/ssh
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-19 19:42:36 +02:00
Nicola Murino
9e2230cc33
Support leading and trailing spaces in user passwords
...
This improves compatibility with external authentication providers that
allow such characters in passwords.
Passwords created via the WebAdmin UI are still sanitized to prevent user
confusion.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-26 14:31:13 +02:00
Nicola Murino
1c48e51384
EventManager: escape email body when content type is text/html
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-24 19:01:17 +02:00
Nicola Murino
683d00caec
cmd: remove startsubsys command
...
SFTPGo is not designed to be used as an OpenSSH subsystem — many
features do not work correctly in subsystem mode. The functionality
was added after a user request in the pkg/sftp repository to
demonstrate that it was feasible, not for actual practical use.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-20 18:51:01 +02:00
Nicola Murino
c5e76f303a
commands: initialize plugins if we have a KMS
...
this is necessary to be able to read KMS secrets stored within
the data provider
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-20 18:48:19 +02:00
Nicola Murino
11d8fffd1b
remove obsoletes build constraints
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-20 17:15:40 +02:00
Nicola Murino
0da8adb7ac
EventManager: breaking change for placeholder names
...
Placeholder names must now be in the format:
{{.VirtualPath}}
instead of:
{{.VirtualPath}}
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-14 09:11:44 +02:00
Nicola Murino
aea036715c
OIDC: ensure token username adheres to naming conventions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-08 18:25:16 +02:00
Nicola Murino
f41f00fec2
httpd: allow to configure referrer policy header
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-07 18:48:48 +02:00
Nicola Murino
5954d4ae20
sshconn: use a generic io.Closer instead of a net.Conn
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-02 18:52:06 +02:00
Nicola Murino
d95d773570
oidc: allow login if the password method is disabled
...
isLoggedInWithOIDC returns false before login so we need to add
a specific check
Fixes #1879
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-29 20:28:49 +01:00
Nicola Murino
cf573fc743
pre-login hook: fix loading user after update
...
Fixes #1890
Closes #1891
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-29 17:29:28 +01:00
Nicola Murino
2255c5f000
upgrade golangci-lint to v2
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-29 11:36:19 +01:00
Nicola Murino
38689a71a7
migrations: fix placeholder for shared session table
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-23 12:06:57 +01:00
Nicola Murino
a71e53c8c8
GCS: properly check for googleapi.Error
...
Fixes #1936
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-23 11:37:21 +01:00
Nicola Murino
e590deebe0
db shared sessions: set key and type as primary key
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-23 11:34:10 +01:00
Nicola Murino
d4ea6adcc3
config: fix test case for slice values
...
this is a behaviour change in the lastest version of viper
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-16 14:16:04 +01:00
Nicola Murino
51a9cf79bc
azure blob fs: ensure sas url are not nil before comparing
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-15 20:39:42 +01:00
Nicola Murino
f096675a2b
fix log formatting
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-12 11:19:38 +01:00
Nicola Murino
66ec11a19f
fix typo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-08 15:49:30 +01:00