You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using WinSCP to connect S3, which was created by Alist. When I try to create folder under a bucket, actually I got a file.
The logic for creating folder in WinSCP is as follows: a request with a path ending in a slash (/) indicates a folder creation, e.g., PUT /test-localhost/testFolder/. Conversely, for file creation, the request path does not end with a slash, e.g., PUT /test-localhost/testFolder/1.txt.
However, there is an issue with the implementation in gofakes3. It directly trims the path, which disregards the trailing slash, treating all requests as file creation.
This trimming operation affects all S3 requests. While I can modify the PutObject function, I'm unsure if other S3 requests are also affected. It's quite confusing.
As you are the original owner of gofakes3 repository, can you give advise how to fix it? Is only PutObject affected, or all the S3 operations affected? Can you have time to investigate it and fix it, since you know the whole structure and can evaluate all the affections. Thanks.
The text was updated successfully, but these errors were encountered:
I am using WinSCP to connect S3, which was created by Alist. When I try to create folder under a bucket, actually I got a file.
The logic for creating folder in WinSCP is as follows: a request with a path ending in a slash (/) indicates a folder creation, e.g., PUT /test-localhost/testFolder/. Conversely, for file creation, the request path does not end with a slash, e.g., PUT /test-localhost/testFolder/1.txt.
However, there is an issue with the implementation in gofakes3. It directly trims the path, which disregards the trailing slash, treating all requests as file creation.
You can see this in the source code: https://github.com/johannesboyne/gofakes3/blob/master/routing.go#L23
This trimming operation affects all S3 requests. While I can modify the PutObject function, I'm unsure if other S3 requests are also affected. It's quite confusing.
Related Issue: AlistGo/alist#6588
As you are the original owner of gofakes3 repository, can you give advise how to fix it? Is only PutObject affected, or all the S3 operations affected? Can you have time to investigate it and fix it, since you know the whole structure and can evaluate all the affections. Thanks.
The text was updated successfully, but these errors were encountered: