[wp-trac] [WordPress Trac] #32126: XML-RPC stopped working with 4.2 in a cross-domain scenario

WordPress Trac noreply at wordpress.org
Fri Apr 24 19:15:37 UTC 2015


#32126: XML-RPC stopped working with 4.2 in a cross-domain scenario
--------------------------+-----------------------------
 Reporter:  flymike       |      Owner:
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  XML-RPC       |    Version:  4.2
 Severity:  normal        |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 Bug fix 20986 in wp-includes/class-IXR.php unconditionally returns status
 405 to all request methods except POST.  Additionally, an invalid Allow:
 header is returned.

 But OPTIONS is a perfectly valid preflight request sent by XML-RPC
 clients, especially in a cross-domain scenario, to determine if a
 subsequent request (like POST) will be allowed - or if a cross-domain
 request will be allowed.
 Unconditionally returning 405 prevents those clients from subsequently
 sending their POST request.  This broke my XML-RPC client, which
 previously worked in 4.1.3.

 Proposed fix: respond correctly to an OPTIONS request, by examining (any)
 Access-Control-Request-Methods: header for PUT, and returning an Access-
 Control-Allowed-Methods: header containing PUT with status 200.

 Request for enhancement: fully support CORS by adding an admin dialog
 which defines what hosts (or none, or all) will be accepted for cross-
 domain requests, and return the appropriate Access-Control-Allow-Origin:
 header.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/32126>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list