Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump golangci-lint to 1.61.0 #4890

Merged
merged 1 commit into from
Oct 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ linters:
- revive
- goimports
- unconvert
- exportloopref
- copyloopvar
- misspell
- gocritic
- prealloc
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ toolchain-clean:

$(GOLANGCI_LINT):
@mkdir -p $(@D)
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | BINDIR=$(@D) sh -s v1.55.2
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | BINDIR=$(@D) sh -s v1.61.0

.PHONY: check-changelog
lint: $(GOLANGCI_LINT)
Expand Down
3 changes: 3 additions & 0 deletions changelog/unreleased/bump-golangci-lint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Enhancement: Bump golangci-lint to 1.61.0

https://github.com/cs3org/reva/pull/4890
30 changes: 14 additions & 16 deletions internal/grpc/services/storageprovider/storageprovider.go
Original file line number Diff line number Diff line change
Expand Up @@ -720,7 +720,7 @@ func (s *Service) Delete(ctx context.Context, req *provider.DeleteRequest) (*pro
if req.Opaque != nil {
if _, ok := req.Opaque.Map["deleting_shared_resource"]; ok {
// it is a binary key; its existence signals true. Although, do not assume.
ctx = context.WithValue(ctx, appctx.DeletingSharedResource, true)
ctx = appctx.WithDeletingSharedResource(ctx)
}
}

Expand Down Expand Up @@ -1095,20 +1095,24 @@ func (s *Service) DenyGrant(ctx context.Context, req *provider.DenyGrantRequest)
return res, nil
}

type spaceTypeKey struct{}

func WithSpaceType(ctx context.Context, spaceType string) context.Context {
return context.WithValue(ctx, spaceTypeKey{}, spaceType)
}
func SpaceTypeFromContext(ctx context.Context) (string, bool) {
spaceType, ok := ctx.Value(spaceTypeKey{}).(string)
return spaceType, ok
}

func (s *Service) AddGrant(ctx context.Context, req *provider.AddGrantRequest) (*provider.AddGrantResponse, error) {
ctx = ctxpkg.ContextSetLockID(ctx, req.LockId)

// TODO: update CS3 APIs
// FIXME these should be part of the AddGrantRequest object
// https://github.com/owncloud/ocis/issues/4312
if utils.ExistsInOpaque(req.Opaque, "spacegrant") {
ctx = context.WithValue(
ctx,
utils.SpaceGrant,
struct{ SpaceType string }{
SpaceType: utils.ReadPlainFromOpaque(req.Opaque, "spacetype"),
},
)
ctx = WithSpaceType(ctx, utils.ReadPlainFromOpaque(req.Opaque, "spacetype"))
}

// check grantee type is valid
Expand Down Expand Up @@ -1137,13 +1141,7 @@ func (s *Service) UpdateGrant(ctx context.Context, req *provider.UpdateGrantRequ
// FIXME these should be part of the AddGrantRequest object
// https://github.com/owncloud/ocis/issues/4312
if utils.ExistsInOpaque(req.Opaque, "spacegrant") {
ctx = context.WithValue(
ctx,
utils.SpaceGrant,
struct{ SpaceType string }{
SpaceType: utils.ReadPlainFromOpaque(req.Opaque, "spacetype"),
},
)
ctx = WithSpaceType(ctx, utils.ReadPlainFromOpaque(req.Opaque, "spacetype"))
}

// check grantee type is valid
Expand Down Expand Up @@ -1174,7 +1172,7 @@ func (s *Service) RemoveGrant(ctx context.Context, req *provider.RemoveGrantRequ
// FIXME these should be part of the RemoveGrantRequest object
// https://github.com/owncloud/ocis/issues/4312
if utils.ExistsInOpaque(req.Opaque, "spacegrant") {
ctx = context.WithValue(ctx, utils.SpaceGrant, struct{}{})
ctx = WithSpaceType(ctx, "")
}

err := s.Storage.RemoveGrant(ctx, req.Ref, req.Grant)
Expand Down
3 changes: 1 addition & 2 deletions internal/http/services/owncloud/ocdav/errors/error.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ package errors
import (
"bytes"
"encoding/xml"
"fmt"
"net/http"

rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
Expand Down Expand Up @@ -210,6 +209,6 @@ func NewErrFromStatus(s *rpc.Status) error {
case rpc.Code_CODE_UNIMPLEMENTED:
return ErrNotImplemented
default:
return fmt.Errorf(s.GetMessage())
return errors.New(s.GetMessage())
}
}
4 changes: 2 additions & 2 deletions internal/http/services/owncloud/ocdav/mkcol.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,13 @@ func (s *svc) handleMkcol(ctx context.Context, w http.ResponseWriter, r *http.Re
}
return http.StatusForbidden, errors.New(sRes.Status.Message)
case res.Status.Code == rpc.Code_CODE_ABORTED:
return http.StatusPreconditionFailed, fmt.Errorf(res.Status.Message)
return http.StatusPreconditionFailed, errors.New(res.Status.Message)
case res.Status.Code == rpc.Code_CODE_FAILED_PRECONDITION:
// https://www.rfc-editor.org/rfc/rfc4918#section-9.3.1:
// 409 (Conflict) - A collection cannot be made at the Request-URI until
// one or more intermediate collections have been created. The server
// MUST NOT create those intermediate collections automatically.
return http.StatusConflict, fmt.Errorf(res.Status.Message)
return http.StatusConflict, errors.New(res.Status.Message)
case res.Status.Code == rpc.Code_CODE_ALREADY_EXISTS:
// https://www.rfc-editor.org/rfc/rfc4918#section-9.3.1:
// 405 (Method Not Allowed) - MKCOL can only be executed on an unmapped URL.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,17 +335,14 @@ func getSharedResource(ctx context.Context, client gateway.GatewayAPIClient, res
},
})
if err != nil {
e := fmt.Errorf("could not get reference")
return nil, arbitraryOcsResponse(response.MetaServerError.StatusCode, e.Error())
return nil, arbitraryOcsResponse(response.MetaServerError.StatusCode, "could not get reference")
}

if res.Status.Code != rpc.Code_CODE_OK {
if res.Status.Code == rpc.Code_CODE_NOT_FOUND {
e := fmt.Errorf("not found")
return nil, arbitraryOcsResponse(response.MetaNotFound.StatusCode, e.Error())
return nil, arbitraryOcsResponse(response.MetaNotFound.StatusCode, "not found")
}
e := fmt.Errorf(res.GetStatus().GetMessage())
return nil, arbitraryOcsResponse(response.MetaServerError.StatusCode, e.Error())
return nil, arbitraryOcsResponse(response.MetaServerError.StatusCode, res.GetStatus().GetMessage())
}

return res, nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -671,7 +671,6 @@ var _ = Describe("The ocs API", func() {

Context("when change the permission", func() {
for _, perm := range []string{"4", "5", "15"} {
perm := perm
It("the password exists. update succeed", func() {
form := url.Values{}
form.Add("permissions", perm)
Expand Down
11 changes: 9 additions & 2 deletions pkg/appctx/appctx.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,15 @@ import (
"go.opentelemetry.io/otel/trace"
)

// DeletingSharedResource flags to a storage a shared resource is being deleted not by the owner.
var DeletingSharedResource struct{}
// deletingSharedResource flags to a storage a shared resource is being deleted not by the owner.
type deletingSharedResource struct{}

func WithDeletingSharedResource(ctx context.Context) context.Context {
return context.WithValue(ctx, deletingSharedResource{}, struct{}{})
}
func DeletingSharedResourceFromContext(ctx context.Context) bool {
return ctx.Value(deletingSharedResource{}) != nil
}

// WithLogger returns a context with an associated logger.
func WithLogger(ctx context.Context, l *zerolog.Logger) context.Context {
Expand Down
3 changes: 2 additions & 1 deletion pkg/mentix/exchangers/importers/importer.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package importers

import (
"errors"
"fmt"
"strings"
"sync"
Expand Down Expand Up @@ -70,7 +71,7 @@ func (importer *BaseImporter) Process(connectors *connectors.Collection) (bool,

var err error
if len(processErrs) != 0 {
err = fmt.Errorf(strings.Join(processErrs, "; "))
err = errors.New(strings.Join(processErrs, "; "))
}
return true, err
}
Expand Down
3 changes: 1 addition & 2 deletions pkg/ocm/share/repository/nextcloud/nextcloud.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import (
"fmt"
"io"
"net/http"
"strconv"
"strings"

userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
Expand Down Expand Up @@ -431,7 +430,7 @@ func (sm *Manager) do(ctx context.Context, a Action, username string) (int, []by
log.Info().Msgf("am.do response %d %s", resp.StatusCode, body)

if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {
return 0, nil, fmt.Errorf("Unexpected response code from EFSS API: " + strconv.Itoa(resp.StatusCode))
return 0, nil, fmt.Errorf("Unexpected response code from EFSS API: %d", resp.StatusCode)
}
return resp.StatusCode, body, nil
}
4 changes: 1 addition & 3 deletions pkg/storage/fs/posix/tree/tree.go
Original file line number Diff line number Diff line change
Expand Up @@ -467,9 +467,7 @@ func (t *Tree) Delete(ctx context.Context, n *node.Node) error {
// remove entry from cache immediately to avoid inconsistencies
defer func() { _ = t.idCache.Delete(path) }()

deletingSharedResource := ctx.Value(appctx.DeletingSharedResource)

if deletingSharedResource != nil && deletingSharedResource.(bool) {
if appctx.DeletingSharedResourceFromContext(ctx) {
src := filepath.Join(n.ParentPath(), n.Name)
return os.RemoveAll(src)
}
Expand Down
16 changes: 7 additions & 9 deletions pkg/storage/utils/decomposedfs/grants.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"strings"

provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
"github.com/cs3org/reva/v2/internal/grpc/services/storageprovider"
"github.com/cs3org/reva/v2/pkg/appctx"
ctxpkg "github.com/cs3org/reva/v2/pkg/ctx"
"github.com/cs3org/reva/v2/pkg/errtypes"
Expand Down Expand Up @@ -227,7 +228,8 @@ func (fs *Decomposedfs) RemoveGrant(ctx context.Context, ref *provider.Reference
}

func isShareGrant(ctx context.Context) bool {
return ctx.Value(utils.SpaceGrant) == nil
_, ok := storageprovider.SpaceTypeFromContext(ctx)
return !ok
}

// UpdateGrant updates a grant on a resource
Expand Down Expand Up @@ -306,16 +308,12 @@ func (fs *Decomposedfs) loadGrant(ctx context.Context, ref *provider.Reference,
}

func (fs *Decomposedfs) storeGrant(ctx context.Context, n *node.Node, g *provider.Grant) error {
var spaceType string
spaceGrant := ctx.Value(utils.SpaceGrant)
// this is not a grant on a space root we are just adding a share
if spaceGrant == nil {
// if is a grant to a space root, the receiver needs the space type to update the indexes
spaceType, ok := storageprovider.SpaceTypeFromContext(ctx)
if !ok {
// this is not a grant on a space root we are just adding a share
spaceType = spaceTypeShare
}
// this is a grant to a space root, the receiver needs the space type to update the indexes
if sg, ok := spaceGrant.(struct{ SpaceType string }); ok && sg.SpaceType != "" {
spaceType = sg.SpaceType
}

// set the grant
e := ace.FromGrant(g)
Expand Down
5 changes: 3 additions & 2 deletions pkg/storage/utils/decomposedfs/spaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
"github.com/cs3org/reva/v2/internal/grpc/services/storageprovider"
"github.com/cs3org/reva/v2/pkg/appctx"
ocsconv "github.com/cs3org/reva/v2/pkg/conversions"
ctxpkg "github.com/cs3org/reva/v2/pkg/ctx"
Expand Down Expand Up @@ -65,7 +66,7 @@ const (

// CreateStorageSpace creates a storage space
func (fs *Decomposedfs) CreateStorageSpace(ctx context.Context, req *provider.CreateStorageSpaceRequest) (*provider.CreateStorageSpaceResponse, error) {
ctx = context.WithValue(ctx, utils.SpaceGrant, struct{}{})
ctx = storageprovider.WithSpaceType(ctx, "")
u := ctxpkg.ContextMustGetUser(ctx)

// "everything is a resource" this is the unique ID for the Space resource.
Expand Down Expand Up @@ -195,7 +196,7 @@ func (fs *Decomposedfs) CreateStorageSpace(ctx context.Context, req *provider.Cr
return nil, err
}

ctx = context.WithValue(ctx, utils.SpaceGrant, struct{ SpaceType string }{SpaceType: req.Type})
ctx = storageprovider.WithSpaceType(ctx, req.Type)

if req.Type != _spaceTypePersonal {
if err := fs.AddGrant(ctx, &provider.Reference{
Expand Down
4 changes: 1 addition & 3 deletions pkg/storage/utils/decomposedfs/tree/tree.go
Original file line number Diff line number Diff line change
Expand Up @@ -440,9 +440,7 @@ func (t *Tree) Delete(ctx context.Context, n *node.Node) (err error) {
// remove entry from cache immediately to avoid inconsistencies
defer func() { _ = t.idCache.Delete(path) }()

deletingSharedResource := ctx.Value(appctx.DeletingSharedResource)

if deletingSharedResource != nil && deletingSharedResource.(bool) {
if appctx.DeletingSharedResourceFromContext(ctx) {
src := filepath.Join(n.ParentPath(), n.Name)
return os.Remove(src)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/storage/utils/decomposedfs/upload/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ func TestInitNewNode(t *testing.T) {

err := os.MkdirAll(rootNode.InternalPath(), 0700)
if err != nil {
t.Fatalf(err.Error())
t.Fatal(err.Error())
}
n := node.New("e48c4e7a-beac-4b82-b991-a5cff7b8c39c", "930b7a2e-b745-41e1-8a9b-712582021842", "e48c4e7a-beac-4b82-b991-a5cff7b8c39c", "newchild", 10, "26493c53-2634-45f8-949f-dc07b88df9b0", providerv1beta1.ResourceType_RESOURCE_TYPE_FILE, &userv1beta1.UserId{}, lookup)
n.SpaceRoot = rootNode
unlock, err := store.tp.InitNewNode(context.Background(), n, 10)
if err != nil {
t.Fatalf(err.Error())
t.Fatal(err.Error())
}
defer func() {
_ = unlock()
Expand Down
2 changes: 1 addition & 1 deletion pkg/user/manager/ldap/ldap_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,6 @@ func TestUserManager(t *testing.T) {
// positive tests for New
_, err = New(map[string]interface{}{})
if err != nil {
t.Fatalf(err.Error())
t.Fatal(err.Error())
}
}
1 change: 0 additions & 1 deletion pkg/utils/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ var skipTests = []struct {

func TestSkip(t *testing.T) {
for _, tt := range skipTests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
r := Skip(tt.url, tt.base)
if r != tt.out {
Expand Down
Loading