Bug 748376

Summary: XMLRPC Deserialization fails when using mod_perl
Product: Red Hat Enterprise Linux 6 Reporter: Martin Steel <martin>
Component: perl-SOAP-LiteAssignee: Marcela Mašláňová <mmaslano>
Status: CLOSED ERRATA QA Contact: Matej Kollar <mkollar>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.1CC: cperry, jhutar, mkollar, ppisar, psabata, rbiba
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause XMLRPC requests can fail if the environment value MOD_PERL is defined. Consequence XMLRPC request fail. Fix The standard read instead of sysread is now used, when environment MOD_PERL is defined. Result XMLRPC request doesn't fail.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-18 11:44:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
upstream pach applied on our version none

Description Martin Steel 2011-10-24 10:11:57 UTC
User-Agent:       Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

When using XMLRPC::Transport::HTTP with mod_perl the HTTP request can't be deserialized by SOAP::Transport::HTTP due to a bug in the SOAP::Lite package.

An error message is returned by the XMLRPC web service along the lines of:
Application failed during request deserialization:
no element found at line 1, column 0, byte -1 at /usr/lib64/perl5/XML/Parser.pm line 187


This bug was introduced upstream in version 0.710.08 and fixed in upstream version 0.713.

Full details of the bug and patch can be found in the CPAN bug report at:
https://rt.cpan.org/Public/Bug/Display.html?id=58538 

Reproducible: Always

Steps to Reproduce:
1. Create an XMLRPC web service
2. Configure Apache to use mod_perl on the service URL
3. Make an XMLRPC request
Actual Results:  
XMLRPC Fault returned,

Application failed during request deserialization:
no element found at line 1, column 0, byte -1 at /usr/lib64/perl5/XML/Parser.pm line 187

Expected Results:  
Successful web service call.

https://rt.cpan.org/Public/Bug/Display.html?id=58538

Comment 2 RHEL Program Management 2011-10-24 10:28:49 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 3 Marcela Mašláňová 2012-08-03 12:12:29 UTC
Created attachment 602118 [details]
upstream pach applied on our version

Comment 7 Marcela Mašláňová 2012-08-07 12:56:44 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
    XMLRPC requests can fail if the environment value MOD_PERL is defined.
Consequence
    XMLRPC request fail.
Fix
    The standard read instead of sysread is now used, when environment MOD_PERL is defined.
Result
    XMLRPC request doesn't fail.

Comment 11 errata-xmlrpc 2012-10-18 11:44:19 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.

http://rhn.redhat.com/errata/RHBA-2012-1388.html