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

"illegal base64 data at input byte" when using certain share URLs generated via Console 1.3.0 #3327

Closed
coffee-squirrel opened this issue May 3, 2024 · 4 comments · Fixed by #3328
Assignees
Labels
bug this needs to be fixed community triage

Comments

@coffee-squirrel
Copy link

coffee-squirrel commented May 3, 2024

Expected Behavior

All Share URLs generated via the Console UI should be valid and not cause exceptions.

Current Behavior

When attempting to use (e.g. curl -o file.tar "${SHARE_URL}") certain share URLs generated via Console 1.3.0 (via MinIO Server RELEASE.2024-05-01T01-11-10Z) I get a HTTP 500 response with a body like:

{"detailedMessage":"illegal base64 data at input byte 147","message":"an error occurred, please try again"}

Other objects don't seem to have this issue, and so far the only unique aspect I can identify is the object size (~80GB vs 1GB or less for others I've tested). There aren't any unique characters in the problematic objects' paths, and there's nothing in the MinIO Server log.

I was previously on minio RELEASE.2024-04-18T19-09-19Z and ran into the issue #3305 was intended to fix, which led to moving to minio RELEASE.2024-05-01T01-11-10Z.

Share URLs generated for the same objects via mc share download (mc RELEASE.2024-04-29T09-56-05Z) work as expected (but of course they go directly to MinIO Server).

Possible Solution

Maybe https://github.com/minio/console/blame/e68a74ba488f38ec5be481cc358ecb68642a387a/api/public_objects.go#L96 should be inputURLDecoded, err := b64.URLEncoding.DecodeString(inputEncodedURL) to match the change made in #3305.

Steps to Reproduce (for bugs)

  1. Be on minio RELEASE.2024-05-01T01-11-10Z
  2. Try generating+using share links for various objects-- maybe one that's very large.

Context

I occasionally use Console-generated share links, but will now need to drop down to mc share download for certain objects (not a big deal).

Regression

Somewhat (related to #3284 and #3305).

Your Environment

  • MinIO version used (minio --version): RELEASE.2024-05-01T01-11-10Z (commit-id=7926401cbd5cceaacd9509f2e50e1f7d636c2eb8)
  • Server setup and configuration: single node single drive
  • Operating System and version (uname -a): Windows Server 2022 (yeah I know :))
@cesnietor
Copy link
Collaborator

ahh nice catch @coffee-squirrel please feel free to send the PR and I'll gladly review it.

@cesnietor cesnietor added the bug this needs to be fixed label May 3, 2024
@cesnietor
Copy link
Collaborator

@coffee-squirrel if you could share examples of strings with the encoded url that's failing, it'd be helpful. thanks.

@cesnietor
Copy link
Collaborator

PTAL ^

@coffee-squirrel
Copy link
Author

Cool, looks like you got to it first :) Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug this needs to be fixed community triage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants