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.0 +0100
+++ debmirror-2.47+deb13u1/debian/changelog 2026-05-07 11:47:09.0
+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 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/debmirror2025-07-01 00:58:44.0 +0100
+++ debmirror-2.47+deb13u1/debmirror2026-05-07 11:46:36.0 +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';