From 1f678dc88878888461680d60631ce06e10f2add3 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 6 May 2020 15:53:25 +0200 Subject: [PATCH] WIP Disable chunking v1 by default (#678) --- cmd/reva/gen/gen.go | 2 +- internal/http/services/owncloud/ocdav/put.go | 10 ++++++++++ .../ocs/handlers/cloud/capabilities/capabilities.go | 3 --- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cmd/reva/gen/gen.go b/cmd/reva/gen/gen.go index 8c37a9553f..3231f0faaa 100644 --- a/cmd/reva/gen/gen.go +++ b/cmd/reva/gen/gen.go @@ -173,7 +173,7 @@ blacklisted_files = ["foo"] undelete = true versioning = true [http.services.ocssvc.capabilities.capabilities.dav] -chunking = "1.0" +chunking = "" # set to "1.0" for experimental support [http.services.ocssvc.capabilities.capabilities.files_sharing] api_enabled = true resharing = true diff --git a/internal/http/services/owncloud/ocdav/put.go b/internal/http/services/owncloud/ocdav/put.go index d22a7765ff..7c621002ef 100644 --- a/internal/http/services/owncloud/ocdav/put.go +++ b/internal/http/services/owncloud/ocdav/put.go @@ -37,6 +37,7 @@ import ( ) func isChunked(fn string) (bool, error) { + // FIXME: also need to check whether the OC-Chunked header is set return regexp.MatchString(`-chunking-\w+-[0-9]+-[0-9]+$`, fn) } @@ -127,6 +128,15 @@ func (s *svc) handlePut(w http.ResponseWriter, r *http.Request, ns string) { } if ok { + // TODO: disable if chunking capability is turned off in config + /** + if s.c.Capabilities.Dav.Chunking == "1.0" { + s.handlePutChunked(w, r) + } else { + log.Error().Err(err).Msg("chunking 1.0 is not enabled") + w.WriteHeader(http.StatusBadRequest) + } + */ s.handlePutChunked(w, r) return } diff --git a/internal/http/services/owncloud/ocs/handlers/cloud/capabilities/capabilities.go b/internal/http/services/owncloud/ocs/handlers/cloud/capabilities/capabilities.go index f525509448..1cf373e0b2 100644 --- a/internal/http/services/owncloud/ocs/handlers/cloud/capabilities/capabilities.go +++ b/internal/http/services/owncloud/ocs/handlers/cloud/capabilities/capabilities.go @@ -106,9 +106,6 @@ func (h *Handler) Init(c *config.Config) { if h.c.Capabilities.Dav == nil { h.c.Capabilities.Dav = &data.CapabilitiesDav{} } - if h.c.Capabilities.Dav.Chunking == "" { - h.c.Capabilities.Dav.Chunking = "1.0" - } if h.c.Capabilities.Dav.Trashbin == "" { h.c.Capabilities.Dav.Trashbin = "1.0" }