forked from minio/minio
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from minio:master #605
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#21083) if check lerr != nil and return a toAPIErrorCode(nil) it should return toAPIErrorCode(lerr)
Do not fail on anonymous requests with trailing headers. Fixes #21005 With modified minio-go (will send PR): ``` <DEBUG> PUT /tbb/mc.exe HTTP/1.1 Host: 127.0.0.1:9001 User-Agent: MinIO (windows; amd64) minio-go/v7.0.90 mc/DEVELOPMENT.GOGET Content-Length: 44301288 Accept-Encoding: zstd,gzip Content-Encoding: aws-chunked Content-Type: application/x-msdownload X-Amz-Content-Sha256: STREAMING-UNSIGNED-PAYLOAD-TRAILER X-Amz-Date: 20250401T150402Z X-Amz-Decoded-Content-Length: 44295168 X-Amz-Trailer: x-amz-checksum-crc32 mc: <DEBUG> HTTP/1.1 200 OK Content-Length: 0 Accept-Ranges: bytes Date: Tue, 01 Apr 2025 15:04:02 GMT Etag: "46273a30f232dc015ead1c0da8925c98" Server: MinIO Strict-Transport-Security: max-age=31536000; includeSubDomains Vary: Origin Vary: Accept-Encoding X-Amz-Checksum-Crc32: wElc/A== X-Amz-Id-2: 7987905dee74cdeb212432486a178e511309594cee7cb75f892cd53e35f09ea4 X-Amz-Request-Id: 18323A0F322B41C8 X-Content-Type-Options: nosniff X-Ratelimit-Limit: 2478 X-Ratelimit-Remaining: 2478 X-Xss-Protection: 1; mode=block ``` Tested on multipart uploads as well.
Fixes: #20118 Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
- Move VersionPurgeStatus into replication package - ilm: Evaluate policy w/ obj retention/replication - lifecycle: Use Evaluator to enforce ILM in scanner - Unit tests covering ILM, replication and retention - Simplify NewEvaluator constructor
This is a security incident fix, it would seem like since the implementation of unsigned payload trailer on PUTs, we do not validate the signature of the incoming request. The signature can be invalid and is totally being ignored, this in-turn allows any arbitrary secret to upload objects given the user has "WRITE" permissions on the bucket, since acces-key is a public information in general exposes these potential users with WRITE on the bucket to be used by any arbitrary client to make a fake request to MinIO the signature under Authorization: header is totally ignored. A test has been added to cover this scenario and fail appropriately.
There is prefix in json, but not in the equivalent command line. Although the role of prefix has been explained in the previous example, I think it should be supplemented.
To make sure that no objects were skipped for any reason, decommissioning does a second phase of listing to check if there are some objects that need to be decommissioned. However, the code forgot to skip orphan delete markers since the decom code already skips it. Make the code ignore delete markers in in the verification phase. Co-authored-by: Anis Eleuch <[email protected]>
in a specific corner case when you only have dangling objects with single shard left over, we end up a situation where healing is unable to list this dangling object to purge due to the fact that listing logic expected only `len(disks)/2+1` - where as when you make this choice you end up with a situation that the drive where this object is present is not part of your expected disks list, causing it to be never listed and ignored into perpetuity. change the logic such that HealObjects() would be able to listAndHeal() per set properly on all its drives, since there is really no other way to do this cleanly, however instead of "listing" on all erasure sets simultaneously, we list on '3' at a time. So in a large enough cluster this is fairly staggered.
On buffered streams the final entries could be missing, if a lot are delivered when stream ends. Fixes end-of-stream cancelling return of final entries by canceling with the StreamEOF error.
…debugging/s3-verify (#21185) build(deps): bump golang.org/x/crypto in /docs/debugging/s3-verify Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.32.0 to 0.35.0. - [Commits](golang/crypto@v0.32.0...v0.35.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.35.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…debugging/inspect (#21192)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to 0.38.0. - [Commits](golang/net@v0.37.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.38.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ugging/s3-verify (#21199) build(deps): bump golang.org/x/net in /docs/debugging/s3-verify Bumps [golang.org/x/net](https://github.com/golang/net) from 0.34.0 to 0.38.0. - [Commits](golang/net@v0.34.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.38.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…10.27 (#21191) build(deps): bump github.com/nats-io/nats-server/v2 Bumps [github.com/nats-io/nats-server/v2](https://github.com/nats-io/nats-server) from 2.9.23 to 2.10.27. - [Release notes](https://github.com/nats-io/nats-server/releases) - [Changelog](https://github.com/nats-io/nats-server/blob/main/.goreleaser.yml) - [Commits](nats-io/nats-server@v2.9.23...v2.10.27) --- updated-dependencies: - dependency-name: github.com/nats-io/nats-server/v2 dependency-version: 2.10.27 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This reverts commit 8d223e0.
Signed-off-by: Andreas Auernhammer <[email protected]>
Use go tool for generators * Use go.mod tool section * Install tools with go generate * Update dependencies * Remove madmin fork.
allow aborting on active uploads in progress, however fail these uploads subsequently during commit phase and return appropriate errors
Signed-off-by: Benjamin Perez <[email protected]>
Fixes #21249 Example params: `-ftp=force-tls=true -ftp="tls-private-key=ftp/private.key" -ftp="tls-public-cert=ftp/public.crt"` If MinIO is set up for TLS those certs will be used.
This commit removes FIPS 140-2 related code for the following reasons: - FIPS 140-2 is a compliance, not a security requirement. Being FIPS 140-2 compliant has no security implication on its own. From a tech. perspetive, a FIPS 140-2 compliant implementation is not necessarily secure and a non-FIPS 140-2 compliant implementation is not necessarily insecure. It depends on the concret design and crypto primitives/constructions used. - The boringcrypto branch used to achieve FIPS 140-2 compliance was never officially supported by the Go team and is now in maintainance mode. It is replaced by a built-in FIPS 140-3 module. It will be removed eventually. Ref: golang/go#69536 - FIPS 140-2 modules are no longer re-certified after Sep. 2026. Ref: https://csrc.nist.gov/projects/cryptographic-module-validation-program Signed-off-by: Andreas Auernhammer <[email protected]>
…#21302) A typo disabled the scanner healing in erasure mode. Fix it.
use notes in the readme
S3 listing call is usually sent with a 'max-keys' parameter. This 'max-keys' will also be passed to WalkDir() call. However, when ILM is enabled in a bucket and some objects are skipped, the listing can return IsTruncated set to false even if there are more entries in the drives. The reason is that drives stop feeding the listing code because it has max-keys parameter and the listing code thinks listing is finished because it is being fed anymore. Ask the drives to not stop listing and relies on the context cancellation to stop listing in the drives as fast as possible.
Signed-off-by: Shubhendu Ram Tripathi <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )