chiark / gitweb /
Treat .dsc as bytes, just like everything else, rather than letting HTTP::Message...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 3 Aug 2014 21:31:08 +0000 (22:31 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 3 Aug 2014 21:31:08 +0000 (22:31 +0100)
debian/changelog
dgit

index d63f5cb75b76b8b050949e8afa2fc5add0cc2674..84d835b94e3be9c58827967f015c3795e79ad028 100644 (file)
@@ -13,6 +13,9 @@ dgit (0.22~experimental1) experimental; urgency=low
   * Check SHA-256 of .dsc against hash from archive_query (ie projectb)
     rather than letting dpkg-source do a signature verification.
     Closes:#737619.
   * Check SHA-256 of .dsc against hash from archive_query (ie projectb)
     rather than letting dpkg-source do a signature verification.
     Closes:#737619.
+  * Treat .dsc as bytes, just like everything else, rather than letting
+    HTTP::Message convert it to a Perl unicode string which the rest of
+    the program mishandles.  Closes:#738536.
 
   Minor improvements:
   * Include canonicalised suite name in signed tag message.
 
   Minor improvements:
   * Include canonicalised suite name in signed tag message.
diff --git a/dgit b/dgit
index 8517c8aebabe207c4e02d4a3a1a2c6e0408b566b..4125c37a30432fc848f7d34f08c93c44e33e1426 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -318,7 +318,7 @@ sub url_get {
     my $r = $ua->get(@_) or die $!;
     return undef if $r->code == 404;
     $r->is_success or fail "failed to fetch $what: ".$r->status_line;
     my $r = $ua->get(@_) or die $!;
     return undef if $r->code == 404;
     $r->is_success or fail "failed to fetch $what: ".$r->status_line;
-    return $r->decoded_content();
+    return $r->decoded_content(charset => 'none');
 }
 
 our ($dscdata,$dscurl,$dsc,$dsc_checked,$skew_warning_vsn);
 }
 
 our ($dscdata,$dscurl,$dsc,$dsc_checked,$skew_warning_vsn);