Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:debmirror
User: [email protected]
Usertags: pu

[ Reason ]
Mirroring Ubuntu no longer works due to DDoS mitigations.

[ Impact ]
Raphaël Halimi reported in https://bugs.debian.org/1135891:

> Since last week-end's DDOS attack, Canonical made some changes in their
> infrastructure and libwww-perl's default User-Agent string (libwww-perl/X.XX)
> is now blocked, making debmirror unable to mirror Ubuntu and Launchpad
> repositories.

[ Tests ]
I've tested this manually as follows:

  debmirror --method=http --host=archive.ubuntu.com --root=ubuntu 
--dist=resolute --rsync-extra=none 
--keyring=/path/to/local/ubuntu-archive-keyring.gpg --progress test-mirror

(I also ran a similar test against deb.debian.org to make sure that 
still works OK.)

[ Risks ]
It's hard to say for certain whether anything will object to the 
different User-Agent, but in general setting a more specific User-Agent 
is usually a good thing in this sort of tool.  The change itself is 
pretty trivial.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Set "User-Agent: debmirror/$version".

-- 
Colin Watson (he/him)                              [[email protected]]
diff -Nru debmirror-2.47/debian/changelog 
debmirror-2.47+deb13u1/debian/changelog
--- debmirror-2.47/debian/changelog     2025-07-01 00:58:44.000000000 +0100
+++ debmirror-2.47+deb13u1/debian/changelog     2026-05-07 11:47:09.000000000 
+0100
@@ -1,3 +1,10 @@
+debmirror (1:2.47+deb13u1) trixie; urgency=medium
+
+  [ Raphaël Halimi ]
+  * Add debmirror-specific User-Agent header (closes: #1135891).
+
+ -- Colin Watson <[email protected]>  Thu, 07 May 2026 11:47:09 +0100
+
 debmirror (1:2.47) unstable; urgency=medium
 
   [ Colin Watson ]
diff -Nru debmirror-2.47/debmirror debmirror-2.47+deb13u1/debmirror
--- debmirror-2.47/debmirror    2025-07-01 00:58:44.000000000 +0100
+++ debmirror-2.47+deb13u1/debmirror    2026-05-07 11:46:36.000000000 +0100
@@ -927,6 +927,7 @@
 
   downloads_via_http() && do {
     $ua = LWP::UserAgent->new(keep_alive => 1);
+    $ua->agent("debmirror/$version");
     $ua->timeout($timeout);
     $ua->proxy('http', $ENV{http_proxy}) if $ENV{http_proxy};
     $ua->proxy('http', $proxy) if $proxy;
@@ -941,6 +942,7 @@
   downloads_via_https() && do {
     $ua = LWP::UserAgent->new(keep_alive => 1, ssl_opts => {
                     verify_hostname => ! $disable_ssl_verification });
+    $ua->agent("debmirror/$version");
     $ua->timeout($timeout);
     $ua->proxy('https', $ENV{https_proxy}) if $ENV{https_proxy};
     $ua->proxy('https', $proxy) if $proxy;
@@ -956,6 +958,7 @@
   downloads_via_ftp() && do {
     if ($proxy || $ENV{ftp_proxy}) {
       $ua = LWP::UserAgent->new;
+      $ua->agent("debmirror/$version");
       $ua->timeout($timeout);
       $ua->proxy('ftp', $proxy ? $proxy : $ENV{ftp_proxy});
     }
@@ -972,6 +975,7 @@
 
   downloads_via_file() && do {
     $ua = LWP::UserAgent->new;
+    $ua->agent("debmirror/$version");
     $ua->timeout($timeout);
     $ua->show_progress($progress);
     $host='localhost';

Reply via email to