Opened on Jun 5, 2013 at 3:39:33 PM
#7284 closed defect (thirdparty)
Impossible to access a storage container when a file which name includes special caracters has previously been uploaded
Reported by: | benmauff | Owned by: | dkocher |
---|---|---|---|
Priority: | high | Milestone: | 4.4 |
Component: | s3 | Version: | 4.3.1 |
Severity: | critical | Keywords: | special caracters, S3 |
Cc: | Architecture: | ||
Platform: | Windows 7 |
Description (last modified by dkocher)
Configuration: Swift + S3
This issue has been encountered in the following scenario: 1 Upload the following file in a S3 container: Nom de fichier €%£ - Copie.xlsx
2 Access the folder where this file has been updated and check it has been added
Result: it is now impossible to access the container; we get an Internal Server Error (see screenshots).
Here is our first internal analysis:
- Creating object with special characters works in Swift:
~$ curl -H 'Content-Length: 0' -i http://localhost:8080/v1/AUTH_05b7534319e849ba93c68462726057fb/newcont/€%£-Copie.xlsx -X PUT -H "X-Auth-Token: 2438e55a25a8407fa6318fea4e7bd10a"
~$ curl -i http://localhost:8080/v1/AUTH_05b7534319e849ba93c68462726057fb/newcont -X GET -H "X-Auth-Token: 2438e55a25a8407fa6318fea4e7bd10a" HTTP/1.1 200 OK Content-Length: 29 X-Container-Object-Count: 2 Accept-Ranges: bytes X-Timestamp: 1369816325.76530 X-Container-Bytes-Used: 1196 Content-Type: text/plain; charset=utf-8 X-Trans-Id: tx16fe028810ba4be39506b-0051a5cc5d Date: Wed, 29 May 2013 09:37:33 GMT
etc/passwd €%£-Copie.xlsx
but not in Cyberduck.
- this works as well with the S3 API, the script is here :
http://p.chmouel.com/s3testutf8.py
and the output :
ParseResult(scheme='http', netloc='46.231.128.140:8080', path='', params='', query='', fragment='') Delete key: €%£ - Copie.xlsx Deleting bucket: cont_s3 Creating bucket: cont_s3 uploading: €%£ - Copie.xlsx uploaded object €%£ - Copie.xlsx
Attachments (1)
Change History (3)
Changed on Jun 5, 2013 at 3:41:11 PM by benmauff
comment:1 Changed on Jun 5, 2013 at 7:46:17 PM by dkocher
- Description modified (diff)
- Milestone set to 4.3.2
comment:2 Changed on Jun 20, 2013 at 6:53:24 PM by dkocher
- Resolution set to thirdparty
- Status changed from new to closed
The server responds with a 503 error indicating an internal problem. If Cyberduck would issue a bad request because of the filename, a 4xx error would be returned.
I have tested this with S3 with no issues.
PUT /%E2%82%AC%25-test%2F HTTP/1.1 Date: Thu, 20 Jun 2013 18:51:23 GMT x-amz-acl: private Content-Type: application/x-directory Content-Length: 0 Host: test.cyberduck.ch.s3.amazonaws.com:443 Connection: Keep-Alive User-Agent: Cyberduck/4.3.2 (Mac OS X/10.8.4) (x86_64) HTTP/1.1 200 OK x-amz-id-2: a7byWVhivBANX42UX6izI3MNamaaPsTgYU3d5t9uAABm+mAOj/n8WKJsI+KAawmz x-amz-request-id: 7920C93379971396 Date: Thu, 20 Jun 2013 18:51:25 GMT ETag: "d41d8cd98f00b204e9800998ecf8427e" Content-Length: 0 Server: AmazonS3 GET /?delimiter=%2F&max-keys=1000&prefix HTTP/1.1 Date: Thu, 20 Jun 2013 18:51:24 GMT Host: test.cyberduck.ch.s3.amazonaws.com:443 Connection: Keep-Alive User-Agent: Cyberduck/4.3.2 (Mac OS X/10.8.4) (x86_64) HTTP/1.1 200 OK x-amz-id-2: 2T6Tvlaw5Y/SQSfqf9+DTRt4YtZdmnXCZorumRhJxJh0ubRUV32ftcpzFux9BBEI x-amz-request-id: E1764AE7C9E2EF95 Date: Thu, 20 Jun 2013 18:51:25 GMT Content-Type: application/xml Transfer-Encoding: chunked Server: AmazonS3 GET /?delimiter=%2F&max-keys=1000&prefix=%E2%82%AC%25-test%2F HTTP/1.1 Date: Thu, 20 Jun 2013 18:51:28 GMT Host: test.cyberduck.ch.s3.amazonaws.com:443 Connection: Keep-Alive User-Agent: Cyberduck/4.3.2 (Mac OS X/10.8.4) (x86_64) HTTP/1.1 200 OK x-amz-id-2: bAiHUpjqI4T5sa2LVe4Z68v0Og1LrgUTyI9PxeEHoPlc2wRXWrbgS4a24hi36GyQ x-amz-request-id: EE4778FAC87DDF90 Date: Thu, 20 Jun 2013 18:51:29 GMT Content-Type: application/xml Transfer-Encoding: chunked Server: AmazonS3 POST /?delete HTTP/1.1 Date: Thu, 20 Jun 2013 18:51:29 GMT Content-MD5: woHjRbGllH5ApVFhdpkLDA== Content-Type: text/plain Content-Length: 159 Host: test.cyberduck.ch.s3.amazonaws.com:443 Connection: Keep-Alive User-Agent: Cyberduck/4.3.2 (Mac OS X/10.8.4) (x86_64) Expect: 100-continue HTTP/1.1 200 OK x-amz-id-2: IOqVuD9c2eNhj13dikeadp0qp0HIYiJ3OOxIhw11gMXttM6tg+C7zlhLgmyqvX4f x-amz-request-id: 4B79949F97DAB02D Date: Thu, 20 Jun 2013 18:51:30 GMT Content-Type: application/xml Transfer-Encoding: chunked Server: AmazonS3 GET /?delimiter=%2F&max-keys=1000&prefix HTTP/1.1 Date: Thu, 20 Jun 2013 18:51:29 GMT Host: test.cyberduck.ch.s3.amazonaws.com:443 Connection: Keep-Alive User-Agent: Cyberduck/4.3.2 (Mac OS X/10.8.4) (x86_64) HTTP/1.1 200 OK x-amz-id-2: UvxuO5MiYGm+vnSELX2XZO3G/KveCSwafgSgOW3XQZwQv3O4HcQFGk+1iH8XesO+ x-amz-request-id: 38A46D39B011A51C Date: Thu, 20 Jun 2013 18:51:31 GMT Content-Type: application/xml Transfer-Encoding: chunked Server: AmazonS3
Note: See
TracTickets for help on using
tickets.
Screenshot of the Internal Server Error we get when trying to access the updated container