Opened 14 years ago
Closed 11 years ago
#17557 closed defect (bug) (wontfix)
AtomPub service sends duplicate status headers, breaking FastCGI
Reported by: | dwc | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.2 |
Component: | AtomPub | Keywords: | has-patch |
Focuses: | Cc: |
Description
The AtomPub service (wp-app.php) sends duplicate Status headers when authorization is not provided, which breaks on FastCGI setups. This is seen when you attempt to connect to the service using e.g. Ape, resulting in the following error message in the Apache logs:
[Wed May 25 16:09:21 2011] [error] [client 10.5.62.176] FastCGI: comm with server "/tmp/webadmin_test" aborted: error parsing headers: duplicate header 'Status'
This results in a 500 Internal Server Error from Apache:
HTTP/1.1 500 Internal Server Error Date: Wed, 25 May 2011 20:09:21 GMT Server: Apache X-Powered-By: PHP/5.2.6RC4-pl0-gentoo Expires: Wed, 11 Jan 1984 05:00:00 GMT Last-Modified: Wed, 25 May 2011 20:09:21 GMT Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache WWW-Authenticate: Basic realm="WordPress Atom Protocol" Content-Length: 735 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>401 Credentials required.</title> </head><body> <h1>Credentials required.</h1> <p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p> <p>Please contact the server administrator, webmaster@ufl.edu and inform them of the time the error occurred, and anything you might have done that may have caused the error.</p> <p>More information about this error may be available in the server error log.</p> <p>Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.</p> <hr> <address>Apache Server at test.news.ufl.edu Port 80</address> </body></html>
Patch attached to refactor Status headers in wp-app.php to use the status_header
function like most of the code uses. There's also a function that handles which I have refactored to use wp_redirect
. Affects all versions back to 2.9.2, including trunk.
Examples of this issue (and corresponding fixes) include:
Attachments (1)
Change History (3)
Note: See
TracTickets for help on using
tickets.
As AtomPub was removed from core in 2012, see #21866. There is a plugin for it here: http://wordpress.org/plugins/atom-publishing-protocol/.
I doubt anyone really interfaces with WordPress via AtomPub anymore. Did anyone ever truly use it? I heard that when WordPress.com had it enabled, a few dozen posts came through it a day, all from few clients.
So realistically, AtomPub is essentially considered "end of life" to us. This plugin was merely done for backwards compatibility.
Closing this ticket as wontfix.