swift3 middleware doesn't allow / in object names
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Undecided
|
Chuck Thier |
Bug Description
Hi all,
I'd like to use Swift as a S3 compatible interface. To do that, we have been using middletier written in Python, provided with swift. The problem I had encountered is happening, when I'm trying to upload an object with path, let's say: bucketname/
If directories 'a' and 'b' does not exist, the file will fail to upload with status message:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>
<Message>Could not parse the specified URI</Message>
</Error>
On the other hand, if I upload file directly to the bucket: bucketname/c.txt everything works as expected.
I guess this is somehow related to this topic in documentation: http://
But that bug itself puts compatibility with S3 in doubt, since S3 behaves properly in that case - forces creating directories.
Any help would be appreciated, since this is extremely important case for me.
Thanks.
P.S. I'm using S3curl for tests.
Related branches
- Swift Core security contacts: Pending requested
-
Diff: 33 lines (+1/-11)2 files modifiedswift/common/middleware/swift3.py (+1/-1)
test/unit/common/middleware/test_swift3.py (+0/-10)
Changed in swift: | |
assignee: | nobody → Chuck Thier (cthier) |
status: | New → Fix Committed |
Changed in swift: | |
milestone: | none → 1.4.0 |
status: | Fix Committed → Fix Released |
I confirm - this has solved my issue. Everything works fine now.
Big thanks for support, great job!