diff --git a/s3api/controllers/base.go b/s3api/controllers/base.go index 13d05dc..8df7730 100644 --- a/s3api/controllers/base.go +++ b/s3api/controllers/base.go @@ -889,7 +889,7 @@ func (c S3ApiController) CreateActions(ctx *fiber.Ctx) error { }) } - if err := auth.VerifyACL(parsedAcl, acct.Access, "WRITE", isRoot); err != nil { + if err := auth.VerifyACL(parsedAcl, acct.Access, "READ", isRoot); err != nil { return SendXMLResponse(ctx, nil, err, &MetaOpts{Logger: c.logger, Action: "SelectObjectContent", BucketOwner: parsedAcl.Owner}) } @@ -1042,6 +1042,7 @@ func SendXMLResponse(ctx *fiber.Ctx, resp any, err error, l *MetaOpts) error { } if len(b) > 0 { + ctx.Response().Header.Set("Content-Length", fmt.Sprint(len(b))) ctx.Response().Header.SetContentType(fiber.MIMEApplicationXML) } } diff --git a/s3response/s3response.go b/s3response/s3response.go index edc8893..07d3fa6 100644 --- a/s3response/s3response.go +++ b/s3response/s3response.go @@ -131,8 +131,8 @@ type SelectObjectContentResult struct { Records *types.RecordsEvent Stats *types.StatsEvent Progress *types.ProgressEvent - Cont *string - End *string + Cont *types.ContinuationEvent + End *types.EndEvent } type Bucket struct {