Commit Graph

201 Commits

Author SHA1 Message Date
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
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
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
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
15ac11b575 EventManager: add timestamp and name to scheduled event parameters
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-03-04 18:03:07 +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 Murino
bf0961458c remove some unnecessary string conversions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-01-04 11:58:37 +01:00
Nicola Murino
ff13be4616 zip creation: avoid stat if not strictly required
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2025-01-03 11:43:09 +01:00
Nicola Murino
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
d3db80dc32 set stat: remove unecessary check
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-12-15 09:59:06 +01:00
Nicola Murino
599ee5a58f EventManager: check file size for more events
Also add some defensive code

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-12-14 13:19:02 +01:00
Nicola Murino
7703f57122 rename: minor optimization
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-12-08 09:58:28 +01:00
Nicola Murino
e161015c67 upload: avoid a stat call if not strictly required
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-30 20:43:19 +01:00
Nicola Murino
10b2e5671b silence lint warning
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-21 07:52:53 +01:00
Nicola Murino
ebc085da77 EventManager: always close the connection filesystem
closing the user filesystem is not enough here

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-21 07:52:49 +01:00
Nicola Murino
c37b7f0493 provider rule events: allows to filter by user groups
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-15 14:01:08 +01:00
Nicola Murino
f22ec2275f fix new lint warnings
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-10 20:58:22 +01:00
Nicola Murino
b524da11e9 EventManager: disable commands by default
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-10 12:08:17 +01:00
Nicola Murino
88b1850b58 EventManager: allow to define the allowed system commands
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-11-01 11:37:33 +01:00
Nicola Murino
60558de728 proxy protocol: add more logs
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-31 18:04:55 +01:00
Nicola Murino
e4e31ec4fb TestMaxSessionsSameConnection: make more reproducible
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-26 21:50:15 +02:00
Nicola Murino
ae1487d733 fix connection limits
an SFTP client can start multiple transfers on a single connection

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-26 21:18:19 +02:00
Nicola Murino
ca41b59fc4 DirLister: returns appropriate protocol errors
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-10-16 19:04:09 +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
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
126cb1ee0d remove some useless hooks
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-09-27 15:52:51 +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
14cabda5c2 update shortuid to v4
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-09-08 18:01:14 +02:00
Nicola Murino
d783ffc13f fix new lint warnings
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-14 08:46:18 +02:00
Nicola Murino
321c3f00d2 fix lint warning
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-11 09:26:07 +02:00
Nicola Murino
ec4bf3d76a update deps and replace deprecated methods
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-11 08:59:21 +02:00
Nicola Murino
68e62d3d9b httpd: allow to use proxy protocol
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-10 21:02:38 +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
a5c5e85144 preserve metadata on copy/rename
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-08 18:44:26 +02:00
Nicola Murino
b94451f731 add builtin rules hook
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-08 07:41:39 +02:00
Nicola Murino
ce189e5065 IDP account check: preserve user profile
Fixes #1712

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-08-02 19:25:54 +02:00
Nicola Murino
d94f80c8da replace utils.Contains with slices.Contains
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-24 18:27:13 +02:00
Nicola Murino
bd5eb03d9c replace hand-written slice utilities with methods from slices package
SFTPGo depends on Go 1.22 so we can use slices package

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-24 18:17:55 +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
fef388d8cb don't track quota for private virtual folders
they are included within the user quota.
This is a backward incompatible change.

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-13 21:02:40 +02:00
Nicola Murino
92849ca473 quota: move user and folder management to a common method
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-13 19:30:40 +02:00
Nicola Murino
58de410850 nt: fix unused write warnings
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-07-03 20:42:51 +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
Nicola Murino
0cddcba5a7 EventManager: add an action to rotate the log file
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-06-04 19:51:52 +02:00
Nicola Murino
68cc1a8e2c fix proxy protocol policy
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-05-28 19:40:37 +02:00
Nicola Murino
9c775e2213 transfer logs: add error field
Fixes #1638

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-05-27 19:35:48 +02:00
Nicola Murino
50a3c0d911 defender: allow to impose a delay between login attempts
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-05-18 10:35:54 +02:00
Nicola Murino
665a980d62 improve error wrapping
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-05-14 19:10:36 +02:00