diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1af27f3a..79470a53 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -5,7 +5,7 @@ on:
tags: 'v*'
env:
- GO_VERSION: 1.20.5
+ GO_VERSION: 1.20.6
jobs:
prepare-sources-with-deps:
diff --git a/docker/README.md b/docker/README.md
index 8df586b2..79e1a752 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -4,11 +4,11 @@ SFTPGo provides an official Docker image, it is available on both [Docker Hub](h
## Supported tags and respective Dockerfile links
-- [v2.5.3, v2.5, v2, latest](https://github.com/drakkan/sftpgo/blob/v2.5.3/Dockerfile)
-- [v2.5.3-plugins, v2.5-plugins, v2-plugins, plugins](https://github.com/drakkan/sftpgo/blob/v2.5.3/Dockerfile)
-- [v2.5.3-alpine, v2.5-alpine, v2-alpine, alpine](https://github.com/drakkan/sftpgo/blob/v2.5.3/Dockerfile.alpine)
-- [v2.5.3-slim, v2.5-slim, v2-slim, slim](https://github.com/drakkan/sftpgo/blob/v2.5.3/Dockerfile)
-- [v2.5.3-alpine-slim, v2.5-alpine-slim, v2-alpine-slim, alpine-slim](https://github.com/drakkan/sftpgo/blob/v2.5.3/Dockerfile.alpine)
+- [v2.5.4, v2.5, v2, latest](https://github.com/drakkan/sftpgo/blob/v2.5.4/Dockerfile)
+- [v2.5.4-plugins, v2.5-plugins, v2-plugins, plugins](https://github.com/drakkan/sftpgo/blob/v2.5.4/Dockerfile)
+- [v2.5.4-alpine, v2.5-alpine, v2-alpine, alpine](https://github.com/drakkan/sftpgo/blob/v2.5.4/Dockerfile.alpine)
+- [v2.5.4-slim, v2.5-slim, v2-slim, slim](https://github.com/drakkan/sftpgo/blob/v2.5.4/Dockerfile)
+- [v2.5.4-alpine-slim, v2.5-alpine-slim, v2-alpine-slim, alpine-slim](https://github.com/drakkan/sftpgo/blob/v2.5.4/Dockerfile.alpine)
- [edge](../Dockerfile)
- [edge-plugins](../Dockerfile)
- [edge-alpine](../Dockerfile.alpine)
diff --git a/go.mod b/go.mod
index 120f9ebd..d63c5837 100644
--- a/go.mod
+++ b/go.mod
@@ -4,20 +4,20 @@ go 1.20
require (
cloud.google.com/go/storage v1.31.0
- github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.1
- github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0
+ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0
+ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0
github.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5
github.com/alexedwards/argon2id v0.0.0-20230305115115-4b3c3280a736
github.com/amoghe/go-crypt v0.0.0-20220222110647-20eada5f5964
- github.com/aws/aws-sdk-go-v2 v1.18.1
- github.com/aws/aws-sdk-go-v2/config v1.18.27
- github.com/aws/aws-sdk-go-v2/credentials v1.13.26
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4
- github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.71
- github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.14.13
- github.com/aws/aws-sdk-go-v2/service/s3 v1.36.0
- github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.10
- github.com/aws/aws-sdk-go-v2/service/sts v1.19.2
+ github.com/aws/aws-sdk-go-v2 v1.19.0
+ github.com/aws/aws-sdk-go-v2/config v1.18.28
+ github.com/aws/aws-sdk-go-v2/credentials v1.13.27
+ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5
+ github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.72
+ github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.14.14
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0
+ github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.11
+ github.com/aws/aws-sdk-go-v2/service/sts v1.19.3
github.com/bmatcuk/doublestar/v4 v4.6.0
github.com/cockroachdb/cockroach-go/v2 v2.3.5
github.com/coreos/go-oidc/v3 v3.6.0
@@ -26,9 +26,9 @@ require (
github.com/fclairamb/ftpserverlib v0.21.0
github.com/fclairamb/go-log v0.4.1
github.com/go-acme/lego/v4 v4.12.3
- github.com/go-chi/chi/v5 v5.0.9-0.20230502103705-7f280968675b
+ github.com/go-chi/chi/v5 v5.0.10
github.com/go-chi/jwtauth/v5 v5.1.1
- github.com/go-chi/render v1.0.2
+ github.com/go-chi/render v1.0.3
github.com/go-sql-driver/mysql v1.7.1
github.com/golang/mock v1.6.0
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
@@ -36,7 +36,7 @@ require (
github.com/hashicorp/go-hclog v1.5.0
github.com/hashicorp/go-plugin v1.4.10
github.com/hashicorp/go-retryablehttp v0.7.4
- github.com/jackc/pgx/v5 v5.4.2-0.20230708170805-0328d314ea10
+ github.com/jackc/pgx/v5 v5.4.2
github.com/jlaffaye/ftp v0.0.0-20201112195030-9aae4d151126
github.com/klauspost/compress v1.16.7
github.com/lestrrat-go/jwx/v2 v2.0.11
@@ -74,28 +74,28 @@ require (
golang.org/x/sys v0.10.0
golang.org/x/term v0.10.0
golang.org/x/time v0.3.0
- google.golang.org/api v0.130.0
+ google.golang.org/api v0.131.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
)
require (
- cloud.google.com/go v0.110.4 // indirect
- cloud.google.com/go/compute v1.20.1 // indirect
+ cloud.google.com/go v0.110.6 // indirect
+ cloud.google.com/go/compute v1.21.0 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/iam v1.1.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 // indirect
github.com/ajg/form v1.5.1 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 // indirect
- github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 // indirect
- github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.26 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.29 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.3 // indirect
- github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 // indirect
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.30 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sso v1.12.13 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13 // indirect
github.com/aws/smithy-go v1.13.5 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/boombuler/barcode v1.0.1 // indirect
@@ -140,7 +140,7 @@ require (
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/oklog/run v1.1.0 // indirect
- github.com/pelletier/go-toml/v2 v2.0.8 // indirect
+ github.com/pelletier/go-toml/v2 v2.0.9 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b // indirect
github.com/prometheus/client_model v0.4.0 // indirect
@@ -161,9 +161,9 @@ require (
golang.org/x/tools v0.11.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.7 // indirect
- google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect
+ google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/grpc v1.56.2 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
@@ -171,6 +171,7 @@ require (
)
replace (
+ github.com/fclairamb/ftpserverlib => github.com/drakkan/ftpserverlib v0.0.0-20230714144823-d8aff325a796
github.com/jlaffaye/ftp => github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9
github.com/robfig/cron/v3 => github.com/drakkan/cron/v3 v3.0.0-20230222140221-217a1e4d96c0
golang.org/x/crypto => github.com/drakkan/crypto v0.0.0-20230614155948-29e7be6c0fab
diff --git a/go.sum b/go.sum
index f69f076d..206a251b 100644
--- a/go.sum
+++ b/go.sum
@@ -40,8 +40,8 @@ cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFO
cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
-cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk=
-cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
+cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q=
+cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
@@ -180,8 +180,8 @@ cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/
cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE=
cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI=
cloud.google.com/go/compute v1.20.0/go.mod h1:kn5BhC++qUWR/AM3Dn21myV7QbgqejW04cAOrtppaQI=
-cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg=
-cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
+cloud.google.com/go/compute v1.21.0 h1:JNBsyXVoOoNJtTQcnEY5uYpZIbeCTYIeDe0Xh1bySMk=
+cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
@@ -643,8 +643,9 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.2/go.mod h1:uGG2W01BaETf0Ozp+Q
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0/go.mod h1:tZoQYdDZNOiIjdSn0dVWVfl0NEPGOJqVLzSrcFk4Is0=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0/go.mod h1:ON4tFdPTwRcgWEaVDrN3584Ef+b7GgSJaXxe5fW9t4M=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.1 h1:SEy2xmstIphdPwNBUi7uhvjyjhVKISfwjfOJmuy7kg4=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.1/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0 h1:8q4SaHjFsClSvuVne0ID/5Ka8u3fcIHyqkLjcFpNRHQ=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0/go.mod h1:bhXu1AjYL+wutSL/kpSq6s7733q2Rb0yuot9Zgfqa/0=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.1/go.mod h1:gLa1CL2RNE4s7M3yopJ/p0iq5DdY6Yv5ZUt9MTRZOQM=
@@ -659,8 +660,10 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aov
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0/go.mod h1:Pu5Zksi2KrU7LPbZbNINx6fuVrUp/ffvpxdDj+i8LeE=
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1/go.mod h1:9V2j0jn9jDEkCkv8w/bKTNppX/d0FVA1ud77xCIP4KA=
github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.4.0/go.mod h1:pXDkeh10bAqElvd+S5Ppncj+DCKvJGXNa8rRT2R7rIw=
-github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY=
+github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0 h1:Ma67P/GGprNwsslzEH6+Kb8nybI8jpDTm4Wmzu2ReK8=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 h1:nVocQV40OQne5613EeLayJiRAJuKlBGy+m22qWG+WRg=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0/go.mod h1:7QJP7dr2wznCMeqIrhMgWGf7XpAQnVrJqDm9nvV3Cu4=
github.com/Azure/go-amqp v0.17.0/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg=
github.com/Azure/go-amqp v1.0.0/go.mod h1:+bg0x3ce5+Q3ahCEXnCsGG3ETpDQe3MEVnOuT2ywPwc=
github.com/Azure/go-amqp v1.0.1/go.mod h1:+bg0x3ce5+Q3ahCEXnCsGG3ETpDQe3MEVnOuT2ywPwc=
@@ -787,53 +790,68 @@ github.com/aws/aws-sdk-go v1.44.156/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8
github.com/aws/aws-sdk-go v1.44.245/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go v1.44.284/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
-github.com/aws/aws-sdk-go-v2 v1.18.1 h1:+tefE750oAb7ZQGzla6bLkOwfcQCEtC5y2RqoqCeqKo=
github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
+github.com/aws/aws-sdk-go-v2 v1.19.0 h1:klAT+y3pGFBU/qVf1uzwttpBbiuozJYWzNLHioyDJ+k=
+github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno=
-github.com/aws/aws-sdk-go-v2/config v1.18.27 h1:Az9uLwmssTE6OGTpsFqOnaGpLnKDqNYOJzWuC6UAYzA=
github.com/aws/aws-sdk-go-v2/config v1.18.27/go.mod h1:0My+YgmkGxeqjXZb5BYme5pc4drjTnM+x1GJ3zv42Nw=
-github.com/aws/aws-sdk-go-v2/credentials v1.13.26 h1:qmU+yhKmOCyujmuPY7tf5MxR/RKyZrOPO3V4DobiTUk=
+github.com/aws/aws-sdk-go-v2/config v1.18.28 h1:TINEaKyh1Td64tqFvn09iYpKiWjmHYrG1fa91q2gnqw=
+github.com/aws/aws-sdk-go-v2/config v1.18.28/go.mod h1:nIL+4/8JdAuNHEjn/gPEXqtnS02Q3NXB/9Z7o5xE4+A=
github.com/aws/aws-sdk-go-v2/credentials v1.13.26/go.mod h1:GoXt2YC8jHUBbA4jr+W3JiemnIbkXOfxSXcisUsZ3os=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 h1:LxK/bitrAr4lnh9LnIS6i7zWbCOdMsfzKFBI6LUCS0I=
+github.com/aws/aws-sdk-go-v2/credentials v1.13.27 h1:dz0yr/yR1jweAnsCx+BmjerUILVPQ6FS5AwF/OyG1kA=
+github.com/aws/aws-sdk-go-v2/credentials v1.13.27/go.mod h1:syOqAek45ZXZp29HlnRS/BNgMIW6uiRmeuQsz4Qh2UE=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4/go.mod h1:E1hLXN/BL2e6YizK1zFlYd8vsfi2GTjbjBazinMmeaM=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5 h1:kP3Me6Fy3vdi+9uHd7YLr6ewPxRL+PU6y15urfTaamU=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5/go.mod h1:Gj7tm95r+QsDoN2Fhuz/3npQvcZbkEf5mL70n3Xfluc=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.70/go.mod h1:9yI5NXzqy2yOiMytv6QLZHvlyHLwYxO9iIq+bZIbrFg=
-github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.71 h1:SAB1UAVaf6nGCu3zyIrV+VWsendXrms1GqtW4zBotKA=
-github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.71/go.mod h1:ZNo5H4PR3/fwsXYqb+Ld5YAfvHcYCbltaTTtSay4l2o=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 h1:A5UqQEmPaCFpedKouS4v+dHCTUo2sKqhoKO9U5kxyWo=
+github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.72 h1:m0MmP89v1B0t3b8W8rtATU76KNsodak69QtiokHyEvo=
+github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.72/go.mod h1:ylOTxIuoTL+XjH46Omv2iPjHdeGUk3SQ4hxYho4EHMA=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 h1:srIVS45eQuewqz6fKKu6ZGXaq6FuFg5NzgQBAM6g8Y4=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 h1:hMUCiE3Zi5AHrRNGf5j985u0WyqI6r2NULhUfo0N/No=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 h1:LWA+3kDM8ly001vJ1X1waCuLJdtTl48gwkPKWy9sosI=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 h1:yOpYx+FTBdpk/g+sBU6Cb1H0U/TLEcYYp66mYqsPpcc=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35/go.mod h1:0Eg1YjxE0Bhn56lx+SHJwCzhW+2JGtizsrx+lCqrfm0=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.26 h1:wscW+pnn3J1OYnanMnza5ZVYXLX4cKk5rAvUAl4Qu+c=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36 h1:8r5m1BoAWkn0TDC34lUculryf7nUF25EgIMdjvGCkgo=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36/go.mod h1:Rmw2M1hMVTwiUhjwMoIBFWFJMhvJbct06sSidxInkhY=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.26/go.mod h1:MtYiox5gvyB+OyP0Mr0Sm/yzbEAIPL9eijj/ouHAPw0=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27 h1:cZG7psLfqpkB6H+fIrgUDWmlzM474St1LP0jcz272yI=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27/go.mod h1:ZdjYvJpDlefgh8/hWelJhqgqJeodxu4SmbVsSdBlL7E=
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8=
-github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.29 h1:zZSLP3v3riMOP14H7b4XP0uyfREDQOYv2cqIrvTXDNQ=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.29/go.mod h1:z7EjRjVwZ6pWcWdI2H64dKttvzaP99jRIj5hphW0M5U=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 h1:bkRyG4a929RCnpVSTvLM2j/T4ls015ZhhYApbmYs15s=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.30 h1:Bje8Xkh2OWpjBdNfXLrnn8eZg569dUQmhgtydxAYyP0=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.30/go.mod h1:qQtIBl5OVMfmeQkz8HaVyh5DzFmmFXyvK27UgIgOr4c=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU=
-github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.3 h1:dBL3StFxHtpBzJJ/mNEsjXVgfO+7jR0dAIEwLqMapEA=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 h1:IiDolu/eLmuB18DRZibj77n1hHQT7z12jnGO7Ze3pLc=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29/go.mod h1:fDbkK4o7fpPXWn8YAPmTieAMuB9mk/VgvW64uaUqxd4=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.3/go.mod h1:f1QyiAsvIv4B49DmCqrhlXqyaR+0IxMmyX+1P+AnzOM=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4 h1:hx4WksB0NRQ9utR+2c3gEGzl6uKj3eM6PMQ6tN3lgXs=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4/go.mod h1:JniVpqvw90sVjNqanGLufrVapWySL28fhBlYgl96Q/w=
github.com/aws/aws-sdk-go-v2/service/kms v1.22.2/go.mod h1:aNfh11Smy55o65PB3MyKbkM8BFyFUcZmj1k+4g8eNfg=
-github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.14.13 h1:INNEByjR77yjugBQPVXkDTleLf5AIvxUslT1N3MG2So=
-github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.14.13/go.mod h1:xmV0oIDDFg4i3vNjRfwRAl1ZGpNsEj06gLYpFT+hwpI=
+github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.14.14 h1:uq49Q5GRCr8WNoYr9rVBzATJJYgxl8Z3tIBZIlx2K/0=
+github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.14.14/go.mod h1:byN8YRf8a+8G73d1FGnIOUpaGDAoxwb4fgd31J1w8p8=
github.com/aws/aws-sdk-go-v2/service/s3 v1.35.0/go.mod h1:aVbf0sko/TsLWHx30c/uVu7c62+0EAJ3vbxaJga0xCw=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.36.0 h1:lEmQ1XSD9qLk+NZXbgvLJI/IiTz7OIR2TYUTFH25EI4=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.36.0/go.mod h1:aVbf0sko/TsLWHx30c/uVu7c62+0EAJ3vbxaJga0xCw=
-github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.10 h1:eW8zPSh7ZLzb7029xCsIEFbnxLvNHPTt7aWwdKjNJc8=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0 h1:PalLOEGZ/4XfQxpGZFTLaoJSmPoybnqJYotaIZEf/Rg=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0/go.mod h1:PwyKKVL0cNkC37QwLcrhyeCrAk+5bY8O2ou7USyAS2A=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.10/go.mod h1:ezn6mzIRqTPdAbDpm03dx4y9g6rvGRb2q33wS76dCxw=
+github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.11 h1:g2uwGxEXNsjd2OJHIW1KrP4q/BAUcyn6440LQ9gR+nQ=
+github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.11/go.mod h1:ywwMMBG8ioLfw1LccY05t/egwONbtwDkoUVuXNgDZjs=
github.com/aws/aws-sdk-go-v2/service/sns v1.20.13/go.mod h1:rWrvp9i8y/lX94lS7Kn/0iu9RY6vXzeKRqS/knVX8/c=
github.com/aws/aws-sdk-go-v2/service/sqs v1.23.2/go.mod h1:TaV67b6JMD1988x/uMDop/JnMFK6v5d4Ru+sDmFg+ww=
github.com/aws/aws-sdk-go-v2/service/ssm v1.36.6/go.mod h1:NdyMyZH/FzmCaybTrVMBD0nTCGrs1G4cOPKHFywx9Ns=
-github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 h1:nneMBM2p79PGWBQovYO/6Xnc2ryRMw3InnDJq1FHkSY=
github.com/aws/aws-sdk-go-v2/service/sso v1.12.12/go.mod h1:HuCOxYsF21eKrerARYO6HapNeh9GBNq7fius2AcwodY=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 h1:2qTR7IFk7/0IN/adSFhYu9Xthr0zVFTgBrmPldILn80=
+github.com/aws/aws-sdk-go-v2/service/sso v1.12.13 h1:sWDv7cMITPcZ21QdreULwxOOAmE05JjEsT6fCDtDA9k=
+github.com/aws/aws-sdk-go-v2/service/sso v1.12.13/go.mod h1:DfX0sWuT46KpcqbMhJ9QWtxAIP1VozkDWf8VAkByjYY=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12/go.mod h1:E4VrHCPzmVB/KFXtqBGKb3c8zpbNBgKe3fisDNLAW5w=
-github.com/aws/aws-sdk-go-v2/service/sts v1.19.2 h1:XFJ2Z6sNUUcAz9poj+245DMkrHE4h2j5I9/xD50RHfE=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13 h1:BFubHS/xN5bjl818QaroN6mQdjneYQ+AOx44KNXlyH4=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13/go.mod h1:BzqsVVFduubEmzrVtUFQQIQdFqvUItF8XUq2EnS8Wog=
github.com/aws/aws-sdk-go-v2/service/sts v1.19.2/go.mod h1:dp0yLPsLBOi++WTxzCjA/oZqi6NPIhoR+uF7GeMU9eg=
+github.com/aws/aws-sdk-go-v2/service/sts v1.19.3 h1:e5mnydVdCVWxP+5rPAGi2PYxC7u2OZgH1ypC114H04U=
+github.com/aws/aws-sdk-go-v2/service/sts v1.19.3/go.mod h1:yVGZA1CPkmUhBdA039jXNJJG7/6t+G+EBWmFq23xqnY=
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
@@ -1097,6 +1115,8 @@ github.com/drakkan/crypto v0.0.0-20230614155948-29e7be6c0fab h1:6Oao/qdhMBSZdueK
github.com/drakkan/crypto v0.0.0-20230614155948-29e7be6c0fab/go.mod h1:hoUAJL8P6kTML1aXtBlnY0EVZ7KH7o2rGfeDdbD62QI=
github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9 h1:LPH1dEblAOO/LoG7yHPMtBLXhQmjaga91/DDjWk9jWA=
github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9/go.mod h1:2lmrmq866uF2tnje75wQHzmPXhmSWUt7Gyx2vgK1RCU=
+github.com/drakkan/ftpserverlib v0.0.0-20230714144823-d8aff325a796 h1:UqensCxyQtP1wNRNbEO46gqrY4KTA4ktbMk/+gnmSAM=
+github.com/drakkan/ftpserverlib v0.0.0-20230714144823-d8aff325a796/go.mod h1:y3T8eZqo8jAYQ0/wnDVRrcGeTTHV8S7ex6mAf8vQ8A0=
github.com/drakkan/webdav v0.0.0-20230227175313-32996838bcd8 h1:tdkLkSKtYd3WSDsZXGJDKsakiNstLQJPN5HjnqCkf2c=
github.com/drakkan/webdav v0.0.0-20230227175313-32996838bcd8/go.mod h1:zOVb1QDhwwqWn2L2qZ0U3swMSO4GTSNyIwXCGO/UGWE=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -1143,8 +1163,6 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF
github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
-github.com/fclairamb/ftpserverlib v0.21.0 h1:QO4ex827FU6Y7FNi1cj4dmAs6bcmy+UtWcX5yzVzFAw=
-github.com/fclairamb/ftpserverlib v0.21.0/go.mod h1:03sR5yGPYyUH/8hFKML02SVNLY7A//3qIy0q0ZJGhTw=
github.com/fclairamb/go-log v0.4.1 h1:rLtdSG9x2pK41AIAnE8WYpl05xBJfw1ZyYxZaXFcBsM=
github.com/fclairamb/go-log v0.4.1/go.mod h1:sw1KvnkZ4wKCYkvy4SL3qVZcJSWFP8Ure4pM3z+KNn4=
github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
@@ -1178,12 +1196,12 @@ github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwv
github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U=
github.com/go-acme/lego/v4 v4.12.3 h1:aWPYhBopAZXWBASPgvi1LnWGrr5YiXOsrpVaFaVJipo=
github.com/go-acme/lego/v4 v4.12.3/go.mod h1:UZoOlhVmUYP/N0z4tEbfUjoCNHRZNObzqWZtT76DIsc=
-github.com/go-chi/chi/v5 v5.0.9-0.20230502103705-7f280968675b h1:fOhf/SzZ2dPT7wFY5MPJAR/4HUusHgf8xT8XWqVeDtY=
-github.com/go-chi/chi/v5 v5.0.9-0.20230502103705-7f280968675b/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
+github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk=
+github.com/go-chi/chi/v5 v5.0.10/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/jwtauth/v5 v5.1.1 h1:Pjixqu5YkjE9sCLpzE01L0Q4sQzJIPdo7uz9r8ftp/c=
github.com/go-chi/jwtauth/v5 v5.1.1/go.mod h1:CYP1WSbzD4MPuKCr537EM3kfFhSQgpUEtMJFuYJjqWU=
-github.com/go-chi/render v1.0.2 h1:4ER/udB0+fMWB2Jlf15RV3F4A2FDuYi/9f+lFttR/Lg=
-github.com/go-chi/render v1.0.2/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0=
+github.com/go-chi/render v1.0.3 h1:AsXqd2a1/INaIfUSKq3G5uA8weYx20FOsM7uSoCyyt4=
+github.com/go-chi/render v1.0.3/go.mod h1:/gr3hVkmYR0YlEy3LxCuVRFzEu9Ruok+gFqbIofjao0=
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
@@ -1652,8 +1670,8 @@ github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs=
github.com/jackc/pgx/v4 v4.18.1/go.mod h1:FydWkUyadDmdNH/mHnGob881GawxeEm7TcMCzkb+qQE=
-github.com/jackc/pgx/v5 v5.4.2-0.20230708170805-0328d314ea10 h1:mjnmEJF97eRJqvNsTQHkaaG8xJa8YxFUgbuhxXEklRQ=
-github.com/jackc/pgx/v5 v5.4.2-0.20230708170805-0328d314ea10/go.mod h1:q6iHT8uDNXWiFNOlRqJzBTaSH3+2xCXkokxHZC5qWFY=
+github.com/jackc/pgx/v5 v5.4.2 h1:u1gmGDwbdRUZiwisBm/Ky2M14uQyUP65bG8+20nnyrg=
+github.com/jackc/pgx/v5 v5.4.2/go.mod h1:q6iHT8uDNXWiFNOlRqJzBTaSH3+2xCXkokxHZC5qWFY=
github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
@@ -1979,8 +1997,8 @@ github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrap
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas=
-github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
-github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
+github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0=
+github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
@@ -3013,8 +3031,8 @@ google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2
google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750=
-google.golang.org/api v0.130.0 h1:A50ujooa1h9iizvfzA4rrJr2B7uRmWexwbekQ2+5FPQ=
-google.golang.org/api v0.130.0/go.mod h1:J/LCJMYSDFvAVREGCbrESb53n4++NMBDetSHGL5I5RY=
+google.golang.org/api v0.131.0 h1:AcgWS2edQ4chVEt/SxgDKubVu/9/idCJy00tBGuGB4M=
+google.golang.org/api v0.131.0/go.mod h1:7vtkbKv2REjJbxmHSkBTBQ5LUGvPdAqjjvt84XAfhpA=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -3174,21 +3192,21 @@ google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOl
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY=
google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
-google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8=
-google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y=
+google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g=
+google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
-google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU=
-google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ=
+google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw=
+google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
diff --git a/internal/httpd/api_events.go b/internal/httpd/api_events.go
index f9fcc445..19d9c270 100644
--- a/internal/httpd/api_events.go
+++ b/internal/httpd/api_events.go
@@ -170,7 +170,7 @@ func searchFsEvents(w http.ResponseWriter, r *http.Request) {
return
}
- w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.Header().Set("Content-Type", "application/json")
w.Write(data) //nolint:errcheck
}
@@ -205,7 +205,7 @@ func searchProviderEvents(w http.ResponseWriter, r *http.Request) {
return
}
- w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.Header().Set("Content-Type", "application/json")
w.Write(data) //nolint:errcheck
}
@@ -238,7 +238,7 @@ func searchLogEvents(w http.ResponseWriter, r *http.Request) {
return
}
- w.Header().Set("Content-Type", "application/json; charset=utf-8")
+ w.Header().Set("Content-Type", "application/json")
w.Write(data) //nolint:errcheck
}
diff --git a/internal/version/version.go b/internal/version/version.go
index 66e0d656..be72bb97 100644
--- a/internal/version/version.go
+++ b/internal/version/version.go
@@ -17,7 +17,7 @@ package version
import "strings"
-const version = "2.5.3-dev"
+const version = "2.5.4"
var (
commit = ""
diff --git a/openapi/httpfs.yaml b/openapi/httpfs.yaml
index 32420622..99405753 100644
--- a/openapi/httpfs.yaml
+++ b/openapi/httpfs.yaml
@@ -33,7 +33,7 @@ paths:
200:
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/FileInfo'
401:
@@ -350,7 +350,7 @@ paths:
200:
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -384,7 +384,7 @@ paths:
200:
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -424,7 +424,7 @@ paths:
200:
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -459,7 +459,7 @@ paths:
200:
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/StatVFS'
401:
@@ -479,61 +479,61 @@ components:
OKResponse:
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
BadRequest:
description: Bad Request
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
Unauthorized:
description: Unauthorized
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
Forbidden:
description: Forbidden
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
NotFound:
description: Not Found
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
NotImplemented:
description: Not Implemented
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
Conflict:
description: Conflict
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
RequestEntityTooLarge:
description: Request Entity Too Large, max allowed size exceeded
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
InternalServerError:
description: Internal Server Error
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
DefaultResponse:
description: Unexpected Error
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
schemas:
diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml
index b267587b..1bf6c778 100644
--- a/openapi/openapi.yaml
+++ b/openapi/openapi.yaml
@@ -29,7 +29,7 @@ info:
SFTPGo supports groups to simplify the administration of multiple accounts by letting you assign settings once to a group, instead of multiple times to each individual user.
The SFTPGo WebClient allows end users to change their credentials, browse and manage their files in the browser and setup two-factor authentication which works with Authy, Google Authenticator and other compatible apps.
From the WebClient each authorized user can also create HTTP/S links to externally share files and folders securely, by setting limits to the number of downloads/uploads, protecting the share with a password, limiting access by source IP address, setting an automatic expiration date.
- version: 2.5.3
+ version: 2.5.4
contact:
name: API support
url: 'https://github.com/drakkan/sftpgo'
@@ -127,7 +127,7 @@ paths:
'201':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -222,7 +222,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -291,7 +291,7 @@ paths:
'201':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -326,7 +326,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Token'
'401':
@@ -350,7 +350,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
@@ -381,7 +381,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Token'
'401':
@@ -405,7 +405,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
@@ -427,7 +427,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/VersionInfo'
'401':
@@ -450,14 +450,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/PwdChange'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
@@ -481,7 +481,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/AdminProfile'
'401':
@@ -503,14 +503,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/AdminProfile'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -536,7 +536,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -561,7 +561,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -589,7 +589,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -614,7 +614,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -625,7 +625,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -661,7 +661,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -678,7 +678,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -705,14 +705,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/AdminTOTPConfig'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -738,7 +738,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -769,7 +769,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -833,7 +833,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -857,7 +857,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/IPListEntry'
responses:
@@ -869,7 +869,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -907,7 +907,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/IPListEntry'
'400':
@@ -931,14 +931,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/IPListEntry'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -965,7 +965,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -993,7 +993,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1026,7 +1026,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/DefenderEntry'
'401':
@@ -1049,7 +1049,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
@@ -1073,7 +1073,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1104,7 +1104,7 @@ paths:
'202':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1134,7 +1134,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1173,7 +1173,7 @@ paths:
required: true
description: 'Defines virtual paths to check and their retention time in hours'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1182,7 +1182,7 @@ paths:
'202':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1212,7 +1212,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1243,7 +1243,7 @@ paths:
'202':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1294,14 +1294,14 @@ paths:
required: true
description: 'If used_quota_size and used_quota_files are missing they will default to 0, this means that if mode is "add" the current value, for the missing field, will remain unchanged, if mode is "reset" the missing field is set to 0'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/QuotaUsage'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1352,14 +1352,14 @@ paths:
required: true
description: 'If used_upload_data_transfer and used_download_data_transfer are missing they will default to 0, this means that if mode is "add" the current value, for the missing field, will remain unchanged, if mode is "reset" the missing field is set to 0'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/TransferQuotaUsage'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1389,7 +1389,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1420,7 +1420,7 @@ paths:
'202':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1486,14 +1486,14 @@ paths:
required: true
description: 'If used_quota_size and used_quota_files are missing they will default to 0, this means that if mode is "add" the current value, for the missing field, will remain unchanged, if mode is "reset" the missing field is set to 0'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/QuotaUsage'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1550,7 +1550,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1580,7 +1580,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseVirtualFolder'
responses:
@@ -1592,7 +1592,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseVirtualFolder'
'400':
@@ -1629,7 +1629,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseVirtualFolder'
'400':
@@ -1653,14 +1653,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseVirtualFolder'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1687,7 +1687,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1742,7 +1742,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1772,7 +1772,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Group'
responses:
@@ -1784,7 +1784,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
@@ -1821,7 +1821,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
@@ -1845,14 +1845,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Group'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1879,7 +1879,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -1934,7 +1934,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -1958,7 +1958,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Role'
responses:
@@ -1970,7 +1970,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Role'
'400':
@@ -2001,7 +2001,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Role'
'400':
@@ -2025,14 +2025,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Role'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2059,7 +2059,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2114,7 +2114,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -2144,7 +2144,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseEventAction'
responses:
@@ -2156,7 +2156,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseEventAction'
'400':
@@ -2193,7 +2193,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseEventAction'
'400':
@@ -2217,14 +2217,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BaseEventAction'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2251,7 +2251,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2306,7 +2306,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -2336,7 +2336,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/EventRuleMinimal'
responses:
@@ -2348,7 +2348,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/EventRule'
'400':
@@ -2385,7 +2385,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/EventRule'
'400':
@@ -2409,14 +2409,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/EventRuleMinimal'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2443,7 +2443,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2478,7 +2478,7 @@ paths:
'202':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -2635,7 +2635,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -2773,7 +2773,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -2898,7 +2898,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -2956,7 +2956,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -2982,7 +2982,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/APIKey'
responses:
@@ -2998,7 +2998,7 @@ paths:
type: string
description: URI to retrieve the details for the new created API key
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -3038,7 +3038,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/APIKey'
'400':
@@ -3064,14 +3064,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/APIKey'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3100,7 +3100,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3155,7 +3155,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -3179,7 +3179,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Admin'
responses:
@@ -3191,7 +3191,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Admin'
'400':
@@ -3222,7 +3222,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Admin'
'400':
@@ -3246,14 +3246,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Admin'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3280,7 +3280,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3315,7 +3315,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3351,7 +3351,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -3383,7 +3383,7 @@ paths:
operationId: admin_reset_password
requestBody:
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -3396,7 +3396,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -3449,7 +3449,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -3479,7 +3479,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/User'
responses:
@@ -3491,7 +3491,7 @@ paths:
type: string
description: 'URI of the newly created object'
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/User'
'400':
@@ -3528,7 +3528,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/User'
'400':
@@ -3564,14 +3564,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/User'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3598,7 +3598,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3633,7 +3633,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3669,7 +3669,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -3701,7 +3701,7 @@ paths:
operationId: user_reset_password
requestBody:
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -3714,7 +3714,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -3740,7 +3740,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ServicesStatus'
'400':
@@ -3801,7 +3801,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ApiResponse'
@@ -3862,7 +3862,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3886,14 +3886,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/BackupData'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -3920,14 +3920,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/PwdChange'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
@@ -3951,7 +3951,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/UserProfile'
'401':
@@ -3973,14 +3973,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/UserProfile'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4006,7 +4006,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -4031,7 +4031,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -4059,7 +4059,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -4084,7 +4084,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -4095,7 +4095,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -4131,7 +4131,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -4148,7 +4148,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -4175,14 +4175,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/UserTOTPConfig'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -4235,7 +4235,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -4259,7 +4259,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Share'
responses:
@@ -4275,7 +4275,7 @@ paths:
type: string
description: URI to retrieve the details for the new created share
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4306,7 +4306,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Share'
'400':
@@ -4330,14 +4330,14 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/Share'
responses:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -4364,7 +4364,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
example:
@@ -4403,7 +4403,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4438,7 +4438,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4468,7 +4468,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -4506,7 +4506,7 @@ paths:
'201':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4543,7 +4543,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4573,7 +4573,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4667,7 +4667,7 @@ paths:
'201':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4706,7 +4706,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4736,7 +4736,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4801,7 +4801,7 @@ paths:
'201':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4832,7 +4832,7 @@ paths:
required: true
requestBody:
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: object
properties:
@@ -4844,7 +4844,7 @@ paths:
'200':
description: successful operation
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
@@ -4869,7 +4869,7 @@ paths:
requestBody:
required: true
content:
- application/json; charset=utf-8:
+ application/json:
schema:
type: array
items:
@@ -4898,49 +4898,49 @@ components:
BadRequest:
description: Bad Request
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
Unauthorized:
description: Unauthorized
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
Forbidden:
description: Forbidden
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
NotFound:
description: Not Found
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
Conflict:
description: Conflict
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
RequestEntityTooLarge:
description: Request Entity Too Large, max allowed size exceeded
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
InternalServerError:
description: Internal Server Error
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
DefaultResponse:
description: Unexpected Error
content:
- application/json; charset=utf-8:
+ application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
schemas:
diff --git a/pkgs/build.sh b/pkgs/build.sh
index ab75e900..29a07474 100755
--- a/pkgs/build.sh
+++ b/pkgs/build.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-NFPM_VERSION=2.31.0
+NFPM_VERSION=2.32.0
NFPM_ARCH=${NFPM_ARCH:-amd64}
if [ -z ${SFTPGO_VERSION} ]
then
diff --git a/templates/webadmin/configs.html b/templates/webadmin/configs.html
index d19d3319..c66b14e7 100644
--- a/templates/webadmin/configs.html
+++ b/templates/webadmin/configs.html
@@ -459,7 +459,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify(data),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('#spinnerModal').modal('hide');
@@ -526,7 +526,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify(data),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('#spinnerModal').modal('hide');
diff --git a/templates/webadmin/mfa.html b/templates/webadmin/mfa.html
index 6a272c1f..f48b90e2 100644
--- a/templates/webadmin/mfa.html
+++ b/templates/webadmin/mfa.html
@@ -166,7 +166,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"config_name": $('#idConfig option:selected').val()}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('.totpDisable').hide();
@@ -209,7 +209,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"passcode": passcode, "config_name": $('#idConfig option:selected').val(), "secret": $('#idSecret').text()}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
totpSave();
@@ -242,7 +242,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"enabled": true, "config_name": $('#idConfig option:selected').val(), "secret": {"status": "Plain", "payload": $('#idSecret').text()}}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('#successTOTPTxt').text("Configuration saved");
@@ -284,7 +284,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"enabled": false}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
location.reload();
@@ -357,7 +357,7 @@ along with this program. If not, see .
type: 'POST',
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('.viewRecoveryCodes').hide();
diff --git a/templates/webclient/mfa.html b/templates/webclient/mfa.html
index 984bfeb7..23a03007 100644
--- a/templates/webclient/mfa.html
+++ b/templates/webclient/mfa.html
@@ -192,7 +192,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"config_name": $('#idConfig option:selected').val()}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('.totpDisable').hide();
@@ -236,7 +236,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"passcode": passcode, "config_name": $('#idConfig option:selected').val(), "secret": $('#idSecret').text()}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
totpSave();
@@ -273,7 +273,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"enabled": true, "config_name": $('#idConfig option:selected').val(), "protocols": protocolsArray, "secret": {"status": "Plain", "payload": $('#idSecret').text()}}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('#successTOTPTxt').text("Configuration saved");
@@ -318,7 +318,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"protocols": protocolsArray}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('#successTOTPTxt').text("Protocols updated");
@@ -356,7 +356,7 @@ along with this program. If not, see .
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
data: JSON.stringify({"enabled": false}),
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
location.reload();
@@ -429,7 +429,7 @@ along with this program. If not, see .
type: 'POST',
headers: {'X-CSRF-TOKEN' : '{{.CSRFToken}}'},
dataType: 'json',
- contentType: 'application/json; charset=utf-8',
+ contentType: 'application/json',
timeout: 15000,
success: function (result) {
$('.viewRecoveryCodes').hide();