dependabot[bot]
59bd46a227
Bump actions/upload-artifact from 4 to 5
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-27 08:55:40 +01:00
dependabot[bot]
5039a0ee31
Bump actions/download-artifact from 5 to 6
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-27 08:55:02 +01:00
Nicola Murino
973b68a383
data provider: micro-optimization
...
skip availability check when updating the node timestamp.
If the update succeeds, the data provider is healthy
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-26 09:48:47 +01:00
Nicola Murino
5ce9688780
enforce group-level password strength for users and shares
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-26 09:44:32 +01:00
Nicola Murino
accb9703d0
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-26 08:14:24 +01:00
Nicola Murino
9c42ec34e8
pkgs update
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-26 08:12:32 +01:00
Nicola Murino
29c635a9a6
update version and deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-23 18:26:44 +02:00
Nicola Murino
e82d1bbef6
sftpgo.json: remove non-existent setting
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-16 19:40:29 +02:00
Nicola Murino
2c36077178
CI: use Go 1.25 for FreeBSD
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-16 19:39:49 +02:00
dependabot[bot]
4e91326124
Bump github/codeql-action from 3 to 4
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-15 08:42:08 +02:00
Nicola Murino
317f14f869
Docker: remove git and rsync
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-15 08:41:05 +02:00
Nicola Murino
a768dac29d
jwt: increase leeway and add some tests
...
also export a constant for the Cookie name
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-11 14:14:21 +02:00
Nicola Murino
c4bc88cd2e
Docker: update to debian 13
...
also update nfpm to 2.43.4
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-10 21:30:33 +02:00
Nicola Murino
90685d8ef2
fix random failure in test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-10 21:30:05 +02:00
Nicola Murino
f21c3d2af2
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-09 20:46:29 +02:00
Nicola Murino
278f522e30
sftpgo.json: cleanup unsupported configuration keys
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-09 20:44:43 +02:00
Nicola Murino
fa70ff35c4
Add debug log to investigate intermittent test failure in CI
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-08 19:22:35 +02:00
Nicola Murino
314bb5c886
update deps and nfpm
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-08 18:51:52 +02:00
Nicola Murino
0ae2354fed
JWT: replace jwtauth/jwx with lightweight wrapper around go-jose
...
We replaced the jwtauth and jwx libraries with a minimal custom wrapper
around go-jose because we don’t need the full feature set provided by jwx.
Implementing our own wrapper simplifies the codebase and improves
maintainability.
Moreover, go-jose depends only on the standard library, resulting in a
leaner dependency that still meets all our requirements.
This change also reduces the SFTPGo binary size by approximately 1MB
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-08 18:10:39 +02:00
Nicola Murino
9ca35c3555
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-10-04 11:42:35 +02:00
Nicola Murino
69f2c70661
CI: use windows-latest and install iscc manually
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 18:41:39 +02:00
Nicola Murino
35525e22e9
remove rsync support
...
rsync was executed as an external command, which means we have no insight
into or control over what it actually does.
From a security perspective, this is far from ideal.
To be clear, there's nothing inherently wrong with rsync itself. However,
if we were to support it properly within SFTPGo, we would need to implement
the low-level protocol internally rather than relying on launching an external
process. This would ensure it works seamlessly with any storage backend,
just as SFTP does, for example.
We recommend using one of the many alternatives that rely on the SFTP
protocol, such as rclone
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 18:15:15 +02:00
Nicola Murino
cc0ee9f43b
update nfpm to 2.43.1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 10:03:45 +02:00
Nicola Murino
7dd5757a44
CI: use Windows-2022 for now
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 10:02:27 +02:00
Nicola Murino
3f21db14e4
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-28 09:36:28 +02:00
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
5c3aa8278b
CI: switch to Go 1.25
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-22 09:16:23 +02:00
Nicola Murino
255ad5f6db
remove automaxprocs: no longer required with Go 1.25
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-22 09:16:14 +02:00
Nicola Murino
a469dd68a2
update theme and js deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-22 09:15:57 +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
dependabot[bot]
726f1fde19
Bump golang from 1.24-bookworm to 1.25-bookworm
...
Bumps golang from 1.24-bookworm to 1.25-bookworm.
---
updated-dependencies:
- dependency-name: golang
dependency-version: 1.25-bookworm
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-21 14:20:25 +02:00
Nicola Murino
75a9ebcdf9
CI: remove Azure Trusted Signing action
...
The Azure Trusted Signing certificate is expiring soon, and renewal is no
longer available for individuals or organizations outside of Canada and USA.
Due to this limitation, we are removing the Trusted Signing step from our
CI pipeline.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-20 18:07:21 +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
52ae36f169
README: better clarify how to select the appropriate documentation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-10 20:14:35 +02:00
Nicola Murino
7ce456edef
CI release: move Azure login closer to signing step in Windows workflow
...
The Azure login token validity has been decreased so login just before
signing
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-09 19:46:06 +02:00
Nicola Murino
b1208279b7
CI: move Azure login closer to signing step in Windows workflow
...
Azure login tokens now appear to expire after 5 minutes.
To avoid authentication issues, the login step is now performed
immediately before signing the binaries.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-09 19:08:57 +02:00
Nicola Murino
0dca906351
docs: clarify sponsor/support model and how to use versioned documentation
...
- Updated the "Sponsors" section to reflect the current open-core model
- Clarified that sponsorship supports the open-source edition
- Improved "Support" section to distinguish community vs. Enterprise support
- Added instructions on selecting the correct documentation version
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-09 18:38:27 +02:00
dependabot[bot]
20df8ba48b
Bump actions/setup-go from 5 to 6
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-09 18:16:22 +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
78d93730e0
update README and support link now that SFTPGo Enterprise is GA
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-09-07 18:18:55 +02:00
Nicola Murino
aad4de6001
html templates: update attribution
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-22 16:21:20 +02:00
Nicola Murino
19d1a0e0c1
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-22 15:57:55 +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
917d992231
CI: update FreeBSD to 14.3
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-19 21:29:17 +02:00
dependabot[bot]
fc111b44d9
Bump actions/download-artifact from 4 to 5
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-19 21:27:28 +02:00
dependabot[bot]
cdcea54f46
Bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-19 21:26:52 +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
0f6202f059
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-17 12:34:35 +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
0dec86474e
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-06 20:44:09 +02:00
Nicola Murino
b48a90bce9
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-08-02 19:21:53 +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
8ae6e5e486
WebUI: improve fileSizeIEC function and make it more readable
...
Fixes #1974
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-21 18:26:09 +02:00
Nicola Murino
c49d76274d
WebClient: translate "selected items" label also at bottom of page
...
Fixes #1979
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-21 18:24:49 +02:00
Nicola Murino
ae11c81bf8
Improve issue templates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-20 13:18:25 +02:00
dependabot[bot]
166b87fa3c
Bump azure/trusted-signing-action from 0.5.1 to 0.5.9
...
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action ) from 0.5.1 to 0.5.9.
- [Release notes](https://github.com/azure/trusted-signing-action/releases )
- [Commits](https://github.com/azure/trusted-signing-action/compare/v0.5.1...v0.5.9 )
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 0.5.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-20 10:52:22 +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
9d20f1744a
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-12 23:05:07 +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
66a20f34f8
sysv script: set mode to 755
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-04 11:32:07 +02:00
Nicola Murino
bb7891c196
Update and rename sftpgo to init/sftpgo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-03 16:18:06 +02:00
no-systemd
1bbc56c3b9
Init script for sysv-init based systems. ( #1 )
...
Init script for sysv-init based systems.
Signed-off-by: no-systemd <saman@whitebird.cc >
2025-07-03 16:18:06 +02:00
Nicola Murino
1b95468783
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-03 11:53:20 +02:00
Nicola Murino
c9d361d93b
OpenAPI: add missing event statuses to rule condition options
...
Fixes #2011
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-07-03 11:44:06 +02:00
Nicola Murino
d0ad528135
update lint rules
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-29 08:43:45 +02:00
Nicola Murino
4c5d9f3a25
OpenAPI: fix logs endpoint
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-21 09:45:29 +02:00
Nicola Murino
fb46c28ff2
examples: update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-20 20:22:58 +02:00
Nicola Murino
e34c196532
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-20 20:12:42 +02:00
Nicola Murino
5848289756
nfpm: update to 2.43.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-16 19:09:07 +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
cea5dd665e
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-14 11:40:47 +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
dependabot[bot]
d6fbe97e14
Bump alpine from 3.21 to 3.22 ( #1994 )
...
* Bump alpine from 3.21 to 3.22
Bumps alpine from 3.21 to 3.22.
---
updated-dependencies:
- dependency-name: alpine
dependency-version: '3.22'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update Dockerfile.alpine
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicola Murino <nicola.murino@gmail.com >
2025-06-02 20:53:16 +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
e275e8a142
WebClient: prevent uploads if no file is selected
...
Fixes #1980
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-19 18:21:55 +02:00
Nicola Murino
6f9729f245
WebClient: clear file upload list on explicit cancel
...
Avoid clearing the file list every time the modal is opened, as
the modal might be closed unintentionally (e.g., by clicking
outside it)
Fixes #1981
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-19 18:20:20 +02:00
Nicola Murino
f7273ce97e
UI: add missing French and German localization for calendars
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-19 18:18:52 +02:00
Nicola Murino
392b22219f
Windows setup: fix copyright
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-13 18:42:10 +02:00
Nicola Murino
fb97b9f539
WebClient: Fix multi-page selection
...
removed legacy workaround code that was likely introduced to mask
a bug in the DataTable component.
This underlying issue has since been resolved and this code cause
issues now.
Fixes #1971
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-13 18:30:21 +02:00
Nicola Murino
c5a8d672d2
WebClient: increase contextual menu size
...
Some language translations may contain longer text, requiring
additional space in the menu
Fixes #1972
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-13 18:28:24 +02:00
dependabot[bot]
e5d2d26636
Bump golangci/golangci-lint-action from 7 to 8 ( #1967 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 7 to 8.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v7...v8 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-11 10:51:06 +02:00
Nicola Murino
09e65c8d9f
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-05-10 19:07:14 +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
a709b84eef
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-24 19:08:02 +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
5efd232809
CI: workflows improvements
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-24 18:01:08 +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
513cbe3a77
CI FreeBSD: switch to Go 1.24
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-20 17:34:51 +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
e1472e9f97
update deps in tests and examples
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-14 22:24:39 +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
1cf0ed5b7e
nfpm: update to 2.42.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-12 22:27:50 +02:00
Nicola Murino
a3a3d2e867
FreeBSD: disable tests until Go 1.24 is available
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-12 22:17:09 +02:00
Nicola Murino
17bbe3d297
update deps, add support for mlkem768x25519-sha256
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-12 22:10:27 +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
01fbf3480f
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-04-07 18:03:33 +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
3cae004e6b
UI: added German and French translations
...
Thanks to all contributors on Crowdin.
Updates #1874
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-31 19:05:50 +02:00
Nicola Murino
06cd07d67a
oidc: add missing translations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-29 20:51:45 +01: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
6162da7636
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-29 10:50:25 +01:00
Nicola Murino
37d4d1c77f
added ReUI to the sponsors section
...
A heartfelt thank you to Sean and the KeenThemes team for their
ongoing support
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-29 10:44:26 +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
5a088daf97
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-22 14:55:40 +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
39ebfab693
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-16 12:56:47 +01:00
Nicola Murino
dfde4d45e2
update plugins bundle.js
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-16 12:45:01 +01:00
Nicola Murino
312902b5f5
update js deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-16 12:26:08 +01:00
Nicola Murino
67002ae24d
nfpm: update 2.41.3
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-15 20:40:06 +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
e3b513ccdb
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-13 12:00:39 +01:00
Nicola Murino
1e873ff86c
shares: show disclaimer on login page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-13 12:00:33 +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
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
eeee02875a
WebUI: fix draw events for datatables
...
sometimes the context menu was not working because the draw action
was called too early
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-03 18:14:19 +01:00
Nicola Murino
e409dc3100
README: update badge
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-02 19:35:08 +01:00
Nicola Murino
40c14607f6
WebAdmin: fix column visibility after reorder
...
Fixes #1899
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-02 18:47:10 +01:00
dependabot[bot]
c61571ea07
Bump golang from 1.23-bookworm to 1.24-bookworm ( #1898 )
...
Bumps golang from 1.23-bookworm to 1.24-bookworm.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 10:42:16 +01:00
Nicola Murino
cf961afe59
update CI and deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-03-01 10:11:28 +01:00
Nicola Murino
2a1374d376
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-24 21:23:28 +01:00
Nicola Murino
dbe31034ce
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-24 19:03:34 +01:00
Nicola Murino
aadd5d7d28
update js bundle
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-24 18:42:39 +01:00
Nicola Murino
75c45190ae
CI: disable tests on FreeBSD until Go 1.24 or 1.23.6 is available
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-24 11:37:21 +01:00
Nicola Murino
002e819e54
defender: don't penalize redirects to the login page
...
This is normal behavior
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-23 16:56:47 +01:00
Nicola Murino
38a6b5632a
share login page: add CheckRedirect field
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-22 22:28:53 +01:00
Nicola Murino
5a01ce66f1
WebUIs: fix translations for some page titles
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-18 18:25:52 +01:00
Nicola Murino
83cfcde9cb
OpenAPI: add email format to user's additional emails
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-16 18:02:45 +01:00
Nicola Murino
152448d116
dataprovider: add options to shares for future extensibility
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-16 12:06:00 +01:00
Nicola Murino
51e487370a
CI: update FreeBSD to 14.2
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-15 12:15:49 +01:00
Nicola Murino
7c6c81a841
CI: switch to Go 1.24
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-15 11:45:43 +01:00
Nicola Murino
0e0cfd62bb
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-09 11:42:32 +01:00
Nicola Murino
4dc4ccad37
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-07 20:26:30 +01:00
Nicola Murino
32b7fa2670
CI: macos-12 is no longer supported
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-07 18:41:35 +01:00
Nicola Murino
0013e35b28
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-06 19:23:05 +01:00
dependabot[bot]
9fcd12da2e
Bump azure/trusted-signing-action from 0.5.0 to 0.5.1 ( #1863 )
...
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action ) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/azure/trusted-signing-action/releases )
- [Commits](https://github.com/azure/trusted-signing-action/compare/v0.5.0...v0.5.1 )
2025-02-06 18:33:02 +01:00
Nicola Murino
b77be826e6
CI: update workflows
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-06 18:32:57 +01:00
Nicola Murino
519d201e74
fix rsync test case
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-06 11:01:12 +01:00
Nicola Murino
a3f7405a08
Sponsors: VPS2day has been rebranded to servinga
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-05 18:39:37 +01:00
Nicola Murino
1393cf5956
ftp: add a test for SIZE command on dirs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-02-04 19:26:55 +01:00
Nicola Murino
69ef36b4d9
httpd: add a setting to disable login methods, deprecate the previous one
...
the previous enabled login methods setting is hard to extend in
a backward compatible way
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-25 22:00:55 +01:00
Nicola Murino
70f8b4d495
WebAdmin: allow to create admins with an unusable password
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-25 18:53:54 +01:00
Nicola Murino
48258f6e67
httpd: add cross origin resource and embedder policy headers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-24 19:34:57 +01:00
Nicola Murino
83ee977746
ip lists: check the list size before parsing the IP
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-23 08:07:33 +01:00
Nicola Murino
b686da5e56
WebClient: improve error message after the session expires
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-22 19:54:56 +01:00
Nicola Murino
61aef41bee
WebClient: make the keep alive interval configurable
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-22 19:41:31 +01:00
Nicola Murino
6ab0f22d2d
update translations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-21 18:10:51 +01:00
Nicola Murino
c4e80cd5b2
format config file
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-16 20:06:10 +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
24215dc734
remove check for cache key collisions
...
we use sha256 keys now
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-15 19:46:54 +01:00
Nicola Murino
e2b21ad946
ssh commands: fix for rsync with no arguments
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-15 19:23:23 +01:00
Nicola Murino
969faddeee
update nfpm to 2.41.2
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-13 21:11:50 +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
04fa242f57
azblobfs: add support for Azure Identity
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-13 20:58:17 +01:00
Nicola Murino
de3c987802
rsync: enforce a supported format and limit the allowed options
...
Many rsync options are unsafe to use in restricted environments
and may pose security risks.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-13 19:41:58 +01:00
Nicola Murino
f2123b4fb0
update copyright year range
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-11 14:30:43 +01:00
Nicola Murino
a759789454
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-11 11:48:07 +01:00
Nicola Murino
da68cf3e9d
events search: remove trailing and leading space from received parameters
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-11 11:42:57 +01:00
Nicola Murino
5febcdca43
httpd: log csrf token duration
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-11 11:29:35 +01:00
Nicola Murino
b2e9935049
GCS: allow a 10 seconds timeout for client creation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-11 11:25:45 +01:00
Nicola Murino
1f4cb7077a
bad host handler: return a generic error message
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-06 10:08:25 +01:00
Nicola Murino
fbf8b1285d
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-04 17:22:30 +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
a4a33d4407
acme: add logger to retryable http client
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2025-01-04 09:27:01 +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
37f8fb3a0e
add a link to the upgrading docs in the error message
...
Fixes #1854
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-31 10:04:43 +01:00
Nicola Murino
484bda7940
UI: fix some glitches
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-29 17:16:28 +01:00
Nicola Murino
deea9ff038
do not return if client IP is not allowed in login API response
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-28 18:47:04 +01:00
Nicola Murino
91340bbe2f
config: reset invalid rename mode
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-26 09:36:58 +01:00
Nicola Murino
e689d52dca
plugin: simplify notifiers queue handling
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-25 22:53:26 +01:00
Nicola Murino
22f80b97f0
WebClient js: add missing semicolon
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-25 11:34:14 +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
d2c5a6a914
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-23 08:50:51 +01:00
Nicola Murino
1a7f346b51
acme: use retryable client
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-21 18:28:15 +01:00
Nicola Murino
bb579e36db
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-19 20:01:55 +01:00
Nicola Murino
843b8c38d3
SSH: add a test case for DSA keys
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-19 19:55:25 +01:00
Nicola Murino
70fc00d7eb
Allow to choose enabled languages
...
Fixes #1835
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-19 19:50:19 +01:00
Nicola Murino
9f873d1059
prefer strings.EqualFold to strings.strings.ToLower where possible
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-19 19:44:01 +01:00
Nicola Murino
b0061f570e
WebClient: refactor preserving share password
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-18 19:54:39 +01:00
Nicola Murino
bfe6c58133
don't allow DSA keys
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-18 19:01:15 +01:00
Nicola Murino
8c5f92aeb1
dataprovider events: fix string formatting for program hook
...
Fixes #1845
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-18 18:37:44 +01:00
Nicola Murino
ec90b61bb4
allow to configure JWT tokens and cookies duration
...
Fixes #1839
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-18 18:33:37 +01:00
Nicola Murino
6a72552754
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-15 11:55:49 +01:00
dependabot[bot]
1ce408e673
Bump alpine from 3.20 to 3.21 ( #1832 )
...
* Bump alpine from 3.20 to 3.21
Bumps alpine from 3.20 to 3.21.
---
updated-dependencies:
- dependency-name: alpine
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update Dockerfile.alpine
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-15 10:01:09 +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
c56be285a5
replace fnv with sha256
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-14 14:42:43 +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
b8a4ea50bd
CI codecov action: replace deprecated "file" attribute with "files"
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-07 11:46:15 +01:00
Nicola Murino
49f2555914
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-07 10:35:09 +01:00
Nicola Murino
e21c989038
logs: add a specific log structure for successful logins
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-07 10:29:33 +01:00
Nicola Murino
f8bdb84e8d
s3: metadata is not currently supported
...
remove useless code, we'll add it again once we support metadata
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-12-01 17:32:15 +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
cbd7fc917e
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-28 08:19:40 +01:00
Nicola Murino
6a7c8df1ef
use GenerateOpaqueString also for node secrets
...
this method will use rand.Text() with Go 1.24
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-27 19:05:19 +01:00
Nicola Murino
d3e76898cd
WebAdmin: refactor template permissions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-26 20:39:36 +01:00
Nicola Murino
0f9314f900
CI: skip signing Windows binaries for pull requests
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-23 19:26:28 +01:00
Nicola Murino
502e3658e0
CI: update workflows to use Azure Trusted Signing
...
Fixes #1778
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-22 18:20:58 +01:00
Nicola Murino
0e77ba9546
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-21 07:52:57 +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
4a414f0fa4
test cases: fix some random failures
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-21 07:52:45 +01:00
Nicola Murino
7a12db6cdb
upgrade nfpm to 2.41.1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-21 07:52:42 +01:00
Nicola Murino
f30a9a2095
OIDC cookie: use a cryptographically secure random string
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-21 07:52:36 +01:00
Nicola Murino
ed5ff9c5cc
sftpd: remove allocator
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-21 07:52:24 +01:00
Nicola Murino
59833fba0d
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-15 20:50:54 +01:00
Nicola Murino
a79cb30cdc
CI: update codecov action to v5
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-15 17:28:55 +01:00
Nicola Murino
e1cd69d5ff
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-15 17:26:12 +01:00
Nicola Murino
85333087fa
fix license in Windows installer
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-15 17:06:49 +01:00
Nicola Murino
5ddac4b3b4
fix links to docs, add NOTICE
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-15 15:19:26 +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
5896c1b7a5
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-13 20:22:31 +01:00
Nicola Murino
0f073a40fd
logger: add cipher suite
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-13 18:33:07 +01:00
Nicola Murino
618723c457
httpd: always use an opaque signing key
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-12 19:27:34 +01:00
Nicola Murino
4cb6acefb2
oidc/oauth2: use an opaque state
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-11 19:43:57 +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
7bffed712a
events: add copy action
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-10 15:00:11 +01:00
Nicola Murino
f30d6ad82a
update css and js deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-10 12:34:10 +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
3dd412f6e3
WebAdmin and REST API: remove too granular permissions
...
Our permissions system for admin users is too granular and some
permissions overlap. For example, you can define an administrator
with the "manage_system" permission and not with the "manage_admins"
or "manage_user" permission, but the "manage_system" permission
allows you to restore a backup and then create users and
administrators. The following permissions will be removed:
"manage_admins", "manage_apikeys", "manage_system", "retention_checks",
"manage_event_rules", "manage_roles", "manage_ip_lists". Now you
need to add the "*" permission to replace the removed granular
permissions because the removed permissions allow actions that
should only be allowed to super administrators.
There is no point in having separate, overlapping permissions.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-10 10:46:28 +01:00
Nicola Murino
ef98ee7d11
don't allow admins to change their own permissions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-09 20:24:35 +01:00
Nicola Murino
30fb1d6240
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-09 18:56:43 +01:00
Nicola Murino
7aac64531f
WebAdmin: check CSRF header when deleting blocked hosts
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-09 18:44:31 +01:00
Nicola Murino
03724d5eb1
remove fallback if rand.Reader fails
...
Failing to read from rand.Reader essentially can't happen, and if it
does is not possible to fallback securely, so just panic
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-09 18:44:25 +01:00
Nicola Murino
4eb4ff66ce
CI: switch to Go 1.23
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-07 20:14:16 +01:00
dependabot[bot]
0bff3e1a67
Bump golang from 1.22-bookworm to 1.23-bookworm ( #1729 )
...
Bumps golang from 1.22-bookworm to 1.23-bookworm.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 20:09:29 +01:00
Nicola Murino
82b437c502
plugins: fix passing additional environment variables
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-11-05 18:06:58 +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
beff4432dc
plugin: remove invalid chars from error message
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-29 18:11:53 +01:00
Nicola Murino
9ae0bc4ec4
WebAdmin active connections: fix active transfer display
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-28 20:10:59 +01:00
Nicola Murino
21bd8c5660
node: use a plain string as key
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-28 18:34:36 +01:00
Nicola Murino
97bb004c12
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-26 21:50:21 +02: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
259986ed1d
update nfpm to 2.41.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-26 21:26:36 +02:00
Nicola Murino
0c75d234b9
OpenAPI: document password_strength
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-26 21:19:28 +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
c69fbe6bf9
tls: allow to configure all supported TLS versions and ciphers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-23 19:50:37 +02:00
Nicola Murino
8d697bcc94
WebClient: enforce 2fa and password requirements also with OIDC
...
password and 2fa can be used with other protocols
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-21 20:40:44 +02:00
Nicola Murino
7e7005f5b3
README: add a section for i18n
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-19 10:45:02 +02:00
Nicola Murino
12a210e1f6
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-18 19:26:53 +02:00
Nicola Murino
169d8f6223
update README
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-18 19:26:19 +02:00
Nicola Murino
cd3147c654
add License NOTICE
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-18 19:26:11 +02:00
Nicola Murino
7feeec6941
update OpenAPI schema
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-16 20:51:51 +02:00
Nicola Murino
12d888f49d
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-16 19:19:24 +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
77b2f8dfb3
CI FreeBSD: use Go 1.23
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-15 19:10:23 +02:00
Nicola Murino
d8691d1e1a
update translations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-13 17:00:17 +02:00
Nicola Murino
5cb1b9c1e9
Web: add CheckRedirect to pages using baselogin.html
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-12 12:54:21 +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
8e7086ab39
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-11 19:36:41 +02:00
Rafał Bielawski
dc907c0ba3
Update translation.json ( #1781 )
...
Signed-off-by: Rafał Bielawski <hello@rbielawski.pl >
2024-10-11 19:30:40 +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
bdd6de10a5
CI: update FreeBSD version to 14.1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-08 20:55:29 +02:00
Nicola Murino
66e1e7ac2b
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-08 18:57:34 +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
0c470b9202
CI: disable GRPC modules
...
we don't use this feature for now
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-06 17:16:53 +02:00
Nicola Murino
57309dcd5f
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-05 19:25:36 +02:00
Nicola Murino
72ba54b5be
WebAdmin: add CSV export for users, groups, folders, admins, roles
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-05 19:09:46 +02:00
Nicola Murino
18bf0c6121
WebAdmin: remove max value from password_strength
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-04 19:20:17 +02:00
Nicola Murino
f88ce014df
WebClient: update edit and preview file extensions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-04 19:18:00 +02:00
Nicola Murino
3b2f709aeb
WebClient: improve readability of upload progress
...
Fixes #1773
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-03 19:07:27 +02:00
Nicola Murino
6626c8846b
log: fix level for transfer logs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-03 19:07:07 +02:00
Nicola Murino
2ecd20d444
WebClient: make sure to upload files after the queue is populated
...
Ugly hack to prevent to start uploading files before the upload
queue is fully populated.
We should investigate if there is a better way
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-03 19:06:33 +02:00
Nicola Murino
46e64706ea
CI: update Go version
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-03 06:54:18 +02:00
Nicola Murino
bdc5493593
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-02 18:34:06 +02:00
Nicola Murino
424999dacd
kms: add support for Oracle Key Vault
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-10-02 18:14:05 +02:00
Nicola Murino
2ec6aecc5d
update README
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 20:05:30 +02:00
Nicola Murino
addee12510
update issue template for bug reports
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 20:03:48 +02:00
Nicola Murino
57c0ca90e5
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 19:53:34 +02:00
Nicola Murino
85c65dcad3
update i18next
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 19:52:52 +02:00
Nicola Murino
a34d9bc916
update css and js bundle
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 18:08:54 +02:00
Nicola Murino
27e98b85ce
WebAdmin: hide certs if they cannot be used
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 15:53:12 +02:00
Nicola Murino
ae5ecbe909
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-27 15:53:09 +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
433d45ed87
WebUI: add a token validation mode that allows checking the signature
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-21 14:06:25 +02:00
Nicola Murino
5f67fcdce5
CI: use Go 1.22 until issue 68976 is fixed
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-18 19:23:10 +02:00
Nicola Murino
9288010636
update links to the documentation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-17 19:43:26 +02:00
Nicola Murino
5162c5de87
WebUIs: add a nil check for token in refresh cookie method
...
token should never be null here because we have an authenticated user
however add the same check as elsewhere
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-16 20:11:02 +02:00
Nicola Murino
c2aed5ee92
WebUIs: fix some check conditions in js code
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-14 22:07:04 +02:00
Nicola Murino
44ebf2f48d
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-14 21:48:41 +02:00
Nicola Murino
6896d2bfb1
httpd: validate reference also for CSRF token in headers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-14 21:45:25 +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
8cf0491b65
Dockerfiles: fix FromAsCasing
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-07 11:47:50 +02:00
Nicola Murino
1f46df0d60
Dockerfile: add go mod verify
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-06 20:12:37 +02:00
Nicola Murino
1b928ef6b2
sqlite: execute PRAGMA optimize on startup
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-06 19:35:18 +02:00
Nicola Murino
db35a55a3d
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-06 19:24:57 +02:00
Nicola Murino
fd6126134e
execute provider events also for plugin auth
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-06 19:17:31 +02:00
Nicola Murino
3b5fba2eec
update deps
...
and also change the ACME request limit now that it is configurable
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-01 13:50:34 +02:00
Nicola Murino
eb5ffb940e
update translations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-09-01 13:44:16 +02:00
Nicola Murino
bb422ad5b9
GCS: add user agent
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-28 19:47:38 +02:00
Nicola Murino
53c3905ce3
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-25 17:36:30 +02:00
Nicola Murino
dc42680e1c
add pipeReaderAt and pipeWriterAt interfaces
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-25 17:35:28 +02:00
Nicola Murino
56ef9355da
add noopener noreferrer to href with target _blank
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-20 11:24:42 +02:00
Nicola Murino
d8e4978b61
smtp: replace deprecated method
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-17 09:17:22 +02:00
Nicola Murino
b9b370fbb8
add some pre-validation hooks
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-17 09:11:42 +02:00
Nicola Murino
dfeca3a972
update nFPM to 2.39.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-15 10:10:34 +02:00
Nicola Murino
a2934deaa6
CI: use Go 1.22.6 to build packages
...
We should investigate why building packages fails on archs other
than amd64 with Go 1.23.0
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-15 10:10:18 +02:00
Nicola Murino
2fbf608895
S3: add SSE customer key
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-15 10:09:06 +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
62426d25da
ip lists page: allow a missing description field
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-12 21:19:50 +02:00
Nicola Murino
fa710b36c2
httpd: allow to configure cache control header
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-12 21:19:44 +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
954c36c0a2
add fs providers hook
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-10 15:57:05 +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
4edecc5c77
resetpwd: also disable two-factor authentication
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-04 21:27:47 +02:00
Nicola Murino
51e9a689a6
configs: fix form type
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-03 20:39:16 +02:00
Nicola Murino
aa920432f3
WebUIs: update theme to version 1.0.4
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-08-03 15:53:30 +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
00155eaaf6
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-26 19:04:08 +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
6ba1198c47
sftpd: remove unused folder prefix from Connection struct
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-24 16:44:25 +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
b2926377b7
WebUI: switch favicon from ico to png
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-20 16:11:21 +02:00
Nicola Murino
99f47ca4e7
sftpfs: cache and reuse parsed private keys
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-16 19:20:28 +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
0952887157
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-13 17:44:13 +02:00
Nicola Murino
d010b26e1c
deb packages: update copyright year
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-13 14:06:11 +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
54bc3ea87d
restore: fix quota scan for users with folders associated via groups
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-03 20:35:12 +02:00
Nicola Murino
64a2f7aa4f
oidc refresh token: validate nonce only if set
...
As clarified in OpenID core spec errata 2, section 12.2
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-07-01 19:06:11 +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
97ffa0394f
update deps
...
adapt smtp configuration to changes in upstream library
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-30 09:18:04 +02:00
dependabot[bot]
dc91ec2056
Bump docker/build-push-action from 5 to 6 ( #1668 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 09:29:56 +02:00
Nicola Murino
356795f8b0
add a test case for listing files with long names
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-22 19:23:02 +02:00
Nicola Murino
3efcd94e14
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-21 20:25:35 +02:00
Nicola Murino
34bc21b3b7
update deps
...
fixes a bug in chi compressor Handler
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-21 18:32:59 +02:00
Nicola Murino
37845c2936
smtp: hide commit hash in user agent
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-21 18:31:42 +02:00
Nicola Murino
47924716c1
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-19 21:04:35 +02:00
Nicola Murino
1d60505629
fix test case failure on macOS with bolt provider
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-19 10:45:14 +02:00
Nicola Murino
9daf0ba767
update swagger UI to 5.17.14
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-18 20:47:39 +02:00
Nicola Murino
bdae378569
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-18 19:13:21 +02:00
Nicola Murino
363770ab84
WebClient shares: add a logout button
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-18 19:10:32 +02:00
Nicola Murino
8bc08b25dc
sftp: limit max file list
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-17 19:24:03 +02:00
Nicola Murino
e0c1b974c9
add cgo to build constraints
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-16 09:46:17 +02:00
Nicola Murino
39cf9f6943
Web UIs: remove duplication of supported languages
...
Fixes #1660
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-15 19:35:23 +02:00
Nicola Murino
d650defa08
remove duplicated jwt tokens validation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-15 16:19:37 +02:00
Nicola Murino
c5c42f072b
squash database migrations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-15 16:02:09 +02:00
Nicola Murino
bd5b32101f
csrf: reuse the cookie in reset password
...
no need to generate a new cookie each time.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-15 15:18:17 +02:00
Nicola Murino
8208ac817d
html pages: add robots meta tag
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-15 10:17:37 +02:00
Nicola Murino
a99c4879de
update dependencies
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-15 10:10:15 +02:00
Nicola Murino
01b666a78f
WebUIs: check login conditions before allowing password reset
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-14 19:34:42 +02:00
Nicola Murino
8294952474
WebUIs: refactor CSRF
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-14 18:09:32 +02:00
Nicola Murino
7fb5b1b996
reduce share token duration
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-08 12:13:38 +02:00
Nicola Murino
2749a98f26
CI: update workflow to 1.22.4
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-07 18:19:52 +02:00
Nicola Murino
08526da153
REST API: fix token invalidation after password change
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-07 18:19:05 +02:00
Nicola Murino
8269adf176
Windows: allow to override most of the "serve" flags from env files
...
The Windows specific code path was missing in 07710ad98
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-05 17:34:28 +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
3bd1eeacc1
make sure to return a fully populated user after plugin auth
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-06-04 18:14:09 +02:00
Nicola Murino
1698ec2eb3
EventManager: fix adding ObjectDataString for provider events
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-31 20:01:38 +02:00
Nicola Murino
07710ad98d
allow to override most of the "serve" flags from env files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-31 18:49:23 +02:00
Nicola Murino
f63bf7093c
logs: redact plugin arguments
...
may contain sensitive data
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-30 18:10:12 +02:00
Nicola Murino
0597bf1047
Windows setup: update MinVersion
...
Starting from Go version 1.21, Windows 10 or Windows Server 2016 are
required
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-30 18:07:17 +02:00
Nicola Murino
5bde4b92a2
fix test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-29 19:35:42 +02:00
Nicola Murino
faa994e3b3
update UI theme and dependencies
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-29 19:20:56 +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
6c94173ca1
WebUI branding: remove unused login_image_path from config
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-27 18:43:44 +02:00
Nicola Murino
d1e0560d28
WebAdmin status page: update the color of the labels
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-26 19:34:29 +02:00
Nicola Murino
52a94b2593
docker: build Alpine based image using golang:1.22-alpine3.20
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-25 16:53:13 +02:00
dependabot[bot]
9550fd2921
Bump alpine from 3.19 to 3.20 ( #1636 )
...
Bumps alpine from 3.19 to 3.20.
---
updated-dependencies:
- dependency-name: alpine
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-25 16:51:48 +02:00
Nicola Murino
a6549b08f9
dependabot: remove gomod
...
it is not really required, we update Go dependencies regularly
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-25 16:40:31 +02:00
Nicola Murino
ba3e2ecb5f
WebAdmin events page: fix rendering of some nullable strings
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-25 16:17:33 +02:00
Nicola Murino
2bd3b46e3f
update swagger ui
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-25 16:14:42 +02:00
Nicola Murino
7831ddaede
WebAdmin events page: set fixed sizes for potentially long fields
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-24 18:24:05 +02:00
Nicola Murino
613f2f1c24
WebUIs: set the lang attribute based on the chosen language
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-24 18:23:41 +02:00
Nicola Murino
525f33a07a
WebUIs: fix css loading order
...
Fixes #1628
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-24 18:22:58 +02:00
Nicola Murino
3f2604d33f
ssh: use 3072-bits for the auto-generated RSA key
...
This is the same as ssh-keygen
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-24 18:22:36 +02:00
Nicola Murino
b823bb04d2
WebAdmin: make the description visible in IP lists page
...
Fixes #1631
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-23 20:07:49 +02:00
Nicola Murino
9ba92d9495
WebUIs: fix datatables processing class name
...
was changed to dt-processing in datatables 2.0
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-23 19:47:45 +02:00
Nicola Murino
0127fc188b
SSH: allow to configure minimum key size for DHGEX
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-23 18:08:16 +02:00
Nicola Murino
3c7a651d27
plugin: don't consider file extension for env prefix
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-18 13:10:16 +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
b2bea85add
update README
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-16 10:40:48 +02:00
Nicola Murino
61bc0065f9
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-16 04:54:46 +02:00
Nicola Murino
19e9857fea
set version to 2.6.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-15 17:36:10 +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
Nicola Murino
eb0c6549c4
micro optimization
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-12 18:10:03 +02:00
Nicola Murino
e7627bfcd3
fix test cases after the change in the previous commit
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-10 15:58:07 +02:00
Nicola Murino
62f5d4cb89
fix the error message for errors that occur during file transfers
...
we should special case path errors and replace the fs path with the
virtual path.
Thanks to @nezzzumi for reporting this issue
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-10 15:12:05 +02:00
Nicola Murino
4502509c2d
pgsql: validate target_session_attrs
...
silently ignore invalid values
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-09 19:55:12 +02:00
Nicola Murino
2f577c9884
fix lint warnings
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-08 19:11:03 +02:00
Nicola Murino
499c7a432d
examples and tests: update dependencies
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-08 19:03:49 +02:00
Nicola Murino
5d24d665bd
add an util method to convert []byte to string
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-08 19:01:58 +02:00
Nicola Murino
65753fe23e
WebUIs: update datatables library
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-07 18:27:17 +02:00
Nicola Murino
96825be11b
update deps and workflows
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-07 18:17:06 +02:00
Nicola Murino
ce2e65d776
remove DCO
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-07 18:04:12 +02:00
Nicola Murino
ab320c9ecc
WebUIs: remove regex search
...
The default DataTables2 search is easier for end users
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-04 12:41:16 +02:00
Nicola Murino
76c912083e
update theme and js dependencies
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-04 12:03:55 +02:00
Nicola Murino
ea898ed104
silence lint warning
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-04 09:52:27 +02:00
Nicola Murino
0da12ef47b
ftp login: log is TLS is enabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-03 18:47:01 +02:00
Nicola Murino
92aa89263b
WebClient: hide submit button in profile page if no change is allowed
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-03 18:38:13 +02:00
Nicola Murino
a1af33c6aa
WebClient: allow to set TLS certificates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-03 18:30:03 +02:00
Nicola Murino
58a8b2b860
S3: add support for STS temporary credentials
...
Fixes #1558
Co-authored-by: Nazarii Mediukh <nazar.medykh@gmail.com >
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-02 20:01:30 +02:00
Nicola Murino
d9b91d074f
update README
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-02 19:27:41 +02:00
Nicola Murino
de62be6f21
update swagger ui
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-02 19:01:32 +02:00
Nicola Murino
acfd4c3e55
ftpd: allow to ignore ASCII transfer types
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-02 19:00:29 +02:00
Nicola Murino
dd446c805d
update sponsors section
...
remove Dendi
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-02 09:53:35 +02:00
Nicola Murino
d3f42e39db
move server version setting to common section
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-05-01 19:42:09 +02:00
Nicola Murino
7b5ad6c38d
workflows: update actions version
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-30 20:45:27 +02:00
Nicola Murino
8edce2055d
ftpd: fix random test cases failure on FreeBSD
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-30 19:50:52 +02:00
Nicola Murino
d19976cc3f
setup: update support link
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-28 17:08:59 +02:00
Nicola Murino
193d11587d
examples: update docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 14:40:20 +02:00
Nicola Murino
4d4d2ad801
remove obsolete rest-api-cli
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 14:11:14 +02:00
Nicola Murino
9b8407aeb0
remove fail2ban docs. Built-in defender should be used
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 14:09:41 +02:00
Nicola Murino
aa4a7aa6f6
update some descriptions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 14:01:33 +02:00
Nicola Murino
4bac74a149
remove docs and add a link to new documentation website
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 13:47:14 +02:00
Nicola Murino
dd9b0b151f
sftpfs: simplify client creation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 12:03:38 +02:00
Nicola Murino
0a8a0ee771
revert #450
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-27 10:50:25 +02:00
Nicola Murino
2bcf05ca45
refactor for secrets management in API and private key handling in SFTPFs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-26 16:17:24 +02:00
Nicola Murino
aa426016f2
sftpd: remove folder_prefix
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-26 11:43:25 +02:00
Nicola Murino
1fc0f21506
hooks: remove logging output from external programs
...
This reverts #1208 because the contributor did not respond to our
request to sign the CLA
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-26 11:13:16 +02:00
Nicola Murino
e1fdc10ef8
remove robots.txt endpoint
...
This reverts #833 because the contributor did not respond to our
request to sign the CLA
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-26 11:00:55 +02:00
Nicola Murino
26d19abf61
remove reading data provider username and password from file
...
This reverts #1455 because the contributor cannot sign the CLA
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-26 10:57:38 +02:00
Nicola Murino
590a1f1429
update deps and CI
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-04-26 10:26:53 +02:00
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
JK
2bbd8b3a5f
fix using rsync if running sftpgo as non-root user ( #1535 )
...
Signed-off-by: Jerome Küttner <j.kuettner@mittwald.de >
2024-04-15 12:52:08 +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
oftenoccur
019edf38f3
chore: fix function name in comment ( #1586 )
...
Signed-off-by: oftenoccur <ezc5@sina.com >
2024-04-12 19:51:51 +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
Nicola Murino
0d387d9799
prefer errors.As to errors.Is
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-21 15:46:38 +01:00
Nicola Murino
8648351fc7
WIP new WebAdmin: connections page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-20 15:35:05 +01:00
Nicola Murino
73b2573b14
WIP new WebAdmin: two factor auth page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-18 20:25:07 +01:00
Nicola Murino
91802fad3e
WIP new WebAdmin: profile, change password, message pages
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-18 19:18:57 +01:00
Nicola Murino
87451560e3
normalize common database errors
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-17 17:36:35 +01:00
Nicola Murino
5ac99ee556
WIP new WebAdmin: folder page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-16 19:51:37 +01:00
Nicola Murino
d939a82225
user: add TLS certificates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-14 21:36:23 +01:00
Nicola Murino
0722c4369b
WIP new WebAdmin: folders page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-14 16:59:27 +01:00
Nicola Murino
1a0f734a9c
WIP new WebAdmin: remove some hard coded strings
...
so they can be localized
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-14 09:41:39 +01:00
Nicola Murino
bf94f8b87c
WIP new WebAdmin: group page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-14 09:09:42 +01:00
Nicola Murino
5c8214e121
WIP new WebAdmin: groups page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-11 19:26:13 +01:00
Nicola Murino
e6c8b0c86b
Merge branch 'main' of github.com:drakkan/sftpgo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-10 20:16:28 +01:00
Nicola Murino
03ebd5b841
fix a lint warning from the previous PR
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-10 20:15:51 +01:00
Anthrazz
c21b434c4e
defender: implement logging of events and bans ( #1495 )
...
defender: implement logging of events and bans
Signed-off-by: Anthrazz <25553648+Anthrazz@users.noreply.github.com >
2024-01-10 20:12:57 +01:00
Nicola Murino
113724f340
Merge branch 'main' of github.com:drakkan/sftpgo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-10 20:01:54 +01:00
Nicola Murino
9cde0909b0
test cases: replace expired TLS certificates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-10 19:53:48 +01:00
Nicola Murino
86eab21be8
WebAdmin: fix parsing form field
...
some field names changed with the new UI
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-10 18:49:20 +01:00
Nicola Murino
73d7779d89
Docker Alpine: update to 3.19
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-09 20:12:58 +01:00
Nicola Murino
9c31111249
docs: update OpenSUSE instructions to auto refresh the repo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-09 20:09:38 +01:00
Nicola Murino
e1b5d2fe39
WebAdmin: use the new UI for user pages
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-09 19:54:08 +01:00
Nicola Murino
ca880f6cbb
WebAdmin: completed base page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-01 20:09:15 +01:00
Nicola Murino
784b7585c1
remove end year from Copyright notice in files
...
so we don't have to update all the files every year
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2024-01-01 11:31:45 +01:00
Nicola Murino
ce0693feda
WebUIs: move more shared components to common/base.html
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-31 17:35:14 +01:00
Nicola Murino
3e47a4f664
WebAdmin: use the new theme for the login and setup page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-30 19:12:22 +01:00
Nicola Murino
7318d1f32a
Web: move baselogin template to common
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-30 14:13:25 +01:00
Nicola Murino
259566fcce
WebUI: allow absolute URLs for disclaimers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-28 19:59:06 +01:00
Nicola Murino
3121c35437
WebClient: do not silently overwrite files/directories
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-28 18:43:07 +01:00
Nicola Murino
e35e07acdb
WebClient: propose to add files for empty dirs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-26 19:07:50 +01:00
Nicola Murino
a65e7782de
WebClient shares: improve feedback after link copy
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-26 09:23:43 +01:00
Nicola Murino
a9341d7c0f
WebClient: various UI/UX improvements
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-26 08:59:52 +01:00
Nicola Murino
723c15fb3e
add IDCS to the sponsors section, thank you!!!
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-24 14:07:59 +01:00
Nicola Murino
c7ba326540
update deps in tests and example projects
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-21 18:07:03 +01:00
Nicola Murino
61b5f97bf2
scp: close transfers before sending upload errors
...
This change should fix the random failure in TestSCPTransferQuotaLimits
because the quota is already updated when the scp command ends.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-21 18:03:07 +01:00
Nicola Murino
d396c24ad4
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-18 20:49:36 +01:00
Nicola Murino
5f30ea3658
tests: add some logs to debug some sporadic test failures
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-17 10:46:21 +01:00
Nicola Murino
ba472c3c67
portable mode: fix disabling services if enabled using a config file
...
clarify that a config file/env vars can still be used for further
customizations
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-17 09:09:18 +01:00
Nicola Murino
00ce4e4685
EventManager: add uid and extension placeholders
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-16 11:39:32 +01:00
Nicola Murino
26a3c3085b
WebClient: uniform translation indentation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-14 19:45:15 +01:00
Nicola Murino
f6fac68e1f
update crowdin.yml
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-14 19:44:50 +01:00
Nicola Murino
4cc95f7269
Update Crowdin configuration file
2023-12-14 19:40:06 +01:00
Nicola Murino
fe41109c76
WebClient: add toast notifications
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-14 10:36:25 +01:00
Nicola Murino
cec6420909
add some spaces between sponsor logos
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-13 19:02:01 +01:00
Nicola Murino
55847e7f0e
add Jump Trading to the sponsors section, thank you!!!
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-13 18:10:00 +01:00
Nicola Murino
c76a18168b
WebClient: add language switcher, complete localization support
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-13 18:03:42 +01:00
Nicola Murino
f721cf5c40
WebClient: fix test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-12 19:04:32 +01:00
Nicola Murino
ff2eed8ee9
portable mode: fix panic while validating TLS certificates
...
Fixes #1480
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-12 18:18:19 +01:00
Nicola Murino
61fe7c39a7
WebClient: allow to pass args for localized errors from the backend
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-12 18:04:14 +01:00
Nicola Murino
691133d7c8
WebClient: improve test coverage
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-10 18:34:09 +01:00
Nicola Murino
8ce9af4adf
dataprovider: sort related resources by name
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-10 17:50:48 +01:00
Nicola Murino
d8b040e57c
refuse to start if the config file is invalid
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-10 16:50:15 +01:00
Nicola Murino
c71f0426ae
WebClient WIP: add support for localizations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-12-10 16:40:13 +01:00
Nicola Murino
7572daf9cc
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-28 20:14:57 +01:00
Nicola Murino
56d305fde4
CI: re-enable tests on FreeBSD
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-25 19:03:28 +01:00
Nicola Murino
74836af66e
WebUI: extract a common struct for all pages
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-25 18:30:56 +01:00
Nicola Murino
ed828458ab
WebUI add title to all pages
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-25 18:11:10 +01:00
Nicola Murino
6175acb572
add support for reading more secrets from files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-24 20:43:50 +01:00
patrickap
a91cf22e0f
provider: support for username and password file ( #1455 )
...
Signed-off-by: patrickap <patrick.schlageter@web.de >
2023-11-24 20:28:51 +01:00
Nicola Murino
62854e4802
WebClient: use flatpickr as time picker
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-22 20:14:49 +01:00
Nicola Murino
bde5713ed6
WebClient: cleanup some js code
...
also returns an error if file or directory names contain a slash
instead of silently replacing slashes with a similar symbol
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-22 15:57:33 +01:00
Nicola Murino
c14484856e
WebClient: update pdfobject
...
also add csp nonce when loading javascript files
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-21 16:24:43 +01:00
Nicola Murino
84e387cc9c
WebClient: fix state for shares page
...
rebuilt the theme and removed unused components
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-19 13:27:49 +01:00
Nicola Murino
ac309cf9a3
WebClient: remove data schema usage from mfa page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-18 20:06:31 +01:00
Nicola Murino
59bdd4bc4e
WebClient: add support for more languages to the editor
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-18 14:17:28 +01:00
Nicola Murino
271d958acf
S3: fix compatibility with the latest SDK
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-18 12:00:53 +01:00
Nicola Murino
bfa17314c6
keyboard interactive auth: respect hook disabled setting
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-18 11:28:15 +01:00
Nicola Murino
6439569f36
WebClient: add csp nonce to CodeMirror
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-18 11:18:31 +01:00
Nicola Murino
50a9ac0163
WebClient: use standard HTML5 video tag
...
video-js does not work well with CSP
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-17 21:42:22 +01:00
Nicola Murino
1a765c7ff7
WebClient share: add a download page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-17 19:10:03 +01:00
Nicola Murino
61e6cc6985
WebClient: remove remaining inline onclick events
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-16 18:55:14 +01:00
Nicola Murino
37b0c229fc
Web UI: propagate CSPNonce to templates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-15 18:48:16 +01:00
Nicola Murino
d32d0d7587
WebClient: remove href to javascript
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-14 19:59:53 +01:00
Nicola Murino
3c522961af
WebClient: remove inline onclick from file edit page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-14 19:41:20 +01:00
Nicola Murino
2d9e7dfba2
WebClient: remove inline onclick from MFA page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-14 19:38:09 +01:00
Nicola Murino
4a737be421
WebClient: replace some inline onclick with event listeners
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-13 22:09:55 +01:00
Nicola Murino
450ae868ff
WebClient: update theme to the latest version
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-12 16:28:21 +01:00
Nicola Murino
c8531a5492
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-10 20:39:51 +01:00
Nicola Murino
c5c5860012
ssh: allow to configure public key auth algorithms
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-09 20:03:04 +01:00
Nicola Murino
f83600225b
remove support for sha256-simd
...
the performance difference are no longer relavant.
We can restore this support if anyone reports performance regression
on any particular hardware
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-09 09:34:20 +01:00
Nicola Murino
a1346aa071
httpd: fixed logging of refused requests due to rate limiting/blocklisting
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-08 19:11:00 +01:00
Nicola Murino
894e12e285
WebClient: refactor alerts
...
Fix events handling on disabling MFA
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-07 18:52:05 +01:00
Nicola Murino
96c614550f
WebClient: remove inline style from HTML elements
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-07 18:09:24 +01:00
Nicola Murino
6295be786f
WebClient: add a ping URL
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-06 19:58:39 +01:00
Nicola Murino
789d61f170
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-06 19:17:02 +01:00
Nicola Murino
d5a9bec3da
WebClient: allow bulk move or copy actions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-06 19:10:35 +01:00
Nicola Murino
9e9d6a5585
WebClient: allow to share multiple items from the files page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-06 18:46:12 +01:00
Nicola Murino
654ce2e349
s3: allow to skip TLS verification
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 19:27:11 +01:00
Nicola Murino
9456884584
WebClient: fix display of long usernames in dropdown menu
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:33:16 +01:00
Nicola Murino
010c36cab5
WebClient: allow to set a list of default CSS
...
The new WIP WebClient requires 2 CSS files
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:30:33 +01:00
Nicola Murino
b872c423ee
Remove external integrations, they are not supported in the new WIP WebClient
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:30:21 +01:00
Nicola Murino
2ee2098a48
WebClient: add test cases for new backend code
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:30:17 +01:00
Nicola Murino
1acc2151cf
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:30:11 +01:00
Nicola Murino
0671178e29
WebClient: fix test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:30:06 +01:00
Nicola Murino
7991b07165
WebClient: update video js
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:29:21 +01:00
Nicola Murino
37facd21d4
WebClient shares: fix view pdf files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:29:15 +01:00
Nicola Murino
b4d9bf9c16
update issue templates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:29:10 +01:00
Nicola Murino
5452c3c121
update swagger ui
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:29:06 +01:00
Nicola Murino
9322701615
WIP: new WebClient UI
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-05 17:26:29 +01:00
Nicola Murino
2fdcb44c14
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-03 17:26:45 +01:00
Nicola Murino
87b12af932
static files: refactor neutered http.FileSystem
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-03 17:22:28 +01:00
Nicola Murino
75c2bcff8f
TLS: disable by default cipher suites using RSA key exchange
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-01 18:35:23 +01:00
Nicola Murino
822a05aa20
TLS ciphers: use a more secure default if no preference is specified
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-01 16:39:04 +01:00
Nicola Murino
4139c79a77
improve docs and update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-01 10:58:07 +01:00
Nicola Murino
379f87f571
loaddata: do not reveal the existence of the files in error messages
...
return a generic error message
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-01 10:54:20 +01:00
Nicola Murino
51febb19fa
httpd: add database based token manager
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-11-01 10:54:14 +01:00
Nicola Murino
5c938e46b7
allow to restrict the env vars passed to plugins
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 15:19:30 +01:00
Nicola Murino
9a7a3b00dc
EventManager commands: allow to retrieve env vars from the process env
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 11:52:53 +01:00
Nicola Murino
daf643596d
WebClient: fix icon for 0 byte files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 08:27:00 +01:00
Nicola Murino
bc8d71dfc7
editfiles: fix label
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 08:18:58 +01:00
Nicola Murino
8c31cc47b0
web UIs: fix dismissable alerts
...
alerts can now be shown again after the user dismissal
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 08:17:24 +01:00
Nicola Murino
59378104b7
webclient: fix link for shares with a trailing space
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 07:33:56 +01:00
Nicola Murino
116be362ba
update nfpm to 2.34.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-29 07:15:14 +01:00
Nicola Murino
e1c3097546
event rules: add test case for rename after upload
...
This is a common pattern in WinSCP
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-28 21:02:14 +02:00
Nicola Murino
9bcdc90ca8
add basic test cases for ALPN protocols
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-28 13:07:23 +02:00
Nicola Murino
7da5d8fcea
config: rename protocols to tls_protocols
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-28 12:42:05 +02:00
Nicola Murino
4a15775f65
allow to configure ALPN protocols
...
Fixes #1406
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-28 12:35:26 +02:00
Nicola Murino
691e44c1dc
add more upload modes
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-25 19:05:37 +02:00
Nicola Murino
90bce505c4
improve conditional resuming of uploads
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-24 19:14:33 +02:00
Nicola Murino
320e404e4d
vfs: make PipeWriter an interface
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-23 09:56:46 +02:00
Nicola Murino
e3c4ee0833
add support for conditional resuming of uploads
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-23 09:56:40 +02:00
CUI Hao
f1e52d99ba
webadmin: fix typo on webpages ( #1438 )
...
Signed-off-by: CUI Hao <cuihao.leo@gmail.com >
2023-10-23 09:54:50 +02:00
Nicola Murino
fc460922ad
events: fix event type string conversion
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-21 11:25:39 +02:00
Nicola Murino
ba9df51b2e
fix or suppress lint warnings detected by golangci-lint 1.55.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-20 20:31:17 +02:00
Nicola Murino
6282f95bd3
improve temp dirs handling an some logs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-17 18:06:52 +02:00
Nicola Murino
254824b781
Docker: update to bookworm
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-13 15:55:27 +02:00
Nicola Murino
40d0945450
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-11 18:48:29 +02:00
Nicola Murino
63972edb96
httpd: add a test case for StripSlash middleware
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-08 10:46:17 +02:00
Nicola Murino
da0eb5037e
httpd: skip StripSlash middleware for URL ending with multiple slashes
...
Fixes #1434
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-08 10:40:08 +02:00
Nicola Murino
4b685b21a2
configs: fix backward compatibility
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-07 22:02:10 +02:00
Nicola Murino
f05fe78737
ssh: refactor host key algorithm restriction
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-07 16:07:19 +02:00
Nicola Murino
19a95d8c55
httpfs: limit body size
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-07 11:28:16 +02:00
Nicola Murino
64c7588a44
sftpd: improve permissions checking test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-10-04 19:41:50 +02:00
Nicola Murino
c55196a525
portable mode: allow to set config dir/config file
...
The -c flag is no longer used for SSH commands.
This is a backward incompatible change
Fixes #1423
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-25 18:20:09 +02:00
Nicola Murino
1da24ea0af
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-24 08:44:16 +02:00
Nicola Murino
75278d64de
docs repo: add instructions for Suse/OpenSuse
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-14 19:41:48 +02:00
Nicola Murino
e54fd46a9e
SQL providers: make sure we don't exceed the allowed placeholders
...
Fixes #1415
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-12 19:15:40 +02:00
Nicola Murino
fac022090d
httpd: disable directory index for static files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-08 19:55:45 +02:00
Nicola Murino
dc7c829b73
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-08 19:19:12 +02:00
Nicola Murino
aefcea034a
validate API key scope
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-08 18:54:11 +02:00
Nicola Murino
1cbaa7c77b
WebUIs: update the css to hide the theme hard coded background image
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-09-08 18:07:23 +02:00
Nicola Murino
5ef0a2ed4b
External/plugin auth: check for password change after empty response
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-26 12:04:41 +02:00
Nicola Murino
a592e388cd
ftpd: advertise TLS support only if really enabled
...
if we don't have a global TLS configuration, advertise TLS only on the
bindings where it is configured instead of failing at runtime
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-21 15:48:29 +02:00
Nicola Murino
5d4145900f
CI FreeBSD: disable until Go 1.21 is available in Quarterly
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 23:05:40 +02:00
Nicola Murino
b94ec7597c
smtp: set default port to 587
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 22:32:03 +02:00
Nicola Murino
c437f0ad76
logger: update mail adapter
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 21:42:41 +02:00
Nicola Murino
7f7d2e57c2
docs: minor improvements
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 19:22:38 +02:00
Nicola Murino
397cad93df
httpd request logger: set log level based on the status code
...
Fixes #1393
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 19:01:16 +02:00
Nicola Murino
ce8dbda44b
CI FreeBSD: use Go 1.21
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 16:07:12 +02:00
Nicola Murino
62b87083bb
ftpd: add support for TLS session reuse
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-20 16:00:36 +02:00
Nicola Murino
de35eb77cb
ftpd: use the extra field for certificate authentication
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-18 14:39:28 +02:00
Nicola Murino
163662a65a
eventmanager: replace placeholders in multipart filename
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-14 14:34:25 +02:00
Nicola Murino
6395fa0b67
eventmanager: fix params copy
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-12 19:03:47 +02:00
Nicola Murino
f03fdd1155
add object metadata to notification events
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-12 18:51:47 +02:00
Nicola Murino
8ab4a9aa70
all: update to Go 1.21
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-10 19:23:55 +02:00
Nicola Murino
6c482a248d
portable mode: add WebClient
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-10 19:02:55 +02:00
Nicola Murino
25450d9efc
fix event validation test case
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-09 19:00:59 +02:00
Nicola Murino
60cc07bc81
eventmanager: add DELETE method to HTTP notifications
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-09 18:44:17 +02:00
Nicola Murino
d8dd4b2131
CI: fix "Build packages" workflow after Go 1.21 release
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-08 19:47:12 +02:00
Nicola Murino
b7b54b54c3
remove Chinese README
...
It's constantly outdated and I'm unable to maintain it.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-08 18:31:48 +02:00
Nicola Murino
5011002d84
allow to set umask on *NIX platforms
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-08 18:30:42 +02:00
Nicola Murino
f5f56129df
add VPS2day to the sponsors section, thank you!!!
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-07 19:36:31 +02:00
Nicola Murino
63212bb033
remove the legacy PreferServerCipherSuites configuration
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-07 19:11:48 +02:00
Nicola Murino
830116bcf2
shares: allow to force an expiration date
...
this is a soft requirement, users can reactivate expired shares by
updating the expiration date
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-07 19:07:20 +02:00
Nicola Murino
ea96fe9a26
postgres provider: add support for "allow" and "prefer" SSL modes
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-05 20:01:14 +02:00
Nicola Murino
ebdda1b62e
pre-login hook doc: add a note about partial updates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-05 12:12:16 +02:00
Nicola Murino
54a76e8c45
s3: remove usage of the now deprecated EndpointResolver
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-05 11:58:01 +02:00
Nicola Murino
132d18d5d1
sftpd: fix keyboard interactive test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-04 21:32:14 +02:00
Nicola Murino
75e6ef6132
sftpd: remove diffie-hellman-group18-sha512 KEX
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-04 21:10:39 +02:00
Nicola Murino
af0d7b48ad
sftpd: refactor multi-step authentication
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-08-04 20:56:23 +02:00
guangwu
c03bcb3a8a
fix: typo ( #1381 )
...
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com >
2023-08-04 09:20:25 +02:00
Nicola Murino
39259ad6a9
Add a link to the Azure Kubernetes Service offering
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-31 19:47:04 +02:00
Nicola Murino
2c070b7eda
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-31 19:44:36 +02:00
Nicola Murino
0413c0471c
add a specific permission to manage folders
...
creating/updating folders embedded in users is no longer supported.
Fixes #1349
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-23 18:48:49 +02:00
Bruce Weirdan
e4be4048e3
Expand reference to http clients in hooks docs ( #1359 )
...
* Expand reference to http clients in hooks docs
Before, it wasn't really clear where clients were configured and that their configuration also affected headers.
Signed-off-by: Bruce Weirdan <weirdan@gmail.com >
* Update more mentions of HTTP clients
Signed-off-by: Bruce Weirdan <weirdan@gmail.com >
---------
Signed-off-by: Bruce Weirdan <weirdan@gmail.com >
2023-07-18 15:37:57 +02:00
Nicola Murino
00366fce07
shares: respect password strength
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-16 16:51:38 +02:00
Nicola Murino
e88172dd7e
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-15 12:35:30 +02:00
Nicola Murino
a5cb26daf2
pgx: revert to an older version
...
pgx 5.4.1 has a memory leak
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-08 17:08:31 +02:00
Nicola Murino
4f8794a255
file patterns: fix denied except rules
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-08 17:02:47 +02:00
Nicola Murino
5e5a09f164
make GroupConditionPatterns uniform with the accepted PR
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-07-02 10:57:29 +02:00
David Stäheli
f78e4b0443
check for multiple inverse matches ( #1332 )
...
* update check for multiple inverse matches
Signed-off-by: David Stäheli <mistrdave@gmail.com >
* after match, direct return true
Signed-off-by: David Stäheli <mistrdave@gmail.com >
* apply same behaviour to checkEventGroupConditionPatterns
Signed-off-by: David Stäheli <mistrdave@gmail.com >
* fix spellmistake of function name
Signed-off-by: David Stäheli <mistrdave@gmail.com >
---------
Signed-off-by: David Stäheli <mistrdave@gmail.com >
2023-07-02 09:49:21 +02:00
Nicola Murino
51d8f3b436
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-29 14:42:16 +02:00
Nicola Murino
ecc01f4f37
Windows setup: add PrepareToInstall event function
...
so the service is stopped before the installation starts and
we avoid the force close app warning
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-29 11:23:04 +02:00
Joshua Treudler
2af42da371
fixed typo
...
Signed-off-by: Joshua Treudler <joshua@treudler.net >
2023-06-28 13:35:53 +02:00
Nicola Murino
d1e4ee7bc8
config: fix loading commands args from env vars
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-25 21:31:57 +02:00
Nicola Murino
4440c49174
add auth plugin
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-25 18:57:30 +02:00
Nicola Murino
76964a6b85
check second factor after plugin authentication
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-25 07:16:26 +02:00
Nicola Murino
66f360e66c
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-18 07:15:39 +02:00
Nicola Murino
a38ce460bb
WebClient: show user quota
...
Also remove per-source data transfer limits. This was an
oversight
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-16 21:06:21 +02:00
Nicola Murino
80f21d1c91
WebAdmin: don't show hidden deny policy for allowed patterns
...
The deny policy only applies to denied patterns, showing an allowed
pattern as hidden will confuse users
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-14 19:00:52 +02:00
Nicola Murino
1c1b76011f
WebAdmin: relax key prefix validation
...
try to automatically fix leading and trailing slashes
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-12 19:13:16 +02:00
Nicola Murino
957d3a7b4d
CockroachDB: use unordered_unique_rowid for primary keys
...
sequential values in a primary key does not perform as well
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-10 18:23:35 +02:00
Nicola Murino
d7d7b0bbf0
dataprovider: fix sql for CockroachDB
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-10 15:32:51 +02:00
Nicola Murino
a3156de4a8
CI: fix MariaDB initialization
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-10 14:09:50 +02:00
Nicola Murino
99424bfa58
squash database migrations
...
SQLite: remove AUTOINCREMENT from primary keys. It is not needed.
Postgres: switch from serial to identity for primary keys.
This means Postgres < 10 will not work in v2.6.x
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-10 13:06:24 +02:00
Nicola Murino
d120957736
CI: set Go version to 1.20.5
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-08 19:44:19 +02:00
Nicola Murino
324d695d93
try to fix a randomly failing test case
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-08 19:41:58 +02:00
Nicola Murino
9d60972743
WebClient: redirect to the requested URL after login
...
This feature is only useful and enabled for file manager urls
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-08 18:14:47 +02:00
Nicola Murino
f938af5a61
WebClient: fix sorting by size
...
Fixes #1313
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-04 21:45:31 +02:00
Nicola Murino
9ccdc3a597
add code of conduct
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-04 09:03:58 +02:00
Nicola Murino
3499edd5c2
WebUI: remove leading and trailing spaces from user-submitted input
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-04 08:45:17 +02:00
Nicola Murino
9470cd6e69
multi-node installations: use a different backup path for each node
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-03 17:54:24 +02:00
Nicola Murino
1f7433e798
getting started guide: add a link to the available installation methods
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-03 17:29:12 +02:00
Nicola Murino
4ba3d026b4
update README
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-03 17:19:51 +02:00
Nicola Murino
98c639579f
add issue templates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-03 17:13:43 +02:00
Nicola Murino
74e5999c63
added support for verifying sha256/sha512 passwords hash
...
this simplifies the migration of users from some proprietary products
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-03 16:58:45 +02:00
Nicola Murino
48939b2b4f
add XOAUTH2
...
start the countdown, let's see how long it takes for your favorite
Go-based proprietary SFTP server to notice this change, copy the SFTPGo
code and thus violate its license, and announce the same feature :)
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-06-03 16:17:32 +02:00
Nicola Murino
8339fee69d
smtp: add debug option
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-30 19:11:28 +02:00
Nicola Murino
a2fc7d3cc5
update security policy
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-26 19:22:37 +02:00
Nicola Murino
ae7954eee2
WebUIs: fix disclaimer paths
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-26 17:59:38 +02:00
Nicola Murino
8f934f7c82
email action: allow to configure Bcc
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-25 19:55:27 +02:00
Nicola Murino
b2781e0bfc
WebAdmin: Set TLS username to empty string if disabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-25 18:24:51 +02:00
Nicola Murino
e11473cf52
config: limit the size for env files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-25 05:25:28 +02:00
Nicola Murino
f8f8962ccb
file patterns: evaluate allowed filters before the denied ones
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-24 19:56:53 +02:00
Nicola Murino
2238043efd
EventManager: add email field placeholder
...
Fixes #1288
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-24 19:08:51 +02:00
Nicola Murino
d9426cef20
docker: update docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-23 13:06:42 +02:00
Nicola Murino
052d586364
docker: remove distroless
...
Fix #1295
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-23 13:04:42 +02:00
Nicola Murino
11ba41e903
Revert "Docker: try to add CAP_NET_BIND_SERVICE to the binary"
...
This reverts commit 8d12872608 .
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-23 12:59:49 +02:00
Nicola Murino
255985b7b0
Windows: start the service in a goroutine
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-23 12:59:27 +02:00
Nicola Murino
2b77709a04
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-21 09:23:24 +02:00
Nicola Murino
5b4a1bda2e
set version to 2.5.1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-20 17:39:23 +02:00
Nicola Murino
3f94f6d0e7
proxy protocol: fix require policy in some edge cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-20 16:08:57 +02:00
Nicola Murino
d28a53a6cf
webdav: fix caching with external auth/plugins
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-20 12:39:07 +02:00
Nicola Murino
963cec124e
oidc docs: fix typo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-18 18:43:46 +02:00
Nicola Murino
bbaca578cd
EventManager: add content type option for email config
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-17 19:28:13 +02:00
Nicola Murino
da30389989
fix OpenAPI schema, update js deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-17 18:24:33 +02:00
Nicola Murino
52ec36dbd6
update pwd reset template. Update deps and use new features from the OIDC library
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-17 18:10:57 +02:00
Artem Kajalainen
b524d178dd
docs: add info about IRSA for S3 authn
...
Signed-off-by: Artem Kajalainen <artem@iki.fi >
2023-05-16 19:35:13 +02:00
Nicola Murino
e0d9b8bddf
WebClient: update password change timestamp after password reset
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-16 19:15:45 +02:00
Nicola Murino
19da923369
webdav: add support for parsing more time formats
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-16 18:51:42 +02:00
Nicola Murino
824a70b22d
Docker Alpine: update to 3.18
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-16 18:23:41 +02:00
Nicola Murino
cea70d5d6b
update security policy
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-16 18:17:35 +02:00
Nicola Murino
adad8e658b
osfs: add optional buffering
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-16 18:08:14 +02:00
Nicola Murino
e10487ad57
EventManager: improve automatic detection of JSON body
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-12 19:22:50 +02:00
Nicola Murino
4eded56d5f
add support for log events
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-12 18:34:59 +02:00
Krasimir Popov
43d011f125
Fixing double the typo in README
...
Signed-off-by: Krasimir Popov <kjpopovbg@gmail.com >
2023-05-08 15:50:28 +02:00
Daniel Hammer
a292044501
Aligned help example with v2.5.0 output
...
Signed-off-by: Daniel Hammer <daniel.hammer+oss@gmail.com >
2023-05-06 13:11:48 +02:00
Nicola Murino
05c54614b2
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-05 19:12:50 +02:00
Nicola Murino
32020e236f
set version to 2.5.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-05-03 13:07:48 +02:00
Nicola Murino
b9cf6e5083
Add the link to the new Azure offer for Windows
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-26 13:53:05 +02:00
Nicola Murino
ee5b7290a0
EventManager: add more debug logs for HTTP actions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-25 20:27:40 +02:00
Nicola Murino
fd6a44c562
OpenAPI: fix filesystem action types enum
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-23 14:46:09 +02:00
Nicola Murino
8d12872608
Docker: try to add CAP_NET_BIND_SERVICE to the binary
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-19 13:41:59 +02:00
Nicola Murino
712f2053a4
REST API dumpdata: allow to specify the resources to dump
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-18 18:11:23 +02:00
Nicola Murino
54462c26f2
WebAdmin: display undefined js objects as empty string
...
This is probably something that changed in the recent datatables update,
before it was handled automatically
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-16 15:38:49 +02:00
Nicola Murino
d0a171558d
fix test cases for system commands
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-15 16:09:53 +02:00
Nicola Murino
1ade850557
add a log to better debug a randomically failing test case
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-15 15:08:42 +02:00
Nicola Murino
466f2e88b3
WebClient: fix rename
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-15 14:16:26 +02:00
Nicola Murino
3cb53b2c33
fix cross folder copy
...
also update css/js deps and other minor changes
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-13 18:23:42 +02:00
Nicola Murino
6279216c2e
webdav: fix GET as PROPFIND if a prefix is defined
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-09 20:17:37 +02:00
Nicola Murino
5219c1fdd1
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-08 19:00:05 +02:00
Nicola Murino
4294659785
try harder to convert transfer errors in well-known error types
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-08 14:55:04 +02:00
Nicola Murino
f03f1b0156
improve test cases coverage
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-08 10:01:48 +02:00
Nicola Murino
184b99d500
user: add a field to indicate whether the password is set
...
A structure similar to the one used for secrets would be better,
but we don't want to break backwards compatibility.
Also document that omitting the password field in the request body
will preserve the current password when updating a user using the
REST API. Added a test case for this.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-06 18:22:09 +02:00
Nicola Murino
74f05e5305
EventManager: check the parent directory before creating a zip
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-03 18:53:13 +02:00
Nicola Murino
aefa7f77c2
add a link to the Terraform provider
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-04-02 18:48:56 +02:00
Nicola Murino
084d4109b8
WebAdmin: ensure to sanitize data before rendering
...
Thanks to Polina Zvorykina, VK for reporting this issue
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-28 12:28:38 +02:00
Nicola Murino
b60d3f680e
user as JSON: rename 2fa_protocols to two_factor_protocols
...
This is a breaking change, but it is necessary to make JSON serialization of
users more compatible.
For example, Terraform does not allow JSON fields starting with numbers
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-26 15:57:53 +02:00
Nicola Murino
ee90bfb506
add unixcrypt build tag
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-26 10:33:30 +02:00
Nicola Murino
e17068a76f
postgres provider: add support for load balancing
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-25 09:29:13 +01:00
Nicola Murino
354fc9b3d6
OIDC: allow to extract custom fields from sub-structs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-23 18:15:07 +01:00
Nicola Murino
e29f6857db
EventManager: add IDP login trigger and check account action
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-22 19:02:54 +01:00
Nicola Murino
40344ec0ff
CI FreeBSD: compile and run tests using the same user
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-17 12:51:37 +01:00
Nicola Murino
783dff369b
CI FreeBSD: install git
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-15 20:20:52 +01:00
Nicola Murino
72e0325d05
run test cases also on FreeBSD
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-15 19:44:45 +01:00
Nicola Murino
2710207779
update jquery, go deps, actions/setup-go to v4
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-15 18:44:08 +01:00
Nicola Murino
b719d03ebe
WebAdmin: improve fs config layout
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-12 15:08:32 +01:00
Nicola Murino
84396343da
fix some codeql warnings
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-10 17:30:06 +01:00
Nicola Murino
14242b59a2
oidc docs: add env vars config
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-09 18:58:36 +01:00
Nicola Murino
dad346cee8
add codeql
...
update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-05 16:38:29 +01:00
Nicola Murino
04282f94a4
update js and css deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-04 16:14:16 +01:00
Nicola Murino
0423e8f157
httpd: generate defender events for failed 2fa and password resets
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-04 13:55:48 +01:00
Nicola Murino
bdcee06665
WebClient: remove the default upload size limit
...
Users who want a limit can still set it.
By default, we want to allow uploads of any size
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-02 18:26:21 +01:00
Nicola Murino
ae90ed2ba0
Docker: try again to add armv7 support
...
Let's see if the actions are more stable now
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-02 18:11:26 +01:00
Nicola Murino
4ba3ae876d
allow to set password strength at user/group level
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-02 09:11:30 +01:00
Nicola Murino
662164c7ff
smtp: require templates only if a server is configured or in service mode
...
This regression was introduced after recent changes to allow setting the SMTP
settings from the WebAdmin UI.
Fixes #1217
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-03-01 18:31:02 +01:00
Nicola Murino
fad6af11e5
don't expose error messages from pre-actions and post connect hooks
...
always return a generic error instead to avoid leaking internal info
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-28 18:01:09 +01:00
Nicola Murino
dba088daed
printf: replace %#v with the more explicit %q
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-27 19:19:57 +01:00
Nicola Murino
a23fdea9e3
ftpd: allow hostnames as passive IP
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-27 19:19:50 +01:00
Nicola Murino
561976bcd0
WebClient: return proper status code for http.MaxBytesError
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-27 11:03:05 +01:00
Nicola Murino
874776bd12
also capture logs for pre-login and check-password commands
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-26 15:15:34 +01:00
Felix Eckhofer
ec67b67e9e
Send output from external_auth_hook to logs
...
Signed-off-by: Felix Eckhofer <felix@eckhofer.com >
2023-02-26 07:39:34 +01:00
Felix Eckhofer
71f691b208
Fix potential ldap injection
...
Signed-off-by: Felix Eckhofer <felix@eckhofer.com >
2023-02-26 07:10:58 +01:00
Nicola Murino
e0cbb966f0
eventmanager: skip password expiration check for expired users
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-25 16:33:39 +01:00
Nicola Murino
df9d47900a
eventmanager: add user/folders as comma separated string in errors
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-25 15:26:38 +01:00
Nicola Murino
b8496c4d6e
eventmanager: add user expiration check
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-25 13:06:09 +01:00
Nicola Murino
b0cfaf189c
portable mode: allow to read the password from a file
...
Fixes #1206
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-25 10:24:23 +01:00
Nicola Murino
195cb9f081
enable keyboard interactive authentication by default
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-24 20:22:32 +01:00
Nicola Murino
9a10740218
allow ACME HTTP-01 challenge with https redirect from port 80
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-24 20:08:14 +01:00
Nicola Murino
7bcd79a70a
telemetry: improve test cases
...
remove an unnecessary nil check in tlsutils added as workaround
to make telemetry test cases work
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-24 11:05:46 +01:00
Nicola Murino
beb8822df4
examples: update deps
...
to silence dependabot alerts
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-23 19:25:30 +01:00
Nicola Murino
8805d85377
configs: add ACME section
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-23 19:25:20 +01:00
Nicola Murino
fcf9a8c673
scheduler: disable verbose logs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-21 18:18:24 +01:00
Nicola Murino
2c1319985d
sql providers: remove unnecessary []byte to string conversion
...
always check affected rows for updates
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-20 18:14:02 +01:00
Nicola Murino
a3fff56da5
WebAdmin: add configs section
...
Setting configurations is an experimental feature and is not currently
supported in the REST API
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-19 19:03:45 +01:00
Nicola Murino
14961a573f
examples: update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-18 13:46:06 +01:00
Nicola Murino
78cd5d8eba
groups: add expiration date override
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-13 19:32:36 +01:00
Nicola Murino
2df2803a37
ipfilter plugin: add protocol
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-13 13:45:45 +01:00
Nicola Murino
7738faa040
events: add elapsed to UI and exports
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-13 12:58:21 +01:00
Nicola Murino
157d1db0b1
fs events: add elapsed field to notifications
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-12 18:56:53 +01:00
Nicola Murino
7e85356325
WebClient shares: replace basic auth with a login form
...
basic auth will continue to work for REST API
Fixes #1166
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-12 08:29:53 +01:00
Nicola Murino
a3d0cf5ddf
fix lint errors
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-10 19:59:03 +01:00
Nicola Murino
04ab8e72f6
WebUI: make error messages user dismissible
...
Fixes #1171
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-10 18:07:23 +01:00
Nicola Murino
e0c3a13ac5
azblob: update to the latest SDK
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-09 13:04:12 +01:00
Nicola Murino
1b1745b7f7
move IP/Network lists to the data provider
...
this is a backward incompatible change, all previous file based IP/network
lists will not work anymore
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-09 09:33:33 +01:00
Nicola Murino
2412a0a369
add Dendi to the sponsors section, thank you!!!
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-02-02 18:12:21 +01:00
Nicola Murino
1e14d006b1
defender: set score_no_auth to 0 as default
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-29 18:00:27 +01:00
Nicola Murino
27c4ffd663
sftpd: fix duplicate defender error introduced in the previous commit
...
improve the defender test cases by verifying the expected score
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-25 21:57:27 +01:00
Nicola Murino
c0fe08b597
defender: allow to set a different score for "no auth tried" events
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-25 18:49:03 +01:00
Nicola Murino
5550a5d2c0
update users: also disconnect users from remote nodes when requested
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-24 18:53:34 +01:00
Nicola Murino
2066ad7c83
WebDAV: allow to define custom MIME type mappings
...
Fixes #1154
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-23 18:43:25 +01:00
Nicola Murino
61199172d0
add support for monitoring and reloading externally provided TLS certs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-22 18:31:14 +01:00
Nicola Murino
3ce4d04b27
EventManager: support placeholders within URL paths
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-22 08:46:58 +01:00
Nicola Murino
707729ee61
acme: allow to separate multiple domains with spaces
...
This change is required to be able to set multiple domains for the same
certificate using env vars.
The change is backward compatible for general use cases but may be
backward incompatible in some edge cases, for example:
- "sftpgo.com,www.sftpgo.com" will work as before
- "sftpgo.com, www.sftpgo.com" will not work anymore
Check the logs to see if you are affected and rename the certificate and key
to fix
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-21 18:00:23 +01:00
Nicola Murino
7b5bebc588
EventManager: add "on-demand" trigger
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-21 15:41:24 +01:00
Nicola Murino
53f17b5715
allow to disable event rules
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-19 18:33:04 +01:00
Nicola Murino
496c8bc785
allow to start if only httpd service is enabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-17 18:22:04 +01:00
Nicola Murino
396d67bb2c
web: add spellcheck hint to some more fields
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-16 19:45:12 +01:00
Daniel Hammer
bbebd9b163
"Spell-Jacking" mitigation ~ prevent sensitive data leak from spell checker.
...
@see https://www.otto-js.com/news/article/chrome-and-edge-enhanced-spellcheck-features-expose-pii-even-your-passwords
Signed-off-by: Daniel Hammer <daniel.hammer+oss@gmail.com >
2023-01-16 19:23:43 +01:00
Nicola Murino
c8d94f0a27
add a health check command
...
Useful in restricted environments where commands like curl and such
are not available.
Fixes #1129
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-16 18:54:42 +01:00
Nicola Murino
8be8343fee
README: fix link to Fs interface
...
Fixes #1142
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-15 15:28:55 +01:00
Nicola Murino
f3995901e3
OpenAPI: fix group settings documentation
...
the OpenAPI docs should really be improved, but nobody seems interested
enough to sponsor this work
Fixes #1141
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-15 15:28:52 +01:00
Nicola Murino
f2618e7de6
switch from go-simple-mail to go-mail
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-15 15:28:31 +01:00
Nicola Murino
6afbd77fd5
update css and js deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-07 18:11:46 +01:00
Nicola Murino
93e5cb36df
copy: use server side copy if available
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-07 16:28:46 +01:00
Nicola Murino
09dea57850
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-07 13:07:41 +01:00
Nicola Murino
8cad436421
conditional support for recursive renaming for cloud providers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-06 12:33:50 +01:00
Nicola Murino
f0dedbfabf
eventmanager: auto-create destination folder for renames
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-03 18:13:01 +01:00
Nicola Murino
51f0ded222
update test certificates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-03 11:48:08 +01:00
Jon Bendtsen
6b555cf0d8
metrics only available in telemetry server
...
I do not know which version removed /metrics from the HTTP server, but it does not seem to be available in 2.4.2, so I updated the metrics documentation to reflect this. Replaced with links to telemetry configuration.
Signed-off-by: Jon Bendtsen <github@jonb.dk >
2023-01-03 10:27:15 +01:00
Nicola Murino
0190d0b849
update Copyright year
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-03 10:18:30 +01:00
Nicola Murino
9977c64459
docs eventmanager: update index
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-02 19:22:26 +01:00
Nicola Murino
20706e45b0
docs: basic example for a Recycle Bin function
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-02 18:51:45 +01:00
Jon Bendtsen
53864fd8c1
Add warning of docker grace vs. SFTPGo grace
...
Dockers default grace period is only 10 seconds, so added a warning to alert users to those cases where their SFTPGO_GRACE_TIME is larger than the docker grace
2023-01-02 17:09:59 +01:00
Nicola Murino
7fa0959af4
eventmanager: add support for global star path matching
...
This introduce a backward incompatible change for filesystem path matching
in the Event Manager, now patterns like "*.txt" will no longer match any
file with the "txt" suffix, you need to change them to "/**/*.txt".
Also change pre-delete behaviour, now if an error is returned the client
will get a permission denied error. This is the same as the other pre-*
action. Previously it was not possible to deny deletion of a file.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-02 15:59:00 +01:00
Nicola Murino
2611dd2c98
eventmanager: add support for pre-* actions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2023-01-01 17:59:41 +01:00
Nicola Murino
6cebc037a0
eventmanager: check disk quota before executing the compress action
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-31 16:41:32 +01:00
Nicola Murino
15ad31da54
WebClient: add copy action
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-30 19:30:16 +01:00
Nicola Murino
fe9904a54d
docs full-configuration: improve formatting
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-28 18:51:25 +01:00
Nicola Murino
831851c0c3
change the default value for naming rules
...
WebAdmin does not work properly is trimming trailing and leading white
spaces is disabled
Fixes #1119
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-27 18:57:48 +01:00
Nicola Murino
ea4c4dd57f
eventmanager: add copy action
...
refactor sftpgo-copy and sftpgo-remove commands
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-27 18:51:53 +01:00
Nicola Murino
e5a8220b8a
REST API: add location header to 201 responses
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-23 13:08:04 +01:00
Jon Bendtsen
ed949604d3
Added graceful shutdown description to docker ( #1112 )
...
* Added graceful shutdown description to docker
Describing how to use the graceful shutdown period in a docker SFTPGO container and giving some examples of what happens with both existing and new connections.
Signed-off-by: Jon Bendtsen <github@jonb.dk >
2022-12-23 12:11:15 +01:00
Nicola Murino
0841c7d7bd
REST API: remove merging of fields on updates
...
we use PUT verb not PATCH. We keep merging only to allow to preserve
hidden/encrypted fields.
This is a backward incompatible change, but is necessary to avoid unexpected
issues.
You have to pass complete objects on updates.
Fixes #1088
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-23 09:36:20 +01:00
Nicola Murino
e17975ed7d
dataprovider: include port in node name and make it a hash
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-20 16:40:32 +01:00
Nicola Murino
f4eb9e7cd6
OpenAPI: set charset also for text/plain responses
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-19 18:38:23 +01:00
Nicola Murino
1085f9e5ec
httpfs OpenAPI: added charset=utf-8 to application/json content type
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-19 18:35:06 +01:00
Jon Bendtsen
37eceffed9
OpenAPI: added charset=utf-8 to application/json content type ( #1108 )
...
* Added charset=utf-8 to application/json content type
This change is linked to https://github.com/drakkan/sftpgo/issues/1101 and should partially alleviate the need to change the content type in the files generated by openapi-generator-cli
Signed-off-by: Jon Bendtsen <github@jonb.dk >
* extra newline
Signed-off-by: Jon Bendtsen <github@jonb.dk >
* Signed-off-by: Jon Bendtsen github@jonb.dk
Signed-off-by: Jon Bendtsen github@jonb.dk
Signed-off-by: Jon Bendtsen <github@jonb.dk >
* This change is linked to #1101 and should partially alleviate the need to change the content type in the files generated by openapi-generator-cli.
Signed-off-by: Jon Bendtsen <github@jonb.dk >
Signed-off-by: Jon Bendtsen <github@jonb.dk >
Signed-off-by: Jon Bendtsen github@jonb.dk
2022-12-19 18:30:27 +01:00
Nicola Murino
6270b2c2d3
eventmanager: log a get task error only when required
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-19 18:10:40 +01:00
Nicola Murino
ad5bd18dd0
CI: add nosqlite build tag when CGO is disabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-18 15:21:32 +01:00
Nicola Murino
0296e0cafa
gcsfs: allow to customize upload part size/time
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-18 11:51:46 +01:00
Nicola Murino
147ad3b230
respect token validation mode for CSRF header
...
Fixes #1104
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-16 19:14:56 +01:00
Nicola Murino
2da3eabc12
eventmanager: add password notification check action
...
this action allow to send an email notification to users whose
password is about to expire
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-16 18:51:29 +01:00
Nicola Murino
ac91170d65
S3: improve "directories" detection
...
Fixes #1097
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-13 08:55:01 +01:00
Nicola Murino
f13b901f2d
local fs: fixed paths validation for some Windows specific edge cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-12 10:40:04 +01:00
Nicola Murino
c23c73ed34
update OpenAPI definition
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-11 17:53:41 +01:00
Nicola Murino
ad5d657a1a
add support for password policies
...
you can now set a password expiration and the password change requirement
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-11 17:15:34 +01:00
Nicola Murino
e2bebc99d1
AzureBlobs: update SDK to v0.6.1
...
Remove path escape for blob names, this issue is now fixed within
the SDK
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-10 09:44:14 +01:00
Nicola Murino
926dcbbc63
add a CLI command to reset admin passwords
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-09 18:28:16 +01:00
Nicola Murino
a7f9581d99
provider events: add support for omit_object_data search param
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-08 10:02:12 +01:00
Nicola Murino
75d911f29e
WebAdmin: allow to search and export event logs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-07 18:47:38 +01:00
Nicola Murino
91e4a54385
fix build with some features disabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-04 08:44:45 +01:00
Nicola Murino
221a4878aa
eventmanager: allow to filter based on role name
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-03 17:47:43 +01:00
Nicola Murino
2ea43647ed
ftpd: check the TYPE parameter in a case-insensitive manner
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-03 13:09:25 +01:00
Nicola Murino
04bdd3a5e4
docker: bump alpine to 3.17
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-03 12:30:53 +01:00
Nicola Murino
1f9cf194fe
add role to events
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-12-03 11:45:27 +01:00
Nicola Murino
e87118d2a8
allow WebClient login with multi-step auth enabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-29 18:43:48 +01:00
Nicola Murino
fe888729f9
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-27 12:15:56 +01:00
Nicola Murino
d7cd2ac803
add CODEOWNERS file
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-24 18:53:59 +01:00
Nicola Murino
ba9fe38b8b
azblob: handle dirs metadata
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-24 18:14:24 +01:00
Nicola Murino
7b00fe3d5a
update nfpm to 2.22.1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-20 15:23:45 +01:00
Nicola Murino
fc1ba36ae5
fix SeaweedFS rename compatibility
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-20 13:06:58 +01:00
Nicola Murino
2290137868
WebDAV: add support for X-OC-Mtime header
...
it is used by Nextcloud compatible clients to set the modification time
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-19 19:39:28 +01:00
Nicola Murino
6ebe7691db
WebClient: add drag and drop upload UI
...
thanks to @wooneusean for the help
Fixes #951
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-19 12:31:03 +01:00
Nicola Murino
29d1993a3b
Docker: add a default moduli file
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-18 18:13:03 +01:00
Nicola Murino
81c693de4e
Ignore denied patterns for stat on "/"
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-18 18:12:37 +01:00
Nicola Murino
2017cb60e9
Per-directory permissions: add wildcards support
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-18 18:12:04 +01:00
Nicola Murino
ec4cc33364
WebAdmin users form: trim spaces from some form fields
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-17 18:26:19 +01:00
Nicola Murino
a22282f275
add support for DHGEX
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-17 18:15:53 +01:00
Nicola Murino
67de4c9c07
check more mime types for SeaweedFS dirs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-16 21:38:27 +01:00
Amir.h Yeganemehr
6591769a07
Handle empty directories with mimetype
...
Signed-off-by: Amir.h Yeganemehr <yeganemehr@jeyserver.com >
2022-11-16 19:47:22 +01:00
Nicola Murino
5a222807b7
add roles
...
Fixes #837
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-16 19:04:50 +01:00
Nicola Murino
a9207857cf
webdav: add a test case for PROPFIND with infinity Depth
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-06 07:33:56 +01:00
Nicola Murino
37ffa3b55a
portable mode: remove support for services discovery via multicast DNS
...
The library used for mDNS doesn't seem well maintained and I think this
feature is rarely used
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-05 18:32:36 +01:00
Nicola Murino
048591553a
allow to set a default expiration for newly created users
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-05 18:01:24 +01:00
Nicola Murino
33bfd61a0c
plugins: fix hash check
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-04 20:25:01 +01:00
Nicola Murino
965d059400
WebUI: try harder to prevent browsers from auto-filling in password fields
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-03 19:57:43 +01:00
Nicola Murino
676286182a
webdav: always open files for reading in lazy mode
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-03 08:31:40 +01:00
Nicola Murino
3b2002d9ef
shared providers: allow to immediately re-add soft-deleted event rules
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-01 17:39:53 +01:00
Nicola Murino
9d7e30807d
WebDAV: make test cases more robust
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-01 13:42:42 +01:00
Nicola Murino
91fae5c4d4
shared providers: allow to immediately re-add soft-deleted users
...
there is no need to wait for cache updates
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-01 12:53:08 +01:00
Nicola Murino
e3e85867b1
sftpfs: reuse connections
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-11-01 12:22:54 +01:00
Nicola Murino
5618b95372
improve some docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-30 08:34:16 +01:00
Nicola Murino
bf45d04600
eventmanager: add placeholder to get the parent directory
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-29 15:49:24 +02:00
Nicola Murino
80244bd83b
eventmanager: allow to access the backup file
...
so it can be used in email and other actions
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-29 14:04:31 +02:00
Nicola Murino
9a9e7d1a7f
squash database migrations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-28 14:28:37 +02:00
Nicola Murino
6f422c3d8b
WebClient: make folder deletion recursive
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-27 08:27:44 +02:00
Nicola Murino
222f0c735b
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-23 09:20:00 +02:00
Nicola Murino
63bf8eb1a1
set version to 2.4.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-23 04:47:41 +02:00
Nicola Murino
db0e58ae7e
Add support for graceful shutdown
...
Fixes #1014
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-22 11:56:41 +02:00
Nicola Murino
87045284cc
make connections lookups constant time
...
Performance improves if there are many active connections.
For a few connections there is a small (unnoticeable) performance
degradation
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-20 18:17:13 +02:00
Nicola Murino
f3ee20980a
fix build in bundle mode
...
added bunlde mode build to CI to prevent this from happening again
in the future
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-20 07:58:34 +02:00
Nicola Murino
54f1946aba
OIDC: allow to skip JWT signature validation
...
It's intended for special cases where providers,such as Azure,
use the "none" algorithm
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-19 18:38:09 +02:00
Nicola Murino
47842ae614
script based hooks: don't propagate global env vars
...
env vars must be explicitly set
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-19 09:29:40 +02:00
Nicola Murino
7e0b62b703
update swagger-ui, codemirror, video-js
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-16 18:29:42 +02:00
Nicola Murino
15b4194e8f
event rules: allow to set min/max file size using "human" notation
...
10MB or 1GB instead of the size in bytes
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-16 15:28:47 +02:00
Nicola Murino
5a199acbb2
howto: add event manager
...
add groups section in the getting started guide.
Suggest to prefer configuration with env vars instead of modifying
the default configuration file
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-16 08:26:03 +02:00
Nicola Murino
07b3f2f4d6
config: fix for slices with default values
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-14 16:45:20 +02:00
Nicola Murino
13ee236884
Allow to read env vars from files inside the "env.d" directory
...
This makes it easier to set environment variables on some operating systems.
Setting configuration options from environment variables is recommended if
you want to avoid the time-consuming task of merging your changes with the
default configuration file after upgrading SFTPGo
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-13 18:43:58 +02:00
Nicola Murino
3822b7d3f7
workflows: replace deprecated set-output command
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-13 13:11:22 +02:00
Nicola Murino
2b2b69fb23
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-12 22:03:47 +02:00
Nicola Murino
4b4edef0ad
disable self connections by default
...
now that the event manager can create files, self connections may create
even more issues than before
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-12 18:12:12 +02:00
Nicola Murino
aa1e73326f
FTPD: fix APPE to new files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-12 11:37:31 +02:00
Nicola Murino
07012aa812
WebDAV: allow to set last modification time
...
This commit add a minimal dead properties implementation
Fixes #1018
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-11 19:20:58 +02:00
Nicola Murino
0e54fa5655
cryptfs: fix quota for overwrites if upload fails
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-10 19:34:15 +02:00
Nicola Murino
3e44a1dd2d
eventmanager: add support for file/directory compression
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-10 18:53:58 +02:00
Nicola Murino
a417df60b3
azblob: use UUIDs as block IDs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-07 06:54:26 +02:00
Nicola Murino
2067c5c527
azblob: rename method to initialize from SAS URL
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-02 15:03:38 +02:00
Nicola Murino
8a43486730
postgres driver: add multi hosts support
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-02 12:43:26 +02:00
Nicola Murino
2636fedce8
node token: add/pars admin username
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-02 09:51:47 +02:00
Nicola Murino
a42e9ffa6b
azblob: add support for the latest SDK
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-10-01 14:04:53 +02:00
Nicola Murino
0e8c41bbd1
sftpd: fix relative symlinks handling
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-30 19:23:54 +02:00
Nicola Murino
1e21aa9453
add support for checking sha256crypt passwords
...
they will be converted to the configured password hashing algorithm after
the first user login
Fixes #1000
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-28 19:15:02 +02:00
Nicola Murino
f9eadd7f04
API data retention check: send CSV reports for email notifications
...
replace the HTML email with the same CSV report used in the
event manager
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-28 18:37:32 +02:00
Nicola Murino
04dc97072b
eventmanager: add metadata check
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-26 19:00:34 +02:00
Nicola Murino
ddda0b5ece
SQLite provider: remove code only used for shared providers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-25 20:29:43 +02:00
Nicola Murino
76e89d07d4
add support for inter-node communications
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-25 19:48:55 +02:00
Nicola Murino
a538255034
httpclient: add leaf certificates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-23 17:49:42 +02:00
Nicola Murino
4ad2a9c1fa
WebClient: validate PDF files before rendering
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-22 20:41:28 +02:00
Nicola Murino
7ae9303c99
allow to disable REST API
...
Fixes #987
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-22 17:27:00 +02:00
Nicola Murino
6c7b3ac5bb
oidc: update user after token refresh
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-22 08:30:22 +02:00
Nicola Murino
bd294bb3cf
WebAdmin: allow to simplify the user page
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-21 19:36:08 +02:00
Nicola Murino
7349598b19
command hooks: allow to pass custom arguments
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-20 13:58:44 +02:00
Nicola Murino
7f19f9f39c
WebClient: allow partial download of shared files
...
each partial download will count as a share usage
Fixes #970
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-19 19:58:35 +02:00
Nicola Murino
f19691250d
zip downloads: make zip entries relative to the current dir when possible
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-19 17:06:42 +02:00
Nicola Murino
554a1cb1f4
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-18 13:08:48 +02:00
Nicola Murino
e54237ff70
allow a client if its IP is both allowed and denied
...
this allows you to define a group deny policy that can be overridden
on a per-user basis.
This is a backward incompatible change
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-15 19:51:17 +02:00
Nicola Murino
e58709c822
WebAdmin: allow to specify quota and upload size in human format
...
For example 1 GB
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-14 21:18:32 +02:00
Nicola Murino
5eca73a399
give some hints if we fail to load HTML templates
...
Fixes #986
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-14 12:25:19 +02:00
Nicola Murino
f8a19f747d
WebUI: improve HTML escaping
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-13 19:16:07 +02:00
Nicola Murino
ea3c1d7a3b
WebAdmin: allow to pre-select groups on add user page
...
The admin will still be able to choose different groups
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-13 18:04:27 +02:00
Nicola Murino
bd585d8e52
CI: add commit info in vendored sources
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-08 17:32:28 +02:00
Nicola Murino
a40fa93d7b
CI: use the shortened 8-digit commit hash everywhere
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-08 13:44:14 +02:00
Nicola Murino
4498bbf2e4
CI: use Docker to build x86_64 Linux packages
...
therefore Linux packages are compiled with Docker for all supported
architectures
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-08 09:42:36 +02:00
Nicola Murino
63e3891808
WebClient/HTTP API: ensure to check home dir, when needed, in multi-node setups
...
Behind a load balancer with no sticky sessions enabled is not enough to check
the home dir only when the client logs in
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-07 16:23:56 +02:00
Nicola Murino
3ebdfa9b2d
data providers: allow to disable SNI for TLS connections
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-07 14:31:50 +02:00
Nicola Murino
8debde842c
eventmanager: improve docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-06 19:46:06 +02:00
Nicola Murino
3e5cf56460
eventmanager: add data retention reports
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-06 19:09:23 +02:00
Nicola Murino
f264b005ff
event rules: allow filtering based on group names
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-04 17:48:09 +02:00
Nicola Murino
bf76b0b158
docs external auth: clarify the meaning of the empty response from the hooks
...
Fixes #961
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-03 19:46:08 +02:00
Nicola Murino
c2a65a9a74
http actions: add multipart support
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-09-03 16:29:07 +02:00
Nicola Murino
3267a50ae3
MFA: allow recovery codes only if two-factor auth is enabled
...
Fixes #965
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-31 09:29:39 +02:00
Nicola Murino
f0839519a8
FTP: always generate a defender event if the client does not authenticate
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-30 17:14:57 +02:00
Nicola Murino
95e9106902
use the new atomic types introduced in Go 1.19
...
we depend on Go 1.19 anyway
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-30 15:47:41 +02:00
Nicola Murino
da03f6c4e3
eventmanager commands: allow to pass custom arguments
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-30 12:37:18 +02:00
Nicola Murino
9e77cd1a26
clarify support policy
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-29 19:14:48 +02:00
Nicola Murino
56bf51277c
eventmanager placeholders: add StatusString and ErrorString
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-29 19:03:31 +02:00
Nicola Murino
37d98ca290
users: add a setting to set the default expiration for shares
...
Fixes #960
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-28 14:41:42 +02:00
Nicola Murino
9473dc3937
WebAdmin: fix saving email event actions without attachments
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-22 20:17:45 +02:00
Nicola Murino
6777008aec
eventmanager: allow to add attachments to email actions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-22 19:04:17 +02:00
Nicola Murino
3e8254e398
fs actions: add first upload/download
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-21 19:01:08 +02:00
Nicola Murino
9ddd2d3588
eventmanager: add path exists filesystem action
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-20 14:13:43 +02:00
Nicola Murino
57935f585c
eventmanager: allow to execute fs actions based on schedules
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-19 15:04:00 +02:00
Nicola Murino
2b463d61e3
use epoch timestamp instead of current timestamp for unknown modification times
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-16 17:59:13 +02:00
Nicola Murino
ced4206c5f
allow cross folder renaming if the underlying resource is the same
...
this was only allowed for the local filesystem before this change
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-15 21:39:04 +02:00
Nicola Murino
c86db09cd8
event manager: add Certificate renewal trigger
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-12 17:37:29 +02:00
Nicola Murino
194c3c13ac
event manager: add IP blocked trigger
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-11 20:09:53 +02:00
Nicola Murino
d65c00728a
docker: add a variant with official plugins included
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-11 11:27:35 +02:00
Nicola Murino
526f6e0f6b
cloud storage providers: remove head bucket requests
...
let's just assume the bucket exists on "stat" requests for the "/" path
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-11 08:31:51 +02:00
Nicola Murino
a61211d32c
OIDC: allow to get the role field from a sub-struct
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-10 21:42:58 +02:00
Nicola Murino
78f75cdcb9
eventmanager: don't fail if a directory to be created already exists
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-10 19:33:02 +02:00
Nicola Murino
4cd340e07f
eventmanager: add support for filesystem actions
...
Fixes #931
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-10 18:41:59 +02:00
Nicola Murino
890dde0e00
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-05 18:48:58 +02:00
Nicola Murino
b1efe8d0b5
eventmanager: add support for data retention checks
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-04 21:50:38 +02:00
Nicola Murino
71fff28d29
add Aledade to the sponsors section, thank you!!!
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-03 21:47:13 +02:00
Nicola Murino
6bfdf941bc
webdav: allow to disable the WWW-Authenticate header
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-02 19:06:49 +02:00
Nicola Murino
fdc10aa6c7
CORS: add support for more parameters
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-02 18:44:34 +02:00
Nicola Murino
455bb550ee
azblob: fix SAS URL with embedded container name
...
Fixes #944
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-01 21:32:40 +02:00
Nicola Murino
2a827544ef
allow to edit profile to users logged in via OIDC
...
Fixes #942
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-01 19:41:18 +02:00
Nicola Murino
9d2b5dc07d
refactor: move eventmanager to common package
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-08-01 18:48:54 +02:00
Nicola Murino
3ca62d76d7
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-30 10:07:09 +02:00
Nicola Murino
00b9280834
docs: some improvements and clarifications
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-27 20:49:22 +02:00
Nicola Murino
ef0a3bc571
add support for anonymous users
...
Fixes #935
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-27 18:54:25 +02:00
Nicola Murino
e3c5cf981f
download as zip: improve filename
...
include username and also filename/directory name if the user downloads
a single file/directory
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-26 19:05:42 +02:00
Nicola Murino
ec5da8b4a5
ftpd: allow to require TLS on a per-user basis
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-26 18:51:39 +02:00
Nicola Murino
81de7d271e
add support for embedding templates and other static resources
...
This feature is disabled by default and can be enabled using the
"bundle" build tag
Fixes #823
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-24 20:02:37 +02:00
Nicola Murino
c8158e14e0
move SFTPGo package to the internal folder
...
SFTPGo is a daemon and command line tool, not a library.
The public API are provided by the SDK
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-24 16:18:54 +02:00
Nicola Murino
e96ae5ca51
add folders to data provider actions
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-24 08:10:23 +02:00
Nicola Murino
e059197398
WebClient: show images as gallery
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-23 21:12:16 +02:00
Nicola Murino
a2e73228d2
initprovider: don't execute actions
...
we are not running as service here
Fixes #932
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-23 19:38:15 +02:00
Nicola Murino
1470018054
web UI: allow to enable OIDC login and/or login forms
...
any combination is now supported
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-22 20:55:33 +02:00
Nicola Murino
e6bfbcd489
OIDC: allow to debug the received id_token
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-22 11:11:35 +02:00
Nicola Murino
a0bbcf6ebb
web client: add HTML5 player
...
See #914
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-21 18:42:22 +02:00
Nicola Murino
7f5a13d185
fix unused parameter lint warnings
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-19 23:28:33 +02:00
Nicola Murino
d5946da1e2
OIDC: allow to enable only OIDC login for Web UIs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-19 22:25:00 +02:00
Nicola Murino
21682d1c1d
add license header to source files
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-17 20:16:00 +02:00
Nicola Murino
fd52475ae2
shared mode: ensure to clear webdav cache for deleted users
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-17 18:48:41 +02:00
Nicola Murino
55b47cf741
sftp realpath: resolve symlinks
...
Fixes #890
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-17 16:02:45 +02:00
Nicola Murino
e0ce2e2e8a
allow to customize the log level
...
The old log-verbose flag is not appropriate anymore.
You should now use the log-level flag to set your preferred log level.
The default level is "debug" as before, you can also set "info", "warn",
"error"
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-13 10:40:24 +02:00
Nicola Murino
8fc4971df1
ftpd: fix wildcards handling for backend with virtual dirs
...
Fixes #915
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-12 12:04:01 +02:00
Nicola Murino
20e8cb898a
always check root dir in multi node setups
...
Fixes #920
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-12 08:32:31 +02:00
Nicola Murino
b5894b257f
try to better highlight donations and sponsorships options ...
...
... and to better explain why they are required.
Please don't say "someone else will help the project, I'll just use it"
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-11 16:14:44 +02:00
Nicola Murino
cb517a3595
SFTPGo is now available on Elest.io
...
Purchasing from there will help keep SFTPGo a long-term sustainable project.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-11 09:39:01 +02:00
Nicola Murino
1b8f94c08f
add event manager
...
auto backup removed from setting. You can now schedule backups with
the event manager
Fixes #762
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-07-11 08:17:36 +02:00
Nicola Murino
e46051299f
s3: improve rename performance
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-30 18:22:58 +02:00
maximethebault
bf2dcfe307
S3: Fix timeout error when renaming large files ( #899 )
...
Remove AWS SDK Transport ResponseHeaderTimeout (finer-grained timeout are already handled by the callers)
Lower the threshold for MultipartCopy (5GB -> 500MB) to improve copy performance and reduce chance of hitting Single part copy timeout
Fixes #898
Signed-off-by: Maxime Thébault <contact@maximethebault.me >
2022-06-30 10:23:39 +02:00
Nicola Murino
719f6077ab
don't expose underlying errors to clients
...
log them and return a generic failure
Fixes #896
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-28 22:08:16 +02:00
Nicola Murino
101783ee86
config: fix replace from env vars for some sub list
...
ensure to merge configuration from files with configuration from env for
all the sub lists
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-28 19:44:12 +02:00
Nicola Murino
6843402d2e
fix get branding from env
...
Fixes #895
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-28 10:48:15 +02:00
Nicola Murino
88feda6bf9
clarify licensing
...
Fixes #891
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-27 18:04:24 +02:00
Nicola Murino
5c446ff645
subsystem mode: advertise the supported extensions
...
Fixes #889
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-25 18:05:13 +02:00
Nicola Murino
9a6b1a1315
Fix issues found in PR #887
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-25 10:42:17 +02:00
Andre Mainka
90009a649d
Allow OAuth Scope to be configured ( #887 )
...
Signed-off-by: BobSilent <andre_1@gmx.net >
2022-06-25 10:40:39 +02:00
Nicola Murino
8762628481
backup: include folders set on group
...
also fix sql tables prefix handling and add the sql prefix to CI
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-24 13:16:45 +02:00
Nicola Murino
a5e41c9336
S3: allow empty region
...
the region may be embedded within the endpoint for some S3 compatible
object storage
Fixes #884
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-20 19:55:01 +02:00
Nicola Murino
729f30aebf
allow to refuse an upload from a sync upload hook
...
Fixes #880
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-16 18:42:17 +02:00
Nicola Murino
1da213a6e3
CI: test resetprovider
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-15 20:08:31 +02:00
Nicola Murino
2b0b19da9e
add metrics for httpgs and sftpfs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-14 19:37:25 +02:00
Nicola Murino
686166f2ce
remove deprecated APIs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-14 18:30:57 +02:00
Nicola Murino
93ce593ed0
squash database migrations and remove the credentials_path setting
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-13 20:08:49 +02:00
Nicola Murino
6f4475ff72
httpfs: add support for UNIX domain sockets
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-12 18:29:49 +02:00
Nicola Murino
0b9a96ec6b
restore fast path for recursive permissions check and update some docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-12 12:04:48 +02:00
Nicola Murino
f0f5ee392b
OpenAPI schema: improve compatibility with some generators
...
Fixes #875
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-11 19:07:05 +02:00
Nicola Murino
dadaca141a
sql providers: remove prepared statements
...
preparing a statement without reusing it is useless
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-11 11:57:06 +02:00
Nicola Murino
7ab30099dd
add httpfs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-11 10:41:34 +02:00
Nicola Murino
3170991aa8
MySQL: groups is a reserved keyword since MySQL 8.0.2
...
add MySQL to CI, testing with MariaDB is not enough
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-10 18:08:15 +02:00
Nicola Murino
118744a860
parse IP proxy header also if listening on UNIX domain socket
...
Fixes #867
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-09 08:37:37 +02:00
Nicola Murino
fe6a3f2ce8
web UIs: fix date formatting on Safari
...
Fixes #869
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-09 07:37:50 +02:00
Nicola Murino
75efaa9741
APT and YUM repo are now available
...
This is possible thanks to the Oregon State University's free
mirroring service
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-09 07:30:09 +02:00
Nicola Murino
560e7f316a
allow to set an additional shared data path at build time
...
This is useful to simplify brew package
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-04 21:24:50 +02:00
Nicola Murino
eee5d74e87
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-04 19:29:46 +02:00
Nicola Murino
9ae473fcdc
set version to 2.3.0
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-04 05:01:48 +02:00
Nicola Murino
b774289c6d
change default value for naming_rules to 1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-03 16:09:02 +02:00
Nicola Murino
ecf715880f
update docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-03 14:36:38 +02:00
Nicola Murino
b2e28fe3a2
groups: apply placeholders to the fs config of virtual folders
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-06-02 09:45:01 +02:00
Nicola Murino
cc2f23bd89
trim values for string lists which can be set as env vars
...
See #857
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-31 18:22:18 +02:00
Nicola Murino
7329cd804b
Fixes #855
...
update OpenAPI definition, add test cases, fix lint
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-30 19:01:12 +02:00
sunilke
84e3132ed1
Feat private key passphrase for sftpfs ( #855 )
...
Signed-off-by: Sunil Keswani <sunilke@zeta.tech >
2022-05-30 19:00:39 +02:00
Nicola Murino
f6b11c2d01
httpd/webdav: allow to configure trusted proxy header and depth
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-28 19:47:23 +02:00
Nicola Murino
32da923dfe
httpd: add a setting to customize tokens validation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-28 13:28:50 +02:00
Nicola Murino
91dfa501f8
improve some docs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-27 10:09:53 +02:00
Nicola Murino
7c724e18fe
add support for ACME compliant certificate authorities
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-27 07:39:55 +02:00
Nicola Murino
302f83c7a4
CI: fix for cockroach 22
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-24 11:31:49 +02:00
Nicola Murino
984ca1fb7e
web UIs: update js and css deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-23 19:14:39 +02:00
Nicola Murino
87f6a18476
web admin UI: add column visibility control to the groups table as well
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-22 19:19:14 +02:00
Nicola Murino
90c21458b8
OIDC: add support for implicit roles
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-22 14:38:25 +02:00
Nicola Murino
f536c64043
admin UI: allow to control columns visibility and ordering
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-22 11:45:49 +02:00
Nicola Murino
1a33b5bb53
allow different TLS certificates for each binding
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-21 16:34:47 +02:00
Nicola Murino
0ecaa862bd
web UIs: allow to replace the default CSS
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-21 11:05:58 +02:00
Nicola Murino
751946f47a
allow to customize timeout and env vars for program based hooks
...
Fixes #847
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-20 19:30:54 +02:00
Nicola Murino
796ea1dde9
allow to store temporary sessions within the data provider
...
so we can persist password reset codes, OIDC auth sessions and tokens.
These features will also work in multi-node setups without sicky
sessions now
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-19 19:49:51 +02:00
Tim Birkett
a87aa9b98e
feat: make MFA status visible in WebAdmin ( #844 )
...
Signed-off-by: Tim Birkett <tim.birkett@sainsburys.co.uk >
2022-05-17 19:27:12 +02:00
Nicola Murino
9abd186166
external auth http hook: properly serialize the user in the POST body
...
For historical reasons we send the json serialized user as a string field.
I Initially copied the code used in the script hook where it is appropriate
to convert the JSON user to string.
After some time I have noticed this error, I know that changing it now might
break existing external authentication hooks but we cannot continue with
this mistake, new users are surprised by this behavior, sorry
Fixes #836
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-15 18:26:07 +02:00
Nicola Murino
18d0bf9dc3
execute db migrations holding a database-level lock
...
so migrations cannot be executed concurrently if you run them from multiple
SFTPGo instances at the same time.
CockroachDB doesn't support database-level locks
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-15 15:25:12 +02:00
Nicola Murino
c9bd08cf9c
UI branding: use the short name on the login pages
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-15 07:30:36 +02:00
Nicola Murino
d2f4edcdb6
sftpd statvfs: check the virtual quota against that of the filesystem
...
if the virtual quota limit is greater than the filesystem available space,
we need to return the filesystem limits
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-14 14:53:26 +02:00
Nicola Murino
67abf03fe3
web UIs: move common css to a separate template file
...
so we can reuse it instead of copying the same CSS every time
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-14 11:54:55 +02:00
Nicola Murino
5d7f6960f3
web UIs: add branding support
...
Fixes #829
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-13 19:40:52 +02:00
Paul Laffitte
4bea9ed760
add sftpgo logo on login pages ( #835 )
...
Signed-off-by: Paul Laffitte <paul.laffitte@enix.fr >
2022-05-13 17:12:52 +02:00
Nicola Murino
4995cf1b02
defender: allow to load blocklist/safelist also from config/env vars
...
Fixes #831
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-13 14:46:07 +02:00
Tim Birkett
a5d0cbbe44
chore: fix a linting error ( #834 )
...
Signed-off-by: Tim Birkett <tim.birkett@sainsburys.co.uk >
2022-05-13 11:14:38 +02:00
Tim Birkett
7b1a0d3cd3
chore: disallow all crawlers with robots.txt ( #833 )
...
Signed-off-by: Tim Birkett <tim.birkett@sainsburys.co.uk >
2022-05-13 09:23:43 +02:00
Nicola Murino
1e0b3a2a8c
web client: add share mode read/write
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-09 19:09:43 +02:00
Nicola Murino
e72bb1e124
allow building with bolt provider disabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-09 11:19:29 +02:00
Nicola Murino
164621289c
awscontainer: add a flag to disable the installation code
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-07 12:50:49 +02:00
Nicola Murino
737109b2b8
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 09:21:57 +02:00
Herbert He
8b8e27b702
docs(cn): support README translation for Simplified Chinese ( #818 )
...
Signed-off-by: Herbert <herbert.he0229@gmail.com >
2022-05-05 19:15:49 +02:00
Dylan Legendre
4b099640de
Updating typos in openapi/swagger documentation as well as various markdown documentation files ( #816 )
...
Signed-off-by: Dylan Legendre <dylanlegendre09@gmail.com >
2022-05-05 18:26:22 +02:00
Nicola Murino
80da2dc722
try to automatically find shared data dirs in system-wide paths
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-05 11:27:19 +02:00
Nicola Murino
61947e67ae
ftpd: add basic wildcard support
...
this is the minimal implementation to allow mget and similar commands with
wildcards.
We only support wildcard for the last path level, for example:
- mget *.xml is supported
- mget dir/*.xml is supported
- mget */*.xml is not supported
Removed . and .. from FTP directory listing
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-04 19:32:02 +02:00
Nicola Murino
9a37e3d159
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-05-01 21:51:58 +02:00
Nicola Murino
14fb6c4038
always check recently updated users
...
also fix the query to get users for quota check for sql based providers
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-30 11:59:36 +02:00
Nicola Murino
dd9c5b2149
sql provider: enhanced folder mapping query using an upsert
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-28 14:49:57 +02:00
Nicola Murino
ecd488a840
data provider: remove prefer_database_credentials
...
Google Cloud Storage credentials are now always stored within the data
provider.
Added a migration to read credentials from disk and store them inside the
data provider.
After v2.3 we can also remove credentials_path
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-28 12:55:01 +02:00
Nicola Murino
4a44a7dfe1
improved readlink handling
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-27 18:38:46 +02:00
Nicola Murino
16a44a144b
webclient: don't restore checkbox status
...
Fixes #807
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-26 09:15:26 +02:00
Nicola Murino
97f8142b1e
azblobfs: update to the latest sdk and fix compatibility
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-25 17:34:52 +02:00
Nicola Murino
504cd3efda
add groups support
...
Using groups simplifies the administration of multiple accounts by
letting you assign settings once to a group, instead of multiple
times to each individual user.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-25 15:49:11 +02:00
zemsten
857b6cc10a
Update full-configuration.md ( #799 )
...
NGINX spelling
Signed-off-by: Samuel Zarn <samz@localhost.localdomain >
2022-04-22 09:22:36 +02:00
Nicola Murino
002a06629e
refactoring of user session counters
...
Fixes #792
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-14 19:07:41 +02:00
Nicola Murino
5bc0f4f8af
linux pkgs: disable vcs stamping
...
it seems to create build issues since go 1.18.1.
I need to investigate better
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-13 10:25:29 +02:00
Nicola Murino
cacfffc5bf
OIDC: add support for custom fields
...
These fields can be used in the pre-login hook to implement custom
logics
Fixes #787
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-12 19:31:25 +02:00
dependabot[bot]
87d7854453
Bump codecov/codecov-action from 2 to 3 ( #789 )
...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action ) from 2 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases )
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md )
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 09:24:54 +02:00
dependabot[bot]
aa34388de0
Bump actions/download-artifact from 2 to 3 ( #790 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 09:24:09 +02:00
Nicola Murino
a3f50029ba
update moment.js to v2.29.2
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-09 10:05:15 +02:00
Nicola Murino
f9d8b83c2a
sshd: disable by default ssh-rsa host key algo
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-04 18:52:19 +02:00
Nicola Murino
7c8bb5b18a
fix quota for uploads outside home dir if rename fails
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-03 13:48:56 +02:00
Nicola Murino
254b2ae87f
add support for AWS container
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-03 08:52:36 +02:00
Nicola Murino
5a40f998ae
check and update the password hashing algorithm on user login
...
also add ldap md5 variant as per-user request
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-02 22:20:21 +02:00
Nicola Murino
77f3400161
allow to mount virtual folders on root (/) path
...
Fixes #783
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-02 18:32:46 +02:00
Nicola Murino
3521bacc4a
web user templates: ensure we can save valid users
...
users with no public key and password are now valid after the recent
changes
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-01 09:47:54 +02:00
Nicola Murino
55f8171dd1
sshd: add support for host key certificates
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-04-01 08:03:56 +02:00
Nicola Murino
a7b159aebb
ssh user certs: add a revoked list
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-31 21:49:06 +02:00
Nicola Murino
5c114b28e3
sshd: we don't need the user certificate
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-31 18:16:50 +02:00
Nicola Murino
e079444e8a
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-31 09:54:59 +02:00
Nicola Murino
3cb23ac956
be sure to close an SSH connection if all channels are idle
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-30 10:59:25 +02:00
Nicola Murino
8fb256ac91
add link to an external Traefik tutorial
...
update deps
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-29 18:13:43 +02:00
Nicola Murino
ca32cd5e0e
allow placeholders for add/update users and folders
...
remove session token for S3, a temporary token is useless for our usage
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-27 16:32:21 +02:00
Nicola Murino
e0defafa26
azblob: fix the error returned in fs.Stat
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-26 11:47:12 +01:00
Nicola Murino
5cccb872bb
add support to redirect HTTP to HTTPS
...
Fixes #777
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-26 10:00:02 +01:00
Nicola Murino
aaf940edab
enforce CSRF token usage by the same IP for which it was issued
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-26 08:41:50 +01:00
ismail BASKIN
853086b942
Add role field array support ( #774 )
...
oidc: add array role field support
Signed-off-by: Ismail Baskin <ismailbaskin5@gmail.com >
2022-03-25 10:36:35 +01:00
Nicola Murino
81bdba6782
docker: re-add ppc64le
...
The alpine image for Go 1.18 is now available
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-25 09:32:48 +01:00
Nicola Murino
d955ddcef9
check that the jwt token is used by the same IP for which it
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-24 22:03:17 +01:00
Nicola Murino
4bbb195711
plugin: reload IP filter plugin on demand
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-24 10:21:13 +01:00
Nicola Murino
a193089646
add jq to full docker image variants
...
Fixes #767
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-23 11:35:23 +01:00
Nicola Murino
9bfdc10172
add support for ipfilter plugins
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-23 10:58:01 +01:00
Nicola Murino
b062b38ef4
docker: add rsync to "full" images
...
there are better alternatives and rsync will only work on local
filesystem, but it can still be useful to some people
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-22 17:29:14 +01:00
Nicola Murino
a31a9dc32c
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-21 17:52:18 +01:00
Pr0pHesyer
fa43791ea9
Optimized typography for better readability
...
Signed-off-by: Pr0pHesyer <proskire@protonmail.com >
2022-03-21 15:05:43 +01:00
Nicola Murino
93b9c1617e
web UI: allow to load custom css
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-19 21:44:27 +01:00
Nicola Murino
4c710d731f
update to Go 1.18
...
temporarily disabled docker image for ppcle64 as alpine image
is not yet available
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-18 21:52:00 +01:00
Nicola Murino
d9f30e7ac5
add a global whitelist
...
if defined only the listed IPs/networks can access the configured
services, all other client connections will be dropped before they
even try to authenticate
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-17 22:10:52 +01:00
Nicola Murino
03da7f696c
SFTPGo is now listed on Azure Marketplace
...
Fixes #684
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-17 14:59:02 +01:00
Nicola Murino
883a3dceaf
db defender: fix getHost query and add more test cases
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-16 18:22:08 +01:00
lucatiozzo91
7b86e2ac59
always show banned host in ui
...
When an host is banned but the updated_time field is in the past the ui
didn't show the record.
Fixes #758
Signed-off-by: lucatiozzo91 <luca.tiozzo91@gmail.com >
2022-03-16 17:38:29 +01:00
Nicola Murino
8502d7b051
improve transfer quota limits test case
...
ReadAll can read more bytes than the effective size, for this test
io.Copy is better
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-15 22:13:07 +01:00
Nicola Murino
6f8b71b89f
s3fs: migrate to AWS SDK V2
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-15 19:16:50 +01:00
Nicola Murino
7e7f662a23
ensure that defaults defined in code match the default config file
...
Fixes #754
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-14 10:42:14 +01:00
Nicola Murino
0bec1c6012
change the default value for prefer_database_credentials to true ...
...
... and deprecate this setting.
In the future we'll remove prefer_database_credentials and
credentials_path and we will not allow the credentials to be saved on
the filesystem
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-13 14:29:11 +01:00
Nicola Murino
5582f5c811
data provider: add automatic backups
...
Automatic backup are enabled by default, a new backup will be saved
each day at midnight.
The backups_path setting was moved from the httpd section to the
data_provider one, please adjust your configuration file and or your
env vars
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-13 13:45:07 +01:00
Nicola Murino
48ed3dab1f
update docs and deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-11 17:11:49 +01:00
Nicola Murino
d8de0faef5
allow to require two-factor auth for users
...
Fixes #721
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-06 16:57:13 +01:00
Nicola Murino
df828b6021
gcsfs: use pagers when listing bucket objects
...
Hopefully fixes #746
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-04 18:46:17 +01:00
Nicola Murino
056daaddfc
always execute fs checks for users not logged in after an update
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-03 19:31:54 +01:00
Nicola Murino
5c2fd8d52a
add support for a start directory
...
Fixes #705
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-03-03 12:44:56 +01:00
Nicola Murino
4519bffa39
S3: add support for assume role
...
Fixes #736
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-28 20:19:13 +01:00
Nicola Murino
1ea7429921
initprovider: add load data options
...
Fixes #741
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-28 17:05:18 +01:00
dependabot[bot]
816c174036
Bump github.com/mattn/go-sqlite3 from 1.14.11 to 1.14.12
...
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3 ) from 1.14.11 to 1.14.12.
- [Release notes](https://github.com/mattn/go-sqlite3/releases )
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.11...v1.14.12 )
---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-02-28 09:26:17 +01:00
Nicola Murino
79857a8733
config: restore defaults for smtp templates path
...
It was mistakenly deleted in the previous commit
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-27 14:16:38 +01:00
Nicola Murino
dcc3292dbc
web setup: add an optional installation code
...
The purpose of this code is to prevent anyone who can access to
the initial setup screen from creating an admin user
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-27 13:08:47 +01:00
Nicola Murino
7f674a7fb3
add more details to the server status page
...
add all supported fields to the OpenAPI docs
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-26 16:43:29 +01:00
Nicola Murino
b64d3c2fbf
simplify rename permission
...
before this patch we allow a rename in the following cases:
- the user has rename permission on both source and target path
- the user has delete permission on source path and create/upload on
target path
we now check only the rename/rename_files/rename_dirs permissions.
This is what SFTPGo users expect.
This is a backward incompatible change and it will not backported to
the 2.2.x branch
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-26 12:19:09 +01:00
Nicola Murino
7fc5cb80d6
deb/rpm packages: attempt to set the cap_net_bind_service capability
...
so the service can bind to privileged ports without running as root user
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-26 10:10:51 +01:00
Andrea Mattia
92460f811f
Simplify sed commands in Dockerfile(s)
...
Closes #740
Signed-off-by: Andrea Mattia <andrea.mattia@kireygroup.com >
2022-02-25 20:58:26 +01:00
Nicola Murino
e18ad55067
S3: add support for session tokens
...
Fixes #736
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-25 15:30:04 +01:00
Nicola Murino
4e9dae6fa4
allow to cache external authentications
...
Fixes #733
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-25 11:51:10 +01:00
Nicola Murino
f5a0559be6
don't execute fs check if the user has recent activity
...
The check could be expensive with some backends and is generally
only required the first time that a user logs in
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-24 16:11:35 +01:00
Nicola Murino
670018f05e
OIDC: add profile and email scope to OAuth2 config
...
Fixes #728
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-22 10:20:14 +01:00
Nicola Murino
8bbf54d2b6
azure blobs: add support for multipart downloads
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-21 19:01:31 +01:00
Nicola Murino
d31cccf85f
azblob: switch to the new azure-go-sdk
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-20 14:43:24 +01:00
Nicola Murino
c19b03a3f7
shares: add permission to deny sharing without password
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-19 13:31:58 +01:00
Nicola Murino
c6b8644828
OIDC: execute pre-login hook after IDP authentication
...
so the SFTPGo users can be auto-created using the hook
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-19 10:53:35 +01:00
Nicola Murino
f1a255aa6c
httpd: allow to restrict allowed hosts ...
...
... and to add security headers to the responses
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-17 18:22:27 +01:00
Nicola Murino
876bf8aa4f
sftpfs: improve remove
...
we know if the client asks to remove a file or directory so let's
use the appropriate command without letting the sftp library guess
the appropriate behavior
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-16 16:46:28 +01:00
Nicola Murino
900e519ff1
SFTP: respect file open flags also for file creation
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-16 16:05:56 +01:00
Nicola Murino
f1832d4478
shares: add an upload form for shares with write scope
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-15 19:19:25 +01:00
Nicola Murino
ebbbf81e65
logger: fix UTC time func
...
Fixes #719
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-14 12:30:00 +01:00
Nicola Murino
1fccd05e9e
allow to configure the minimum version of TLS to be enabled
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-13 15:56:07 +01:00
Nicola Murino
66945c0a02
Web UIs: add OpenID Connect support
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-13 14:30:20 +01:00
Nicola Murino
fa0ca8fe89
quota summary and docs improvements
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-08 12:43:08 +01:00
clach04
c478c7dae9
Docker readme typo
...
Signed-off-by: clach04 <clach04@gmail.com >
2022-02-06 19:21:35 +01:00
Nicola Murino
9382db751c
make HTTP shares browsable
...
if you share a single folder with read scope, you can now browse the share
and download single files
Fixes #674
See #677
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-06 16:46:43 +01:00
Nicola Murino
7e2a8e70c9
update zerolog deps
...
The updated version avoid to always create a socket connected to the
journald on application start.
Now the socket is only created if we log to the journald
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-03 17:55:36 +01:00
Nicola Murino
cd35636939
S3: add a timeout for single part uploads
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-02-01 12:15:56 +01:00
Nicola Murino
d51adb041e
update data transfer quota only if the current IP has some limits
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-31 19:30:25 +01:00
Nicola Murino
02db00d008
dataprovider: add naming rules
...
naming rules allow to support case insensitive usernames, trim trailing
and leading white spaces, and accept any valid UTF-8 characters in
usernames.
If you were enabling `skip_natural_keys_validation` now you need to
set `naming_rules` to `1`
Fixes #687
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-31 18:01:37 +01:00
Nicola Murino
fb2d59ec92
data provider: add config options for certs validation/authentication
...
Fixes #682
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-30 18:04:03 +01:00
Nicola Murino
1df1225eed
add support for data transfer bandwidth limits
...
with total limit or separate settings for uploads and downloads and
overrides based on the client's IP address.
Limits can be reset using the REST API
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-30 11:42:36 +01:00
Moroi
aca71bff7a
Fixed typo
...
Signed-off-by: Moroi <4635854+Rango-dz@users.noreply.github.com >
2022-01-26 22:00:59 +01:00
Jeremy Clerc
9709aed5e6
httpd: webpath redirect using status found (302)
...
301 MovedPermanently is cached by the browser which can
be annoying when it is is on base path like / while one
may reuse the domain (e.g. localhost) for other apps/tests.
Fixes #695
Signed-off-by: Jeremy Clerc <jeremy@clerc.io >
2022-01-26 21:50:37 +01:00
Nicola Murino
d2a4178846
check quota usage between ongoing transfers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-20 18:19:20 +01:00
Nicola Murino
d73be7aee5
remove the use of some unnecessary pointers
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-16 12:09:17 +01:00
Nicola Murino
ffe7f7ff16
doc improvements and minor changes
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-16 09:50:23 +01:00
Nicola Murino
a6ed6fc721
pattern filters: don't allow files in hidden dirs
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-15 19:06:02 +01:00
Nicola Murino
c3831de94e
add hide policy to pattern filters
...
Disallowed files/dirs can be completly hidden. This may cause performance
issues for large directories
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-15 17:16:49 +01:00
Marc
9b6b9cca3d
systemd-security: add some easy wins
...
We can tighten security by adding the following to
the systemd service file:
* NoNewPrivileges: should never be needed
* DevicePolicy: only basics required
* PrivateDevices: only needs mounted stuff, never devs
* ProtectSystem: no need to change boot
* RestrictAddressFamilies: INET, UNIX only
Signed-off-by: Marc <mail@lpcvoid.com >
2022-01-15 13:31:59 +01:00
Nicola Murino
64d1ea2d89
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-13 18:48:08 +01:00
Nicola Murino
1c51239da8
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-12 19:01:19 +01:00
Nicola Murino
51c15de892
web admin: simplify user page
...
The page to add/edit users should be less less intimidating now.
All the advanced settings are hidden by default. Permissions are set
to any, so if you also have a users base dir set, to add a user
you have to simply set username, password or public key and save
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-10 19:44:16 +01:00
Nicola Murino
b8efb1b8ec
squash database migrations.
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-09 12:25:53 +01:00
Nicola Murino
ec1d20f46f
sshd: improve docs about supported ciphers, KEX and MACs
...
also added a check to ensure that the configured values are valid
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-06 18:09:49 +01:00
Nicola Murino
1f619d5ea6
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-06 11:54:43 +01:00
Nicola Murino
6d3d94a01f
move kms implementation outside the sdk package
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-06 10:11:47 +01:00
Nicola Murino
0a3d94f73d
log at info level the service configurations
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-05 13:22:49 +01:00
Nicola Murino
7c68b03d07
move plugin handling outside the sdk package
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-05 11:37:45 +01:00
Nicola Murino
2912b2e92e
sdk: add a logger interface
...
we are now ready to make the sdk a separate module
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-04 16:07:41 +01:00
Nicola Murino
a6fe802370
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-04 12:49:30 +01:00
Nicola Murino
ad483b7581
httpd: switch back to chi Recoverer now that the required patch is merged
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-04 09:48:16 +01:00
Nicola Murino
df86955f28
eventsearcher plugin: add support to search for provider, bucket, endpoint
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-03 17:02:52 +01:00
Nicola Murino
00ec426a80
notifier plugins: add provider, bucket and endpoint to nottifier params
...
Fixes #656
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-02 19:22:44 +01:00
Nicola Murino
222db53410
notifiers plugin: replace params with a struct
...
Fixes #658
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-02 15:16:35 +01:00
Nicola Murino
4d85dc108f
document that SFTPGo is also available as a winget package
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2022-01-01 18:19:48 +01:00
Nicola Murino
6d582a821b
back to development
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2021-12-31 16:01:23 +01:00
Nicola Murino
794afbf85e
update release workflow
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2021-12-31 14:17:51 +01:00
Nicola Murino
e3f3997c5e
set version to 2.2.1
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2021-12-31 13:42:03 +01:00
Nicola Murino
f78090e47f
update deps
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2021-12-29 18:11:00 +01:00
Nicola Murino
4d7a4aa99a
check rename source and target
2021-12-28 12:03:52 +01:00
Nicola Murino
c36217c654
improve some docs
2021-12-26 14:54:29 +01:00
Nicola Murino
59bb578b89
web client: allow to move files between folders
...
Fixes #653
2021-12-25 17:13:23 +01:00
Nicola Murino
7d8823307f
defender: add provider driver
...
Fixes #616
2021-12-25 12:08:07 +01:00
Nicola Murino
8174349032
console logger: enable colors on Windows too ...
...
... now that zerolog supports this feature
2021-12-20 18:47:18 +01:00
Nicola Murino
00a02dc14d
howto: add two-factor authentication
2021-12-19 18:08:12 +01:00
Nicola Murino
ced73ed04e
REST API: add an option to create missing dirs
2021-12-19 12:14:53 +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
1472a0f415
hooks: preserve MFA related configs
...
if a user is updated using pre-login or external auth hook we need to
preserve the MFA related configs in the same way we do if the user is
updated using the REST API
2021-12-11 11:08:20 +01:00
Nicola Murino
0bb141960f
add support for different bandwidth limits based on client IP
2021-12-10 18:43:26 +01:00
Nicola Murino
c153330ab8
web client: use fetch to upload files
...
also add REST API to upload a single file as POST body
2021-12-08 19:25:22 +01:00
Nicola Murino
5b4ef0ee3b
windows installer: rename the sample configuration with the default values
...
The previous name sftpgo.json.default could create confusion for Windows
users
2021-12-05 07:58:53 +01:00
Nicola Murino
9632b6ee94
events search: improve test cases
2021-12-04 18:18:59 +01:00
Nicola Murino
78eb1c1166
update OpenAPI schema
2021-12-04 17:57:48 +01:00
Nicola Murino
a7c0b07a2a
add session id to notifier plugins/hook
2021-12-04 17:27:24 +01:00
Nicola Murino
dc1cc88a46
keyboard interactive hooks: allow to validate passcode
2021-12-04 15:14:44 +01:00
Nicola Murino
3f5451eab6
web client: save/restore file list preferences
2021-12-04 07:58:49 +01:00
Nicola Murino
30d98326ca
docker: update alpine image to 3.15
2021-12-03 19:33:37 +01:00
Nicola Murino
bedc8e288b
web client: add support for integrating external viewers/editors
2021-12-03 18:33:08 +01:00
Nicola Murino
6092b6628e
logs: use info level for login related messages
...
so enabling debug level is not required, for example only to understand
that a user exceeded the allowed sessions.
Also set the cache update frequency as documented
2021-12-02 19:36:42 +01:00
Nicola Murino
6ee51c5cc1
kms: remove support for compat secrets
...
also document how to activate the deprecated builtin provider
2021-12-01 17:53:19 +01:00
Nicola Murino
4df0ae82ac
web client: allow downloading of single shared files without compression
...
Fixes #629
2021-11-30 20:32:10 +01:00
Nicola Murino
5db31f0fb3
web client: allow to upload/delete multiple files
2021-11-30 18:40:50 +01:00
Nicola Murino
0f8170c10f
improve some docs and disable telemetry server by default
2021-11-29 17:58:10 +01:00
Nicola Murino
3c24cb773f
SFTP: log users connections at info level
...
uniform SFTP and FTP logs
Fixes #626
2021-11-29 10:15:46 +01:00
Nicola Murino
bec54ac8ae
CI: add windows x86
...
there still seem to be people using x86 on Windows ...
2021-11-28 21:30:31 +01:00
Nicola Murino
c330ac8418
CI: add windows arm64
2021-11-28 18:56:30 +01:00
Nicola Murino
3e478f42ea
update lint rules and fix some warnings
2021-11-27 17:04:13 +01:00
Nicola Murino
18ab757216
back to development
2021-11-27 15:07:31 +01:00
Nicola Murino
b6bcf0cd94
set version to 2.2.0
2021-11-27 11:46:05 +01:00
Nicola Murino
015aa36c56
loaddata: improve shares restore
...
usage and timestamps are now preserved
2021-11-27 11:12:51 +01:00
Nicola Murino
f2480ce5c9
improve chtimes handling on open files
2021-11-26 19:00:44 +01:00
Vincent Murphy
f828c58dca
Add --s3-force-path-style to portable
2021-11-26 17:40:23 +01:00
Nicola Murino
dc19921b0c
web client: don't show the link for expired shares
2021-11-25 20:09:11 +01:00
Nicola Murino
3f3591bae0
web client: allow to preview images and pdf
...
pdf depends on browser support. It does not work on mobile devices.
2021-11-25 19:24:32 +01:00
Nicola Murino
fc048728d9
add 7digital to the sponsors section
2021-11-25 13:49:32 +01:00
Nicola Murino
aeb4675196
web admin: use a textarea for allowed/denied ip mask fields
...
Fixes #621
2021-11-25 13:08:12 +01:00
Nicola Murino
4652f9ede8
FTPD: allow to set different passive IPs based on the client's IP address
2021-11-25 12:45:09 +01:00
Nicola Murino
531cb5b5a1
sftpd: handle setstat requests with multiple attrs
2021-11-24 11:55:14 +01:00
Nicola Murino
9fb43b2c46
docs: clarify how multi-step auth works with external authentication
...
Fixes #617
2021-11-24 11:27:32 +01:00
Nicola Murino
8a8298ad46
web client: improve file upload
2021-11-22 12:25:36 +01:00
Nicola Murino
3d6b09e949
REST API: expose OpenAPI schema and render it using Swagger UI
...
Fixes #609
2021-11-21 09:32:51 +01:00
Nicola Murino
fb8f013ea7
web: update permissions on cookie refresh
2021-11-20 10:48:39 +01:00
Nicola Murino
c41319bb7a
CI: sign windows installer and executable
2021-11-19 22:44:50 +01:00
Nicola Murino
46157ebbb6
CI docker: remove armv7 support
...
CI is still unreliable if we enable armv7 support
2021-11-16 09:07:10 +01:00
Nicola Murino
200b1d08c7
docker: add armv7
2021-11-15 21:58:35 +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
e29a3efd39
add resetprovider sub-command
...
Fixes #608
2021-11-15 18:40:31 +01:00
Nicola Murino
ca730e77a5
add separate permissions to delete and rename files and dirs
...
perm_delete and perm_rename still exist for backward compatibility,
now they are an alias to assign both new split permissions
2021-11-14 16:23:33 +01:00
Nicola Murino
0833b4698e
httpd service: add CORS support
2021-11-13 23:14:50 +01:00
Nicola Murino
ee5c5e033d
S3: add ACL support
...
Fixes #610
2021-11-13 16:05:40 +01:00
Nicola Murino
78233ff9a3
web UI/REST API: add password reset
...
In order to reset the password from the admin/client user interface,
an SMTP configuration must be added and the user/admin must have an email
address.
You can prohibit the reset functionality on a per-user basis by using a
specific restriction.
Fixes #597
2021-11-13 13:25:43 +01:00
Nicola Murino
b331dc5686
web client: show share last use and used tokens
2021-11-07 09:53:35 +01:00
Nicola Murino
dfcfcee208
Windows: fix UTC time logging
2021-11-06 16:27:01 +01:00
Nicola Murino
094ee1522e
logger: add a flag to use UTC time for logging
2021-11-06 15:18:16 +01:00
Nicola Murino
3bc58f5988
WebClient/REST API: add sharing support
2021-11-06 14:13:20 +01:00
Martijn Pieters
f6938e76dc
Parse auth plugin information from env
2021-11-02 11:36:30 +01:00
Nicola Murino
570964deb3
add post-disconnect hook
...
Fixes #587
2021-10-29 19:55:18 +02:00
Nicola Murino
31984ffec1
update logo and add it to windows exe and installer
...
thanks to @asheroto for donating the new logo
2021-10-23 19:27:39 +02:00
Nicola Murino
74fc3aaf37
REST API: add events search
2021-10-23 15:47:21 +02:00
Nicola Murino
97d0a48557
plugins: improve notifier and searcher
2021-10-20 19:39:49 +02:00
Nicola Murino
3bbe67571f
plugins: add eventsearcher
2021-10-17 16:43:05 +02:00
Nicola Murino
f131ef130b
add a link to the new events store plugin
2021-10-16 17:08:34 +02: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
a80ac80fcd
pkgs: update nfpm to 2.7 and use xz as compression for both deb and rpm
2021-10-13 09:15:04 +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
64e87d64bd
web client UI: allow to edit plain text files
...
Fixes #567
2021-10-09 14:17:28 +02:00
Nicola Murino
9ca0b46f30
UI connections page: add a refresh button
2021-10-07 18:28:31 +02:00
Nicola Murino
6eb154bb74
webdav: add support for lock discovery
2021-10-06 09:11:56 +02:00
Nicola Murino
ea01c3a125
rate limiting: allow to exclude IP addresses/ranges
...
Fixes #563
2021-10-03 20:50:05 +02:00
Nicola Murino
1b4a1fbbe5
add data retention check hook
2021-10-03 15:17:49 +02:00
Nicola Murino
ec81a7ac29
actions: add a specific protocol for data retention
2021-10-03 10:22:47 +02:00
Nicola Murino
22d28a37b6
cmd: improve completion sub-commands
2021-10-03 08:14:57 +02:00
Nicola Murino
cc134cad9a
data retention: allow to notify results via e-mail
2021-10-02 22:25:41 +02:00
Nicola Murino
1459150024
WebDAV: improve logs
2021-10-01 20:37:23 +02:00
root
87751e562e
Flesh out examples/ldapauth, specifically:
...
Support 'virtual' users who have no homeDirectory, uidNumber or gidNumber.
Permit read-only access by a user named "anonymous", with any password.
Assume a conventional DIT with users under ou=people,dc=example,dc=com.
Read the LDAP bindPassword from a file (not baked into the code).
Log progress and problems to syslog.
2021-10-01 09:10:13 +02:00
Nicola Murino
e6f969cb04
web UI: update js and css deps
2021-09-30 10:23:25 +02:00
Nicola Murino
ba1febba73
rework user and admin profiles
...
users and admins can now also update their email and description
2021-09-29 18:46:15 +02:00
Nicola Murino
af8fa7ff81
Docker: remove rsync from default images
...
it's time to encourage people to switch to more modern alternatives like
rclone
2021-09-27 11:34:11 +02:00
Nicola Murino
4ab2e4088a
CI docker: remove armv7 support
...
building docker images now takes too long and often fails with random
errors. I have to restart the build several times to be able to push
the images to docker hub and gcr
2021-09-27 10:25:21 +02:00
Nicola Murino
da0ccc6426
add SMTP support
...
it will be used in future update to add email sending capabilities
2021-09-26 20:25:37 +02:00
Maharanjan
0661876e99
Added email field for user account
2021-09-25 19:06:13 +02:00
Nicola Murino
cd72ac4fc9
CI: add armv7 support
2021-09-25 14:14:21 +02:00
Nicola Murino
da5a061b65
add basic REST APIs for data retention
...
Fixes #495
2021-09-25 12:20:31 +02:00
Nicola Murino
65948a47f1
systemd unit: set LimitNOFILE to 8192
2021-09-19 17:37:18 +02:00
Nicola Murino
bf4b3e6840
httpd: move the check connection middleware before the logger middleware
...
Fixes #543
2021-09-19 08:14:59 +02:00
Nicola Murino
6ea38188e8
minor fixes and doc improvements
2021-09-18 10:50:17 +02:00
Nicola Murino
b5639a51fd
don't generate defender events for HTTP/WebDAV requests with no auth
...
it is quite common for HTTP clients to send a first request without
the Authorization header and then send the credentials after receiving
a 401 response. We don't want to generate defender events in this case
2021-09-11 18:23:11 +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
0eca4f1866
update deps
2021-09-08 12:29:47 +02:00
Nicola Murino
b52f829f05
docker: replace mime-support package with media-types
...
This way the size of the slim image is similar to the previous buster
based images
2021-09-07 21:04:46 +02:00
Nicola Murino
90f64c9f63
distroless image: minor changes
2021-09-07 19:52:28 +02:00
Oleksandr Shvets
c106498dd8
docker: added distroless image
2021-09-06 19:10:28 +02:00
Nicola Murino
7bad65a43e
user: add a permission to disable changing api key authentication
...
also implement the missing APIs to enable/disable api key authentication
2021-09-06 18:46:35 +02:00
Nicola Murino
101c2962ab
web client UI: add a permission to disable password change
...
Fixes #528
2021-09-05 18:49:13 +02:00
Nicola Murino
59140a6d51
add additional data to MFA secrets and fix pointers management
2021-09-05 14:10:12 +02:00
Nicola Murino
b1d54f69d9
admin: fix possible nil pointer dereference
...
this possible bug was introduced in the previous commit
2021-09-04 13:56:29 +02:00
Nicola Murino
374de07c7b
update deps
2021-09-04 13:30:23 +02:00
Nicola Murino
8a4c21b64a
add builtin two-factor auth support
...
The builtin two-factor authentication is based on time-based one time
passwords (RFC 6238) which works with Authy, Google Authenticator and
other compatible apps.
2021-09-04 12:11:04 +02:00
Nicola Murino
16ba7ddb34
CI: also runs test cases using GOARCH 386
...
This way we can detect unaligned 64-bit atomic operations that only happen
on 32 bit platforms
2021-08-28 12:03:23 +02:00
Nicola Murino
bd9506da42
BaseConnection struct: ensure 64 bit alignment
...
Fixes #516
2021-08-28 10:06:49 +02:00
Nicola Murino
b903a6e46f
data provider: remove default admin
...
you need to load initial data or set "create_default_admin" to true
and the appropriate env vars if you don't want to use the web admin
setup screen to create the default admin
2021-08-20 10:37:51 +02:00
Nicola Murino
bcf088f586
data provider: update internal caches if the data provider is shared
2021-08-20 09:35:06 +02:00
Nicola Murino
be3857d572
dataprovider: add timestamp fields for users and admins
2021-08-19 15:51:43 +02:00
Nicola Murino
b99d4ce82e
fix folders validation
...
Fixes #510
2021-08-19 11:28:53 +02:00
Nicola Murino
0a558203da
improve proxy documentation
...
Fixes #507
2021-08-18 15:27:07 +02:00
Nicola Murino
5a549a88fe
update to Go 1.17
2021-08-18 14:39:56 +02:00
Nicola Murino
fe953d6b38
REST API: add support for API key authentication
2021-08-17 18:08:32 +02:00
erwiese
05c62b9f40
add documentation for defender scores ( #500 )
...
Co-authored-by: Erwin Wiesensarter <erwin.wiesensarter@bkg.bund.de >
2021-08-13 15:40:33 +02:00
Nicola Murino
555dc3b0c0
transfer logs: add FTP mode
2021-08-10 13:07:38 +02:00
Nicola Murino
0de0d3308c
improve error messages for generic failures
2021-08-08 19:30:21 +02:00
Nicola Murino
a20373b613
add support for auth plugins
2021-08-08 17:09:48 +02:00
Nicola Murino
ced2e16f41
add support for password validation rules
...
Fixes #494
2021-08-06 18:56:07 +02:00
Nicola Murino
3ac832c8dd
docker: bump Alpine to 3.14
2021-08-05 19:38:30 +02:00
Nicola Murino
a3c087456b
ftpd: add some security checks
2021-08-05 18:38:15 +02:00
Nicola Murino
419774158a
remove PayPal link
...
I'm having some issues with my PayPal account, remove it for now
2021-08-03 20:36:10 +02:00
Nicola Murino
0503215e7a
web client: try to prevent browsers from caching requests
...
Fixes #493
2021-08-03 19:58:03 +02:00
dependabot[bot]
9541843ff7
Bump github.com/shirou/gopsutil/v3 from 3.21.6 to 3.21.7 ( #491 )
...
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil ) from 3.21.6 to 3.21.7.
- [Release notes](https://github.com/shirou/gopsutil/releases )
- [Commits](https://github.com/shirou/gopsutil/compare/v3.21.6...v3.21.7 )
---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-02 10:11:09 +02:00
dependabot[bot]
98f22ba110
Bump uraimo/run-on-arch-action from 2.1.0 to 2.1.1 ( #490 )
...
Bumps [uraimo/run-on-arch-action](https://github.com/uraimo/run-on-arch-action ) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/uraimo/run-on-arch-action/releases )
- [Commits](https://github.com/uraimo/run-on-arch-action/compare/v2.1.0...v2.1.1 )
---
updated-dependencies:
- dependency-name: uraimo/run-on-arch-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-02 10:10:24 +02:00
Nicola Murino
1e9a19e326
add a howto to use SFTPGo as OpenSSH's SFTP subsystem
2021-07-31 19:09:09 +02:00
mmcgeefeedo
0046c9960a
add support to override default admin credentials via env vars
2021-07-31 10:39:53 +02:00
Nicola Murino
7640612a95
update deps
2021-07-31 10:22:38 +02:00
Nicola Murino
a26962f367
add dot and dot dot directories to sftp/ftp file listing
2021-07-31 09:42:23 +02:00
Nicola Murino
f778e47d22
sftpd: minor improvements and docs for the prefix middleware
2021-07-29 20:12:23 +02:00
Nicola Murino
4781921336
fix loading enabled_ssh_commands config key
2021-07-29 00:54:22 +02:00
mmcgeefeedo
3ae8abda9e
sftpd: add folder prefix middleware
2021-07-29 00:32:55 +02:00
Nicola Murino
90b324d707
Add a link on the login pages to switch between admin and web client login
...
The links are hidden if only the web admin or only thw web client is
enabled and can also be controlled using the "hide_login_url" setting
Fixes #485
2021-07-27 18:43:00 +02:00
Nicola Murino
3a22aae34f
web UI: add support for upload, create dirs, rename, delete
2021-07-26 20:55:49 +02:00
dependabot[bot]
45a0473fec
Bump codecov/codecov-action from 1 to 2.0.2 ( #486 )
...
* Bump codecov/codecov-action from 1 to 2
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action ) from 1 to 2.
- [Release notes](https://github.com/codecov/codecov-action/releases )
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md )
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v2.0.2 )
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicola Murino <nicola.murino@gmail.com >
2021-07-26 11:08:48 +02:00
Nicola Murino
a7313e4492
webdav: add new test cases and fix some lock related issues
...
Our net/webdav branch now include the following patches:
https://github.com/golang/net/pull/92
https://github.com/golang/net/pull/93
https://github.com/golang/net/pull/94
2021-07-25 09:55:14 +02:00
Nicola Murino
c41ae116eb
improve logging
...
Fixes #381
2021-07-24 20:11:17 +02:00
Nicola Murino
83c7453957
user API: allow to disable writes ...
...
... even if the user has permissions for these actions
2021-07-23 21:41:02 +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
ae8ccadad2
users API: add API to create, delete, rename files and directories
2021-07-23 10:19:27 +02:00
Nicola Murino
5967aa1aa5
FTP: enable ftpserverlib logging and make debug mode configurable
2021-07-20 17:22:08 +02:00
Nicola Murino
c900cde8e4
notifiers plugin: add settings to retry unhandled events
2021-07-20 12:51:21 +02:00
Nicola Murino
13183a9f76
deps cleanup
2021-07-17 15:42:59 +02:00
Nicola Murino
5a568b4077
KMS: allow to provide the master encryption key as string
2021-07-17 15:34:48 +02:00
Nicola Murino
030507a2ce
add some docs for the plugin system
2021-07-17 14:14:42 +02:00
Nicola Murino
338301955f
move cloud KMS providers to an external plugin
2021-07-17 13:08:05 +02:00
Nicola Murino
6d313f6d8f
expose KMS as plugin
2021-07-16 18:22:42 +02:00
Nicola Murino
776dffcf12
kms: improve modularity
2021-07-13 21:17:21 +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
bfa4085932
improve docs
2021-07-03 18:23:36 +02:00
Nicola Murino
302ec2558c
add notifications for mkdir/rmdir
2021-07-03 18:07:55 +02:00
Nicola Murino
ff19879ffd
allow to use a persistent signing key for JWT and CSRF tokens
...
Fixes #466
2021-07-01 20:17:40 +02:00
Nicola Murino
04001f7ad3
FTP: try to return more specific error codes/messages for some errors
...
We now return 552 code for quota exceeded errors and 553 in the following
cases:
- filename denied by a filter
- no upload permission
- no overwrite permission
- pre upload hook error
Fixes #442
2021-06-28 19:40:04 +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
Nicola Murino
e09bdd43d4
defender: fix GetHost for blocklist entries too
2021-06-20 21:57:19 +02:00
Nicola Murino
ac8d8a3da1
update portable mode docs
2021-06-19 19:40:53 +02:00
Manuel Reithuber
a4157e83e9
template fsconfig: updated form-group css classes so we can further improve onFilesystemChanged()
...
it doesn't reference any vfs providers at all anymore :)
2021-06-19 19:27:54 +02:00
Manuel Reithuber
13f23838a1
template fsconfig.html: using string provider name in onFilesystemChanged()
2021-06-19 19:27:54 +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
88b10da596
updated utils.LoadTemplate() to call template.ParseFiles() directly and added a way to specify a base template (will be used in the next commit)
2021-06-19 19:27:54 +02:00
Manuel Reithuber
c07dc74d48
template fsconfig.html: simplified code in onFilesystemChanged()
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
Nicola Murino
81aac15a6c
defender: don't return expired hosts/banned ip in GetHost too
2021-06-19 18:51:33 +02:00
Nicola Murino
c1b862394d
move other errors to utils package
2021-06-19 13:06:01 +02:00
Manuel Reithuber
f19937b715
move Filesystem config validation to vfs
2021-06-19 12:24:43 +02:00
Nicola Murino
f2f612b450
defender: don't return expired hosts/banned ip
2021-06-19 11:02:46 +02:00
Nicola Murino
0c2640bbab
update deps
2021-06-19 09:56:49 +02:00
Nicola Murino
3bb0ca1d2b
config: remove deprecated configuration keys
2021-06-19 09:47:06 +02:00
Nicola Murino
d5b42f72e2
squash database migrations, remove compat data provider code
2021-06-19 09:03:20 +02:00
Nicola Murino
62744e081b
get HTTPD binding from env: respect the documented default
2021-06-17 15:57:41 +02:00
Nicola Murino
9dcaf1555f
back to development
2021-06-16 19:28:25 +02:00
Nicola Murino
a09cf5c8b9
set version to 2.1.0
2021-06-16 17:45:09 +02:00
Nicola Murino
47ebe42375
FTP: fix LIST on files
2021-06-15 06:38:56 +02:00
Nicola Murino
4d97ab9eb9
Let's Encrypt tutorial: use sudo where appropriate
2021-06-14 22:35:08 +02:00
Nicola Murino
8ed13dc4a9
docs: document how to use Let's Encrypt Certificates
2021-06-14 22:05:55 +02:00
Nicola Murino
3b66dd0873
Linux packages: fix static resources copy
2021-06-14 14:18:15 +02:00
Nicola Murino
d992f0ffcc
update deps
2021-06-13 08:54:22 +02:00
Nicola Murino
6c5a7e8f13
improve installation docs, add paypal link to fundings
2021-06-12 10:05:25 +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
4be6307d87
webadmin: add defender page
2021-06-08 13:24:28 +02:00
Nicola Murino
feec2118bb
improve defender and quotas REST API
2021-06-07 21:52:43 +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
976f588863
improve docs to enable FTP/WebDAV
...
Fixes #447
2021-06-02 09:49:31 +02:00
Nicola Murino
575bcf1f03
add remote address to transfer and commands logs
2021-06-01 22:28:43 +02:00
Nicola Murino
969c992bfd
pre-upload: execute the hook just before opening the target file
2021-05-31 22:40:47 +02:00
Nicola Murino
c1239fbf59
pre-upload action: add file open flags
...
Reading the flags the hook receiver can detect if the client wants to
truncate the target file
2021-05-31 22:33:23 +02:00
Nicola Murino
c63b923ec3
cryptfs: add support for atomic uploads
2021-05-31 21:45:29 +02:00
dependabot[bot]
574c4029fc
Bump uraimo/run-on-arch-action from 2.0.9 to 2.0.10 ( #444 )
...
Bumps [uraimo/run-on-arch-action](https://github.com/uraimo/run-on-arch-action ) from 2.0.9 to 2.0.10.
- [Release notes](https://github.com/uraimo/run-on-arch-action/releases )
- [Commits](https://github.com/uraimo/run-on-arch-action/compare/v2.0.9...v2.0.10 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-31 10:05:25 +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
7a85c66ee7
webclient: defer file list rendering
...
combined with server side processing I can now list a directory with
about 100.000 files in less than 2 seconds without losing client side
filtering and pagination
2021-05-27 09:40:46 +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
600268ebb8
httpclient: allow to set custom headers
2021-05-25 08:36:01 +02:00
Nicola Murino
1223957f91
webclient: use different icons based on the file extension
2021-05-24 19:09:03 +02:00
Nicola Murino
15cde2dd1a
improve test coverage
2021-05-23 22:29:55 +02:00
Nicola Murino
50e441849a
try to make the web admin more user friendly
...
removed all the textarea with fields separated using "::".
This should, hopefully, improve user experience
2021-05-23 22:02:01 +02:00
Nicola Murino
02bb09ec01
remove deprecated file extensions filters
...
these filters were deprecated a long time ago, everyone should use
patterns filters now
2021-05-22 12:28:05 +02:00
Nicola Murino
402947a43c
update deps
2021-05-22 10:42:30 +02:00
Nicola Murino
b9bc8d722d
try to improve web client credentials page
...
I should do the same for the admin page too
2021-05-22 09:54:27 +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
9fc4be6d40
minor doc fixes
2021-05-20 18:34:38 +02:00
Nicola Murino
ecfed4dc04
Add a Getting Started Guide
2021-05-20 18:16:27 +02:00
dependabot[bot]
b415e4d98f
Bump github.com/lib/pq from 1.10.1 to 1.10.2 ( #429 )
...
Bumps [github.com/lib/pq](https://github.com/lib/pq ) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/lib/pq/releases )
- [Commits](https://github.com/lib/pq/compare/v1.10.1...v1.10.2 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-17 09:27:16 +02:00
Nicola Murino
7d059efe06
add an example backup script
2021-05-16 22:28:08 +02:00
Nicola Murino
60cfbd2989
setup: auto login after creating the first admin
2021-05-16 21:36:57 +02:00
Nicola Murino
8ecf64f481
httpclient: accepts timeouts as float
...
Fixes #428
2021-05-16 12:50:06 +02:00
Nicola Murino
019b0f2fd5
http cookie: add max-age and samesite
...
update deps too
2021-05-16 09:13:00 +02:00
Nicola Murino
15d6cd144a
another try to better understand the random webdav test case failure
2021-05-15 08:56:36 +02:00
Nicola Murino
f59f62317e
sftpd: fix file upload resume detection
...
WinSCP does not set the APPEND flag while resuming a file upload,
so we detect a file upload resume if the TRUNCATE flag is not set.
The APPEND flag is now ignored.
Fixes #420
2021-05-15 08:39:01 +02:00
Nicola Murino
f2b93c0402
add a setup screen to create the first admin user
...
If you prefer to auto-create the first admin you can enable the
"create_default_admin" configuration key and SFTPGo will work as before.
You can also create the first admin by loading initial data: now you can
set both username and password, before you could only change the password
2021-05-14 19:21:15 +02:00
Nicola Murino
0540b8780e
redact credentials within hooks
...
go-retryablehttp does not redact credentials, so we still log them
when we use it
https://github.com/hashicorp/go-retryablehttp/pull/133
2021-05-12 22:44:17 +02:00
Nicola Murino
fa45c9c138
allow to execute actions for file operations and SSH commands synchronously
...
The actions to run synchronously can be configured via the `execute_sync`
configuration key.
Executing an action synchronously means that SFTPGo will not return a result
code to the client until your hook have completed its execution.
Fixes #409
2021-05-11 12:45:14 +02:00
Nicola Murino
b67cd0d3df
ensure no client is connected before running max connections test cases
2021-05-11 08:04:57 +02:00
Nicola Murino
c8f7fc9bc9
httpd/webdav: add a list of hosts allowed to send proxy headers
...
X-Forwarded-For, X-Real-IP and X-Forwarded-Proto headers will be ignored
for hosts not included in this list.
This is a backward incompatible change, before the proxy headers were
always used
2021-05-11 06:54:06 +02:00
dependabot[bot]
f1b998ce16
Bump github.com/otiai10/copy from 1.5.1 to 1.6.0 ( #414 )
...
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy ) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/otiai10/copy/releases )
- [Commits](https://github.com/otiai10/copy/compare/v1.5.1...v1.6.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 14:02:09 +02:00
dependabot[bot]
aaa758e978
Bump github.com/minio/sio from 0.2.1 to 0.3.0 ( #412 )
...
Bumps [github.com/minio/sio](https://github.com/minio/sio ) from 0.2.1 to 0.3.0.
- [Release notes](https://github.com/minio/sio/releases )
- [Commits](https://github.com/minio/sio/compare/v0.2.1...v0.3.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 11:34:01 +02:00
dependabot[bot]
716946a148
Bump github.com/aws/aws-sdk-go from 1.38.35 to 1.38.36 ( #413 )
...
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go ) from 1.38.35 to 1.38.36.
- [Release notes](https://github.com/aws/aws-sdk-go/releases )
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.35...v1.38.36 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 11:10:58 +02:00
Nicola Murino
15934d72cc
webdav test: increase log size
...
the latest 10 lines are not enough to understand the issue, try with 20
2021-05-09 10:09:25 +02:00
Nicola Murino
8f6cdacd00
allow to limit the number of per-host connections
2021-05-08 19:45:21 +02:00
Nicola Murino
8f736da4b8
webdav test: add some more logs
...
QuotaLimits test case sometime fails when running in CI, try to
understand the reason
2021-05-07 22:24:06 +02:00
Nicola Murino
4ea4202b99
httpd/webdav: use a custom listener with read and write deadlines
2021-05-07 20:41:20 +02:00
Nicola Murino
d4bfc3f6b5
fix lint configuration and a warning
2021-05-06 22:06: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
dependabot[bot]
5c99f4fb60
Bump github.com/shirou/gopsutil/v3 from 3.21.3 to 3.21.4 ( #406 )
...
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil ) from 3.21.3 to 3.21.4.
- [Release notes](https://github.com/shirou/gopsutil/releases )
- [Commits](https://github.com/shirou/gopsutil/compare/v3.21.3...v3.21.4 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 14:44:07 +02:00
dependabot[bot]
2263c7e20f
Bump github.com/hashicorp/go-retryablehttp from 0.6.8 to 0.7.0 ( #405 )
...
Bumps [github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp ) from 0.6.8 to 0.7.0.
- [Release notes](https://github.com/hashicorp/go-retryablehttp/releases )
- [Commits](https://github.com/hashicorp/go-retryablehttp/compare/v0.6.8...v0.7.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 14:43:53 +02:00
dependabot[bot]
515b2d917e
Bump github.com/fclairamb/ftpserverlib from 0.13.0 to 0.13.1 ( #404 )
...
Bumps [github.com/fclairamb/ftpserverlib](https://github.com/fclairamb/ftpserverlib ) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/fclairamb/ftpserverlib/releases )
- [Commits](https://github.com/fclairamb/ftpserverlib/compare/v0.13.0...v0.13.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 13:29:54 +02:00
dependabot[bot]
af4723356d
Bump github.com/lestrrat-go/jwx from 1.1.7 to 1.2.0 ( #403 )
...
Bumps [github.com/lestrrat-go/jwx](https://github.com/lestrrat-go/jwx ) from 1.1.7 to 1.2.0.
- [Release notes](https://github.com/lestrrat-go/jwx/releases )
- [Changelog](https://github.com/lestrrat-go/jwx/blob/main/Changes )
- [Commits](https://github.com/lestrrat-go/jwx/compare/v1.1.7...v1.2.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 13:29:16 +02:00
dependabot[bot]
068dd34a38
Bump github.com/aws/aws-sdk-go from 1.38.25 to 1.38.30 ( #402 )
...
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go ) from 1.38.25 to 1.38.30.
- [Release notes](https://github.com/aws/aws-sdk-go/releases )
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.25...v1.38.30 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 11:41:25 +02:00
dependabot[bot]
b16a5c2caf
Bump github.com/go-chi/chi/v5 from 5.0.2 to 5.0.3 ( #401 )
...
Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi ) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/go-chi/chi/releases )
- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md )
- [Commits](https://github.com/go-chi/chi/compare/v5.0.2...v5.0.3 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 11:41:09 +02:00
Nicola Murino
a383957cfa
OpenAPI: document that also folder-quota-update supports partial updates
2021-04-28 19:33:32 +02:00
Nicola Murino
00f97aabb4
OpenAPI: document that quota-update support partial updates
...
If the update mode is "add" and you pass only used_quota_size or only
used_quota_files the missing field will remain unchanged
2021-04-28 19:16:15 +02:00
Nicola Murino
32db0787bb
add an example script for scheduled quota updates
2021-04-26 21:53:09 +02:00
Nicola Murino
1275328fdf
Authentication errors: try to avoid user enumeration
...
Fixes #395
2021-04-26 19:48:21 +02:00
Nicola Murino
7778716fa7
update crypto and net dependencies
2021-04-25 18:12:02 +02:00
dependabot[bot]
77476d0f56
Bump github.com/aws/aws-sdk-go from 1.38.21 to 1.38.25 ( #394 )
...
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go ) from 1.38.21 to 1.38.25.
- [Release notes](https://github.com/aws/aws-sdk-go/releases )
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.21...v1.38.25 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-25 17:07:59 +02:00
dependabot[bot]
c7a1fc2996
Bump cloud.google.com/go/storage from 1.14.0 to 1.15.0 ( #392 )
...
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go ) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases )
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/master/CHANGES.md )
- [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.14.0...spanner/v1.15.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-25 17:07:36 +02:00
dependabot[bot]
e7d8e73be8
Bump github.com/lib/pq from 1.10.0 to 1.10.1 ( #391 )
...
Bumps [github.com/lib/pq](https://github.com/lib/pq ) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/lib/pq/releases )
- [Commits](https://github.com/lib/pq/compare/v1.10.0...v1.10.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-25 17:07:26 +02:00
dependabot[bot]
3ee27f4370
Bump golangci/golangci-lint-action from v2 to v2.5.2 ( #389 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from v2 to v2.5.2.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v2...5c56cd6c9dc07901af25baab6f2b0d9f3b7c3018 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-25 16:41:17 +02:00
Nicola Murino
92424cd1c2
dependabot: limit the number of open pull requests
2021-04-25 16:39:41 +02:00
Nicola Murino
0190dad984
docker: update github script to v4
2021-04-25 15:59:29 +02:00
Nicola Murino
198258f4e7
add dependabot
...
Fixes #388
2021-04-25 15:54:19 +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
3941255733
docs: fix a typo
2021-04-25 09:42:19 +02:00
Nicola Murino
46998252e5
use bcrypt as default password hashing algo
...
argon2id has a high memory cost and, if not properly tuned, it can lead to
resource starvation.
Advanced users can still configure and use argon2id.
Passwords stored as argon2id will continue to work
2021-04-25 09:38:33 +02:00
Nicola Murino
74b51f0ad3
update nfpm
2021-04-23 22:53:13 +02:00
Nicola Murino
b11865f971
CI: add support for darwin/arm64
...
I have no way to test the produced binaries on a real Silicon M1
2021-04-20 23:00:27 +02:00
Nicola Murino
f4369cdbef
fix max connections check
...
Also make sure to close the ssh client connection in test cases
2021-04-20 18:12:16 +02:00
Nicola Murino
92638ce93d
add support for hashing password using bcrypt
...
argon2id remains the default
2021-04-20 13:55:09 +02:00
Nicola Murino
6ef85d6026
add, optional, in memory password caching
...
Verifying argon2 passwords has a high memory and computational cost,
by enabling, in memory, password caching you reduce this cost
2021-04-20 09:39:36 +02:00
Nicola Murino
bc88503f25
sql providers: reuse the same context where appropriate
2021-04-19 18:58:53 +02:00
Nicola Murino
47317bed9b
make sure that Retry-After header has a value greater than zero
2021-04-19 09:16:27 +02:00
Nicola Murino
f45c89fc46
add rate limiting support for REST API/web admin too
2021-04-19 08:14:04 +02:00
Nicola Murino
112e3b2fc2
add rate limiting support
2021-04-18 12:31:06 +02:00
Nicola Murino
124c471a2b
FTPD: make sure that the passive ip, if provided, is valid
...
The server will refuse to start if the provided passive ip is not a
valid IPv4 address.
Fixes #376
2021-04-16 15:08:10 +02:00
Nicola Murino
683ba6cd5b
get binding from env: respect the documented default
...
Fixes #377
2021-04-16 13:35:13 +02:00
Nicola Murino
21fbcf4556
FTP: add support for TLS session resumption on the data connection
...
Fixes #374
2021-04-16 09:00:40 +02:00
Nicola Murino
2ffefbeb33
add sql_tables_prefix also to indexes and constraints
...
This allows you to reuse the same database for multiple SFTPGo instances
Fixes #372
2021-04-12 20:00:49 +02:00
Nicola Murino
c844fc7477
add support for delayed quota update
...
If there are a lot of close uploads, accumulating quota updates can
save you many queries to the data provider
2021-04-11 08:38:43 +02:00
Nicola Murino
4b98f37df1
back to development
2021-04-10 09:40:02 +02:00
Nicola Murino
0bc4db9950
web admin: make base url configurable
2021-04-09 22:02:48 +02:00
Nicola Murino
5acf29dae6
CI: replace deprecated actions with gh CLI
2021-04-08 21:29:09 +02:00
Nicola Murino
e9a42cd508
release workflow: re-add build Linux bundle
...
it is used as source for PPA packages
2021-04-08 08:38:51 +02:00
Nicola Murino
ed26d68948
portable mode: add SFTP buffer size
2021-04-07 19:47:39 +02:00
Nicola Murino
b389f93d97
allow to select sha256-simd using an env var
2021-04-07 16:25:58 +02:00
Nicola Murino
150aebf8d2
CI: replace xgo with QEMU
...
currently xgo don't allow to choose the building OS, this could cause
unexpected issues, for example v2.0.3 packages for arm64 and ppc64
don't run on Ubuntu 18.04
2021-04-07 15:12:09 +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
0823928f98
allow to disable login filesystem checks
...
SFTPGo requires that the user's home directory, virtual folder root,
and intermediate paths to virtual folders exist to work properly.
If you already know that the required directories exist, disabling
these checks will speed up login.
2021-04-05 17:57:30 +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
acb4310c11
add a startup hook
2021-04-05 10:07:59 +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
Nicola Murino
6eb43baf3d
web: fix content type for folders form
...
Fixes #367
2021-04-01 19:42:18 +02:00
Nicola Murino
2f56375121
improve SFTP loop detection
2021-04-01 18:53:48 +02:00
Nicola Murino
3bfd7e4d17
sftpfs: try to detect if an SFTP user point to itself
...
this will cause an infinite loop on login. The check should be improved
2021-03-29 21:53:44 +02:00
Nicola Murino
e1c66d96a1
back to development
2021-03-28 22:25:24 +02:00
Nicola Murino
a43854ae9b
OpenAPI: document that secrets are automatically encrypted before saving
2021-03-28 11:23:06 +02:00
Nicola Murino
183bedd6ed
webui: add responsive extension
2021-03-28 11:02:11 +02:00
Nicola Murino
2a89a8f664
webui: minor improvements
2021-03-27 22:23:01 +01:00
Nicola Murino
5cd27ce529
document Cockroach driver name
2021-03-27 19:41:00 +01:00
Nicola Murino
cee2e18caf
convertusers: fix permissions
...
Fixes #363
2021-03-27 19:18:01 +01:00
Nicola Murino
9ad750da54
WebDAV: try to preserve the lock fs as much as possible
2021-03-27 19:10:27 +01:00
Nicola Murino
5f49af1780
external auth: allow to inspect and preserve an existing user
2021-03-26 15:19:01 +01:00
Nicola Murino
d5f092284a
improve signals handling
2021-03-25 19:31:21 +01:00
Nicola Murino
0e50310a66
add a test case for UID/GID limits
2021-03-25 17:30:39 +01:00
Mike Unitskyi
5939ac4801
Increase uid:gid limits ( #362 )
...
Fixes #361
2021-03-25 17:11:42 +01:00
Nicola Murino
db274f1093
crdb: fix transactions handling
2021-03-25 09:07:56 +01:00
Nicola Murino
6bc5c64a3a
webdav: ignore path, perm and not exist errors in PROPFIND
...
Fixes #340
2021-03-24 13:32:20 +01:00
Nicola Murino
70e035315e
data provider: add CockroachDB support
2021-03-23 19:14:15 +01:00
Nicola Murino
8a1249878a
OpenAPI schema: remove some superfluous required definitions
...
Fixes #356
2021-03-22 19:22:41 +01:00
Nicola Murino
5e375f56dd
kms: add a lock, secrets could be modified concurrently for cached users
...
also reduce the size of the JSON payload omitting empty secrets
2021-03-22 19:03:25 +01:00
Nicola Murino
28f1d66ae5
link the Active Directory example in the howto section
2021-03-22 09:52:05 +01:00
Omar Ramos
79060d37a7
Added in a first draft of the page related to sftpgo-ldap-http-server.
2021-03-22 08:59:29 +01:00
Nicola Murino
800e64404b
update deps
2021-03-22 08:55:35 +01:00
Nicola Murino
54c0c1b80d
Windows: manually check if we can bind on the configured port/ports
...
Windows allows the coexistence of three types of sockets on the same
transport-layer service port, for example, 127.0.0.1:8080, [::1]:8080
and [::ffff:0.0.0.0]:8080
Go don't properly handles this, so we use a ugly hack
Fixes #350
2021-03-21 22:21:04 +01:00
Nicola Murino
f7c7e2951d
initialize argon params before creating the data provider
...
Fixes #349
2021-03-21 19:58:57 +01:00
Nicola Murino
f249286cb1
docs: add some notes about the new virtual folders support
...
fixe a failing test case for the memory provider
2021-03-21 19:47:11 +01:00
Nicola Murino
d6dc3a507e
extend virtual folders support to all storage backends
...
Fixes #241
2021-03-21 19:15:47 +01:00
Nicola Murino
0286da2356
try to auto create virtual folders if missing
2021-03-10 22:30:56 +01:00
Nicola Murino
76c08baaa0
httpclient: load CA certificates only when required
...
on Windows x509.SystemCertPool is not implemented and therefore we end
uo with an empty certificate pool if we load the CA certificates
unconditionally
2021-03-10 21:45:48 +01:00
Nicola Murino
67ea75cf03
improve OpenAPI schema so it is better rendered on Stoplight
2021-03-07 18:41:56 +01:00
Nicola Murino
4c658bb6f0
webdav: add prefix support
2021-03-07 17:10:45 +01:00
Nicola Murino
1ab02d5891
OpenAPI: improve schema
...
Fix some lint warnings
2021-03-06 17:08:24 +01:00
Nicola Murino
055506e518
sftpfs: add an option to disable concurrent reads
2021-03-06 15:41:40 +01:00
Nicola Murino
88122ba2f8
update jwtauth to v5
2021-03-05 18:50:45 +01:00
Nicola Murino
bfe0c18976
portable mode: fix WebDAV support
2021-03-05 08:41:24 +01:00
Nicola Murino
df41f0c556
add a setting to skip natural keys validation
...
Enabling the "skip_natural_keys_validation" data provider setting,
the natural keys for REST API/Web Admin as usernames, admin names,
folder names are not restricted to unreserved URI chars
Fixes #334 #308
2021-03-04 09:48:53 +01:00
Nicola Murino
561c5021dd
add Segmed to the sponsors section
2021-03-03 18:55:47 +01:00
Nicola Murino
ad07fc78eb
update nfpm and deps
2021-03-03 18:39:58 +01:00
Nicola Murino
3243181c5f
Add a link to the OpenAPI schema where relevant
...
Fixes #329
2021-03-01 22:22:05 +01:00
Nicola Murino
895117718e
SSH system command: add os separator to the resolved path when appropriate
...
Fixes #327
2021-03-01 22:10:45 +01:00
Nicola Murino
534b253c20
WebDAV: improve TLS certificate authentication
...
For each user you can now configure:
- TLS certificate auth
- TLS certificate auth and password
- Password auth
For TLS certificate auth, the certificate common name is used as
username
2021-03-01 19:28:11 +01:00
Nicola Murino
901cafc6da
metrics: reduce complexity for AddLoginResult method
...
fix a gocyclo warning
2021-02-28 12:23:48 +01:00
Nicola Murino
a6e36e7cad
FTP: improve TLS certificate authentication
...
For each user you can now configure:
- TLS certificate auth
- TLS certificate auth and password
- Password auth
For TLS auth, the certificate common name must match the name provided
using the "USER" FTP command
2021-02-28 12:10:40 +01:00
Nicola Murino
b566457e12
change license to AGPL-3
2021-02-26 19:47:48 +01:00
Nicola Murino
ca3e15578e
Use new methods in the io and os packages instead of ioutil ones
...
ioutil is deprecated in Go 1.16 and SFTPGo is an application, not
a library, we have no reason to keep compatibility with old Go
versions.
Go 1.16 fix some cifs related issues too.
2021-02-25 21:53:04 +01:00
Nicola Murino
4b2edff6dd
update deps
2021-02-24 22:27:52 +01:00
Nicola Murino
2146b83343
data providers: add filesystem to folder ...
...
... and some descriptive fields.
The filesystem support for virtual folders will be implemented in
future commits
2021-02-24 19:40:29 +01:00
Nicola Murino
3e1b07324d
GCS: remove compat code
2021-02-22 22:06:23 +01:00
Nicola Murino
8cc2dfe5c2
update pkg/sftp
...
we don't need my branch anymore now that all the required features for
the sftpfs are available upstream too
2021-02-22 16:27:45 +01:00
Nicola Murino
78a837e8f1
remove other compat code
2021-02-22 09:13:26 +01:00
Nicola Murino
49830516be
squash database migrations and remove compat code
2021-02-22 08:37:50 +01:00
Nicola Murino
41e1d9e68a
use Go 1.16 for CI and Docker images
2021-02-21 12:01:37 +01:00
Nicola Murino
5da4f931c5
TLS: allow to configure cipher suites
...
Fixes #316
2021-02-18 20:17:16 +01:00
Nicola Murino
552a96533e
back to development
2021-02-17 09:45:20 +01:00
Nicola Murino
cebd069c77
set version to 2.0.2
2021-02-17 08:10:17 +01:00
Nicola Murino
be9230e85b
micro optimizations spotted using the go-critic linter
2021-02-16 19:11:36 +01:00
Nicola Murino
b1ce6eb85b
web admin: allow to set an empty password for SFTPGo users
2021-02-15 19:38:53 +01:00
Nicola Murino
46176a54b4
minor doc fixes
2021-02-14 22:08:08 +01:00
Nicola Murino
a21ccad174
web hooks: add mutual TLS support
2021-02-13 14:41:37 +01:00
Nicola Murino
1129a868a5
Improve powershell completion
...
cobra 1.1.3 has much better powershell support
2021-02-13 09:10:35 +01:00
Nicola Murino
1ac66d27b6
Use IEC units for byte counting everywhere
2021-02-12 22:16:35 +01:00
Nicola Murino
6a6e8fffbc
web hooks: improve resilience by adding a configurable retry
...
the retryable http client is used for hooks that notify events
2021-02-12 21:42:49 +01:00
Nicola Murino
51f110bc7b
sftpd: add statvfs@openssh.com support
2021-02-11 19:45:52 +01:00
Nicola Murino
4ddfe41f23
loaddata: restore admins too
2021-02-11 08:33:32 +01:00
Nicola Murino
ddd06fc2ac
docker: add permissions to data dirs
...
This way data and backup dirs can be mounted as separate volumes.
Based on the proof of concept submitted by
Mark Sagi-Kazar <mark.sagikazar@gmail.com >
See #305
2021-02-10 19:04:06 +01:00
Nicola Murino
1bccb93fcb
rename default branch from master to main
2021-02-09 19:53:03 +01:00
Nicola Murino
db80781716
validation: improve error message for invalid chars
2021-02-08 21:32:59 +01:00
Nicola Murino
a2a99f9b57
merge full and slim dockerfiles
...
Fixes #232
2021-02-07 21:49:04 +01:00
Nicola Murino
cd4a68cc96
set version to 2.0.1
2021-02-06 15:28:30 +01:00
Nicola Murino
b37eb68993
docker alpine: revert to 3.12 since we have to release 2.0.1
2021-02-06 14:58:19 +01:00
Nicola Murino
b13958a8d6
docker: fix httpd address
2021-02-06 14:51:55 +01:00
Nicola Murino
17e2b234a0
dataprovider: fix migration with old mysql versions
...
Fixes #298
2021-02-06 14:33:51 +01:00
Nicola Murino
4ef1775e9a
docker: switch to Alpine 3.13
2021-02-06 12:54:13 +01:00
Nicola Murino
363977b474
back to development
2021-02-06 12:23:26 +01:00
Nicola Murino
05ae0ea5f2
config: fix bindings backward compatibility
2021-02-06 09:53:31 +01:00
Nicola Murino
8de7a81674
revertprovider: only accept the supported version
2021-02-05 13:55:19 +01:00
Nicola Murino
d32b195a57
httpd: reuse the same compressor among bindings
2021-02-04 22:32:55 +01:00
Nicola Murino
267d9f1831
web ui: allow to create folders from a template
2021-02-04 19:09:43 +01:00
Nicola Murino
17a42a0c11
webdav: add compression support
...
Fixes #295
2021-02-04 09:06:41 +01:00
Nicola Murino
a219d25cac
webdav: update the doc
...
the user specific path is now gone
2021-02-04 07:46:40 +01:00
Nicola Murino
ce731020a7
webdav: remove the username path prefix
...
so we have the same URIs for all protocols
Fixes #293
2021-02-04 07:12:04 +01:00
Nicola Murino
fc9082c422
webdav: try to handle HEAD for collection too
...
The underlying golang webdav library returns Method Not Allowed for
HEAD requests on directories:
https://github.com/golang/net/blob/master/webdav/webdav.go#L210
let's see if we can workaround this inside SFTPGo itself in a similar
way as we do for GET.
The HEAD response will not return a Content-Length, we cannot handle
this inside SFTPGo.
Fixes #294
2021-02-03 22:36:13 +01:00
Nicola Murino
4872ba2ea0
README: add "Sponsors" section
2021-02-03 14:37:11 +01:00
Nicola Murino
70bb3c34ce
sftpfs: improve endpoint validation
...
Validation will fail if the endpoint is not specified as host:port
2021-02-03 11:29:04 +01:00
Nicola Murino
1cde50f050
sftpd: improve logging if filesystem creation fails
2021-02-03 09:45:04 +01:00
Nicola Murino
e9dd4ecdf0
web admin: add CSRF
2021-02-03 08:55:28 +01:00
Nicola Murino
f863530653
JWT: only accepts tokens from the expected header or cookie
2021-02-02 13:11:47 +01:00
Nicola Murino
4f609cfa30
JWT: add token audience
...
a token released for API audience cannot be used for web pages and
vice-versa
2021-02-02 09:14:10 +01:00
Nicola Murino
78bf808322
virtual folders: change dataprovider structure
...
This way we no longer depend on the local file system path and so we can
add support for cloud backends in future updates
2021-02-01 19:04:15 +01:00
Nicola Murino
afe1da92c5
web UI cookie: set the Secure flags if we are over TLS
2021-01-28 13:29:16 +01:00
Nicola Murino
9985224966
examples: add a script for bulk user update
...
you can use this sample script a a basis if you need to update
some common parameters for multiple users while preserving the others
2021-01-27 19:18:37 +01:00
Nicola Murino
02679d6df3
web ui: save the state of the tables
...
the state will be saved for 1 hour
2021-01-27 08:41:21 +01:00
Nicola Murino
c2bbd468c4
REST API: add logout and store invalidated token
2021-01-26 22:35:36 +01:00
Nicola Murino
46ab8f8d78
post-login hook: add the full user JSON serialized
...
Fixes #284
2021-01-26 18:05:44 +01:00
Nicola Murino
54321c5240
web ui: allow to create multiple users from a template
2021-01-25 21:31:33 +01:00
Nicola Murino
5fcbf2528f
html templates: minor improvements
2021-01-24 17:43:54 +01:00
Nicola Murino
ea096db8e4
sftpfs: set the correct file mode
2021-01-23 10:32:15 +01:00
Nicola Murino
0caeb68680
sftpfs: fix stat info
2021-01-23 09:42:49 +01:00
Nicola Murino
2b9ba1d520
web admin: try to uniform UI
2021-01-23 09:28:45 +01:00
Nicola Murino
80f5ccd357
web admin: add backup/restore
2021-01-22 19:42:18 +01:00
Nicola Murino
820169c5c6
windows service: simplify code
...
update testify to 1.7.0 too
2021-01-21 19:07:13 +01:00
Nicola Murino
aff75953e3
ssh requests: send a reply only if the client requested it
2021-01-21 09:28:41 +01:00
Nicola Murino
c0e09374a8
scp: fix wildcard uploads
...
Fixes #285
2021-01-20 22:37:59 +01:00
Nicola Murino
57976b4085
httpd: add mTLS and multiple bindings support
2021-01-19 18:59:41 +01:00
Nicola Murino
899f1a1844
improve windows service
...
ensure to exit the service process in any case
2021-01-18 21:46:26 +01:00
Nicola Murino
41a1af863e
OpenAPI: minor changes
2021-01-18 13:24:38 +01:00
Nicola Murino
778ec9b88f
REST API v2
...
- add JWT authentication
- admins are now stored inside the data provider
- admin access can be restricted based on the source IP: both proxy
header and connection IP are checked
- deprecate REST API CLI: it is not relevant anymore
Some other changes to the REST API can still happen before releasing
SFTPGo 2.0.0
Fixes #197
2021-01-17 22:29:08 +01:00
Giorgio Pellero
d42fcc3786
s3: don't paginate to find zero-byte-keyed dirs ( #277 )
...
Fixes #275
2021-01-14 12:01:25 +01:00
Nicola Murino
5d4f758c47
GCS: don't paginate to find compat "dirs"
2021-01-12 19:22:12 +01:00
Nicola Murino
a8a17a223a
scp: minor improvements
...
document that we don't support wildcard expansion.
I should refactor scp code ...
2021-01-05 22:32:30 +01:00
Nicola Murino
aa40b04576
update deps
2021-01-05 12:40:49 +01:00
Nicola Murino
daac90c4e1
fix a potential race condition for pre-login and ext auth
...
hooks
doing something like this:
err = provider.updateUser(u)
...
return provider.userExists(username)
could be racy if another update happen before
provider.userExists(username)
also pass a pointer to updateUser so if the user is modified inside
"validateUser" we can just return the modified user without do a new
query
2021-01-05 09:50:22 +01:00
Nicola Murino
72b2c83392
defender: allow hot-reloading for safe and block lists
2021-01-04 17:52:14 +01:00
Nicola Murino
c3410a3d91
config: don't log a warning if the config file is not found
...
we also support configuration via env vars
2021-01-03 17:57:07 +01:00
Nicola Murino
173c1820e1
Go 1.15 is now required
...
VerifyConnection is not available in 1.14
2021-01-03 17:25:24 +01:00
Nicola Murino
684f4ba1a6
mutal TLS: add support for revocation lists
2021-01-03 17:03:04 +01:00
Nicola Murino
6d84c5b9e3
capture http servers error logs
...
otherwise they will be printed to stdout
2021-01-03 10:38:28 +01:00
Nicola Murino
4b522a2455
webdav: refactor server initialization
2021-01-03 09:51:54 +01:00
Nicola Murino
1e1c46ae1b
defender: minor docs improvements
2021-01-02 20:02:05 +01:00
Nicola Murino
d6b3acdb62
add REST API for the defender
2021-01-02 19:33:24 +01:00
Nicola Murino
037d89a320
add support for a basic built-in defender
...
It can help to prevent DoS and brute force password guessing
2021-01-02 14:05:09 +01:00
Nicola Murino
30eb3c4a99
update OpenAPI schema
2020-12-29 19:33:04 +01:00
Nicola Murino
0966d44c0f
httpd: add support for listening over a Unix-domain socket
...
Fixes #266
2020-12-29 19:02:56 +01:00
Nicola Murino
40e759c983
FTP: add support for client certificate authentication
2020-12-29 09:20:09 +01:00
Nicola Murino
141ca6777c
webdav: add support for client certificate authentication
...
Fixes #263
2020-12-28 19:48:23 +01:00
Nicola Murino
3c16a19269
FTP: update ftpserverlib
...
fixes another sneaky bug
2020-12-28 09:22:52 +01:00
Nicola Murino
b3c6d79f51
FTP: add support for ASCII transfer mode
...
the default remain binary, a client have to explicitly request an
ASCII transfer
2020-12-27 09:48:56 +01:00
Nicola Murino
0c56b6d504
nfpm: update to 2.1.0
2020-12-26 19:14:12 +01:00
Nicola Murino
3d2da88da9
web ui: update js and css deps
2020-12-26 18:47:09 +01:00
Nicola Murino
80c06d6b59
clone: disable decrypt error test for memory provider
...
This test cannot work using memory provider, we cannot change the provider
for a kms secrete without reloading it from JSON and the memory provider
will never reload users
2020-12-26 15:57:01 +01:00
Nicola Murino
e536a638c9
web UI: improve user cloning
2020-12-26 15:11:38 +01:00
Jochen Munz
bc397002d4
Feature: Clone existing user via web admin ( #259 )
...
UI based cloning of an existing user. The "add user" screen is prepopulated with existing user data.
Resolves drakkan/sftpgo#225
2020-12-26 14:58:59 +01:00
Nicola Murino
2a95d031ea
FTP: add support for AVBL command
2020-12-25 11:14:08 +01:00
Nicola Murino
1dce1eff48
improve FTP support
...
- allow to disable active mode
- allow to disable SITE commands
- add optional support for calculating hash value of files
- add optional support for the non standard COMB command
2020-12-24 18:48:06 +01:00
Jochen Munz
5b1d8666b3
S3fs: Handle non-ascii filename in rename operations ( #257 )
...
SFTP is based on UTF-8 filenames, so non-ASCII filenames get transported with utf-8 escaped character sequences.
At least for the S3fs provider, if such a file is stored in a nested path it cannot be used as the source for a rename operations.
This adds the necessary escaping of the path fragments.
The patch is not required for MinIO but it doesn't hurt
2020-12-24 11:13:42 +01:00
Nicola Murino
187a5b1908
sftpd: properly handle listener accept errors
...
continue on temporary errors and exit from the serve loop for the
other ones
2020-12-23 19:53:07 +01:00
Nicola Murino
7ab7941ddd
sftpfs: fix race condition
2020-12-23 17:15:55 +01:00
Nicola Murino
c69d63c1f8
add support for multiple bindings
...
Fixes #253
2020-12-23 16:12:30 +01:00
Nicola Murino
743b350fdd
httpd: add support for route undefined HEAD requests to GET handlers
...
HEAD responses will not include a body but the Content-Length will be
set as the equivalent GET request
Fixes #255
2020-12-20 10:22:16 +01:00
Nicola Murino
1ac610da1a
fix build on Windows
2020-12-18 16:22:52 +01:00
Nicola Murino
bcf0fa073e
telemetry server: add optional https and authentication
2020-12-18 16:04:42 +01:00
Nicola Murino
140380716d
remove unused constant
2020-12-18 10:05:08 +01:00
Nicola Murino
143df87fee
add some docs for telemetry server
...
move pprof to the telemetry server only
2020-12-18 09:47:22 +01:00
Márk Sági-Kazár
6d895843dc
feat: add new telemetry server ( #254 )
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-12-18 09:01:19 +01:00
Nicola Murino
65e6d5475f
update ftpserverlib to include the latest fixes and features
2020-12-18 08:49:32 +01:00
Nicola Murino
15609cdbc7
fix build on FreeBSD
...
see https://github.com/otiai10/copy/pull/36
2020-12-17 14:46:31 +01:00
Nicola Murino
f876c728ad
add support for the latest ftpserverlib and azblob versions
2020-12-17 13:40:36 +01:00
Nicola Murino
f34462e3c3
add support for limiting max concurrent client connections
2020-12-15 19:29:30 +01:00
Nicola Murino
ea0bf5e4c8
ensure 64 bit alignment for 64 bit struct fields access atomically
2020-12-14 14:52:36 +01:00
Nicola Murino
14d1b82f6b
minor README improvements
2020-12-14 07:54:27 +01:00
Nicola Murino
ed43ddd79d
enable hash commands for any supported backend
2020-12-13 15:11:55 +01:00
Nicola Murino
23192a3be7
update nfpm to 1.10.3
2020-12-13 14:29:59 +01:00
Nicola Murino
72e3d464b8
sftpfs: fix fingerprints copy for memory provider
2020-12-12 10:56:02 +01:00
Nicola Murino
a6985075b9
add sftpfs storage backend
...
Fixes #224
2020-12-12 10:31:09 +01:00
dharmendra kariya
4d5494912d
Update README.md ( #245 )
2020-12-11 08:22:50 +01:00
Nicola Murino
50982229e1
REST API: add a method to get the status of the services
...
added a status page to the built-in web admin
2020-12-08 11:18:34 +01:00
dharmendra kariya
6977a4a18b
Update full-configuration.md ( #240 )
...
just deleting redundant line
2020-12-08 09:09:21 +01:00
Nicola Murino
ab1bf2ad44
update deps
2020-12-06 22:20:53 +01:00
Nicola Murino
c451f742aa
revertprovider: crypted provider was not supported in v4
...
also ensure to initialize kms before the dataprovider, it could be
needed to downgrade secret from cloud kms providers
2020-12-06 10:36:48 +01:00
Nicola Murino
034d89876d
webdav: fix proppatch handling
...
also respect login delay for cached webdav users and check the home dir as
soon as the user authenticates
Fixes #239
2020-12-06 08:19:41 +01:00
Nicola Murino
4a88ea5c03
add Data At Rest Encryption support
2020-12-05 13:48:13 +01:00
Nicola Murino
95c6d41c35
config: make config file relative to the config dir
...
a configuration parsing error is now fatal
2020-12-03 17:16:35 +01:00
Márk Sági-Kazár
2a9ed0abca
Accept a config file path instead of a config name
...
Config name is a Viper concept used for searching a specific file
in various paths with various extensions.
Making it configurable is usually not a useful feature
as users mostly want to define a full or relative path
to a config file.
This change replaces config name with config file.
2020-12-03 16:23:33 +01:00
Nicola Murino
3ff6b1bf64
fix lint warnings
2020-12-02 10:02:08 +01:00
Nicola Murino
a67276ccc2
add build tags to disable kms providers
2020-12-02 09:44:18 +01:00
Nicola Murino
87b51a6fd5
kms: remember if a secret was saved without a master key
...
So we will be able to decrypt secret stored without a master key if a
such key is provided later
2020-12-01 22:18:16 +01:00
Nicola Murino
940836b25b
add a note about using sqlite provider over cifs shares
...
See #235
2020-11-30 21:59:56 +01:00
Nicola Murino
634b723b5d
add KMS support
...
Fixes #226
2020-11-30 21:46:34 +01:00
Nicola Murino
af0c9b76c4
update nfpm to 1.10.2
2020-11-27 18:07:27 +01:00
Nicola Murino
2142ef20c5
fix some typos
2020-11-26 22:18:12 +01:00
Nicola Murino
224ce5fe81
add revertprovider subcommand
...
Fixes #233
2020-11-26 22:08:33 +01:00
Nicola Murino
4bb9d07dde
user: add a free text field
...
Fixes #230
2020-11-25 22:26:34 +01:00
Nicola Murino
2054dfd83d
create the credential directory when needed
...
The credentials dir is currently required only for GCS users if
prefer database credential setting is false, so defer its creation
and don't fail to start the services if this directory is missing
2020-11-25 14:18:12 +01:00
Nicola Murino
6699f5c2cc
initial data loading: an error is no longer fatal
...
therefore it does not prevent the services from starting
2020-11-25 09:18:36 +01:00
Estel Smith
70bde8b2bc
memory provider: print a log if loading the initial dump fails
...
therefore this error is no longer fatal and does not prevent the services
from starting
Fixes #229
2020-11-25 09:15:23 +01:00
Nicola Murino
ff73e5f53c
CI Docker: don't build full image on pull request
...
it will fail since the slim tag is not pushed
2020-11-24 18:51:10 +01:00
Nicola Murino
0609188d3f
allow to disable SFTP service
...
Fixes #228
2020-11-24 13:44:57 +01:00
Nicola Murino
99cd1ccfe5
S3: fix empty directory detection
...
when listing empty directory MinIO returns no contents while S3 returns
1 object with the key equal to the prefix. Make detection work in both
cases
Fixes #227
2020-11-23 15:36:42 +01:00
Nicola Murino
dccc583b5d
add a dedicated struct to store encrypted credentials
...
also gcs credentials are now encrypted, both on disk and inside the
provider.
Data provider is automatically migrated and load data will accept
old format too but you should upgrade to the new format to avoid future
issues
2020-11-22 21:53:04 +01:00
Nicola Murino
ac435b7890
back to development
2020-11-18 21:53:23 +01:00
Nicola Murino
37fc589896
set version to 1.2.2
2020-11-18 19:24:19 +01:00
Nicola Murino
5d789a01b7
update pkg/sftp
...
These patches are now merged upstream:
https://github.com/pkg/sftp/pull/392
https://github.com/pkg/sftp/pull/393
2020-11-18 19:06:12 +01:00
Nicola Murino
ca0ff0d630
add a File interface so we can avoid to use os.File directly
2020-11-17 19:36:39 +01:00
Nicola Murino
969b38586e
update pkg/sftp to fix requests accumulation
...
Include this patch:
https://github.com/pkg/sftp/pull/393
to avoid request accumulation (no underlying fd) if we return an error.
Before this patch the accumulated requests are released only when the
client disconnects.
We use our fork for now to include
https://github.com/pkg/sftp/pull/392
too
2020-11-16 19:49:26 +01:00
Nicola Murino
e3eca424f1
web admin: allow both allowed and denied extensions/patterns for a dir
...
this fix a regression introduced in the previous commit
2020-11-16 19:21:50 +01:00
Nicola Murino
a6355e298e
add support for limit files using shell like patterns
...
Fixes #209
2020-11-15 22:04:48 +01:00
Ryan Gough
c0f47a58f2
web admin: clarify that the directories for permissions are relative
...
Fixes #222
2020-11-15 09:11:36 +01:00
Nicola Murino
dc845fa2f4
webdav: fix permission errors if the client try to read multiple times
2020-11-14 19:19:41 +01:00
Nicola Murino
7e855c83b3
deb packages: changes priority to optional, extra is deprecated
2020-11-14 13:54:14 +01:00
Nicola Murino
3b8a9e0963
back to development
2020-11-14 11:01:28 +01:00
Nicola Murino
4445834fd3
set version to 1.2.1
2020-11-14 09:28:53 +01:00
Nicola Murino
19a619ff65
Linux pkgs: use python3 for API CLI inside generated deb
2020-11-14 09:10:45 +01:00
Nicola Murino
66a538dc9c
CI: improve docker build action
2020-11-13 21:55:53 +01:00
Nicola Murino
1a6863f4b1
GCS uploads: check Close() error
...
some code simplification too
2020-11-13 18:40:18 +01:00
Nicola Murino
fbd9919afa
docker: add slim image
2020-11-12 22:40:53 +01:00
Nicola Murino
eec8bc73f4
docker: remove entrypoint
...
remove the VOLUME instruction from the Dockerfile so you can change
user using your own image like this:
FROM drakkan/sftpgo:tag
USER root
RUN chown -R 1100:1100 /etc/sftpgo && chown 1100:1100 /var/lib/sftpgo /srv/sftpgo
USER 1100:1100
2020-11-12 11:53:05 +01:00
Nicola Murino
5720d40fee
add setstat_mode 2
...
in this mode chmod/chtimes/chown can be silently ignored only for cloud
based file systems
Fixes #223
2020-11-12 10:39:46 +01:00
Nicola Murino
38e0cba675
docker: add an entrypoint
...
running as an arbitrary user is now possible setting the following
env vars too:
SFTPGO_PUID
SFTPGO_PGID
Fixes #217
2020-11-10 23:11:57 +01:00
Nicola Murino
4c5a0d663e
sftpd: return the error Operation Unsupported for unexpected reads
...
a cloud based file cannot be opened for read and write at the same
time. Return a proper error if a client try to do this.
It can happen only for SFTP
2020-11-09 21:01:56 +01:00
Nicola Murino
093df15fac
CI: add ppc64le support
2020-11-09 18:39:36 +01:00
Nicola Murino
957430e675
back to development
2020-11-08 12:56:37 +01:00
Nicola Murino
14035f407e
set version to 1.2.0
2020-11-08 06:14:03 +01:00
Nicola Murino
bf2b2525a9
CI: build deb/rpm for arm64
2020-11-07 19:29:16 +01:00
Nicola Murino
4edb9cd6b9
simplify some code
2020-11-07 18:05:47 +01:00
Nicola Murino
c38d242bea
docker: allow running as an arbitrary user
2020-11-06 10:18:29 +01:00
Nicola Murino
c6ab6f94e7
azblob: container level SAS cannot access container properties
...
so return the root directory without checking if the bucket exists
2020-11-05 15:03:35 +01:00
Nicola Murino
36151d1ba9
subsystem mode: add base-home-dir flag
2020-11-05 12:12:11 +01:00
Nicola Murino
1d5d184720
webdav file: ensure to close the reader only once
2020-11-05 09:30:38 +01:00
Nicola Murino
0119fd03a6
webdav: user caching is now mandatory
...
we cache the lock system with the user, without user caching we cannot
support locks for resource
2020-11-04 22:29:25 +01:00
Nicola Murino
0a14297b48
webdav: performance improvements and bug fixes
...
we need my custom golang/x/net/webdav fork for now
https://github.com/drakkan/net/tree/sftpgo
2020-11-04 19:11:40 +01:00
Nicola Murino
442efa0607
docker: add ppc64le support
...
Thanks to OSU Open Source Lab for making this possible
2020-11-03 08:47:30 +01:00
Nicola Murino
6ad4cc317c
cloud backends: stat and other performance improvements
2020-11-02 19:16:12 +01:00
Nicola Murino
57bec976ae
document heathz endpoint
2020-11-01 10:39:10 +01:00
Nicola Murino
641493e31a
fix default config file
...
restore a setting changed for a local test
2020-10-31 11:34:50 +01:00
Nicola Murino
5b4e9ad982
windows setup: allow installation on older Windows version
...
The REST API CLI will not be installed on version < 10
Fixes #205
2020-10-31 11:04:24 +01:00
Nicola Murino
950a5ad9ea
add a recoverer where appropriate
...
I have never seen this, but a malformed packet can easily crash pkg/sftp
2020-10-31 11:02:04 +01:00
Nicola Murino
fcfdd633f6
Azure Blob: update SDK and add access tier support
2020-10-30 22:17:17 +01:00
Nicola Murino
ebb18fa57d
config: manually set viper defaults
...
so we can override config via env var even without a configuration file
Fixes #208
2020-10-30 18:58:57 +01:00
Nicola Murino
58b0ca585c
docs: clarify that the config dir is the working dir by default
...
Fixes #211
2020-10-29 21:54:02 +01:00
Nicola Murino
5bc1c2de2d
add a link to the heml chart
...
Fixes #210
2020-10-29 21:50:21 +01:00
Mark Sagi-Kazar
ec00613202
feat(httpd): add new healthz endpoint
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-29 21:37:30 +01:00
Mark Sagi-Kazar
02ec3a5f48
refactor(httpd): move every route under a new group
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-29 21:37:30 +01:00
Nicola Murino
ac3bae00fc
add support for SFTP subsystem mode
...
Fixes #204
2020-10-29 19:23:33 +01:00
Nicola Murino
e54828a7b8
add metrics for Azure Blob storage
2020-10-26 19:01:17 +01:00
Nicola Murino
f2acde789d
portable mode: add Azure Blob support
2020-10-25 21:42:43 +01:00
Nicola Murino
9b49f63a97
azure: implement multipart uploads using low level API
...
The high level wrapper seems to hang if there are network issues
2020-10-25 17:41:04 +01:00
Nicola Murino
14bcc6f2fc
s3, azblob: check upper limit for part size
2020-10-25 12:10:11 +01:00
Nicola Murino
975a2f3632
sftpd: fix the max upload file size check for overwrites
...
improved test case too
2020-10-25 08:52:31 +01:00
Nicola Murino
5ff8f75917
add Azure Blob support
2020-10-25 08:18:48 +01:00
Sean Hildebrand
db7e81e9d0
add prefer_database_credentials configuration parameter
...
When true, users' Google Cloud Storage credentials will be written to
the data provider instead of disk.
Pre-existing credentials on disk will be used as a fallback
Fixes #201
2020-10-22 10:42:40 +02:00
Nicola Murino
6a8039e76a
sftpd: log fingerprints for used host keys
2020-10-21 14:27:58 +02:00
Mark Sagi-Kazar
56bf8364cd
test: add test for InitializeActionHandler
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-21 07:23:33 +02:00
Mark Sagi-Kazar
75750e3a79
feat: add support for custom action hooks
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-21 07:23:33 +02:00
Nicola Murino
bb5207ad77
Add support for loading users/folders on startup
...
Fixes #161
2020-10-20 18:42:37 +02:00
Nicola Murino
b51d795e04
sftpd: auto generate an ed25519 host key too
2020-10-19 14:30:40 +02:00
Nicola Murino
d12819932a
update cobra to v1.1.1
...
this version fix the man page generation so we don't need to use
our branch anymore
2020-10-18 21:52:42 +02:00
Nicola Murino
d812c86812
docker: push images to GHCR too
...
use numeric id for user inside Dockerfile
2020-10-18 19:18:51 +02:00
Nicola Murino
1625cd5a9f
back to development
2020-10-18 11:09:16 +02:00
Nicola Murino
756c3d0503
fix man page generation
...
other minor changes
2020-10-17 22:14:04 +02:00
Nicola Murino
f884447b26
rpm: set proper permissions for /var/lib/sftpgo and /srv/sftpgo
...
it seems we have to check the permissions after each update,
probably because nfpm defines these dirs as empty folders
2020-10-15 10:01:31 +02:00
Nicola Murino
555394b95e
Linux pkgs: move data directory to /srv/sftpgo
2020-10-14 22:25:58 +02:00
Nicola Murino
00510a6af8
docker docs: fix image name
2020-10-14 08:13:24 +02:00
Nicola Murino
6c0839e197
Improve docker images
2020-10-14 07:46:36 +02:00
Ilias Trichopoulos
5b79379c90
Fix typo in Twilio name
2020-10-12 11:36:14 +02:00
Nicola Murino
47fed45700
Improve Linux packages
2020-10-11 16:23:50 +02:00
Nicola Murino
80d695f3a2
back to development
2020-10-11 09:29:17 +02:00
Nicola Murino
8d4f40ccd2
release workflow add initprovider again
2020-10-10 22:29:04 +02:00
Nicola Murino
765bad5edd
set version to 1.1.0
2020-10-10 22:09:48 +02:00
Nicola Murino
0c0382c9b5
docker: disable scheduled build
...
We already have an edge version built after each commit
2020-10-10 20:15:34 +02:00
Nicola Murino
bbab6149e8
fix windows service: was broken in the latest commit
2020-10-09 22:42:13 +02:00
Nicola Murino
ce9387f1ab
update dependencies and some docs
2020-10-09 20:25:42 +02:00
Nicola Murino
d126c5736a
Docker: add Debian based image
2020-10-08 21:43:13 +02:00
Nicola Murino
5048d54d32
PPA: add source files used to build the packages
2020-10-08 18:20:15 +02:00
Nicola Murino
f22fe6af76
remove py extension from REST API CLI
2020-10-08 16:02:04 +02:00
Mark Sagi-Kazar
8034f289d1
Fix empty env context in nightly builds
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-08 15:48:40 +02:00
Nicola Murino
eed61ac510
Dockerfile: add a FEATURES build arg
...
This ARG allows to disable some optional features and it might be
useful if you build the image yourself
2020-10-07 20:04:02 +02:00
Nicola Murino
412d6096c0
Linux pkgs: fix postinstall scripts
2020-10-06 18:18:43 +02:00
Nicola Murino
c289ae07d2
Docker workflow: explicitly set image labels
...
while waiting for https://github.com/docker/build-push-action/issues/165
to be fixed.
Some minor changes to the default configuration for Linux packages
2020-10-06 18:03:55 +02:00
Nicola Murino
87f78b07b3
docker: add some docs and build for arm64 too
2020-10-06 13:59:31 +02:00
Mark Sagi-Kazar
5e2db77ef9
refactor: add an enum for filesystem providers
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 21:40:21 +02:00
Nicola Murino
c992072286
data provider: add a setting to prevent auto-update
2020-10-05 19:42:33 +02:00
Nicola Murino
0ef826c090
docker package: fix description
2020-10-05 17:24:09 +02:00
Mark Sagi-Kazar
5da75c3915
ci: enable docker build
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:32:59 +02:00
Nicola Murino
8222baa7ed
Dockerfile: minor changes
2020-10-05 16:31:22 +02:00
Mark Sagi-Kazar
7b76b51314
feat: configure database path using configuration
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
c96dbbd3b5
feat: save credentials to /var/lib/sftpgo
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
da6ccedf24
feat: save database to /var/lib/sftpgo
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
13b37a835f
revert: boltdb, sqlite is not automatically initialized
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
863fa33309
feat: install additional packages
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
9f4c54a212
refactor: make /var/lib/sftpgo the user home
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
2a7bff4c0e
feat: switch to boltdb by default to make the container work out of the box
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
17406d1aab
fix: permission issue caused by root owning the volume
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
6537c53d43
feat: add host_keys under /var/lib/sftpgo
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
b4bd10521a
feat: move data under /var/lib/sftpgo
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
65cbef1962
feat: move backups under /var/lib/sftpgo
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
a8d355900a
fix: missing sha from docker image on GHA
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
ffd9c381ce
feat: add workflow for building docker image
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Mark Sagi-Kazar
2a0bce0beb
feat: add dockerfile
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com >
2020-10-05 16:15:06 +02:00
Nicola Murino
f1f7b81088
logger: don't print connection_id if empty
...
Fixes #183
2020-10-05 15:51:17 +02:00
Nicola Murino
f9827f958b
sftpd auto host keys: try to auto-create parent dir if missing
2020-10-05 14:16:57 +02:00
Nicola Murino
3e2afc35ba
data provider: try to automatically initialize it if required
2020-10-05 12:55:49 +02:00
Ilias Trichopoulos
c65dd86d5e
Fix typos ( #181 )
2020-10-05 11:29:18 +02:00
Nicola Murino
2d6c0388af
update deps
2020-10-04 18:29:42 +02:00
Nicola Murino
4d19d87720
pkgs: use glob notation to include static folder
2020-10-02 18:16:49 +02:00
Nicola Murino
5eabaf98e0
gcs: remove a superfluous debug log
2020-09-29 09:17:08 +02:00
Nicola Murino
d1f0e9ae9f
CGS: implement MimeTyper interface
2020-09-28 22:12:46 +02:00
Thomas Blommaert
cd56039ab7
GCS mime-type detection ( #179 )
...
Fixes #178
2020-09-28 21:52:18 +02:00
Nicola Murino
55515fee95
update deps, GCS can no finally use attribute selection
...
See https://github.com/googleapis/google-cloud-go/pull/2661
2020-09-28 12:51:19 +02:00
Nicola Murino
13d43a2d31
improve some docs
2020-09-27 09:24:10 +02:00
Nicola Murino
001261433b
howto postgres-s3: update to use the debian package
2020-09-26 19:28:56 +02:00
Nicola Murino
03bf595525
automatically build deb and rpm Linux packages
...
The packages are built after each tag/commit
Fixes #176
2020-09-26 14:07:24 +02:00
Nicola Murino
4ebedace1e
systemd unit: run as "sftpgo" system user
...
Update the docs too
Fixes #177
2020-09-25 18:23:04 +02:00
Stephan Müller
b23276c002
Set verbosity for go commands in docker build ( #174 )
2020-09-21 19:33:44 +02:00
Nicola Murino
bf708cb8bc
osfs: improve isSubDir check
2020-09-21 19:32:33 +02:00
Nicola Murino
a550d082a3
portable mode: advertise WebDAV service if requested
2020-09-21 16:08:32 +02:00
Nicola Murino
6c1a7449fe
ssh commands: return better error messages
...
This improve the fix for #171 and return better error message for
SSH commands other than SCP too
2020-09-19 10:14:30 +02:00
Nicola Murino
f0c9b55036
dataprovider: improve user validation errors
...
Fixes #170
2020-09-18 19:21:24 +02:00
Nicola Murino
209badf10c
scp: return better error messages
...
Fixes #171
2020-09-18 19:13:09 +02:00
Nicola Murino
242dde4480
sftpd: ensure to always close idle connections
...
after the last commit this wasn't the case anymore
Completly fixes #169
2020-09-18 18:15:28 +02:00
Nicola Murino
2df0dd1f70
sshd: map each channel with a new connection
...
Fixes #169
2020-09-18 10:52:53 +02:00
Nicola Murino
98a6d138d4
sftpd: add a test case to ensure we return sftp.ErrSSHFxNoSuchFile ...
...
if stat/lstat fails on a missing file
2020-09-17 12:30:48 +02:00
Nicola Murino
38f06ab373
ftpd: fix TLS for active connections
...
See https://github.com/fclairamb/ftpserverlib/issues/177
Some minor doc improvements
2020-09-17 09:45:40 +02:00
Nicola Murino
3c1300721c
add some basic how-to style documents
2020-09-13 19:43:56 +02:00
Nicola Murino
61003c8079
sftpd: add lstat support
2020-09-11 09:30:25 +02:00
Nicola Murino
01850c7399
REST API: remove status from ApiResponse
...
it duplicates the header HTTP status
2020-09-08 09:45:21 +02:00
Nicola Murino
b9c381e26f
sftpd: update pkg/sftp
...
The patch to open a file in read/write mode is now merged
2020-09-06 11:40:31 +02:00
Nicola Murino
542554fb2c
replace the library to verify UNIX's crypt(3) passwords
2020-09-04 21:08:09 +02:00
Nicola Murino
bdf18fa862
password hashing: exposes argon2 options
...
So the hashing complexity can be changed depending on available
memory/CPU resources and business requirements
2020-09-04 17:09:31 +02:00
Nicola Murino
afc411c51b
adjust runtime.GOMAXPROCS to match the container CPU quota, if any
2020-09-03 18:09:45 +02:00
Nicola Murino
a59163e56c
multi-step auth: don't advertise password method if it is disabled
...
also rename the settings to password_authentication so it is more like
OpenSSH, add some test cases and improve documentation
2020-09-01 19:34:40 +02:00
Giorgio Pellero
8391b19abb
Add password_disabled bool to sftpd config, disables password auth callback ( #165 )
2020-09-01 19:26:33 +02:00
Nicola Murino
3925c7ff95
REST API/Web admin: add a parameter to disconnect a user after an update
...
This way you can force the user to login again and so to use the updated
configuration.
A deleted user will be automatically disconnected.
Fixes #163
Improved some docs too.
2020-09-01 16:10:26 +02:00
Nicola Murino
dbed110d02
WebDAV: add caching for authenticated users
...
In this way we get a big performance boost
2020-08-31 19:25:17 +02:00
Giorgio Pellero
f978355520
Fix "compatible" typo in README.md ( #162 )
2020-08-31 13:43:24 +02:00
Nicola Murino
4748e6f54d
sftpd: handle read and write from the same handle ( #158 )
...
Fixes #155
2020-08-31 06:45:22 +02:00
Nicola Murino
91a4c64390
fix initprovider exit code for MySQL and PostgreSQL
2020-08-30 14:00:45 +02:00
Nicola Murino
600a107699
initprovider: check if the provider is already initialized
...
exit with code 0 if no initialization is required
2020-08-30 13:50:43 +02:00
Nicola Murino
2746c0b0f1
move stat to base connection and differentiate between Stat and Lstat
...
we will use Lstat once it will be exposed in pkg/sftp
2020-08-25 18:23:00 +02:00
Nicola Murino
701a6115f8
ftpd: use ftpserverlib master, the tls patch is now merged
2020-08-24 23:06:10 +02:00
Nicola Murino
56b00addc4
docker: try to improve the docs
...
See #159
2020-08-24 15:46:31 +02:00
Nicola Murino
02e35ee002
sftpd: add Readlink support
2020-08-22 14:52:17 +02:00
Nicola Murino
5208e4a4ca
sftpd: improve truncate
...
quota usage and max allowed write size are now properly updated after a
truncate
2020-08-22 10:12:00 +02:00
Nicola Murino
7381a867ba
fix truncate test cases on Windows
2020-08-20 14:44:38 +02:00
Nicola Murino
f41ce6619f
sftpd: add SSH_FXP_FSETSTAT support
...
This change will fix file editing from sshfs, we need this patch
https://github.com/pkg/sftp/pull/373
for pkg/sftp to support this feature
2020-08-20 13:54:36 +02:00
Nicola Murino
933427310d
fix check pwd hook when using memory provider
2020-08-19 19:47:52 +02:00
Nicola Murino
8b0a1817b3
add check password hook
...
its main use case is to allow to easily support things like password+OTP for
protocols without keyboard interactive support such as FTP and WebDAV
2020-08-19 19:36:12 +02:00
Nicola Murino
04c9a5c008
add some examples hooks for one time password logins
...
The examples use Twillo Authy since I use it for my GitHub account.
You can easily use other multi factor authentication software in a
similar way.
2020-08-18 21:21:01 +02:00
Nicola Murino
bbc8c091e6
portable mode: add WebDAV support
2020-08-17 14:08:08 +02:00
Nicola Murino
f3228713bc
Allow individual protocols to be enabled per user
...
Fixes #154
2020-08-17 12:49:20 +02:00
Nicola Murino
fa5333784b
add a maximum allowed size for a single upload
2020-08-16 20:17:02 +02:00
Nicola Murino
0dbf0cc81f
WebDAV: add CORS support
2020-08-15 15:55:20 +02:00
Nicola Murino
196a56726e
FTP improvements
...
- add a setting to require TLS
- add symlink support
require TLS 1.2 for all TLS connections
2020-08-15 13:02:25 +02:00
Nicola Murino
fe857dcb1b
CI: use go 1.15 by default now that it is released
2020-08-12 16:42:38 +02:00
Nicola Murino
aa0ed5dbd0
add post-login hook
...
a login scope is supported too so you can get notifications for failed logins,
successful logins or both
2020-08-12 16:15:12 +02:00
Nicola Murino
a9e21c282a
add WebDAV support
...
Fixes #147
2020-08-11 23:56:10 +02:00
Antoine Deschênes
9a15a54885
sftpd: set failed connection loglevel to debug ( #152 )
2020-08-06 21:20:31 +02:00
Nicola Murino
91dcc349de
Add client IP address to external auth, pre-login and keyboard interactive hooks
2020-08-04 18:03:28 +02:00
Nicola Murino
fa41bfd06a
Cloud backends: add support for FTP REST command
...
So partial downloads are now supported as for local fs
2020-08-03 18:03:09 +02:00
Nicola Murino
8839c34d53
FTP: implements ClientDriverExtensionRemoveDir
...
Fixes #149 for FTP too
2020-08-03 17:36:43 +02:00
Nicola Murino
11ceaa8850
docker: document how to enable FTP/S
2020-08-01 08:56:15 +02:00
Nicola Murino
2a9f7db1e2
Cloud FS: don't propagate the error if removing a folder returns not found
...
for Cloud FS the folders are virtual and they, generally, disappear when the
last file is removed.
This fix doesn't work for FTP protocol for now.
Fixes #149
2020-07-31 19:24:57 +02:00
Nicola Murino
22338ed478
add post connect hook
...
Fixes #144
2020-07-30 22:33:49 +02:00
Nicola Murino
59a21158a6
fix FTP quota limits test case
...
It failed sometime due to a bug in the ftp client library used in test
cases. The failure was more frequent on FreeBSD but it could happen in
any supported OS. It was not systematic since we use small files in
test cases.
See https://github.com/jlaffaye/ftp/pull/192
2020-07-30 19:52:29 +02:00
Nicola Murino
93ce96d011
add support for the venerable FTP protocol
...
Fixes #46
2020-07-29 21:56:56 +02:00
Nicola Murino
cc2f04b0e4
fix concurrency test case on go 1.13
...
a sleep seems required, needs investigation
2020-07-25 08:55:17 +02:00
Nicola Murino
aa5191fa1b
CI: add a timeout for test cases execution
2020-07-25 00:14:44 +02:00
Nicola Murino
4e41a5583d
refactoring: add common package
...
The common package defines the interfaces that a protocol must implement
and contain code that can be shared among supported protocols.
This way should be easier to support new protocols
2020-07-24 23:39:38 +02:00
Nicola Murino
ded8fad5e4
add sponsor button
2020-07-13 22:23:11 +02:00
Nicola Murino
3702bc8413
several doc fixes
2020-07-11 13:03:15 +02:00
Nicola Murino
7896d2eef7
improve CI/CD workflows
2020-07-10 23:31:53 +02:00
Nicola Murino
da0f470f1c
document FreeBSD support
...
improve some tests cleanup
2020-07-10 19:20:37 +02:00
Nicola Murino
8fddb742df
try to improve error message if the user forgot to initialize the provider
...
See #138
2020-07-09 20:01:37 +02:00
Nicola Murino
95fe26f3e3
keep track of services errors
...
So we can exit with the correct code if an error happen inside the
services goroutines
Fixes #143
2020-07-09 19:16:52 +02:00
Nicola Murino
1e10381143
improve help strings formatting
...
Fixes #139
2020-07-09 18:58:22 +02:00
Nicola Murino
96cbce52f9
cmd: add shell completion and man pages generators
2020-07-08 23:21:33 +02:00
Nicola Murino
0ea2ca3141
simplify data provider usage
...
remove the obsolete SQL scripts too. They are not required since v0.9.6
2020-07-08 19:59:31 +02:00
Nicola Murino
42877dd915
sql providers: add a query timeout
2020-07-08 18:54:44 +02:00
Nicola Murino
790c11c453
back to development
2020-07-07 19:40:22 +02:00
Nicola Murino
1ac4baa00a
set version to 1.0.0
2020-07-06 22:41:50 +02:00
Nicola Murino
fc32286045
update deps
2020-07-05 22:54:00 +02:00
Nicola Murino
ee1131f254
enable SCP test cases on Windows
2020-06-30 23:25:25 +02:00
Nicola Murino
c5dc3ee3b6
simplify CI workflow
2020-06-29 20:07:51 +02:00
Nicola Murino
dd593b1035
ssh commands: send a generic error for unexpected failures
...
and log the real error, it could leak a filesystem path
2020-06-29 18:53:33 +02:00
Nicola Murino
4814786556
windows installer: fix exe name for service control
...
It worked before since Windows is case insensitive
2020-06-29 14:55:58 +02:00
Nicola Murino
4f0a936ca0
web admin: fix Microsoft edge compatibility
...
Edge does not support trimEnd
2020-06-29 11:46:02 +02:00
Nicola Murino
aec372ca31
Windows setup: require Windows 10
...
Windows 7 is EOL since several months now
2020-06-29 11:15:24 +02:00
Nicola Murino
d2a739f8f6
add workflow status badge
2020-06-28 21:01:03 +02:00
Nicola Murino
165110872b
add release workflow
...
for each tag a new release, including binaries, is automatically created
2020-06-28 15:57:33 +02:00
Nicola Murino
6ab4e9f533
add test case for concurrent logins
2020-06-27 12:36:42 +02:00
Nicola Murino
cf541d62ea
recursive permissions check before renaming/copying directories
2020-06-26 23:38:29 +02:00
Nicola Murino
19fc58dd1f
portable: avoid to log user provided password
...
disable DNS Multicast as default
Fixes #135 and #136
2020-06-24 13:37:38 +02:00
Nicola Murino
ac9c475849
test bolt and memory provider on macOS and Windows too
2020-06-22 23:47:07 +02:00
Nicola Murino
ddf99ab706
workflow: execute test cases on MySQL too
2020-06-22 20:02:51 +02:00
Nicola Murino
0056984d4b
Allow to rotate logs on demand
...
Log file can be rotated sending a SIGUSR1 signal on Unix based systems and
using "sftpgo service rotatelogs" on Windows
Fixes #133
2020-06-22 19:11:53 +02:00
Nicola Murino
44fb276464
workflow: execute tests using postgresql provider too
2020-06-21 21:28:59 +02:00
Nicola Murino
558a1b4050
workflow: execute tests using memory provider too
2020-06-21 20:20:30 +02:00
Nicola Murino
8f934f2648
run test cases against bolt provider too
2020-06-20 23:49:27 +02:00
Nicola Murino
403b9a8310
replace Travis with GitHub actions
2020-06-20 21:57:51 +02:00
Nicola Murino
33436488e2
update deps
2020-06-20 16:09:55 +02:00
Nicola Murino
3c28366fed
add action to build code after each commit
...
You can download the build artifact from the "Actions->Code Build"
Fixes #129
2020-06-20 15:34:19 +02:00
Nicola Murino
b80abe6c05
return exit code 1 on error
...
Fixes #132
2020-06-20 14:30:46 +02:00
Nicola Murino
8cb47817f6
Add API endpoint to set current quota
...
Fixes #130
2020-06-20 12:38:04 +02:00
Nicola Murino
23a80b01b6
add build tag to disable metrics
2020-06-19 17:08:51 +02:00
Nicola Murino
b30614e9d8
httpd: make the built-in web interface optional
...
The built-in web admin will be disabled if both "templates_path" and
"static_files_path" are empty
Fixes #131
2020-06-18 23:53:38 +02:00
Nicola Murino
e86089a9f3
quota: improve size check
...
get the remaining allowed size when an upload starts and check it against the
uploaded bytes
Fixes #128
2020-06-18 22:38:03 +02:00
Nicola Murino
3ceba7a147
sftpgo-copy: add quota limits check
2020-06-16 22:49:18 +02:00
Nicola Murino
c491133aff
docs: fix markdown lint warnings
2020-06-15 23:46:11 +02:00
Nicola Murino
37418a7630
SSH system commands: allow git and rsync inside virtual folders
2020-06-15 23:32:12 +02:00
Nicola Murino
73a9c002e0
permissions: improve rename
...
Allow to enable rename permission in a more controlled way granting "delete"
permission on source directory and "upload" permission on target directory
2020-06-13 23:49:28 +02:00
Nicola Murino
3d48fa7382
ssh commands: add sftpgo-copy and sftpgo-remove
...
Fixes #122
2020-06-13 22:48:51 +02:00
Nicola Murino
8e22dd1b13
virtual folders: allow overlapped mapped paths if quota is disabled
...
See #95
2020-06-10 09:11:32 +02:00
Nicola Murino
7807fa7cc2
use os.ModePerm for files and directory creation
2020-06-08 19:40:17 +02:00
Nicola Murino
cd380973df
allows host keys auto generation inside a user configured directory
...
Fixes #124
2020-06-08 18:45:04 +02:00
Nicola Murino
01d681faa3
external auth: allow to map multiple login username to a single account
...
some external auth users want to map multiple login usernames with a single
SGTPGo account.
For example an SFTP user logins using "user1" or "user2" and the external auth
returns "user" in both cases, so we use the username returned from external auth
and not the one used to login
Fixes #125
2020-06-08 13:06:02 +02:00
Nicola Murino
c231b663a3
add docs for virtual folders
...
fix test cases on macOS
2020-06-08 00:15:14 +02:00
Nicola Murino
8306b6bde6
refactor virtual folders
...
The same virtual folder can now be shared among users and different
folder quota limits for each user are supported.
Fixes #120
2020-06-07 23:30:18 +02:00
Nicola Murino
dc011af90d
sftpd actions: add support for pre-delete action
...
Fixes #121
2020-05-24 23:31:14 +02:00
Nicola Murino
c27e3ef436
actions: add a generic hook to define external commands and HTTP URL
...
We can only define a single hook now and it can be an HTTP notification
or an external command, not both
2020-05-24 15:29:39 +02:00
Nicola Murino
760cc9ba5a
partial auth: fix public key query response
...
more details here:
https://github.com/golang/crypto/pull/130#issuecomment-633191423
2020-05-24 12:13:14 +02:00
Nicola Murino
5665e9c0e7
improve some docs
2020-05-23 12:47:44 +02:00
Nicola Murino
ad53429cf1
add support for build tag to allow to disable some features
...
The following build tags are available:
- "nogcs", disable Google Cloud Storage backend
- "nos3", disable S3 Compabible Object Storage backends
- "nobolt", disable Bolt data provider
- "nomysql", disable MySQL data provider
- "nopgsql", disable PostgreSQL data provider
- "nosqlite", disable SQLite data provider
- "noportable", disable portable mode
2020-05-23 11:58:05 +02:00
Nicola Murino
15298b0409
sftpd: remove unused expectedSize field from Transfer struct
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-20 20:17:59 +02:00
Nicola Murino
cfa710037c
cloud backends: fix SFTP error message for some write failures
...
Fixes #119
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-19 19:17:43 +02:00
Nicola Murino
a08dd85efd
sftpd: deprecate keys and add a new host_keys config param
...
host_key defines the private host keys as plain list of strings.
Remove the other deprecated config params from the default config too.
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-16 23:26:44 +02:00
Nicola Murino
469d36d979
certificate auth: fix source address checking inside crypto/ssh
...
So we can avoid to check source address ourself
81aafe6d26
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-16 15:15:32 +02:00
Nicola Murino
7ae8b2cdeb
move REST API CLI in examples directory
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-16 14:02:46 +02:00
Nicola Murino
cf148db75d
add test case for expired SSH certificate
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-15 23:23:49 +02:00
Nicola Murino
738c7ab43e
sftpd: add support for SSH user certificate authentication
...
This add support for PROTOCOL.certkeys vendor extension:
https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL.certkeys?rev=1.8
Fixes #117
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-15 20:08:53 +02:00
Nicola Murino
82fb7f8cf0
update proxyproto to v0.1.3
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-14 20:10:33 +02:00
Nicola Murino
e0f2ab9c01
test cases: minor improvements
...
Signed-off-by: Nicola Murino <nicola.murino@gmail.com >
2020-05-10 12:37:29 +02:00
Nicola Murino
e0183217b6
test cases: simplify TestLoginInvalidFs
...
we can simulate an invalid filesystem config using a GCS user without a
credentials file
2020-05-07 19:47:46 +02:00
Nicola Murino
f066b7fb9c
use upstream pipeat
...
my patches are now merged
2020-05-07 00:05:40 +02:00
Nicola Murino
0c6e2b566b
fix test cases on Windows
2020-05-06 23:16:08 +02:00
Nicola Murino
f02e24437a
add more linters
...
test cases migration to testify is now complete.
Linters are enabled for test cases too
2020-05-06 19:36:34 +02:00
Nicola Murino
e9534be1e6
travis: exclude go 1.13 for arch arm64
2020-05-03 22:46:39 +02:00
Nicola Murino
7056997e49
travis: add arm64
2020-05-03 15:46:42 +02:00
Nicola Murino
155af19aaa
tests: update httpd test to use testify
2020-05-03 15:24:26 +02:00
Nicola Murino
f369fdf6f2
httpclient: add a configuration parameter to skip TLS certificate validation
...
In this mode, TLS is susceptible to man-in-the-middle attacks.
This should be used only for testing.
2020-05-03 11:37:50 +02:00
Nicola Murino
510a95bd6d
code quality check: set go version to 1.14
2020-05-02 15:55:27 +02:00
Nicola Murino
da90dbe645
tests: update config to use testify
...
we should port the other test cases to testify too
2020-05-02 15:47:23 +02:00
Nicola Murino
b006c5f914
NewOsFs: return an interface and not a pointer
2020-05-02 15:01:56 +02:00
Nicola Murino
3f75d46a16
sftpd: add support for excluding virtual folders from user quota limit
...
Fixes #110
2020-05-01 15:27:53 +02:00
Nicola Murino
14c2a244b7
code quality check: use setup-go@v2 and go 1.14
2020-04-30 17:57:06 +02:00
Nicola Murino
94ff9d7346
initprovider: fail if a configuration file cannot be found
2020-04-30 16:48:42 +02:00
Enes Çakır
14196167b0
add github action workflow for code quality
2020-04-30 15:06:15 +02:00
Nicola Murino
d70959c34c
fix some lint issues
2020-04-30 14:23:55 +02:00
Sam Millar
67c6f27064
Tiny documentation typo fix
2020-04-29 16:13:33 +02:00
Enes Çakır
6bfbb27856
fix log level changing problem
2020-04-28 23:03:18 +02:00
Enes Çakır
baac3749b3
add verbose flag for portable mode
2020-04-28 17:03:14 +02:00
Nicola Murino
d377181b25
add a new configuration section for HTTP clients
...
HTTP clients are used for executing hooks such as the ones used for custom
actions, external authentication and pre-login user modifications.
This allows, for example, to use self-signed certificate without defeating the
purpose of using TLS
2020-04-26 23:29:09 +02:00
Nicola Murino
ebd6a11f3a
external auth: add example HTTP server to use as authentication hook
...
The server authenticate against an LDAP server.
2020-04-26 14:48:32 +02:00
Nicola Murino
0a47412e8c
scp, ssh commands: hide the real fs path on errors
...
The underlying filesystem errors for permissions and non-existing files
can contain the real storage path.
Map these errors to more generic ones to avoid to leak this info
Fixes #109
2020-04-22 12:26:18 +02:00
Nicola Murino
4f668bf558
simplify some httpd related code
...
and update chi, cobra and viper
2020-04-21 19:24:38 +02:00
Mengsk
9248c5a987
Update performance.md
2020-04-13 21:20:53 +02:00
Nicola Murino
b0ed190591
add an example auth program that allow to authenticate against LDAP
...
External authentication is the way to go to authenticate against LDAP,
at least for now.
Closes #99
2020-04-11 22:30:41 +02:00
Nicola Murino
37357b2d63
add support for checking pbkdf2 passwords with base64 encoded salt
...
This way we can import the default passwords format used in 389ds.
See TestPasswordsHashPbkdf2Sha256_389DS test case to learn how to convert
389ds passwords
2020-04-11 12:25:21 +02:00
Nicola Murino
9b06e0a3b7
sql providers: change password field from varchar 255 to text
...
some passwords can be longer than 255 characters
2020-04-11 11:17:40 +02:00
Nicola Murino
5a5912ea66
switch to my pkg/sftp branch and enable the request-server allocator
...
This way we have performance comparable to OpenSSH if the cipher
isn't the bottleneck
2020-04-10 23:35:57 +02:00
Nicola Murino
b1c7317cf6
add support for partial authentication
...
Multi-step authentication is activated disabling all single-step
auth methods for a given user
2020-04-09 23:32:42 +02:00
Nicola Murino
a0fe4cf5e4
docker: TAG build arg can be used to build a specific commit too
2020-04-09 11:30:51 +02:00
Henrik Lundahl
7fe3c965e3
Add a version build arg to the Alpine Dockerfile.
2020-04-09 11:26:09 +02:00
Henrik Lundahl
fd9b3c2767
Add a version build arg to the debian Dockerfile.
2020-04-09 11:15:21 +02:00
Nicola Murino
fb9e188e36
systemd service: add ExecReload
2020-04-05 11:36:29 +02:00
Nicola Murino
c93d8cecfc
update deps
...
chi 4.1.0 requires some minor code changes
2020-04-03 22:30:30 +02:00
Nicola Murino
94b46e57f1
sftpd actions: execute defined command on error too
...
add a new field inside the notification to indicate if an error is
detected
2020-04-03 19:25:38 +02:00
Nicola Murino
9046acbe68
add HTTP hooks
...
external auth, pre-login user modification and keyboard interactive
authentication is now supported via HTTP requests too
2020-04-01 23:25:23 +02:00
Nicola Murino
075bbe2aef
added test case that checks quota for files inside virtual folders
2020-03-29 11:10:03 +02:00
Nicola Murino
b52d078986
pbkdf2: fix password comparison
...
the key len for the derived function must be equal to the len of the
expected key
2020-03-28 16:09:06 +01:00
Nicola Murino
0a9c4914aa
pre-login program: allow to create a new user too
...
clarify the difference between dynamic user creation/update and external
authentication
2020-03-27 23:26:22 +01:00
Nicola Murino
f284008fb5
enable scp in default configuration
...
remove the deprecated enable_scp setting
2020-03-26 23:38:24 +01:00
Nicola Murino
4759254e10
file actions: add bucket and endpoint to notifications
...
The HTTP notifications are now invoked as POST and the notification is
a JSON inside the POST body.
This is a backward incompatible change but this way the actions can be
extended more easily, sorry for the trouble
Fixes #101
2020-03-25 18:36:33 +01:00
Nicola Murino
e22d377203
docs: clarify "ca-certificates" requirement
...
Fixes #98
2020-03-22 20:17:36 +01:00
Nicola Murino
0787e3e595
bolt provider: fix error handling for get users with username filter
2020-03-22 15:37:08 +01:00
Nicola Murino
c1194d558c
docs: minor improvements
2020-03-22 14:03:06 +01:00
Nicola Murino
952b10a9f6
update boltdb to v1.3.4
...
update other deps too
2020-03-21 10:12:30 +01:00
Nicola Murino
f55851bdc8
update nathanaelle password to v2
...
Fixes #97
2020-03-20 17:25:38 +01:00
Nicola Murino
76bb361393
docs: add built-in profiler
2020-03-15 23:33:12 +01:00
Nicola Murino
81c8e8d898
add profiler support
...
profiling is now available via the HTTP base URL /debug/pprof/
examples, use this URL to start and download a 30 seconds CPU profile:
/debug/pprof/profile?seconds=30
use this URL to profile used memory:
/debug/pprof/heap?gc=1
use this URL to profile allocated memory:
/debug/pprof/allocs?gc=1
Full docs here:
https://golang.org/pkg/net/http/pprof/
2020-03-15 15:16:35 +01:00
Nicola Murino
f4e872c782
portable mode: add flags for s3 upload part size and concurrency
2020-03-15 11:40:06 +01:00
Nicola Murino
ddcb500c51
update pipeat
...
it contains my latest performance patch that remove extraneous
allocation.
This improve performance for S3 and GCS
2020-03-15 01:36:19 +01:00
Nicola Murino
e8664c0ce4
docker: update docs
...
update dependencies too
2020-03-14 15:27:03 +01:00
Nicola Murino
3b002ddc86
improve performance
...
- use latest pkg/sftp that contains my latest performance patch
- replace default crypto with my branch that use minio sha256-simd
instead of Golang SHA256 implementation, this improve performance on
some hardware
2020-03-13 19:37:51 +01:00
Nicola Murino
1770da545d
s3: upload concurrency is now configurable
...
Please note that if the upload bandwidth between the SFTP client and
SFTPGo is greater than the upload bandwidth between SFTPGo and S3 then
the SFTP client have to wait for the upload of the last parts to S3
after it ends the file upload to SFTPGo, and it may time out.
Keep this in mind if you customize parts size and upload concurrency
2020-03-13 19:13:58 +01:00
Nicola Murino
de3e69f846
s3: add documentation and test cases for upload part size
2020-03-13 17:28:55 +01:00
Michael Bonfils
cdf1233065
s3: export PartSize parameter
...
By default AWS SDK use part_size of 5 MB. For big files,
it is not ideal case. For Hadoop, it is not uncommon to
use 512 MB.
2020-03-13 17:28:04 +01:00
Nicola Murino
6b70f0b25f
back to development
2020-03-07 18:06:46 +01:00
Nicola Murino
4fe51f7cce
set version to 0.9.6
2020-03-07 13:36:46 +01:00
HiFiPhile
7221bf9b25
Add performance summary
...
Pull request #92
2020-03-06 22:48:55 +01:00
Nicola Murino
61f20f5449
Linux: add basic instructions to run SFTPGo as service
2020-03-06 09:24:55 +01:00
Nicola Murino
5dafbb54de
macOS: add basic instructions to run SFTPGo as service
2020-03-05 23:26:47 +01:00
Nicola Murino
ec8ab28a22
portable mode: add support for file extensions filters
2020-03-05 15:37:10 +01:00
Nicola Murino
aaa6d0c71f
docs: fix some typos
2020-03-05 09:32:29 +01:00
Nicola Murino
ea74aca165
doc: some other minor improvements
2020-03-05 00:01:40 +01:00
Nicola Murino
9b119765fc
docs: minor improvements
2020-03-04 23:51:16 +01:00
Jo Vandeginste
df02496145
Refactor docs
2020-03-04 23:10:58 +01:00
Nicola Murino
31d285813e
windows: try to escape trailing double quote in user input
...
we try to remove the trailing double quote for user input such as this one
sftpgo.exe serve -c "C:\ProgramData\SFTPGO\"
the value for the -c flag is parsed as:
C:\ProgramData\SFTPGO"
this is what the user specified, but the user want this value:
C:\ProgramData\SFTPGO
so we try to remove the trailing double quote.
Please note that we cannot do anything for something like this:
-c "C:\ProgramData\SFTPGO\" -l "sftpgo.log"
in this case the -l flag will be ignored and the value for the c flag is:
C:\ProgramData\SFTPGO" -l sftpgo.log
and so probably it is invalid. This is definitely a bad user input
2020-03-04 09:27:14 +01:00
Germs2004
f9fc5792fd
fixed minor typos and edits
2020-03-04 08:01:02 +01:00
Germs2004
6ad9c5ae64
minor typo
2020-03-04 08:00:34 +01:00
Nicola Murino
016abda6d7
improve docs
2020-03-03 23:25:23 +01:00
Nicola Murino
2eea6c95b9
windows setup: use ProgramData folder to store application data
...
this is a backward incompatible change, but it is the way to do the
things on Windows.
2020-03-03 22:31:13 +01:00
Nicola Murino
7f1946de34
improve validations for user provided file and directory paths
2020-03-03 09:09:58 +01:00
Nicola Murino
d0a81cabab
log file: if the path is not absolute make it relative to config dir
...
Also refuse to join invalid file name such as "."
Fixes #85
2020-03-03 00:34:06 +01:00
Nicola Murino
df67f4ef34
clean config dir
...
Fixes #80
2020-03-02 22:56:14 +01:00
Nicola Murino
ed11e1128a
docs: clarify the initprovider command is required for SQLite too
2020-03-02 10:34:31 +01:00
Nicola Murino
ed1c7cac17
update deps
...
we now use git master for pkg/sftp: it includes the performance patches
from my copy branch.
2020-03-02 10:13:49 +01:00
Nicola Murino
7c115aa9c8
windows service: only restart twice
...
reset the service failure count to zero after 3600 seconds.
Fixes #83
2020-03-02 09:58:36 +01:00
Nicola Murino
3ffddcba92
web: log an error if loading a required template fails
...
We used template.Must that panics if an error happen but the error is
visible only if sftpgo is started in an interactive way
Fixes #82
2020-03-02 09:34:13 +01:00
Nicola Murino
833b702b90
proxy protocol: add list of allowed IP addresses and IP ranges
...
"proxy_allowed" setting allows to specify the allowed IP address and IP
ranges that can send the proxy header. This setting combined with
"proxy_protocol" allows to ignore the header or to reject connections
that send the proxy header from a non listed IP
2020-03-01 23:12:28 +01:00
Nicola Murino
b885d453a2
filters: we can now set allowed and denied files extensions
2020-03-01 22:10:29 +01:00
Nicola Murino
7163fde724
proxy protocol: added an option to make the proxy header required
...
now we can configure SFTPGo to accept or reject requests without the proxy
header when the proxy protocol is enabled
2020-02-29 00:02:06 +01:00
Nicola Murino
830e3d1f64
Support for HAProxy PROXY protocol
...
you can proxy and/or load balance the SFTP/SCP service without losing
the information about the client's address.
2020-02-27 09:21:30 +01:00
Mengsk
637463a068
Rename before_login_program to pre_login_program
...
and some documentation update
2020-02-25 16:34:54 +01:00
Nicola Murino
e69536f540
fixed some typos and improved a log
2020-02-25 12:46:52 +01:00
Mengsk
c516780289
Documentation update 1
2020-02-25 12:41:28 +01:00
Nicola Murino
eb1b869b73
virtual folders fixes
...
scp now properly handles virtual folders.
rsync is disabled for users with virtual folders: we execute a system
command and it is not aware about virtual folders.
git is not allowed if the repo path is inside a virtual folder
2020-02-24 18:54:35 +01:00
Nicola Murino
703ccc8d91
add support for dynamic users modifications
...
A custom program can be executed before the users login to modify the
configurations for the user trying to login.
You can, for example, allow login based on time range.
Fixes #77
2020-02-23 18:50:59 +01:00
Nicola Murino
45b9366dd0
add support for virtual folders
...
directories outside the user home directory can be exposed as virtual folders
2020-02-23 11:30:26 +01:00
Nicola Murino
382c6fda89
updated dependencies
...
fix CVE-2020-9283
2020-02-21 00:23:00 +01:00
Nicola Murino
0f80de86b2
simplify some code
...
now gocyclo is happy again
2020-02-20 15:53:26 +01:00
Nicola Murino
bc11cdd8d5
add support for per user authentication methods
...
You can, for example, deny one or more authentication methods to one or
more users.
2020-02-19 22:39:30 +01:00
Nicola Murino
62b20cd884
scp: check for write errors
...
exits as soon as there is a write error instead of get the same error when
the transfer is closed
2020-02-19 11:26:40 +01:00
Nicola Murino
ae8ed75ae5
gcs: add support for automatic credentials
...
We can now also support implicit credentials using the Application
Default Credentials strategy
2020-02-19 09:41:15 +01:00
Nicola Murino
c8cc81cf4a
sftpd: autogenerate ecdsa key
...
With default configuration we now generate RSA and ECDSA server keys.
2020-02-16 18:17:39 +01:00
Nicola Murino
79c8b6cbc2
keyboard interactive auth: allows to automatically check the user password
...
This simplify the common pattern where the user password and a one time
token is requested: now the external program can delegate password check
to SFTPGo and verify the token itself
2020-02-16 11:43:52 +01:00
Nicola Murino
58253968fc
s3: improve credentials validation
...
access secret can now be empty, so check if not empty before encrypting
the secret
2020-02-16 10:14:44 +01:00
Enes Çakır
dbd75209df
s3: add auth options to README
2020-02-16 09:06:25 +01:00
Enes Çakır
da01848855
s3: enable shared config state
2020-02-16 09:06:25 +01:00
Nicola Murino
0b7be1175d
parse ssh commands with shlex
...
instead of use our bugged home made method.
Fixes #72
2020-02-14 16:17:32 +01:00
Enes Çakır
3479a7e438
docker: remove serve command from entrypoint in alpine
2020-02-14 15:13:39 +01:00
Enes Çakır
4f5c67e7df
portable: set data-provider name to empty
2020-02-14 15:13:10 +01:00
Nicola Murino
b99495ebbb
sftpd download: remove check for download size
...
some clients, for example rclone can request only part of a file, we have
no way to detect this so we haven't return an error if the downloaded size
does not match the file size
2020-02-14 11:09:16 +01:00
Nicola Murino
0061978db8
docker: better clarify when ca-certificates package is needed
2020-02-14 08:29:31 +01:00
Mazinger
e011f793ec
CA certificate for Debian Docker image ( #71 )
...
* ca-certificate package included to ensure ssl connections
* comment instruction
2020-02-14 06:34:16 +01:00
Nicola Murino
5b47292366
sftpd: improve error logs
...
Now logs for cloud filesystems are more readable.
Also use standard output as default for debian Dockerfile
2020-02-13 08:26:45 +01:00
Nicola Murino
8eff2df39c
subdir perms: allow empty perms
...
empty perms will allow nothing on the specified subdir.
Non empty permissions for the "/" dir are still required.
Fixes #70
2020-02-10 19:28:35 +01:00
Nicola Murino
7bfe0ddf80
ssh commands: fix parsing commands with space
...
For now we support "\" escaping style
2020-02-08 23:33:06 +01:00
Nicola Murino
d6fa853a37
add support for integrated database schema migrations
...
added the "initprovider" command to initialize the database structure.
If we change the database schema the required changes will be checked
at startup and automatically applyed.
2020-02-08 14:44:25 +01:00
Nicola Murino
553cceab42
dataprovider actions: add more users fiels as env vars
2020-02-05 22:17:03 +01:00
Nicola Murino
5bfaae9202
httpd: allow to reload the https certificate without restarting the service
...
HTTPS certificate can be reloaded on demand sending a SIGHUP signal on
Unix based systems and a "paramchange" request to the running service on
Windows
2020-02-04 23:21:33 +01:00
Nicola Murino
9359669cd4
s3: set upload concurrency to 2
...
we upload a file while receiving it via SFTP not a file stored on a local
disk. We use concurrent uploads only to be able to send files of arbitrary
size, so concurrency is not really useful here. Setting the concurrency to
2 we have a max difference of 10 MB between the writer (sftp client) and
the reader (aws sdk), with the default concurrency value this difference
is 25MB.
2020-02-04 23:14:55 +01:00
Nicola Murino
8b039e0447
httpd: add support for basic auth and HTTPS
2020-02-04 00:08:00 +01:00
Nicola Murino
c64c080159
fix test cases on Windows
...
We have to rework TestRelativePaths and TestResolvePaths if we want to run
them for Cloud Storage on Windows too: we use filesystem path while Cloud
Storage providers expect Unix paths.
On Windows is important to check the local filesystem so skip Cloud Storage
providers test cases for now
2020-02-02 22:40:10 +01:00
Nicola Murino
bcaf283c35
memory provider: load users from a dump file
...
The `memory` provider can load users from a dump obtained using the
`dumpdata` REST API. This dump file can be configured using the
dataprovider `name` configuration key. It will be loaded at startup
and can be reloaded on demand using a `SIGHUP` on Unix based systems
and a `paramchange` request to the running service on Windows.
Fixes #66
2020-02-02 22:20:39 +01:00
Nicola Murino
31a433cda2
update deps and simplify some code
2020-01-31 23:26:56 +01:00
Nicola Murino
e647f3626e
loaddata: add an option that allows to not modify existing users
2020-01-31 19:10:45 +01:00
Nicola Murino
3491717c26
add support for serving Google Cloud Storage over SFTP/SCP
...
Each user can be mapped with a Google Cloud Storage bucket or a bucket
virtual folder
2020-01-31 19:04:00 +01:00
thomsh
45a13f5f4e
Update README add section for dataprovider init
2020-01-31 08:56:15 +01:00
Nicola Murino
6884ce3f3e
sftp actions: add a parameter to distinguish local and remote files
2020-01-23 23:23:28 +01:00
Nicola Murino
5f4efc9148
S3: add metrics
2020-01-23 23:17:00 +01:00
Nicola Murino
d481294519
S3: fix quota update after an upload error
...
S3 uploads are atomic, if the upload fails we have no partial file so we
have to update the user quota only if the upload succeed
2020-01-23 10:19:56 +01:00
Nicola Murino
7ebbbe5c29
S3: update pipeat to the latest commit in my fork
...
Here are the main improvements:
- unliked files works on windows too
- the uploads are now synced on the lower speed between the SFTP client write
and the upload speed to S3
This commit increase the external auth timeout to 60 seconds too
2020-01-22 19:42:23 +01:00
Nicola Murino
9ff303b8c0
add support for keyboard interactive authentication
...
Fixes #64
2020-01-21 10:54:05 +01:00
Nicola Murino
4463421028
S3: add support for serving virtual folders
...
inside the same bucket each user can be assigned to a virtual folder.
This is similar to a chroot directory for local filesystem
2020-01-19 23:23:09 +01:00
Nicola Murino
d75f56b914
vfs: store root dir
...
so we don't need to pass it over and over
2020-01-19 13:58:55 +01:00
Nicola Murino
a4834f4a83
add basic S3-Compatible Object Storage support
...
we have now an interface for filesystem backeds, this make easy to add
new filesystem backends
2020-01-19 07:41:05 +01:00
Nicola Murino
0b42dbc3c3
back to development
2020-01-12 19:16:18 +01:00
Nicola Murino
2013ba497c
macOS: add backups dir to the sample launchd service
2020-01-12 19:02:09 +01:00
Nicola Murino
2be37217cf
set version to 0.9.5
2020-01-12 14:56:07 +01:00
Nicola Murino
55a03c2e2b
REST API CLI: improve color/no-color arguments
2020-01-12 14:54:41 +01:00
Nicola Murino
27dbcf0066
fix test cases on Windows
2020-01-12 08:25:08 +01:00
Nicola Murino
ec194d73d2
update pkg/sftp to a stable version ...
...
... now that it contains all the needed patches.
Remove an hack for setstat with empty attrs, it is now handled in pkg/sftp.
Update other dependencies too.
2020-01-11 14:29:30 +01:00
Nicola Murino
1d9bb54073
transfers: improve errors detection
...
We can now properly report write errors if for example no space left on
device.
For downloads we check the downloaded size with the expected one
2020-01-10 19:20:22 +01:00
Nicola Murino
5cf4a47b48
web interface: fix setting expiration date
...
editor autoformatting changed the meaning of the code
2020-01-09 12:14:33 +01:00
Nicola Murino
eec60d6309
custom actions: add env vars
...
action parameters can now be readed from env vars too.
Added a timeout for the command execution
2020-01-09 12:00:37 +01:00
Paweł K
37c602a477
Expand environment variables for external auth program
...
Use os.Environ() as a base instead of empty variable. Currently the environment of executed external auth program only contains SFTPGO_AUTHD* variables and therefore the program lacks additional context when started.
2020-01-09 08:33:40 +01:00
Nicola Murino
8e604f888a
improve docs and test cases
2020-01-07 09:39:20 +01:00
Nicola Murino
531091906d
add support for authentication using external programs
...
Fixes #62
2020-01-06 21:42:41 +01:00
Nicola Murino
e046b35b97
check permissions against sftp path
...
instead of building filesystem paths and then checking permissions against
path relative to the home dir that is the initial sftp path
2020-01-05 11:41:25 +01:00
Nicola Murino
eb2ddc4798
small README improvements
2020-01-01 23:44:33 +01:00
Nicola Murino
aee9312cea
better document how to reuse existing users
2019-12-31 14:22:42 +01:00
Nicola Murino
6a99a5cb9f
Improve README
2019-12-31 11:11:07 +01:00
RIVIERE Fabien
8e0ca88421
Add systemD/journalD sftpgo Fail2ban configuration
2019-12-31 10:08:51 +01:00
Nicola Murino
c7e55db4e0
update dependencies
2019-12-30 19:27:50 +01:00
Nicola Murino
1b1c740b29
Add support for allowed/denied IP/Mask
...
Login can be restricted to specific ranges of IP address or to a specific IP
address.
Please apply the appropriate SQL upgrade script to add the filter field to your
database.
The filter database field will allow to add other filters without requiring a
new database migration
2019-12-30 18:37:50 +01:00
Nicola Murino
ad5436e3f6
ssh commands: improve command ended detection
...
Sometime we can have this error:
read |0: file already closed
reading from the command standard error, this means that the command is
already finished so we don't need to do nothing.
This happen randomically while running the test cases on travis.
2019-12-30 00:10:03 +01:00
Nicola Murino
20606a0043
sftpd test: add a debug log
...
The git push test sometime fails when running on travis.
The issue cannot be replicated locally so print the logs to try to
understand what is happening
2019-12-29 23:27:32 +01:00
Nicola Murino
80e9902324
scripts: add support for converting users from other users stores
...
currently we support:
- Linux/Unix users stored in shadow/passwd files
- Pure-FTPd virtual users generated using `pure-pw` CLI
- ProFTPD users generated using `ftpasswd` CLI
2019-12-29 17:21:25 +01:00
Nicola Murino
741e65a3a1
REST cli: allow to disable password or public_key auth
...
using something like this:
update-user <user-id> <username> --public-keys ''
the public keys auth will be disabled
using something like this:
update-user <user-id> <username> --password ''
the password auth will be disabled
2019-12-29 14:07:44 +01:00
Nicola Murino
6aff8c2f5e
add support for checking passwords in md5crypt ($1$) format
...
this is an old and unsafe schema but it is still useful to import users
from legacy systems
2019-12-29 07:43:59 +01:00
Nicola Murino
e5770af2fa
small Dockerfiles improvements
...
remove a debug log from httpd_test
2019-12-27 23:54:45 +01:00
Nicola Murino
ae094d3479
add backup/restore REST API
2019-12-27 23:12:44 +01:00
Nicola Murino
f49c280a7f
fix test cases on Windows
...
SysProcAttr.Credential is not available on Windows we need to move the
WrapCmd test in a separate file to be able to build test cases on Windows,
skipping the test is not enough
2019-12-26 08:29:38 +01:00
Nicola Murino
ae812e55af
sftpd: explicitly disallow some commands on root directory
...
It was possible to remove an empty root dir or create a symlink to it.
We now return a Permission Denied error if we detect an attempt to remove,
renaming or symlinking the root directory
2019-12-25 23:37:37 +01:00
Nicola Murino
489101668c
add per directory permissions
...
we can now have permissions such as these ones
{"/":["*"],"/somedir":["list","download"]}
The old permissions are automatically converted to the new structure,
no database migration is needed
2019-12-25 18:20:19 +01:00
Nicola Murino
f8fd5c067c
docker alpine: fix example
...
execute 20191112.sql too
2019-12-06 21:57:29 +01:00
Nicola Murino
39fc9b73e9
sftp setstat: guard against empty attrs
...
It seems that there are some clients that sends Setstat requests with
no attrs:
https://github.com/pkg/sftp/issues/325
I haven't never seen this myself, anyway we now return ErrSSHFxBadMessage
and log the client version in such cases
2019-12-04 08:31:47 +01:00
Nicola Murino
80a5138115
add rsync support ...
...
and better document quota management issues for system commands.
rsync and git are not enabled in the default config so don't install
them in sample Dockerfiles, simply add a comment to facilitate their
installation if needed
Fixes #44
2019-11-29 15:24:56 +01:00
Nicola Murino
bc844105b2
ssh system commands: wait on write from command out to network
...
we only need to wait for the write from the local command to
the ssh channel. There is no need to wait for the write from ssh
channel to the local command stdin
2019-11-27 22:33:17 +01:00
Nicola Murino
7de0fe467a
docker: install git
...
so support for Git repo is available using the sample Dockerfiles
2019-11-27 09:47:25 +01:00
Nicola Murino
0a025aabfd
add support for Git over SSH
...
We use the system commands "git-receive-pack", "git-upload-pack" and
"git-upload-archive". they need to be installed and in your system's
PATH. Since we execute system commands we have no direct control on
file creation/deletion and so quota check is suboptimal: if quota is
enabled, the number of files is checked at the command begin and not
while new files are created.
The allowed size is calculated as the difference between the max quota
and the used one. The command is aborted if it uploads more bytes than
the remaining allowed size calculated at the command start. Quotas are
recalculated at the command end with a full home directory scan, this
could be heavy for big directories.
2019-11-26 22:26:42 +01:00
Nicola Murino
7a8b1645ef
set version to 0.9.4
2019-11-22 21:27:56 +01:00
Nicola Murino
b3729e4666
log ssh commands in "command logs" category
2019-11-19 11:38:39 +01:00
Nicola Murino
9c4dbbc3f8
sftpd: add support for some SSH commands
...
md5sum, sha1sum are used by rclone.
cd, pwd improve the support for RemoteFiles mobile app.
These commands are all implemented inside SFTPGo so they work even
if the matching system commands are not available, for example on Windows
2019-11-18 23:30:37 +01:00
Nicola Murino
ca6cb34d98
sftpd: add support for chtimes
...
This improve rclone compatibility
2019-11-16 10:23:41 +01:00
Nicola Murino
fc442d7862
sftpd: document chmod/chown on Windows
...
chmod is partially supported and chown is not supported on Windows.
Skip unsupported test cases on Windows
2019-11-15 17:09:00 +01:00
Nicola Murino
3ac5af47f2
minor fixes
2019-11-15 12:26:52 +01:00
Nicola Murino
bb37a1c1ce
sftpd: add support for chmod/chown
...
added matching permissions too and a new setting "setstat_mode".
Setting setstat_mode to 1 you can keep the previous behaviour that
silently ignore setstat requests
2019-11-15 12:15:07 +01:00
Nicola Murino
206799ff1c
httpd: add an API to get data provider status
2019-11-14 18:48:01 +01:00
Nicola Murino
f3de83707f
improve README
2019-11-14 17:43:14 +01:00
Nicola Murino
5be1d1be69
sftpd: send exit-status message on close
...
this fix restic compatibility
2019-11-14 16:49:42 +01:00
Nicola Murino
08e85f6be9
sftpd: return sftp.ErrSSHFxNoSuchFile if the client ask the file for a missing path
...
some clients expected this error and not the generic one if the path is missing
2019-11-14 14:18:43 +01:00
Nicola Murino
acdf351047
dataprovider: add custom command and/or HTTP notifications on users add, update and delete
...
This way custom logic can be implemented for example to create a UNIX user
as asked in #58
2019-11-14 11:06:03 +01:00
Nicola Murino
c2ff50c917
dataprovider: add support for user status and expiration
...
an user can now be disabled or expired.
If you are using an SQL database as dataprovider please remember to
execute the sql update script inside "sql" folder.
Fixes #57
2019-11-13 11:36:21 +01:00
Nicola Murino
363b9ccc7f
sftpd: explicitly configure supported SFTP extensions
...
update pkg/sftp to a git revision that includes the needed patch
https://github.com/pkg/sftp/pull/315
2019-11-12 07:37:47 +01:00
Nicola Murino
74367a65cc
failed connection logs: rename host to client_ip
2019-11-11 19:53:27 +01:00
Nicola Murino
2221d3307a
Improve README
2019-11-11 18:28:18 +01:00
Nicola Murino
4ff34b3e53
logger: add specific logs for failed attempts to initialize a connection
...
This should allow for better integration in tools like fail2ban.
Hopefully fix #59
2019-11-11 15:20:00 +01:00
Nicola Murino
191da1ecaf
fix a typo
2019-11-08 08:46:31 +01:00
Nicola Murino
77db2bd3d1
fix posix rename
...
update pkg/sftp to a git revision that includes:
https://github.com/pkg/sftp/pull/316
add a test case here too and update other deps
2019-11-08 08:43:27 +01:00
Nicola Murino
758f2ee834
improve README
2019-10-26 20:42:46 +02:00
Nicola Murino
c5a6ca5650
portable mode: advertise service via multicast dns
...
Fixes #51
2019-10-26 18:25:53 +02:00
Nicola Murino
b409523d5c
document memory data provider
2019-10-25 19:01:01 +02:00
Nicola Murino
8cd0aec417
add memory data provider and use it for portable mode
2019-10-25 18:37:12 +02:00
Nicola Murino
a4cddf4f7f
add portable mode
...
Portable mode is a convenient way to share a single directory on demand
2019-10-24 18:50:35 +02:00
Roman Isko
d970e757eb
Use relative to the current branch links in readme
2019-10-22 10:00:09 +02:00
Nicola Murino
083d9f76c6
add commit hash and build date to the version logged when starting the daemon
2019-10-21 21:18:45 +02:00
Jo Vandeginste
2003d08c59
Log version when starting the daemon
...
Signed-off-by: Jo Vandeginste <Jo.Vandeginste@kuleuven.be >
2019-10-21 21:15:31 +02:00
Nicola Murino
9cf4653425
improve docs for available Arch Linux packages
2019-10-20 09:23:04 +02:00
Nicola Murino
4f6bb00996
web: display version string
2019-10-19 07:52:58 +02:00