"minimal potential for causing regressions" is a big claim given I had to fix regressions in later commits like 149b23c2b9697bc262c0af1934c7a3f6114d903f and 2b0369a5d1673d9e40f2af4db7677b040a26ee58. There might be more, that is just what I remember directly. It is certainly not the most complicated code in the world, but it's quite a bit of it as I was not trying for minimal, but instead maximized for forward and backward compat.
(Disclaimer: I am the upstream author of the patch set in question. Not involved enough with Ubuntu to know and/or predict if this qualifies or not for backport, so not commenting on that part. Pretty sure Debian would refuse if we tried including that in a stable update through). -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1950095 Title: [github] 20.04: Apt fails to download URLs with non-encoded querystrings Status in apt package in Ubuntu: Confirmed Bug description: I've just helped a group of Ubuntu 20.04 users with Microsoft Surface devices. They rely upon a github repository releases pocket as the apt archive. Those users recently hit a bug "Ubuntu: Apt update fails with Error 401 Unauthorized" [1] The initial simple Github URL gets a Location: redirect to a complex URL with un-escaped query-string. The resulting complex URL causes apt to fail to fetch the resource. $ sudo apt upgrade -y Err:1 https://pkg.surfacelinux.com/debian release/main amd64 libwacom-surface amd64 1.12-2 401 Unauthorized [IP: 185.199.110.133 443] The URL can be manually corrected. One of the Surface users provided this example: bad: https://objects.githubusercontent.com/github-production-release- asset-2e65be/139604852/86019e52-7bfa-4bc6-8cc1-52147027aee6?X-Amz- Algorithm=AWS4-HMAC-SHA256&X-Amz- Credential=AKIAIWNJYAX4CSVEH53A/20211105/us- east-1/s3/aws4_request&X-Amz-Date=20211105T161053Z&X-Amz- Expires=300&X-Amz- Signature=2bc0c28946db539ada250b1030c37249dae909d73a68c90b5e7bfe7fecd5d347&X-Amz- SignedHeaders=host&actor_id=0&key_id=0&repo_id=139604852&response- content-disposition=attachment; filename=libwacom- surface_1.12-2_amd64.deb&response-content-type=application/octet- stream good: https://objects.githubusercontent.com/github-production-release- asset-2e65be/139604852/86019e52-7bfa-4bc6-8cc1-52147027aee6?X-Amz- Algorithm=AWS4-HMAC-SHA256&X-Amz- Credential=AKIAIWNJYAX4CSVEH53A%2F20211105%2Fus- east-1%2Fs3%2Faws4_request&X-Amz-Date=20211105T160935Z&X-Amz- Expires=300&X-Amz- Signature=44d9307e66dfb5b3672ee0082b8801ad2532ac4b6be61c3442fb265ffce72852&X-Amz- SignedHeaders=host&actor_id=0&key_id=0&repo_id=139604852&response- content-disposition=attachment%3B%20filename%3Dlibwacom- surface_1.12-2_amd64.deb&response-content-type=application%2Foctet- stream I found this also affects a github repository I recently added for Zotero on 20.04. The problem is fixed in later versions of apt upstream, in Debian and Ubuntu releases. I cherry-picked the 4 commits [3] and provided a package for Focal in my PPA [2] which multiple users have reported (in [1]) solves the issue. It would be really good to get those patches included in 20.04 as an SRU. As the code is in later versions of apt and is focused on the URL encoding only it has minimal potential for causing regressions. [1] https://github.com/linux-surface/linux-surface/issues/625 [2] https://launchpad.net/~tj/+archive/ubuntu/bugfixes [3] https://salsa.debian.org/apt- team/apt/-/commit/06ec0067057e0578f3bc515f6a97d6a9d70824f6 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1950095/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp