Bug#1016761: libhttp-daemon-perl: FTBFS with newer HTTP::Tiny versions
gregor herrmann
gregoa at debian.org
Sat Aug 6 22:54:43 BST 2022
On Sat, 06 Aug 2022 21:24:08 +0300, Niko Tyni wrote:
> It looks like the recent security fix in libhttp-daemon-perl_6.14-1.1
> (or at least the associated test case) has issues with newer versions
> of the HTTP::Tiny module.
[…]
> From my build log:
> Subroutine HTTP::Tiny::Handle::write_content_body redefined at t/content_length.t line 277.
Just a quick note:
That's from debian/patches/CVE-2022-31081-testcase.patch:
#v+
+sub patch_http_tiny {
+
+ # we need to patch write_content_body
+ # this is part of HTTP::Tiny internal module HTTP::Tiny::Handle
+ #
+ # the below code is from the original HTTP::Tiny module, where just two lines
+ # have been commented out
+
+ no strict 'refs';
+
+ *HTTP::Tiny::Handle::write_content_body = sub {
+ @_ == 2 || die(q/Usage: $handle->write_content_body(request)/ . "\n");
+ my ($self, $request) = @_;
+
+ my ($len, $content_length) = (0, $request->{headers}{'content-length'});
+ while () {
+ my $data = $request->{cb}->();
+
+ defined $data && length $data
+ or last;
+
+ if ( $] ge '5.008' ) {
+ utf8::downgrade($data, 1)
+ or die(qq/Wide character in write_content()\n/);
+ }
+
+ $len += $self->write($data);
+ }
+
+# this should not be checked during our tests, we want to forge bad requests
+#
+# $len == $content_length
+# or die(qq/Content-Length mismatch (got: $len expected: $content_length)\n/);
+
+ return $len;
+ };
+}
#v-
Cheers,
gregor
--
.''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06
`. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
`-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: Digital Signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-perl-maintainers/attachments/20220806/4cb8804f/attachment.sig>
More information about the pkg-perl-maintainers
mailing list