

Feel free to point them this and previous posts ( Problems With libxml2 For WordPress XML-RPC Users and Update On libxml2 Issues) if they want some history and context of the problem. It would be handy to be able to create blog posts using the Metaweblog (or other well-established blogging) XML-RPC API. If you are on a host that is using known broken version combinations of PHP & libxml2 now you can tell them exactly which versions do work. I went back to my test setup and built PHP 5.2.9 with libxml2 2.7.3 and added new posts to a WordPress blog via XML-RPC with lots of tags in the post body. When testing this also confirm that your build of PHP 5.2.9 is using the correct version of libxml2 and not some older version (you can easily check this using phpinfo( ) ). Mixing either one with older versions will not work. The failure to authenticate is expressed in a valid XMLRPC response, and since the response is valid, it warrants a 200 Success HTTP status result.

It magically reverts back to 1 during the update (line 617 in xmlrpc.php), but is still used for sending out trackback URIs later on. The second issue is that when editing a post (method mweditPost() in xmlrpc.php), the ID gets lost. To make it perfectly clear, you need to have BOTH libxml2 version 2.7.3 and PHP version 5.2.9 in order to make this work. MarsEdit distinguishes between WordPress-level authentication and HTTP-level authentication by the simple fact that WordPress always returns HTTP status 200, even when a user is authenticated. This happens, when I add new and edit existing posts (mwnewPost() and mweditPost() in xmlrpc.php). With the release of PHP 5.2.9 all of the pieces are available to solve the XML bracket stripping puzzle. Make sure you make a copy of the old file before you do so, just in case you run into any issues.
3:05pm : WordPress & libxml2 Episode IV: A New Plugin htaccess file, add this code: