[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#734470: libdebbugs-perl: SOAP::Transport::HTTP::Server returns Content-Type Multipart/Related



Package: libdebbugs-perl
Severity: normal
Tags: patch

Dear Maintainer,

I'm reporting this to the debbugs installation on
debbugs.gnu.org. Don't know the version, but
/usr/share/perl5/SOAP/Transport/HTTP.pm reports $VERSION = 0.714;

When a soap request is send to that server, and the reponse contains a
line like (for example)

----------------------------------- cut here ----------------------------------
-move-to-block from 109576 Content-Type: multipart/
----------------------------------- cut here ----------------------------------

the soap response is wrongly

----------------------------------- cut here ----------------------------------
Content-Type: multipart/related; type="text/xml"; start="<main_envelope>"; boundary="----
----------------------------------- cut here ----------------------------------

with a completely mangled boundary instead of

----------------------------------- cut here ----------------------------------
Content-Type: text/xml; charset=utf-8
----------------------------------- cut here ----------------------------------

The following patch fixes this for me:

*** /usr/share/perl5/SOAP/Transport/HTTP.pm.~1~	  2014-01-07 14:00:57.610495170 +0100
--- /usr/share/perl5/SOAP/Transport/HTTP.pm	  2014-01-07 14:00:57.622495449 +0100
***************
*** 472,478 ****
  # this next line does not look like a good test to see if something is multipart
  # perhaps a /content-type:.*multipart\//gi is a better regex?
      my ($is_multipart) =
!       ( $response =~ /content-type:.* boundary="([^\"]*)"/im );

      $self->response(
          HTTP::Response->new(
--- 472,478 ----
  # this next line does not look like a good test to see if something is multipart
  # perhaps a /content-type:.*multipart\//gi is a better regex?
      my ($is_multipart) =
!       ( $response =~ /^content-type:.* boundary="([^\"]*)"/im );

      $self->response(
          HTTP::Response->new(

-- System Information:
Debian Release: wheezy/sid
  APT prefers saucy-updates
  APT policy: (500, 'saucy-updates'), (500, 'saucy-security'), (500, 'saucy-proposed'), (500, 'saucy'), (100, 'saucy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11.0-15-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: