From: Pat Thoyts Date: Wed, 23 Sep 2015 21:14:46 +0000 (+0200) Subject: Bug 708252: The XMLRPC API doesn't work with IIS X-Git-Tag: release-5.0.2~36 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f7de8960ee6a79395c9318fdfb04b5c29a0835c5;p=thirdparty%2Fbugzilla.git Bug 708252: The XMLRPC API doesn't work with IIS r=LpSolit a=dkl --- diff --git a/Bugzilla/WebService/Server/XMLRPC.pm b/Bugzilla/WebService/Server/XMLRPC.pm index 98a0ee405d..8deb253adc 100644 --- a/Bugzilla/WebService/Server/XMLRPC.pm +++ b/Bugzilla/WebService/Server/XMLRPC.pm @@ -63,6 +63,12 @@ sub make_response { my $self = shift; my $cgi = Bugzilla->cgi; + # Fix various problems with IIS. + if ($ENV{'SERVER_SOFTWARE'} =~ /IIS/) { + $ENV{CONTENT_LENGTH} = 0; + binmode(STDOUT, ':bytes'); + } + $self->SUPER::make_response(@_); # XMLRPC::Transport::HTTP::CGI doesn't know about Bugzilla carrying around @@ -107,6 +113,8 @@ sub handle_login { if (none { $_ eq $method } $class->PUBLIC_METHODS) { ThrowCodeError('unknown_method', { method => $full_method }); } + + $ENV{CONTENT_LENGTH} = 0 if $ENV{'SERVER_SOFTWARE'} =~ /IIS/; $self->SUPER::handle_login($class, $method, $full_method); return; }