Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
This project is now read‑only. Starting Monday, February 2, please use https://ibm-ceph.atlassian.net/ for all bug tracking management.

Bug 1530775

Summary: radosgw refuses upload when Content-Type missing from POST policy
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Ken Dreyer (Red Hat) <kdreyer>
Component: RGWAssignee: Matt Benjamin (redhat) <mbenjamin>
Status: CLOSED ERRATA QA Contact: Tejas <tchandra>
Severity: high Docs Contact:
Priority: high    
Version: 3.0CC: cbodley, ceph-eng-bugs, ceph-qe-bugs, dh3, hnallurv, kbader, kdreyer, mamccoma, mbenjamin, owasserm, sweil, vumrao
Target Milestone: z1   
Target Release: 3.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: RHEL: ceph-12.2.1-41.el7cp Ubuntu: ceph_12.2.1-43redhat1xenial Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1502780 Environment:
Last Closed: 2018-03-08 15:52:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1502780    

Description Ken Dreyer (Red Hat) 2018-01-03 18:53:23 UTC
+++ This bug was initially created as a clone of Bug #1502780 +++

Description of problem:
radosgw refuses upload when Content-Type missing from POST policy

Upstream tracker: http://tracker.ceph.com/issues/20201


Version-Release number of selected component (if applicable):
jewel 10.2.7


How reproducible:
In the customer environment always 


When doing an S3 upload, if Content-Type is missing from the policy part of the upload, then radosgw refuses the upload with a 403 error, "Policy missing condition: Content-Type". The same upload to AWS S3 is successful, despite the Content-Type not being present in the uploaded policy. radosgw should accept this, for better interoperability.

Context: this was encountered when using Fine Uploader https://github.com/FineUploader/fine-uploader to get files into an S3 bucket. When a user tries to upload a file which the browser can't identify (because it has an unrecognized or missing filename extension) then the Content-Type is not added to the POST'ed policy.


--- Additional comment from Vikhyat Umrao on 2017-10-16 10:52:50 MDT ---

Attachments:

options-and-failing-post-20170531.txt is a radosgw debug = 20 log, showing the OPTIONS pre-flight call succeeding, and the POST failing at "env var missing in policy: Content-Type"

s3-upload-policy-missing-content-type-20170531.txt is cut-and-paste from the browser dev tools, showing the request headers and payload.

Where are you experiencing the behavior?  What environment?

We first encountered this on Ceph 10.2.3. Our Ceph is 10.2.7 (latest Ubuntu packaged version for Xenial).

--- Additional comment from Vikhyat Umrao on 2017-11-01 14:00:14 MDT ---

Master branch PR - https://github.com/ceph/ceph/pull/18658

--- Additional comment from  on 2017-11-14 07:50:21 MST ---

customer has confirmed this resolved their issue, and has also updated Upstream tracker stating this: http://tracker.ceph.com/issues/20201

Comment 10 errata-xmlrpc 2018-03-08 15:52:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0474