mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-01 00:10:17 -05:00
Merge pull request #1626 from ishank011/group-provider
storage: add group provider service and sharing SQL driver
This commit is contained in:
+2
-2
@@ -7,8 +7,8 @@ require (
|
||||
contrib.go.opencensus.io/exporter/ocagent v0.6.0
|
||||
contrib.go.opencensus.io/exporter/zipkin v0.1.1
|
||||
github.com/Masterminds/sprig/v3 v3.2.2 // indirect
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5
|
||||
github.com/cs3org/reva v1.6.0
|
||||
github.com/go-chi/chi v4.1.2+incompatible
|
||||
github.com/go-chi/render v1.0.1
|
||||
github.com/gofrs/uuid v3.3.0+incompatible
|
||||
|
||||
@@ -130,6 +130,7 @@ github.com/aws/aws-sdk-go v1.34.12 h1:7UbBEYDUa4uW0YmRnOd806MS1yoJMcaodBWDzvBShA
|
||||
github.com/aws/aws-sdk-go v1.34.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys=
|
||||
github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.37.10/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
@@ -224,10 +225,14 @@ github.com/cs3org/go-cs3apis v0.0.0-20200810113633-b00aca449666 h1:E7VsSSN/2YZLS
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20200810113633-b00aca449666/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc h1:vHFqu+Gb/iOKYFy2KswpwIG3G6zRMudRn+rQ2bg3TPE=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 h1:wy1oeyy6v9/65G97AkE5o4jC9J+sngPV9AZL5TbNsaY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e h1:khITGSnfDXtByQsLezoXgocUgGHJBBn0BPsUihGvk7w=
|
||||
github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e/go.mod h1:DOV5SjpOBKN+aWfOHLdA4KiLQkpyC786PQaXEdRAZ0M=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c h1:fyo4TNiZdfQS27XHnAMb+S2wkdlmBf6ZLkU4uHEgWSA=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c/go.mod h1:24c68Ys3h7srGohymDKSXakN4OrhzABJoKFoMeSIBvk=
|
||||
github.com/cs3org/reva v1.6.0 h1:xIhO7UtXQZbjYNeekaeQtZRo+HjZWWukCotb1tO4qMA=
|
||||
github.com/cs3org/reva v1.6.0/go.mod h1:3IWlJ4RcYYu0NEnlvP9QG66Inx7F0BtVLJWXit9Q5aw=
|
||||
github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
Enhancement: Enable group sharing and add config for sharing SQL driver
|
||||
|
||||
This PR adds config to support sharing with groups. It also introduces a
|
||||
breaking change for the CS3APIs definitions since grantees can now refer to both
|
||||
users as well as groups. Since we store the grantee information in a json file,
|
||||
`/var/tmp/ocis/storage/shares.json`, its previous version needs to be removed as
|
||||
we won't be able to unmarshal data corresponding to the previous definitions.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/1626
|
||||
https://github.com/cs3org/reva/pull/1453
|
||||
+2
-2
@@ -6,8 +6,8 @@ require (
|
||||
github.com/CiscoM31/godata v0.0.0-20201003040028-eadcd34e7f06
|
||||
github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee
|
||||
github.com/coreos/go-oidc v2.2.1+incompatible
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5
|
||||
github.com/cs3org/reva v1.6.0
|
||||
github.com/go-chi/chi v4.1.2+incompatible
|
||||
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5
|
||||
github.com/iancoleman/strcase v0.1.2
|
||||
|
||||
@@ -86,6 +86,9 @@ github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8
|
||||
github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks=
|
||||
github.com/ReneKroon/ttlcache/v2 v2.1.0 h1:5GQZXf7Pl68S4O/Mps4kAXQ+ObEqwHskC8WKT77mHiQ=
|
||||
github.com/ReneKroon/ttlcache/v2 v2.1.0/go.mod h1:0E5EIhFJrGmcn/niHrqnnvQHvihj+DdPzJlOEzBS3o4=
|
||||
github.com/ReneKroon/ttlcache/v2 v2.2.0/go.mod h1:7sjX24a4f8I4M3NZHPCsgGs2JoHd0Yw501PCd5URKEE=
|
||||
github.com/ReneKroon/ttlcache/v2 v2.3.0 h1:qZnUjRKIrbKHH6vF5T7Y9Izn5ObfTZfyYpGhvz2BKPo=
|
||||
github.com/ReneKroon/ttlcache/v2 v2.3.0/go.mod h1:zbo6Pv/28e21Z8CzzqgYRArQYGYtjONRxaAKGxzQvG4=
|
||||
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
|
||||
@@ -131,8 +134,14 @@ github.com/aws/aws-sdk-go v1.20.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
|
||||
github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aws/aws-sdk-go v1.34.12 h1:7UbBEYDUa4uW0YmRnOd806MS1yoJMcaodBWDzvBShAI=
|
||||
github.com/aws/aws-sdk-go v1.34.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aws/aws-sdk-go v1.35.27 h1:F0dUW+kouzchjt4X6kYfYMw1YtQPkA4pihpCDqQMrq8=
|
||||
github.com/aws/aws-sdk-go v1.35.27/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
|
||||
github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys=
|
||||
github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.37.10 h1:LRwl+97B4D69Z7tz+eRUxJ1C7baBaIYhgrn5eLtua+Q=
|
||||
github.com/aws/aws-sdk-go v1.37.10/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
@@ -227,10 +236,14 @@ github.com/cs3org/go-cs3apis v0.0.0-20200730121022-c4f3d4f7ddfd h1:uMaudkC7znaiI
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20200730121022-c4f3d4f7ddfd/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc h1:vHFqu+Gb/iOKYFy2KswpwIG3G6zRMudRn+rQ2bg3TPE=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 h1:wy1oeyy6v9/65G97AkE5o4jC9J+sngPV9AZL5TbNsaY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/reva v1.1.0 h1:Gih6ECHvMMGSx523SFluFlDmNMuhYelXYShdWvjvW38=
|
||||
github.com/cs3org/reva v1.1.0/go.mod h1:fBzTrNuAKdQ62ybjpdu8nyhBin90/3/3s6DGQDCdBp4=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c h1:fyo4TNiZdfQS27XHnAMb+S2wkdlmBf6ZLkU4uHEgWSA=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c/go.mod h1:24c68Ys3h7srGohymDKSXakN4OrhzABJoKFoMeSIBvk=
|
||||
github.com/cs3org/reva v1.6.0 h1:xIhO7UtXQZbjYNeekaeQtZRo+HjZWWukCotb1tO4qMA=
|
||||
github.com/cs3org/reva v1.6.0/go.mod h1:3IWlJ4RcYYu0NEnlvP9QG66Inx7F0BtVLJWXit9Q5aw=
|
||||
github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
@@ -1074,6 +1087,9 @@ github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnh
|
||||
github.com/ory/dockertest/v3 v3.5.4/go.mod h1:J8ZUbNB2FOhm1cFZW9xBpDsODqsSWcyYgtJYVPcnF70=
|
||||
github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0=
|
||||
github.com/ory/fosite v0.32.2/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I=
|
||||
github.com/ory/fosite v0.35.1 h1:mGPcwVGwHA7Yy9wr/7LDps6BEXyavL32NxizL9eH53Q=
|
||||
github.com/ory/fosite v0.35.1/go.mod h1:h+ize9gk0GvRyGjabriqSEmTkMhny+O95cijb8DVqPE=
|
||||
github.com/ory/fosite v0.36.1/go.mod h1:42KzCDGR5zzuEIP48QwxL0QkA98ckUphlSgrSvxKB+A=
|
||||
github.com/ory/fosite v0.37.0 h1:NaKYm3hhZW1c812uetiNfHlvXmTokIRrOOiTYz+Yhro=
|
||||
github.com/ory/fosite v0.37.0/go.mod h1:37r59qkOSPueYKmaA7EHiXrDMF1B+XPN+MgkZgTRg3Y=
|
||||
github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4=
|
||||
|
||||
@@ -133,6 +133,8 @@ github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi
|
||||
github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys=
|
||||
github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.37.10 h1:LRwl+97B4D69Z7tz+eRUxJ1C7baBaIYhgrn5eLtua+Q=
|
||||
github.com/aws/aws-sdk-go v1.37.10/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs=
|
||||
@@ -278,10 +280,14 @@ github.com/cs3org/go-cs3apis v0.0.0-20200730121022-c4f3d4f7ddfd/go.mod h1:UXha4T
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20200810113633-b00aca449666/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc h1:vHFqu+Gb/iOKYFy2KswpwIG3G6zRMudRn+rQ2bg3TPE=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 h1:wy1oeyy6v9/65G97AkE5o4jC9J+sngPV9AZL5TbNsaY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/reva v0.0.2-0.20200115110931-4c7513415ec5/go.mod h1:Hk3eCcdhtv4eIhKvRK736fQuOyS1HuHnUcz0Dq6NK1A=
|
||||
github.com/cs3org/reva v1.1.0/go.mod h1:fBzTrNuAKdQ62ybjpdu8nyhBin90/3/3s6DGQDCdBp4=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c h1:fyo4TNiZdfQS27XHnAMb+S2wkdlmBf6ZLkU4uHEgWSA=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c/go.mod h1:24c68Ys3h7srGohymDKSXakN4OrhzABJoKFoMeSIBvk=
|
||||
github.com/cs3org/reva v1.6.0 h1:xIhO7UtXQZbjYNeekaeQtZRo+HjZWWukCotb1tO4qMA=
|
||||
github.com/cs3org/reva v1.6.0/go.mod h1:3IWlJ4RcYYu0NEnlvP9QG66Inx7F0BtVLJWXit9Q5aw=
|
||||
github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
|
||||
github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d h1:SwD98825d6bdB+pEuTxWOXiSjBrHdOl/UVp75eI7JT8=
|
||||
github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
// +build !simple
|
||||
|
||||
package command
|
||||
|
||||
import (
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis/ocis/pkg/config"
|
||||
"github.com/owncloud/ocis/ocis/pkg/register"
|
||||
"github.com/owncloud/ocis/storage/pkg/command"
|
||||
svcconfig "github.com/owncloud/ocis/storage/pkg/config"
|
||||
"github.com/owncloud/ocis/storage/pkg/flagset"
|
||||
)
|
||||
|
||||
// StorageGroupProviderCommand is the entrypoint for the storage-groupprovider command.
|
||||
func StorageGroupProviderCommand(cfg *config.Config) *cli.Command {
|
||||
return &cli.Command{
|
||||
Name: "storage-groupprovider",
|
||||
Usage: "Start storage groupprovider service",
|
||||
Category: "Extensions",
|
||||
Flags: flagset.GroupsWithConfig(cfg.Storage),
|
||||
Action: func(c *cli.Context) error {
|
||||
origCmd := command.Groups(configureStorageGroupProvider(cfg))
|
||||
return handleOriginalAction(c, origCmd)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func configureStorageGroupProvider(cfg *config.Config) *svcconfig.Config {
|
||||
cfg.Storage.Log.Level = cfg.Log.Level
|
||||
cfg.Storage.Log.Pretty = cfg.Log.Pretty
|
||||
cfg.Storage.Log.Color = cfg.Log.Color
|
||||
|
||||
if cfg.Tracing.Enabled {
|
||||
cfg.Storage.Tracing.Enabled = cfg.Tracing.Enabled
|
||||
cfg.Storage.Tracing.Type = cfg.Tracing.Type
|
||||
cfg.Storage.Tracing.Endpoint = cfg.Tracing.Endpoint
|
||||
cfg.Storage.Tracing.Collector = cfg.Tracing.Collector
|
||||
}
|
||||
|
||||
return cfg.Storage
|
||||
}
|
||||
|
||||
func init() {
|
||||
register.AddCommand(StorageGroupProviderCommand)
|
||||
}
|
||||
@@ -42,6 +42,7 @@ var (
|
||||
"storage-frontend",
|
||||
"storage-gateway",
|
||||
"storage-userprovider",
|
||||
"storage-groupprovider",
|
||||
"storage-auth-basic",
|
||||
"storage-auth-bearer",
|
||||
"storage-home",
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ require (
|
||||
contrib.go.opencensus.io/exporter/zipkin v0.1.1
|
||||
github.com/UnnoTed/fileb0x v1.1.4
|
||||
github.com/bmatcuk/doublestar v1.3.4 // indirect
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5
|
||||
github.com/cs3org/reva v1.6.0
|
||||
github.com/go-chi/chi v4.1.2+incompatible
|
||||
github.com/go-chi/render v1.0.1
|
||||
github.com/golang/protobuf v1.4.3
|
||||
|
||||
@@ -130,6 +130,7 @@ github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
|
||||
github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys=
|
||||
github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.37.10/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
@@ -232,8 +233,13 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
|
||||
github.com/cs3org/cato v0.0.0-20200828125504-e418fc54dd5e/go.mod h1:XJEZ3/EQuI3BXTp/6DUzFr850vlxq11I6satRtz0YQ4=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc h1:vHFqu+Gb/iOKYFy2KswpwIG3G6zRMudRn+rQ2bg3TPE=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 h1:wy1oeyy6v9/65G97AkE5o4jC9J+sngPV9AZL5TbNsaY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e/go.mod h1:DOV5SjpOBKN+aWfOHLdA4KiLQkpyC786PQaXEdRAZ0M=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c h1:fyo4TNiZdfQS27XHnAMb+S2wkdlmBf6ZLkU4uHEgWSA=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c/go.mod h1:24c68Ys3h7srGohymDKSXakN4OrhzABJoKFoMeSIBvk=
|
||||
github.com/cs3org/reva v1.6.0 h1:xIhO7UtXQZbjYNeekaeQtZRo+HjZWWukCotb1tO4qMA=
|
||||
github.com/cs3org/reva v1.6.0/go.mod h1:3IWlJ4RcYYu0NEnlvP9QG66Inx7F0BtVLJWXit9Q5aw=
|
||||
github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
|
||||
github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
|
||||
github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM=
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ require (
|
||||
contrib.go.opencensus.io/exporter/ocagent v0.7.0
|
||||
contrib.go.opencensus.io/exporter/zipkin v0.1.1
|
||||
github.com/coreos/go-oidc v2.2.1+incompatible
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5
|
||||
github.com/cs3org/reva v1.6.0
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
||||
github.com/justinas/alice v1.2.0
|
||||
github.com/micro/cli/v2 v2.1.2
|
||||
|
||||
@@ -129,6 +129,7 @@ github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
|
||||
github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys=
|
||||
github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.37.10/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
@@ -229,8 +230,13 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
|
||||
github.com/cs3org/cato v0.0.0-20200828125504-e418fc54dd5e/go.mod h1:XJEZ3/EQuI3BXTp/6DUzFr850vlxq11I6satRtz0YQ4=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc h1:vHFqu+Gb/iOKYFy2KswpwIG3G6zRMudRn+rQ2bg3TPE=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 h1:wy1oeyy6v9/65G97AkE5o4jC9J+sngPV9AZL5TbNsaY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/reva v1.2.2-0.20200924071957-e6676516e61e/go.mod h1:DOV5SjpOBKN+aWfOHLdA4KiLQkpyC786PQaXEdRAZ0M=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c h1:fyo4TNiZdfQS27XHnAMb+S2wkdlmBf6ZLkU4uHEgWSA=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c/go.mod h1:24c68Ys3h7srGohymDKSXakN4OrhzABJoKFoMeSIBvk=
|
||||
github.com/cs3org/reva v1.6.0 h1:xIhO7UtXQZbjYNeekaeQtZRo+HjZWWukCotb1tO4qMA=
|
||||
github.com/cs3org/reva v1.6.0/go.mod h1:3IWlJ4RcYYu0NEnlvP9QG66Inx7F0BtVLJWXit9Q5aw=
|
||||
github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
|
||||
github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
|
||||
github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM=
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ go 1.15
|
||||
|
||||
require (
|
||||
github.com/Masterminds/sprig/v3 v3.2.2 // indirect
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c
|
||||
github.com/cs3org/reva v1.6.0
|
||||
github.com/gofrs/uuid v3.3.0+incompatible
|
||||
github.com/huandu/xstrings v1.3.2 // indirect
|
||||
github.com/micro/cli/v2 v2.1.2
|
||||
|
||||
@@ -126,6 +126,8 @@ github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi
|
||||
github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aws/aws-sdk-go v1.37.3 h1:1f0groABc4AuapskpHf6EBRaG2tqw0Sx3ebCMwfp1Ys=
|
||||
github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.37.10 h1:LRwl+97B4D69Z7tz+eRUxJ1C7baBaIYhgrn5eLtua+Q=
|
||||
github.com/aws/aws-sdk-go v1.37.10/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
@@ -213,9 +215,13 @@ github.com/cs3org/cato v0.0.0-20200828125504-e418fc54dd5e/go.mod h1:XJEZ3/EQuI3B
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20200730121022-c4f3d4f7ddfd/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc h1:vHFqu+Gb/iOKYFy2KswpwIG3G6zRMudRn+rQ2bg3TPE=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210104105209-0d3ecb3453dc/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5 h1:wy1oeyy6v9/65G97AkE5o4jC9J+sngPV9AZL5TbNsaY=
|
||||
github.com/cs3org/go-cs3apis v0.0.0-20210209082852-35ace33082f5/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY=
|
||||
github.com/cs3org/reva v1.1.0/go.mod h1:fBzTrNuAKdQ62ybjpdu8nyhBin90/3/3s6DGQDCdBp4=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c h1:fyo4TNiZdfQS27XHnAMb+S2wkdlmBf6ZLkU4uHEgWSA=
|
||||
github.com/cs3org/reva v1.5.2-0.20210212085611-d8aa2eb3ec9c/go.mod h1:24c68Ys3h7srGohymDKSXakN4OrhzABJoKFoMeSIBvk=
|
||||
github.com/cs3org/reva v1.6.0 h1:xIhO7UtXQZbjYNeekaeQtZRo+HjZWWukCotb1tO4qMA=
|
||||
github.com/cs3org/reva v1.6.0/go.mod h1:3IWlJ4RcYYu0NEnlvP9QG66Inx7F0BtVLJWXit9Q5aw=
|
||||
github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
|
||||
@@ -103,6 +103,7 @@ func Gateway(cfg *config.Config) *cli.Command {
|
||||
// user metadata is located on the users services
|
||||
"preferencessvc": cfg.Reva.Users.Endpoint,
|
||||
"userprovidersvc": cfg.Reva.Users.Endpoint,
|
||||
"groupprovidersvc": cfg.Reva.Groups.Endpoint,
|
||||
// sharing is located on the sharing service
|
||||
"usershareprovidersvc": cfg.Reva.Sharing.Endpoint,
|
||||
"publicshareprovidersvc": cfg.Reva.Sharing.Endpoint,
|
||||
@@ -116,6 +117,7 @@ func Gateway(cfg *config.Config) *cli.Command {
|
||||
"transfer_shared_secret": cfg.Reva.TransferSecret,
|
||||
"transfer_expires": cfg.Reva.TransferExpires,
|
||||
"home_mapping": cfg.Reva.Gateway.HomeMapping,
|
||||
"etag_cache_ttl": cfg.Reva.Gateway.EtagCacheTTL,
|
||||
},
|
||||
"authregistry": map[string]interface{}{
|
||||
"driver": "static",
|
||||
|
||||
@@ -0,0 +1,206 @@
|
||||
package command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path"
|
||||
"time"
|
||||
|
||||
"github.com/cs3org/reva/cmd/revad/runtime"
|
||||
"github.com/gofrs/uuid"
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/oklog/run"
|
||||
"github.com/owncloud/ocis/storage/pkg/config"
|
||||
"github.com/owncloud/ocis/storage/pkg/flagset"
|
||||
"github.com/owncloud/ocis/storage/pkg/server/debug"
|
||||
)
|
||||
|
||||
// Groups is the entrypoint for the sharing command.
|
||||
func Groups(cfg *config.Config) *cli.Command {
|
||||
return &cli.Command{
|
||||
Name: "groups",
|
||||
Usage: "Start groups service",
|
||||
Flags: flagset.GroupsWithConfig(cfg),
|
||||
Before: func(c *cli.Context) error {
|
||||
cfg.Reva.Groups.Services = c.StringSlice("service")
|
||||
|
||||
return nil
|
||||
},
|
||||
Action: func(c *cli.Context) error {
|
||||
logger := NewLogger(cfg)
|
||||
|
||||
if cfg.Tracing.Enabled {
|
||||
switch t := cfg.Tracing.Type; t {
|
||||
case "agent":
|
||||
logger.Error().
|
||||
Str("type", t).
|
||||
Msg("Reva only supports the jaeger tracing backend")
|
||||
|
||||
case "jaeger":
|
||||
logger.Info().
|
||||
Str("type", t).
|
||||
Msg("configuring storage to use the jaeger tracing backend")
|
||||
|
||||
case "zipkin":
|
||||
logger.Error().
|
||||
Str("type", t).
|
||||
Msg("Reva only supports the jaeger tracing backend")
|
||||
|
||||
default:
|
||||
logger.Warn().
|
||||
Str("type", t).
|
||||
Msg("Unknown tracing backend")
|
||||
}
|
||||
|
||||
} else {
|
||||
logger.Debug().
|
||||
Msg("Tracing is not enabled")
|
||||
}
|
||||
|
||||
var (
|
||||
gr = run.Group{}
|
||||
ctx, cancel = context.WithCancel(context.Background())
|
||||
//metrics = metrics.New()
|
||||
)
|
||||
|
||||
defer cancel()
|
||||
|
||||
{
|
||||
uuid := uuid.Must(uuid.NewV4())
|
||||
pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid")
|
||||
|
||||
rcfg := map[string]interface{}{
|
||||
"core": map[string]interface{}{
|
||||
"max_cpus": cfg.Reva.Groups.MaxCPUs,
|
||||
"tracing_enabled": cfg.Tracing.Enabled,
|
||||
"tracing_endpoint": cfg.Tracing.Endpoint,
|
||||
"tracing_collector": cfg.Tracing.Collector,
|
||||
"tracing_service_name": c.Command.Name,
|
||||
},
|
||||
"shared": map[string]interface{}{
|
||||
"jwt_secret": cfg.Reva.JWTSecret,
|
||||
},
|
||||
"grpc": map[string]interface{}{
|
||||
"network": cfg.Reva.Groups.GRPCNetwork,
|
||||
"address": cfg.Reva.Groups.GRPCAddr,
|
||||
// TODO build services dynamically
|
||||
"services": map[string]interface{}{
|
||||
"groupprovider": map[string]interface{}{
|
||||
"driver": cfg.Reva.Groups.Driver,
|
||||
"drivers": map[string]interface{}{
|
||||
"json": map[string]interface{}{
|
||||
"groups": cfg.Reva.Groups.JSON,
|
||||
},
|
||||
"ldap": map[string]interface{}{
|
||||
"hostname": cfg.Reva.LDAP.Hostname,
|
||||
"port": cfg.Reva.LDAP.Port,
|
||||
"base_dn": cfg.Reva.LDAP.BaseDN,
|
||||
"groupfilter": cfg.Reva.LDAP.GroupFilter,
|
||||
"attributefilter": cfg.Reva.LDAP.GroupAttributeFilter,
|
||||
"findfilter": cfg.Reva.LDAP.GroupFindFilter,
|
||||
"memberfilter": cfg.Reva.LDAP.GroupMemberFilter,
|
||||
"bind_username": cfg.Reva.LDAP.BindDN,
|
||||
"bind_password": cfg.Reva.LDAP.BindPassword,
|
||||
"idp": cfg.Reva.LDAP.IDP,
|
||||
"schema": map[string]interface{}{
|
||||
"dn": "dn",
|
||||
"gid": cfg.Reva.LDAP.Schema.GID,
|
||||
"mail": cfg.Reva.LDAP.Schema.Mail,
|
||||
"displayName": cfg.Reva.LDAP.Schema.DisplayName,
|
||||
"cn": cfg.Reva.LDAP.Schema.CN,
|
||||
"gidNumber": cfg.Reva.LDAP.Schema.GIDNumber,
|
||||
},
|
||||
},
|
||||
"rest": map[string]interface{}{
|
||||
"client_id": cfg.Reva.UserGroupRest.ClientID,
|
||||
"client_secret": cfg.Reva.UserGroupRest.ClientSecret,
|
||||
"redis_address": cfg.Reva.UserGroupRest.RedisAddress,
|
||||
"redis_username": cfg.Reva.UserGroupRest.RedisUsername,
|
||||
"redis_password": cfg.Reva.UserGroupRest.RedisPassword,
|
||||
"group_members_cache_expiration": cfg.Reva.Groups.GroupMembersCacheExpiration,
|
||||
"id_provider": cfg.Reva.UserGroupRest.IDProvider,
|
||||
"api_base_url": cfg.Reva.UserGroupRest.APIBaseURL,
|
||||
"oidc_token_endpoint": cfg.Reva.UserGroupRest.OIDCTokenEndpoint,
|
||||
"target_api": cfg.Reva.UserGroupRest.TargetAPI,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
gr.Add(func() error {
|
||||
runtime.RunWithOptions(
|
||||
rcfg,
|
||||
pidFile,
|
||||
runtime.WithLogger(&logger.Logger),
|
||||
)
|
||||
return nil
|
||||
}, func(_ error) {
|
||||
logger.Info().
|
||||
Str("server", c.Command.Name).
|
||||
Msg("Shutting down server")
|
||||
|
||||
cancel()
|
||||
})
|
||||
}
|
||||
|
||||
{
|
||||
server, err := debug.Server(
|
||||
debug.Name(c.Command.Name+"-debug"),
|
||||
debug.Addr(cfg.Reva.Users.DebugAddr),
|
||||
debug.Logger(logger),
|
||||
debug.Context(ctx),
|
||||
debug.Config(cfg),
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
logger.Info().
|
||||
Err(err).
|
||||
Str("server", c.Command.Name+"-debug").
|
||||
Msg("Failed to initialize server")
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
gr.Add(func() error {
|
||||
return server.ListenAndServe()
|
||||
}, func(_ error) {
|
||||
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
|
||||
|
||||
defer timeout()
|
||||
defer cancel()
|
||||
|
||||
if err := server.Shutdown(ctx); err != nil {
|
||||
logger.Info().
|
||||
Err(err).
|
||||
Str("server", c.Command.Name+"-debug").
|
||||
Msg("Failed to shutdown server")
|
||||
} else {
|
||||
logger.Info().
|
||||
Str("server", c.Command.Name+"-debug").
|
||||
Msg("Shutting down server")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
{
|
||||
stop := make(chan os.Signal, 1)
|
||||
|
||||
gr.Add(func() error {
|
||||
signal.Notify(stop, os.Interrupt)
|
||||
|
||||
<-stop
|
||||
|
||||
return nil
|
||||
}, func(err error) {
|
||||
close(stop)
|
||||
cancel()
|
||||
})
|
||||
}
|
||||
|
||||
return gr.Run()
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -77,6 +77,7 @@ func Execute() error {
|
||||
Frontend(cfg),
|
||||
Gateway(cfg),
|
||||
Users(cfg),
|
||||
Groups(cfg),
|
||||
AuthBasic(cfg),
|
||||
AuthBearer(cfg),
|
||||
Sharing(cfg),
|
||||
|
||||
@@ -93,6 +93,13 @@ func Sharing(cfg *config.Config) *cli.Command {
|
||||
"json": map[string]interface{}{
|
||||
"file": cfg.Reva.Sharing.UserJSONFile,
|
||||
},
|
||||
"sql": map[string]interface{}{
|
||||
"db_username": cfg.Reva.Sharing.UserSQLUsername,
|
||||
"db_password": cfg.Reva.Sharing.UserSQLPassword,
|
||||
"db_host": cfg.Reva.Sharing.UserSQLHost,
|
||||
"db_port": cfg.Reva.Sharing.UserSQLPort,
|
||||
"db_name": cfg.Reva.Sharing.UserSQLName,
|
||||
},
|
||||
},
|
||||
},
|
||||
"publicshareprovider": map[string]interface{}{
|
||||
|
||||
@@ -97,9 +97,9 @@ func Users(cfg *config.Config) *cli.Command {
|
||||
"port": cfg.Reva.LDAP.Port,
|
||||
"base_dn": cfg.Reva.LDAP.BaseDN,
|
||||
"userfilter": cfg.Reva.LDAP.UserFilter,
|
||||
"attributefilter": cfg.Reva.LDAP.AttributeFilter,
|
||||
"findfilter": cfg.Reva.LDAP.FindFilter,
|
||||
"groupfilter": cfg.Reva.LDAP.GroupFilter,
|
||||
"attributefilter": cfg.Reva.LDAP.UserAttributeFilter,
|
||||
"findfilter": cfg.Reva.LDAP.UserFindFilter,
|
||||
"groupfilter": cfg.Reva.LDAP.UserGroupFilter,
|
||||
"bind_username": cfg.Reva.LDAP.BindDN,
|
||||
"bind_password": cfg.Reva.LDAP.BindPassword,
|
||||
"idp": cfg.Reva.LDAP.IDP,
|
||||
@@ -114,16 +114,16 @@ func Users(cfg *config.Config) *cli.Command {
|
||||
},
|
||||
},
|
||||
"rest": map[string]interface{}{
|
||||
"client_id": cfg.Reva.UserRest.ClientID,
|
||||
"client_secret": cfg.Reva.UserRest.ClientSecret,
|
||||
"redis_address": cfg.Reva.UserRest.RedisAddress,
|
||||
"redis_username": cfg.Reva.UserRest.RedisUsername,
|
||||
"redis_password": cfg.Reva.UserRest.RedisPassword,
|
||||
"user_groups_cache_expiration": cfg.Reva.UserRest.UserGroupsCacheExpiration,
|
||||
"id_provider": cfg.Reva.UserRest.IDProvider,
|
||||
"api_base_url": cfg.Reva.UserRest.APIBaseURL,
|
||||
"oidc_token_endpoint": cfg.Reva.UserRest.OIDCTokenEndpoint,
|
||||
"target_api": cfg.Reva.UserRest.TargetAPI,
|
||||
"client_id": cfg.Reva.UserGroupRest.ClientID,
|
||||
"client_secret": cfg.Reva.UserGroupRest.ClientSecret,
|
||||
"redis_address": cfg.Reva.UserGroupRest.RedisAddress,
|
||||
"redis_username": cfg.Reva.UserGroupRest.RedisUsername,
|
||||
"redis_password": cfg.Reva.UserGroupRest.RedisPassword,
|
||||
"user_groups_cache_expiration": cfg.Reva.Users.UserGroupsCacheExpiration,
|
||||
"id_provider": cfg.Reva.UserGroupRest.IDProvider,
|
||||
"api_base_url": cfg.Reva.UserGroupRest.APIBaseURL,
|
||||
"oidc_token_endpoint": cfg.Reva.UserGroupRest.OIDCTokenEndpoint,
|
||||
"target_api": cfg.Reva.UserGroupRest.TargetAPI,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -24,6 +24,7 @@ type Gateway struct {
|
||||
ShareFolder string
|
||||
LinkGrants string
|
||||
HomeMapping string
|
||||
EtagCacheTTL int
|
||||
}
|
||||
|
||||
// StorageRegistry defines the available storage registry configuration
|
||||
@@ -37,10 +38,15 @@ type StorageRegistry struct {
|
||||
// Sharing defines the available sharing configuration.
|
||||
type Sharing struct {
|
||||
Port
|
||||
UserDriver string
|
||||
UserJSONFile string
|
||||
PublicDriver string
|
||||
PublicJSONFile string
|
||||
UserDriver string
|
||||
UserJSONFile string
|
||||
UserSQLUsername string
|
||||
UserSQLPassword string
|
||||
UserSQLHost string
|
||||
UserSQLPort int
|
||||
UserSQLName string
|
||||
PublicDriver string
|
||||
PublicJSONFile string
|
||||
}
|
||||
|
||||
// Port defines the available port configuration.
|
||||
@@ -73,8 +79,17 @@ type Port struct {
|
||||
// Users defines the available users configuration.
|
||||
type Users struct {
|
||||
Port
|
||||
Driver string
|
||||
JSON string
|
||||
Driver string
|
||||
JSON string
|
||||
UserGroupsCacheExpiration int
|
||||
}
|
||||
|
||||
// Groups defines the available groups configuration.
|
||||
type Groups struct {
|
||||
Port
|
||||
Driver string
|
||||
JSON string
|
||||
GroupMembersCacheExpiration int
|
||||
}
|
||||
|
||||
// FrontendPort defines the available frontend configuration.
|
||||
@@ -244,37 +259,41 @@ type OIDC struct {
|
||||
|
||||
// LDAP defines the available ldap configuration.
|
||||
type LDAP struct {
|
||||
Hostname string
|
||||
Port int
|
||||
BaseDN string
|
||||
LoginFilter string
|
||||
UserFilter string
|
||||
AttributeFilter string
|
||||
FindFilter string
|
||||
GroupFilter string
|
||||
BindDN string
|
||||
BindPassword string
|
||||
IDP string
|
||||
Schema LDAPSchema
|
||||
Hostname string
|
||||
Port int
|
||||
BaseDN string
|
||||
LoginFilter string
|
||||
UserFilter string
|
||||
UserAttributeFilter string
|
||||
UserFindFilter string
|
||||
UserGroupFilter string
|
||||
GroupFilter string
|
||||
GroupAttributeFilter string
|
||||
GroupFindFilter string
|
||||
GroupMemberFilter string
|
||||
BindDN string
|
||||
BindPassword string
|
||||
IDP string
|
||||
Schema LDAPSchema
|
||||
}
|
||||
|
||||
// UserRest defines the user REST driver specification.
|
||||
type UserRest struct {
|
||||
ClientID string
|
||||
ClientSecret string
|
||||
RedisAddress string
|
||||
RedisUsername string
|
||||
RedisPassword string
|
||||
IDProvider string
|
||||
APIBaseURL string
|
||||
OIDCTokenEndpoint string
|
||||
TargetAPI string
|
||||
UserGroupsCacheExpiration int
|
||||
// UserGroupRest defines the REST driver specification for user and group resolution.
|
||||
type UserGroupRest struct {
|
||||
ClientID string
|
||||
ClientSecret string
|
||||
RedisAddress string
|
||||
RedisUsername string
|
||||
RedisPassword string
|
||||
IDProvider string
|
||||
APIBaseURL string
|
||||
OIDCTokenEndpoint string
|
||||
TargetAPI string
|
||||
}
|
||||
|
||||
// LDAPSchema defines the available ldap schema configuration.
|
||||
type LDAPSchema struct {
|
||||
UID string
|
||||
GID string
|
||||
Mail string
|
||||
DisplayName string
|
||||
CN string
|
||||
@@ -296,7 +315,7 @@ type Reva struct {
|
||||
TransferExpires int
|
||||
OIDC OIDC
|
||||
LDAP LDAP
|
||||
UserRest UserRest
|
||||
UserGroupRest UserGroupRest
|
||||
OCDav OCDav
|
||||
Storages StorageConfig
|
||||
// Ports are used to configure which services to start on which port
|
||||
@@ -305,6 +324,7 @@ type Reva struct {
|
||||
Gateway Gateway
|
||||
StorageRegistry StorageRegistry
|
||||
Users Users
|
||||
Groups Groups
|
||||
AuthProvider Users
|
||||
AuthBasic Port
|
||||
AuthBearer Port
|
||||
|
||||
@@ -104,6 +104,13 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag {
|
||||
EnvVars: []string{"STORAGE_GATEWAY_HOME_MAPPING"},
|
||||
Destination: &cfg.Reva.Gateway.HomeMapping,
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: "etag-cache-ttl",
|
||||
Value: 0,
|
||||
Usage: "TTL for the home and shares directory etags cache",
|
||||
EnvVars: []string{"STORAGE_GATEWAY_ETAG_CACHE_TTL"},
|
||||
Destination: &cfg.Reva.Gateway.EtagCacheTTL,
|
||||
},
|
||||
|
||||
// other services
|
||||
|
||||
@@ -170,6 +177,13 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag {
|
||||
EnvVars: []string{"STORAGE_USERPROVIDER_ENDPOINT"},
|
||||
Destination: &cfg.Reva.Users.Endpoint,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "groupprovider-endpoint",
|
||||
Value: "localhost:9160",
|
||||
Usage: "endpoint to use for the groupprovider",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_ENDPOINT"},
|
||||
Destination: &cfg.Reva.Groups.Endpoint,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "sharing-endpoint",
|
||||
Value: "localhost:9150",
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package flagset
|
||||
|
||||
import (
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis/storage/pkg/config"
|
||||
)
|
||||
|
||||
// GroupsWithConfig applies cfg to the root flagset
|
||||
func GroupsWithConfig(cfg *config.Config) []cli.Flag {
|
||||
flags := []cli.Flag{
|
||||
|
||||
// debug ports are the odd ports
|
||||
&cli.StringFlag{
|
||||
Name: "debug-addr",
|
||||
Value: "0.0.0.0:9161",
|
||||
Usage: "Address to bind debug server",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_DEBUG_ADDR"},
|
||||
Destination: &cfg.Reva.Groups.DebugAddr,
|
||||
},
|
||||
|
||||
// Services
|
||||
|
||||
// Groupprovider
|
||||
|
||||
&cli.StringFlag{
|
||||
Name: "network",
|
||||
Value: "tcp",
|
||||
Usage: "Network to use for the storage service, can be 'tcp', 'udp' or 'unix'",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_NETWORK"},
|
||||
Destination: &cfg.Reva.Groups.GRPCNetwork,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "addr",
|
||||
Value: "0.0.0.0:9160",
|
||||
Usage: "Address to bind storage service",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_ADDR"},
|
||||
Destination: &cfg.Reva.Groups.GRPCAddr,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "endpoint",
|
||||
Value: "localhost:9160",
|
||||
Usage: "URL to use for the storage service",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_ENDPOINT"},
|
||||
Destination: &cfg.Reva.Groups.Endpoint,
|
||||
},
|
||||
&cli.StringSliceFlag{
|
||||
Name: "service",
|
||||
Value: cli.NewStringSlice("groupprovider"), // TODO preferences
|
||||
Usage: "--service groupprovider [--service otherservice]",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_SERVICES"},
|
||||
},
|
||||
|
||||
&cli.StringFlag{
|
||||
Name: "driver",
|
||||
Value: "ldap",
|
||||
Usage: "group driver: 'json', 'ldap', or 'rest'",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_DRIVER"},
|
||||
Destination: &cfg.Reva.Groups.Driver,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "json-config",
|
||||
Value: "",
|
||||
Usage: "Path to groups.json file",
|
||||
EnvVars: []string{"STORAGE_GROUPPROVIDER_JSON"},
|
||||
Destination: &cfg.Reva.Groups.JSON,
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: "group-members-cache-expiration",
|
||||
Value: 5,
|
||||
Usage: "Time in minutes for redis cache expiration.",
|
||||
EnvVars: []string{"STORAGE_GROUP_CACHE_EXPIRATION"},
|
||||
Destination: &cfg.Reva.Groups.GroupMembersCacheExpiration,
|
||||
},
|
||||
}
|
||||
|
||||
flags = append(flags, TracingWithConfig(cfg)...)
|
||||
flags = append(flags, DebugWithConfig(cfg)...)
|
||||
flags = append(flags, SecretWithConfig(cfg)...)
|
||||
flags = append(flags, LDAPWithConfig(cfg)...)
|
||||
flags = append(flags, RestWithConfig(cfg)...)
|
||||
|
||||
return flags
|
||||
}
|
||||
@@ -36,6 +36,9 @@ func LDAPWithConfig(cfg *config.Config) []cli.Flag {
|
||||
EnvVars: []string{"STORAGE_LDAP_LOGINFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.LoginFilter,
|
||||
},
|
||||
|
||||
// User specific filters
|
||||
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-userfilter",
|
||||
Value: "(&(objectclass=posixAccount)(|(ownclouduuid={{.OpaqueId}})(cn={{.OpaqueId}})))",
|
||||
@@ -44,28 +47,61 @@ func LDAPWithConfig(cfg *config.Config) []cli.Flag {
|
||||
Destination: &cfg.Reva.LDAP.UserFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-attributefilter",
|
||||
Name: "ldap-userattributefilter",
|
||||
Value: "(&(objectclass=posixAccount)({{attr}}={{value}}))",
|
||||
Usage: "LDAP filter used when searching for a user by claim/attribute. {{attr}} will be replaced with the attribute, {{value}} with the value.",
|
||||
EnvVars: []string{"STORAGE_LDAP_ATTRIBUTEFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.AttributeFilter,
|
||||
EnvVars: []string{"STORAGE_LDAP_USERATTRIBUTEFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.UserAttributeFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-findfilter",
|
||||
Name: "ldap-userfindfilter",
|
||||
Value: "(&(objectclass=posixAccount)(|(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)))",
|
||||
Usage: "LDAP filter used when searching for recipients. {{query}} will be replaced with the search query",
|
||||
EnvVars: []string{"STORAGE_LDAP_FINDFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.FindFilter,
|
||||
Usage: "LDAP filter used when searching for user recipients. {{query}} will be replaced with the search query",
|
||||
EnvVars: []string{"STORAGE_LDAP_USERFINDFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.UserFindFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-groupfilter",
|
||||
Name: "ldap-usergroupfilter",
|
||||
// FIXME the storage implementation needs to use the memberof overlay to get the cn when it only has the uuid,
|
||||
// because the ldap schema either uses the dn or the member(of) attributes to establish membership
|
||||
Value: "(&(objectclass=posixGroup)(ownclouduuid={{.OpaqueId}}*))", // This filter will never work
|
||||
Usage: "LDAP filter used when getting the groups of a user. The CS3 userid properties {{.OpaqueId}} and {{.Idp}} are available.",
|
||||
EnvVars: []string{"STORAGE_LDAP_USERGROUPFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.UserGroupFilter,
|
||||
},
|
||||
|
||||
// Group specific filters
|
||||
// These might not work at the moment. Need to be fixed
|
||||
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-groupfilter",
|
||||
Value: "(&(objectclass=posixGroup)(|(ownclouduuid={{.OpaqueId}})(cn={{.OpaqueId}})))",
|
||||
Usage: "LDAP filter used when getting a group. The CS3 groupid properties {{.OpaqueId}} and {{.Idp}} are available.",
|
||||
EnvVars: []string{"STORAGE_LDAP_GROUPFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.GroupFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-groupattributefilter",
|
||||
Value: "(&(objectclass=posixGroup)({{attr}}={{value}}))",
|
||||
Usage: "LDAP filter used when searching for a group by claim/attribute. {{attr}} will be replaced with the attribute, {{value}} with the value.",
|
||||
EnvVars: []string{"STORAGE_LDAP_GROUPATTRIBUTEFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.GroupAttributeFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-groupfindfilter",
|
||||
Value: "(&(objectclass=posixGroup)(|(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)))",
|
||||
Usage: "LDAP filter used when searching for group recipients. {{query}} will be replaced with the search query",
|
||||
EnvVars: []string{"STORAGE_LDAP_GROUPFINDFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.GroupFindFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-groupmemberfilter",
|
||||
// FIXME the storage implementation needs to use the members overlay to get the cn when it only has the uuid
|
||||
Value: "(&(objectclass=posixAccount)(ownclouduuid={{.OpaqueId}}*))", // This filter will never work
|
||||
Usage: "LDAP filter used when getting the members of a group. The CS3 groupid properties {{.OpaqueId}} and {{.Idp}} are available.",
|
||||
EnvVars: []string{"STORAGE_LDAP_GROUPMEMBERFILTER"},
|
||||
Destination: &cfg.Reva.LDAP.GroupMemberFilter,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-bind-dn",
|
||||
Value: "cn=reva,ou=sysusers,dc=example,dc=org",
|
||||
@@ -95,6 +131,13 @@ func LDAPWithConfig(cfg *config.Config) []cli.Flag {
|
||||
EnvVars: []string{"STORAGE_LDAP_SCHEMA_UID"},
|
||||
Destination: &cfg.Reva.LDAP.Schema.UID,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-schema-gid",
|
||||
Value: "ownclouduuid",
|
||||
Usage: "LDAP schema gid",
|
||||
EnvVars: []string{"STORAGE_LDAP_SCHEMA_GID"},
|
||||
Destination: &cfg.Reva.LDAP.Schema.GID,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "ldap-schema-mail",
|
||||
Value: "mail",
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package flagset
|
||||
|
||||
import (
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis/storage/pkg/config"
|
||||
)
|
||||
|
||||
// RestWithConfig applies REST user/group provider cfg to the flagset
|
||||
func RestWithConfig(cfg *config.Config) []cli.Flag {
|
||||
return []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "rest-client-id",
|
||||
Value: "",
|
||||
Usage: "User/group rest driver Client ID",
|
||||
EnvVars: []string{"STORAGE_REST_CLIENT_ID"},
|
||||
Destination: &cfg.Reva.UserGroupRest.ClientID,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-client-secret",
|
||||
Value: "",
|
||||
Usage: "User/group rest driver Client Secret",
|
||||
EnvVars: []string{"STORAGE_REST_CLIENT_SECRET"},
|
||||
Destination: &cfg.Reva.UserGroupRest.ClientSecret,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-redis-address",
|
||||
Value: "localhost:6379",
|
||||
Usage: "Address for redis server",
|
||||
EnvVars: []string{"STORAGE_REST_REDIS_ADDRESS"},
|
||||
Destination: &cfg.Reva.UserGroupRest.RedisAddress,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-redis-username",
|
||||
Value: "",
|
||||
Usage: "Username for redis server",
|
||||
EnvVars: []string{"STORAGE_REST_REDIS_USERNAME"},
|
||||
Destination: &cfg.Reva.UserGroupRest.RedisUsername,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-redis-password",
|
||||
Value: "",
|
||||
Usage: "Password for redis server",
|
||||
EnvVars: []string{"STORAGE_REST_REDIS_PASSWORD"},
|
||||
Destination: &cfg.Reva.UserGroupRest.RedisPassword,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-id-provider",
|
||||
Value: "",
|
||||
Usage: "The OIDC Provider",
|
||||
EnvVars: []string{"STORAGE_REST_ID_PROVIDER"},
|
||||
Destination: &cfg.Reva.UserGroupRest.IDProvider,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-api-base-url",
|
||||
Value: "",
|
||||
Usage: "Base API Endpoint",
|
||||
EnvVars: []string{"STORAGE_REST_API_BASE_URL"},
|
||||
Destination: &cfg.Reva.UserGroupRest.APIBaseURL,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-oidc-token-endpoint",
|
||||
Value: "",
|
||||
Usage: "Endpoint to generate token to access the API",
|
||||
EnvVars: []string{"STORAGE_REST_OIDC_TOKEN_ENDPOINT"},
|
||||
Destination: &cfg.Reva.UserGroupRest.OIDCTokenEndpoint,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-target-api",
|
||||
Value: "",
|
||||
Usage: "The target application",
|
||||
EnvVars: []string{"STORAGE_REST_TARGET_API"},
|
||||
Destination: &cfg.Reva.UserGroupRest.TargetAPI,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -75,6 +75,7 @@ func SharingWithConfig(cfg *config.Config) []cli.Flag {
|
||||
flags = append(flags, TracingWithConfig(cfg)...)
|
||||
flags = append(flags, DebugWithConfig(cfg)...)
|
||||
flags = append(flags, SecretWithConfig(cfg)...)
|
||||
flags = append(flags, SharingSQLWithConfig(cfg)...)
|
||||
|
||||
return flags
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package flagset
|
||||
|
||||
import (
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis/storage/pkg/config"
|
||||
)
|
||||
|
||||
// SharingSQLWithConfig applies the Shring SQL driver cfg to the flagset
|
||||
func SharingSQLWithConfig(cfg *config.Config) []cli.Flag {
|
||||
return []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "user-sql-username",
|
||||
Value: "",
|
||||
Usage: "Username to be used to connect to the SQL database",
|
||||
EnvVars: []string{"STORAGE_SHARING_USER_SQL_USERNAME"},
|
||||
Destination: &cfg.Reva.Sharing.UserSQLUsername,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "user-sql-password",
|
||||
Value: "",
|
||||
Usage: "Password to be used to connect to the SQL database",
|
||||
EnvVars: []string{"STORAGE_SHARING_USER_SQL_PASSWORD"},
|
||||
Destination: &cfg.Reva.Sharing.UserSQLPassword,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "user-sql-host",
|
||||
Value: "",
|
||||
Usage: "Hostname of the SQL database",
|
||||
EnvVars: []string{"STORAGE_SHARING_USER_SQL_HOST"},
|
||||
Destination: &cfg.Reva.Sharing.UserSQLHost,
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: "user-sql-port",
|
||||
Value: 1433,
|
||||
Usage: "The port on which the SQL database is exposed",
|
||||
EnvVars: []string{"STORAGE_SHARING_USER_SQL_PORT"},
|
||||
Destination: &cfg.Reva.Sharing.UserSQLPort,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "user-sql-name",
|
||||
Value: "",
|
||||
Usage: "Name of the SQL database",
|
||||
EnvVars: []string{"STORAGE_SHARING_USER_SQL_Name"},
|
||||
Destination: &cfg.Reva.Sharing.UserSQLName,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -64,78 +64,12 @@ func UsersWithConfig(cfg *config.Config) []cli.Flag {
|
||||
EnvVars: []string{"STORAGE_USERPROVIDER_JSON"},
|
||||
Destination: &cfg.Reva.Users.JSON,
|
||||
},
|
||||
|
||||
// rest driver
|
||||
|
||||
&cli.StringFlag{
|
||||
Name: "rest-client-id",
|
||||
Value: "",
|
||||
Usage: "User rest driver Client ID",
|
||||
EnvVars: []string{"STORAGE_REST_CLIENT_ID"},
|
||||
Destination: &cfg.Reva.UserRest.ClientID,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-client-secret",
|
||||
Value: "",
|
||||
Usage: "User rest driver Client Secret",
|
||||
EnvVars: []string{"STORAGE_REST_CLIENT_SECRET"},
|
||||
Destination: &cfg.Reva.UserRest.ClientSecret,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-redis-address",
|
||||
Value: "localhost:6379",
|
||||
Usage: "Address for redis server",
|
||||
EnvVars: []string{"STORAGE_REST_REDIS_ADDRESS"},
|
||||
Destination: &cfg.Reva.UserRest.RedisAddress,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-redis-username",
|
||||
Value: "",
|
||||
Usage: "Username for redis server",
|
||||
EnvVars: []string{"STORAGE_REST_REDIS_USERNAME"},
|
||||
Destination: &cfg.Reva.UserRest.RedisUsername,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-redis-password",
|
||||
Value: "",
|
||||
Usage: "Password for redis server",
|
||||
EnvVars: []string{"STORAGE_REST_REDIS_PASSWORD"},
|
||||
Destination: &cfg.Reva.UserRest.RedisPassword,
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: "rest-user-groups-cache-expiration",
|
||||
Name: "user-groups-cache-expiration",
|
||||
Value: 5,
|
||||
Usage: "Time in minutes for redis cache expiration.",
|
||||
EnvVars: []string{"STORAGE_REST_CACHE_EXPIRATION"},
|
||||
Destination: &cfg.Reva.UserRest.UserGroupsCacheExpiration,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-id-provider",
|
||||
Value: "",
|
||||
Usage: "The OIDC Provider",
|
||||
EnvVars: []string{"STORAGE_REST_ID_PROVIDER"},
|
||||
Destination: &cfg.Reva.UserRest.IDProvider,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-api-base-url",
|
||||
Value: "",
|
||||
Usage: "Base API Endpoint",
|
||||
EnvVars: []string{"STORAGE_REST_API_BASE_URL"},
|
||||
Destination: &cfg.Reva.UserRest.APIBaseURL,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-oidc-token-endpoint",
|
||||
Value: "",
|
||||
Usage: "Endpoint to generate token to access the API",
|
||||
EnvVars: []string{"STORAGE_REST_OIDC_TOKEN_ENDPOINT"},
|
||||
Destination: &cfg.Reva.UserRest.OIDCTokenEndpoint,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "rest-target-api",
|
||||
Value: "",
|
||||
Usage: "The target application",
|
||||
EnvVars: []string{"STORAGE_REST_TARGET_API"},
|
||||
Destination: &cfg.Reva.UserRest.TargetAPI,
|
||||
EnvVars: []string{"STORAGE_USER_CACHE_EXPIRATION"},
|
||||
Destination: &cfg.Reva.Users.UserGroupsCacheExpiration,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -143,6 +77,7 @@ func UsersWithConfig(cfg *config.Config) []cli.Flag {
|
||||
flags = append(flags, DebugWithConfig(cfg)...)
|
||||
flags = append(flags, SecretWithConfig(cfg)...)
|
||||
flags = append(flags, LDAPWithConfig(cfg)...)
|
||||
flags = append(flags, RestWithConfig(cfg)...)
|
||||
|
||||
return flags
|
||||
}
|
||||
|
||||
@@ -761,16 +761,6 @@ File and sync features in a shared scenario
|
||||
- [apiWebdavEtagPropagation1/moveFileFolder.feature:314](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation1/moveFileFolder.feature#L314)
|
||||
- [apiWebdavEtagPropagation1/moveFileFolder.feature:315](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation1/moveFileFolder.feature#L315)
|
||||
|
||||
|
||||
#### [sharing with group not available](https://github.com/owncloud/product/issues/293)
|
||||
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L39)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L40)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:91](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L91)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:92](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L92)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:139](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L139)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:140](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L140)
|
||||
|
||||
#### [Checksum feature](https://github.com/owncloud/ocis/issues/1291)
|
||||
- [apiMain/checksums.feature:119](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L119) Scenario: Sharing a file with checksum should return the checksum in the propfind using new DAV path
|
||||
- [apiMain/checksums.feature:129](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L129) Scenario: Sharing and modifying a file should return correct checksum in the propfind using new DAV path
|
||||
@@ -832,12 +822,7 @@ File and sync features in a shared scenario
|
||||
- [apiSharees/sharees.feature:561](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiSharees/sharees.feature#L561)
|
||||
|
||||
#### [sharing with group not available](https://github.com/owncloud/product/issues/293)
|
||||
- [apiShareManagementToShares/acceptShares.feature:22](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L22)
|
||||
- [apiShareManagementToShares/acceptShares.feature:223](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L223)
|
||||
- [apiShareManagementToShares/acceptShares.feature:270](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L270)
|
||||
- [apiShareManagementToShares/acceptShares.feature:342](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L342)
|
||||
- [apiShareManagementToShares/acceptShares.feature:378](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L378)
|
||||
- [apiShareManagementToShares/acceptShares.feature:417](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L417)
|
||||
|
||||
#### User cannot create a folder named Share
|
||||
- [apiShareManagementToShares/acceptShares.feature:279](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L279)
|
||||
@@ -876,7 +861,6 @@ File and sync features in a shared scenario
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:305](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L305)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:306](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L306)
|
||||
- [apiShareManagementBasicToShares/deleteShareFromShares.feature:46](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L46)
|
||||
- [apiShareManagementToShares/mergeShare.feature:32](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L32)
|
||||
- [apiShareManagementToShares/mergeShare.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L42)
|
||||
- [apiShareManagementToShares/mergeShare.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L89)
|
||||
|
||||
@@ -898,13 +882,9 @@ File and sync features in a shared scenario
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:362](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L362)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:363](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L363)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:392](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L392)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:461](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L461)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:462](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L462)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:497](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L497)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:498](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L498)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:501](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L501)
|
||||
- [apiShareManagementBasicToShares/deleteShareFromShares.feature:28](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L28)
|
||||
- [apiShareManagementBasicToShares/deleteShareFromShares.feature:29](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L29)
|
||||
- [apiShareManagementBasicToShares/deleteShareFromShares.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L89)
|
||||
|
||||
#### [shares are mounted into /Shares folder even after the sharer deletes the collaborator](https://github.com/owncloud/ocis/issues/720)
|
||||
@@ -1143,8 +1123,6 @@ cannot share a folder with create permission
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L70)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:97](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L97)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:98](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L98)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:135](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L135)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:136](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L136)
|
||||
|
||||
#### [Public cannot upload file with mtime set on a public link share with new version of WebDAV API](https://github.com/owncloud/core/issues/37605)
|
||||
|
||||
@@ -1347,10 +1325,6 @@ cannot share a folder with create permission
|
||||
- [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:25](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L25)
|
||||
- [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:41](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L41)
|
||||
- [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L42)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:112](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L112)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L113)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:131](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L131)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:132](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L132)
|
||||
- [apiShareReshareToShares3/reShareWithExpiryDate.feature:61](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L61)
|
||||
- [apiShareReshareToShares3/reShareWithExpiryDate.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L62)
|
||||
- [apiShareReshareToShares3/reShareWithExpiryDate.feature:121](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L121)
|
||||
@@ -1644,8 +1618,6 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L86)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:106](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L106)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L107)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:201](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L201)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:202](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L202)
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:10](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature#L10)
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature#L34)
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:58](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature#L58)
|
||||
@@ -1664,19 +1636,11 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature#L87)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:438](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L438)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:439](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L439)
|
||||
- [apiShareOperationsToShares/accessToShare.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/accessToShare.feature#L71)
|
||||
- [apiShareOperationsToShares/accessToShare.feature:72](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/accessToShare.feature#L72)
|
||||
|
||||
#### [Sharing seems to work but does not work](https://github.com/owncloud/ocis/issues/1303)
|
||||
- [apiShareCreateSpecialToShares1/createShareUniqueReceivedNames.feature:15](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareUniqueReceivedNames.feature#L15)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature:18](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature#L18)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature#L21)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:51](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L51)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:52](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L52)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L70)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L71)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:72](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L72)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L73)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:14](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L14)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:28](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L28)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L39)
|
||||
@@ -1684,33 +1648,11 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L71)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L73)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:88](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L88)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:118](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L118)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:128](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L128)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:138](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L138)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:148](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L148)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:158](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L158)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:168](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L168)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:197](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L197)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:198](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L198)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:221](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L221)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:222](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L222)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:224](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L224)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:59](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L59)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:60](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L60)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:94](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L94)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:95](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L95)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:129](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L129)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:130](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L130)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:177](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L177)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:178](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L178)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:212](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L212)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:213](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L213)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:247](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L247)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:248](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L248)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:282](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L282)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:283](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L283)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:317](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L317)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:318](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L318)
|
||||
- [apiShareUpdateToShares/updateShare.feature:92](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L92)
|
||||
- [apiShareUpdateToShares/updateShare.feature:93](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L93)
|
||||
- [apiShareUpdateToShares/updateShare.feature:94](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L94)
|
||||
@@ -1724,11 +1666,6 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature#L21)
|
||||
- [apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature:22](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature#L22)
|
||||
|
||||
#### [Group shares support ](https://github.com/owncloud/ocis/issues/1289)
|
||||
- [apiShareOperationsToShares/gettingShares.feature:103](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/gettingShares.feature#L103)
|
||||
- [apiShareOperationsToShares/gettingShares.feature:104](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/gettingShares.feature#L104)
|
||||
- [apiShareOperationsToShares/gettingShares.feature:184](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/gettingShares.feature#L184)
|
||||
|
||||
#### [various sharing settings cannot be set](https://github.com/owncloud/ocis/issues/1328)
|
||||
#### [Group shares support](https://github.com/owncloud/ocis/issues/1289)
|
||||
- [apiShareUpdateToShares/updateShare.feature:290](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L290)
|
||||
@@ -1744,22 +1681,14 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
#### [Sharing seems to work but does not work](https://github.com/owncloud/ocis/issues/1303)
|
||||
- [apiShareUpdateToShares/updateShare.feature:61](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L61)
|
||||
- [apiShareUpdateToShares/updateShare.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L62)
|
||||
- [apiShareUpdateToShares/updateShare.feature:75](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L75)
|
||||
- [apiShareUpdateToShares/updateShare.feature:76](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L76)
|
||||
- [apiShareUpdateToShares/updateShare.feature:115](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L115)
|
||||
- [apiShareUpdateToShares/updateShare.feature:116](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L116)
|
||||
- [apiShareUpdateToShares/updateShare.feature:117](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L117)
|
||||
- [apiShareUpdateToShares/updateShare.feature:118](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L118)
|
||||
- [apiShareUpdateToShares/updateShare.feature:119](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L119)
|
||||
- [apiShareUpdateToShares/updateShare.feature:120](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L120)
|
||||
- [apiShareUpdateToShares/updateShare.feature:252](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L252)
|
||||
- [apiShareUpdateToShares/updateShare.feature:253](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L253)
|
||||
- [apiShareUpdateToShares/updateShare.feature:265](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L265)
|
||||
- [apiShareUpdateToShares/updateShare.feature:266](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L266)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L34)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L35)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:54](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L54)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:55](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L55)
|
||||
|
||||
#### [Share additional info](https://github.com/owncloud/ocis/issues/1253)
|
||||
#### [Share extra attributes](https://github.com/owncloud/ocis/issues/1224)
|
||||
@@ -2388,4 +2317,3 @@ Scenario Outline: Do a PROPFIND to a non-existing URL
|
||||
|
||||
- [apiTranslation/translation.feature:29](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTranslation/translation.feature#L29)
|
||||
- [apiTranslation/translation.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTranslation/translation.feature#L30)
|
||||
|
||||
|
||||
@@ -752,15 +752,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
- [apiWebdavEtagPropagation1/moveFileFolder.feature:318](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation1/moveFileFolder.feature#L318)
|
||||
- [apiWebdavEtagPropagation1/moveFileFolder.feature:334](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavEtagPropagation1/moveFileFolder.feature#L334)
|
||||
|
||||
#### [sharing with group not available](https://github.com/owncloud/product/issues/293)
|
||||
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L39)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L40)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:91](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L91)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:92](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L92)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:139](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L139)
|
||||
- [apiShareOperationsToShares/uploadToShare.feature:140](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/uploadToShare.feature#L140)
|
||||
|
||||
#### [Checksum feature](https://github.com/owncloud/ocis/issues/1291)
|
||||
- [apiMain/checksums.feature:119](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L119) Scenario: Sharing a file with checksum should return the checksum in the propfind using new DAV path
|
||||
- [apiMain/checksums.feature:129](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/checksums.feature#L129) Scenario: Sharing and modifying a file should return correct checksum in the propfind using new DAV path
|
||||
@@ -846,12 +837,7 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
- [apiSharees/sharees.feature:561](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiSharees/sharees.feature#L561)
|
||||
|
||||
#### [sharing with group not available](https://github.com/owncloud/product/issues/293)
|
||||
- [apiShareManagementToShares/acceptShares.feature:22](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L22)
|
||||
- [apiShareManagementToShares/acceptShares.feature:223](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L223)
|
||||
- [apiShareManagementToShares/acceptShares.feature:270](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L270)
|
||||
- [apiShareManagementToShares/acceptShares.feature:342](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L342)
|
||||
- [apiShareManagementToShares/acceptShares.feature:378](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L378)
|
||||
- [apiShareManagementToShares/acceptShares.feature:417](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L417)
|
||||
|
||||
#### User cannot create a folder named Share
|
||||
- [apiShareManagementToShares/acceptShares.feature:279](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/acceptShares.feature#L279)
|
||||
@@ -890,7 +876,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:305](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L305)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:306](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L306)
|
||||
- [apiShareManagementBasicToShares/deleteShareFromShares.feature:46](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L46)
|
||||
- [apiShareManagementToShares/mergeShare.feature:32](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L32)
|
||||
- [apiShareManagementToShares/mergeShare.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L42)
|
||||
- [apiShareManagementToShares/mergeShare.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L89)
|
||||
|
||||
@@ -912,8 +897,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:362](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L362)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:363](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L363)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:392](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L392)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:461](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L461)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:462](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L462)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:497](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L497)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:498](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L498)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:501](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L501)
|
||||
@@ -1147,8 +1130,6 @@ cannot share a folder with create permission
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L70)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:97](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L97)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:98](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L98)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:135](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L135)
|
||||
- [apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature:136](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/excludeGroupFromReceivingSharesToSharesFolder.feature#L136)
|
||||
|
||||
#### [Public cannot upload file with mtime set on a public link share with new version of WebDAV API](https://github.com/owncloud/core/issues/37605)
|
||||
|
||||
@@ -1456,10 +1437,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
- [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:25](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L25)
|
||||
- [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:41](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L41)
|
||||
- [apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:42](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature#L42)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:112](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L112)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L113)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:131](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L131)
|
||||
- [apiShareReshareToShares3/reShareUpdate.feature:132](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareUpdate.feature#L132)
|
||||
- [apiShareReshareToShares3/reShareWithExpiryDate.feature:61](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L61)
|
||||
- [apiShareReshareToShares3/reShareWithExpiryDate.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L62)
|
||||
- [apiShareReshareToShares3/reShareWithExpiryDate.feature:121](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareReshareToShares3/reShareWithExpiryDate.feature#L121)
|
||||
@@ -1759,8 +1736,6 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L86)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:106](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L106)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L107)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:201](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L201)
|
||||
- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:202](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L202)
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:10](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature#L10)
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature#L34)
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:58](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature#L58)
|
||||
@@ -1779,19 +1754,11 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature#L87)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:438](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L438)
|
||||
- [apiShareManagementBasicToShares/createShareToSharesFolder.feature:439](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareToSharesFolder.feature#L439)
|
||||
- [apiShareOperationsToShares/accessToShare.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/accessToShare.feature#L71)
|
||||
- [apiShareOperationsToShares/accessToShare.feature:72](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/accessToShare.feature#L72)
|
||||
|
||||
#### [Sharing seems to work but does not work](https://github.com/owncloud/ocis/issues/1303)
|
||||
- [apiShareCreateSpecialToShares1/createShareUniqueReceivedNames.feature:15](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareUniqueReceivedNames.feature#L15)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature:18](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature#L18)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithDisabledUser.feature#L21)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:51](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L51)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:52](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L52)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:70](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L70)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:71](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L71)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:72](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L72)
|
||||
- [apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature:73](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareWithInvalidPermissions.feature#L73)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:14](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L14)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:28](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L28)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:39](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L39)
|
||||
@@ -1807,17 +1774,11 @@ Scenario Outline: Moving a file into a shared folder as the sharee and as the sh
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:168](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L168)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:197](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L197)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:198](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L198)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:221](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L221)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:222](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L222)
|
||||
- [apiShareManagementToShares/moveReceivedShare.feature:224](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShare.feature#L224)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:59](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L59)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:60](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L60)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:94](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L94)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:95](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L95)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:129](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L129)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:130](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L130)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:177](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L177)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:178](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L178)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:212](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L212)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:213](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L213)
|
||||
- [apiShareOperationsToShares/getWebDAVSharePermissions.feature:247](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/getWebDAVSharePermissions.feature#L247)
|
||||
@@ -1861,11 +1822,6 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
- [apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature:21](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature#L21)
|
||||
- [apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature:22](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares2/createShareDefaultFolderForReceivedShares.feature#L22)
|
||||
|
||||
#### [Group shares support ](https://github.com/owncloud/ocis/issues/1289)
|
||||
- [apiShareOperationsToShares/gettingShares.feature:103](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/gettingShares.feature#L103)
|
||||
- [apiShareOperationsToShares/gettingShares.feature:104](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/gettingShares.feature#L104)
|
||||
- [apiShareOperationsToShares/gettingShares.feature:184](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareOperationsToShares/gettingShares.feature#L184)
|
||||
|
||||
#### [various sharing settings cannot be set](https://github.com/owncloud/ocis/issues/1328)
|
||||
#### [Group shares support](https://github.com/owncloud/ocis/issues/1289)
|
||||
- [apiShareUpdateToShares/updateShare.feature:290](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L290)
|
||||
@@ -1881,22 +1837,14 @@ The following scenarios fail on OWNCLOUD storage but not on OCIS storage:
|
||||
#### [Sharing seems to work but does not work](https://github.com/owncloud/ocis/issues/1303)
|
||||
- [apiShareUpdateToShares/updateShare.feature:61](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L61)
|
||||
- [apiShareUpdateToShares/updateShare.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L62)
|
||||
- [apiShareUpdateToShares/updateShare.feature:75](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L75)
|
||||
- [apiShareUpdateToShares/updateShare.feature:76](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L76)
|
||||
- [apiShareUpdateToShares/updateShare.feature:115](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L115)
|
||||
- [apiShareUpdateToShares/updateShare.feature:116](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L116)
|
||||
- [apiShareUpdateToShares/updateShare.feature:117](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L117)
|
||||
- [apiShareUpdateToShares/updateShare.feature:118](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L118)
|
||||
- [apiShareUpdateToShares/updateShare.feature:119](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L119)
|
||||
- [apiShareUpdateToShares/updateShare.feature:120](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L120)
|
||||
- [apiShareUpdateToShares/updateShare.feature:252](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L252)
|
||||
- [apiShareUpdateToShares/updateShare.feature:253](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L253)
|
||||
- [apiShareUpdateToShares/updateShare.feature:265](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L265)
|
||||
- [apiShareUpdateToShares/updateShare.feature:266](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShare.feature#L266)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:34](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L34)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:35](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L35)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:54](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L54)
|
||||
- [apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature:55](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareUpdateToShares/updateShareGroupAndUserWithSameName.feature#L55)
|
||||
|
||||
#### [Share additional info](https://github.com/owncloud/ocis/issues/1253)
|
||||
#### [Share extra attributes](https://github.com/owncloud/ocis/issues/1224)
|
||||
@@ -2516,4 +2464,3 @@ Scenario Outline: Do a PROPFIND to a non-existing URL
|
||||
|
||||
- [apiTranslation/translation.feature:29](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTranslation/translation.feature#L29)
|
||||
- [apiTranslation/translation.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTranslation/translation.feature#L30)
|
||||
|
||||
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
@api @files_sharing-app-required @issue-ocis-reva-243
|
||||
Feature: cannot share resources with invalid permissions
|
||||
|
||||
Background:
|
||||
Given user "Alice" has been created with default attributes and without skeleton files
|
||||
And user "Alice" has uploaded file with content "some data" to "/textfile0.txt"
|
||||
And user "Alice" has created folder "/PARENT"
|
||||
|
||||
@issue-ocis-reva-45 @issue-ocis-reva-243
|
||||
# after fixing all issues delete this Scenario and use the one from oC10 core
|
||||
Scenario Outline: Cannot create a share of a file with a user with only create permission
|
||||
Given using OCS API version "<ocs_api_version>"
|
||||
And user "Brian" has been created with default attributes and without skeleton files
|
||||
When user "Alice" creates a share using the sharing API with settings
|
||||
| path | textfile0.txt |
|
||||
| shareWith | Brian |
|
||||
| shareType | user |
|
||||
| permissions | create |
|
||||
Then the OCS status code should be "<ocs_status_code>" or "<eos_status_code>"
|
||||
And the HTTP status code should be "<http_status_code_ocs>" or "<http_status_code_eos>"
|
||||
And as "Brian" entry "textfile0.txt" should not exist
|
||||
Examples:
|
||||
| ocs_api_version | ocs_status_code | eos_status_code | http_status_code_ocs | http_status_code_eos |
|
||||
| 1 | 100 | 996 | 200 | 500 |
|
||||
| 2 | 200 | 996 | 200 | 500 |
|
||||
|
||||
@issue-ocis-reva-45 @issue-ocis-reva-243
|
||||
# after fixing all issues delete this Scenario and use the one from oC10 core
|
||||
Scenario Outline: Cannot create a share of a file with a user with only (create,delete) permission
|
||||
Given using OCS API version "<ocs_api_version>"
|
||||
And user "Brian" has been created with default attributes and without skeleton files
|
||||
When user "Alice" creates a share using the sharing API with settings
|
||||
| path | textfile0.txt |
|
||||
| shareWith | Brian |
|
||||
| shareType | user |
|
||||
| permissions | <permissions> |
|
||||
Then the OCS status code should be "<ocs_status_code>" or "<eos_status_code>"
|
||||
And the HTTP status code should be "<http_status_code_ocs>" or "<http_status_code_eos>"
|
||||
And as "Brian" entry "textfile0.txt" should not exist
|
||||
Examples:
|
||||
| ocs_api_version | eos_status_code | ocs_status_code | http_status_code_ocs | http_status_code_eos | permissions |
|
||||
| 1 | 100 | 996 | 200 | 500 | delete |
|
||||
| 2 | 200 | 996 | 200 | 500 | delete |
|
||||
| 1 | 100 | 996 | 200 | 500 | create,delete |
|
||||
| 2 | 200 | 996 | 200 | 500 | create,delete |
|
||||
Reference in New Issue
Block a user