Nicola Murino
2e9919d1a5
sftpfs: add more ciphers, KEXs and MACs
...
they are negotiated according to the order.
Restrictions are generally configured server side.
I want to avoid to expose other settings for now.
Fixes #817
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-05-06 14:10:55 +02:00
Nicola Murino
c40a48c6f3
sql provider: enhanced folder mapping query using an upsert
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-04-30 13:02:32 +02:00
Nicola Murino
c7073f90cb
improve readlink handling
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-04-27 19:01:42 +02:00
Nicola Murino
d3fee39388
sftpfs: add a dial timeout
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-03-11 17:12:47 +01:00
Nicola Murino
97122ef06c
backport some fixes from the main branch
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-03-04 19:14:39 +01:00
Nicola Murino
4ed6e96c7b
sftpfs: improve rename and remove
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-02-16 17:08:22 +01:00
Nicola Murino
467708dc1c
Admin UI: allow to create multiple users/folders from templates
...
the clone button is not needed anymore, you can select a user and
click on template to generate one or more similar users or you can
create users/folders from an empty template
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-01-13 10:52:20 +01:00
Nicola Murino
ba3548c2c3
make the sdk a separate module
...
The SFTPGo SDK now is at the following URL
https://github.com/sftpgo/sdk
Fixes #657
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-01-13 10:52:03 +01:00
Nicola Murino
0e2d673889
move kms implementation outside the sdk package
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-01-13 10:51:55 +01:00
Nicola Murino
3603493146
move plugin handling outside the sdk package
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-01-13 10:51:42 +01:00
Nicola Murino
0e1d8fc4d9
move kms definitions to the sdk package
...
This is the first step to make the sdk a separate module
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2022-01-13 10:51:31 +01:00
Nicola Murino
cc73bb811b
change log level from warn to error where appropriate
...
Fixes #649
2021-12-16 19:53:00 +01:00
Nicola Murino
a587228cf0
add support for metadata plugins
2021-12-16 18:18:36 +01:00
Nicola Murino
24b0352eb6
GCS: add ACL support
2021-11-15 21:57:41 +01:00
Nicola Murino
52f3a98cc8
preserve GCS credentials on update if not set
...
credentials were not preserved if "prefer_database_credentials" was
set to true
Fixes #613
2021-11-15 19:12:58 +01:00
Nicola Murino
ee5c5e033d
S3: add ACL support
...
Fixes #610
2021-11-13 16:05:40 +01:00
Nicola Murino
4a6a4ce28d
sftpfs: map path resolution error to permission denied
...
we do the same for os fs so that the problematic directory is excluded
from the webdav listing instead of failing the whole directory listing
2021-10-16 10:32:18 +02:00
Nicola Murino
4aa9686e3b
refactor custom actions
...
SFTPGo is now fully auditable, all fs and provider events that change
something are notified and can be collected using hooks/plugins.
There are some backward incompatible changes for command hooks
2021-10-10 13:08:05 +02:00
Nicola Murino
5c34d814d6
fix a possible nil pointer dereference
...
it can happen by upgrading from very old versions
2021-09-11 14:19:17 +02:00
Nicola Murino
be3857d572
dataprovider: add timestamp fields for users and admins
2021-08-19 15:51:43 +02:00
Nicola Murino
85a47810ff
S3: expose more properties, possible backward incompatible change
...
Before these changes we implictly set S3ForcePathStyle if an endpoint
was provided.
This can cause issues with some S3 compatible object storages and must
be explicitly set now.
AWS is also deprecating this setting
https://aws.amazon.com/it/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/
2021-07-23 16:56:48 +02:00
Nicola Murino
c997ef876c
S3: fix Ceph compatibility
...
This hack will no longer be needed once Ceph tags a new version and vendors
using it update their servers.
This code is taken from rclone, thank you!
Fixes #483
2021-07-23 11:41:31 +02:00
Nicola Murino
e1a2451c22
s3: allow to configure the chunk download timeout
2021-07-11 18:39:45 +02:00
Nicola Murino
7344366ce8
sftpd: remove workarounds for directory listing
...
The underlying issue was fixed in pkg/sftp 1.13.2
2021-07-11 16:26:40 +02:00
Nicola Murino
bd5191dfc5
add experimental plugin system
2021-07-11 15:26:51 +02:00
Nicola Murino
076b2f0ee0
modules: add v2 support
2021-06-26 07:31:41 +02:00
Nicola Murino
93dfb03eaf
GCS: add a trailing / to "directories"
...
This way SFTPGo should be compatible with Google Cloud console.
This change should be backward compatibile, testing is welcome
Fixes #464
2021-06-24 19:36:01 +02:00
Manuel Reithuber
fd4c388b23
added vfs.ListProviders() and using it in template fsconfig.html (added a new ListFSProviders template function for that)
2021-06-19 19:27:54 +02:00
Manuel Reithuber
b48e01155c
FilesystemProvider: added .Name() which reverses vfs.GetProviderByName(), and added .ShortInfo(); using .ShortInfo() in User.GetInfoString()
2021-06-19 19:27:54 +02:00
Manuel Reithuber
0ff010cc94
added vfs.GetProviderByName(), using it in for sftpgo portable and for parsing the webadmin form field
2021-06-19 19:27:54 +02:00
Manuel Reithuber
f19937b715
move Filesystem config validation to vfs
2021-06-19 12:24:43 +02:00
Nicola Murino
9d3d7db29c
azblob: store SAS URL as kms.Secret
2021-06-11 22:27:36 +02:00
Nicola Murino
8607788975
s3fs: use "application/x-directory" as folder mime type
...
This change improve s3fs-fuse compatibility
Fixes #451
2021-06-08 13:52:36 +02:00
Nicola Murino
43182fc25e
OpenAPI: add users API
...
These new APIs match the web client features.
I'm aware that some API do not follow REST best practises.
I want to avoid things likes "/user/folders/<path>"
where "path" must be encoded and making it optional create issues, so
I defined resources as query parameters instead of path parameters
2021-06-05 16:07:09 +02:00
Nicola Murino
c63b923ec3
cryptfs: add support for atomic uploads
2021-05-31 21:45:29 +02:00
Nicola Murino
423d8306be
webclient: allow to download multiple files as zip
2021-05-30 23:07:46 +02:00
Nicola Murino
fc7066a25c
cross device rename: remove the source if copy suceeded
2021-05-27 22:23:14 +02:00
Nicola Murino
e1bf46c6a5
local fs rename: if it fails with a cross device error try a copy
...
I don't want to add a new setting for this, at least until we get the
first complain for a slow rename :)
Fixes #440
2021-05-27 20:14:12 +02:00
Nicola Murino
3b46e6a6fb
add support for a global temp path
...
Fixes #436
2021-05-27 15:38:27 +02:00
Nicola Murino
25a44030f9
actions: add pre-download and pre-upload
...
Downloads and uploads can be denied based on hook response
2021-05-26 07:48:37 +02:00
Nicola Murino
0cb5c49cf3
map path resolution errors to Permission errors
...
this way the affected paths will be ignored in WebDAV
Fixes #432
2021-05-21 13:04:22 +02:00
Nicola Murino
23d9ebfc91
add a basic front-end web interface for end-users
...
Fixes #339 #321 #398
2021-05-06 21:35:43 +02:00
Nicola Murino
5be4b6bd44
localfs: fix subdir check if the user has the root dir as home
2021-04-25 14:36:29 +02:00
Nicola Murino
74b51f0ad3
update nfpm
2021-04-23 22:53:13 +02:00
Nicola Murino
74e0223eb9
remove sha256-simd usage
...
sha256-simd is now deprecated
https://github.com/minio/sha256-simd/issues/58
This could slow down sha256 computation on some CPU
2021-04-05 18:23:40 +02:00
Nicola Murino
f895059660
web: add responsive table style to connections too
...
Fixed a small issue for sftpfs too
2021-04-05 11:28:28 +02:00
Nicola Murino
fdf3f23df5
allow to disable some hooks on a per-user basis
...
This way you can, for example, mix external and internal users
2021-04-04 22:32:25 +02:00
Nicola Murino
d92861a8e8
sftpfs: disable buffering for downloads if concurrent reads are disabled
2021-04-04 09:53:29 +02:00
Nicola Murino
1ee843757d
fix OpenAPI schema
2021-04-03 17:09:08 +02:00
Nicola Murino
ea26d7786c
sftpfs: add buffering support
...
this way we improve performance over high latency networks
2021-04-03 16:00:55 +02:00