| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Release 2.9.122.9.12 | Julian Andres Klode | 2024-11-18 | 5 | -7/+23 |
| | | |||||
| * | Handle Retry-After by default | Julian Andres Klode | 2024-11-18 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | Let's get some feedback here. This is capped to 30s per retry, so a maximum of 90s per item that we delay the failure case. In the worst case, we hence have 90n seconds delay for n items. In a more realistic worse case however, the server likely does not collapse per-item, and we end up trying all items in a short burst so it seems more realistic we hit a 90s total delay. The bursty behavior may be suboptimal; we don't quite know, but it seems the specification of Retry-After is per-entity rather than per-host, so technically speaking it seems correct. | ||||
| * | Merge branch 'fm/apt-rate-limit' into 'main' | Julian Andres Klode | 2024-11-18 | 8 | -6/+74 |
| |\ | | | | | | | | | http: use Retry-After HTTP header to optimize retries See merge request apt-team/apt!383 | ||||
| | * | http: add test for Retry-After handling | Felix Moessbauer | 2024-11-18 | 2 | -0/+15 |
| | | | | | | | | | | | | | | | | | | | | | When enabling Acquire::Retries::HandleRetryAfter, the value of the Retry-After http header is honored and the retry is not executed earlier than this point in time (except if that is longer than the max delay time). The added test checks if the request is delayed at least by the requested time. Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> | ||||
| | * | http: use Retry-After HTTP header to optimize retries | Felix Moessbauer | 2024-11-18 | 6 | -6/+59 |
| |/ | | | | | | | | | | | | | | | | | | | Some mirrors like snapshot.debian.org apply strict http rate limits. While apt already has an exponential backoff mechanism implemented, this is not sufficient due to the following reasons: 1. all retries happen roughly at the same time 2. the retry-after information from the server is not used We fix this by improving the algorithm: First, if present, the timestamp or duration of the Retry-After header is added to the exponential backoff, optimizing for success-on-second-try. Second, a random delay is added (delay += [0, delay]) to distribute the retries to not immediately run into the limit again. To avoid super-long delays, this is capped by the configured maximum delay. This logic only becomes active if the option Acquire::Retries::HandleRetryAfter is enabled. Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> | ||||
| * | string_view: Include missing headers | Julian Andres Klode | 2024-11-17 | 1 | -0/+3 |
| | | | | | | | | | | Specifically the lack of the `string_view` include is causing compilation failures for rust-rust-apt. Running iwyu also adds `algorithm` for our use of `std::min`, and `iosfwd` for our use of `std::ostream` none of which seem to be causing build failures so far. | ||||
| * | Merge branch 'reefer' into 'main' | Julian Andres Klode | 2024-11-14 | 7 | -61/+50 |
| |\ | | | | | | | | | DEFER See merge request apt-team/apt!392 | ||||
| | * | fdopen() failing does not close the fd | наб | 2024-11-14 | 1 | -0/+2 |
| | | | |||||
| | * | DEFER() more | наб | 2024-11-14 | 7 | -60/+45 |
| | | | |||||
| | * | DEFER | наб | 2024-11-14 | 1 | -4/+6 |
| | | | |||||
| * | | Merge branch 'noref' into 'main' | Julian Andres Klode | 2024-11-14 | 6 | -20/+20 |
| |\ \ | | | | | | | | | | | | | std::string_view const & -> std::string_view See merge request apt-team/apt!397 | ||||
| | * | | std::string_view const & -> std::string_view | наб | 2024-11-14 | 6 | -20/+20 |
| | | | | | | | | | | | | | Fixes: 2c03eed649068c8838d971ceeb1a09603dcc8e9c | ||||
| * | | | Merge branch 'append' into 'main' | Julian Andres Klode | 2024-11-14 | 4 | -7/+9 |
| |\ \ \ | | | | | | | | | | | | | | | | | (+=)+= -> append().append() See merge request apt-team/apt!398 | ||||
| | * | | | (+=)+= -> append().append() | наб | 2024-11-14 | 4 | -7/+9 |
| | | |/ | |/| | |||||
| * | | | Merge branch 'svequiv3everything' into 'main' | Julian Andres Klode | 2024-11-14 | 7 | -43/+79 |
| |\ \ \ | |/ / |/| | | | | | | | | Prepare for APT::StringView -> std::string_view, #if APT_PKG_ABI > 600: ABI migrations and using APT::StringView = std::string_view; See merge request apt-team/apt!396 | ||||
| | * | | if APT_PKG_ABI > 600: using APT::StringView = std::string_view; | наб | 2024-11-14 | 1 | -0/+6 |
| | | | | |||||
| | * | | pkgTagSection::Tag constructors: std::string const& -> std::string_view ↵ | наб | 2024-11-14 | 3 | -14/+36 |
| | | | | | | | | | | | | | (always copied) [#if APT_PKG_ABI > 600] | ||||
| | * | | apt-pkg/contrib/hashes.cc, apt-pkg/contrib/hashes.h: APT::StringView -> ↵ | наб | 2024-11-14 | 2 | -9/+16 |
| | | | | | | | | | | | | | std::string_view in private interface. Take std::string_view instead of std::string const& for HashString::HashString (not reused) [#if APT_PKG_ABI > 600] | ||||
| | * | | Move StringViewCompareFast to strutil.h | наб | 2024-11-14 | 2 | -18/+19 |
| | | | | |||||
| | * | | apt-pkg/tagfile.h: prepare for APT::StringView -> std::string_view | наб | 2024-11-14 | 1 | -2/+2 |
| | |/ | |||||
| * | | Merge tag '2.9.11' | Julian Andres Klode | 2024-11-14 | 48 | -7094/+4948 |
| |\ \ | |/ |/| | | | apt Debian release 2.9.11 | ||||
| | * | Release 2.9.112.9.11 | Julian Andres Klode | 2024-11-14 | 48 | -7094/+4948 |
| | | | |||||
| * | | Merge branch 'svequiv2ftparchive' into 'main' | Julian Andres Klode | 2024-11-14 | 49 | -456/+460 |
| |\ \ | |/ |/| | | | | | ftparchive/: prepare for APT::StringView -> std::string_view See merge request apt-team/apt!395 | ||||
| | * | ftparchive/: prepare for APT::StringView -> std::string_view | наб | 2024-11-14 | 49 | -456/+460 |
| |/ | |||||
| * | Merge branch 'svequiv' into 'main' | Julian Andres Klode | 2024-11-14 | 28 | -485/+485 |
| |\ | | | | | | | | | Internally replace APT::StringView with std::string_view where it doesn't affect the ABI, with implementations that support both std::string_view and APT::StringView with new shims. ReportMirrorFailureToCentral: fix use-after-free See merge request apt-team/apt!394 | ||||
| | * | apt-pkg/contrib/gpgv.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -7/+7 |
| | | | |||||
| | * | apt-pkg/deb/deblistparser.h: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -6/+5 |
| | | | |||||
| | * | apt-pkg/deb/deblistparser.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -30/+31 |
| | | | |||||
| | * | apt-pkg/deb/debsrcrecords.h: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -7/+7 |
| | | | |||||
| | * | apt-pkg/deb/debsrcrecords.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -12/+12 |
| | | | |||||
| | * | apt-pkg/pkgcachegen.cc, apt-pkg/pkgcachegen.h: APT::StringView -> ↵ | наб | 2024-11-12 | 4 | -123/+123 |
| | | | | | | | | | std::string_view | ||||
| | * | methods/http.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -4/+3 |
| | | | |||||
| | * | apt-pkg/cachefilter-patterns.h, apt-pkg/cachefilter-patterns.cc: prepare for ↵ | наб | 2024-11-12 | 2 | -65/+66 |
| | | | | | | | | | APT::StringView -> std::string_view | ||||
| | * | apt-pkg/acquire-item.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -7/+7 |
| | | | |||||
| | * | apt-pkg/deb/debrecords.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -20/+20 |
| | | | |||||
| | * | apt-pkg/deb/debmetaindex.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -7/+7 |
| | | | |||||
| | * | apt-pkg/tagfile.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -1/+1 |
| | | | |||||
| | * | apt-pkg/policy.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -4/+3 |
| | | | |||||
| | * | cmdline/apt-sortpkgs.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -15/+15 |
| | | | |||||
| | * | apt-private/private-update.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -1/+1 |
| | | | |||||
| | * | apt-pkg/contrib/configuration.cc: prepare for APT::StringView -> ↵ | наб | 2024-11-12 | 1 | -40/+39 |
| | | | | | | | | | std::string_view | ||||
| | * | cmdline/apt-extracttemplates.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -15/+15 |
| | | | |||||
| | * | apt-pkg/indexcopy.cc: prepare for APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -38/+38 |
| | | | |||||
| | * | flCombine: try to reuse one of the strings when returning | наб | 2024-11-12 | 1 | -54/+54 |
| | | | |||||
| | * | apt-pkg/edsp/edsplistparser.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 6 | -13/+9 |
| | | | |||||
| | * | apt-pkg/algorithms.cc, apt-pkg/cachefilter.h: drop unused #include ↵ | наб | 2024-11-12 | 2 | -2/+0 |
| | | | | | | | | | <apt-pkg/string_view.h> | ||||
| | * | apt-pkg/edsp.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -9/+8 |
| | | | |||||
| | * | APT::StringView: add operator std::string_view(), StringViewCompareFast() ↵ | наб | 2024-11-12 | 1 | -4/+13 |
| | | | | | | | | | for std::string_views, operator<<(ostream&), std::string_view constructor, operator==(std::string_view) | ||||
| | * | test/libapt/strutil_test.cc: APT::StringView -> std::string_view | наб | 2024-11-12 | 1 | -2/+1 |
| | | | |||||
| | * | ReportMirrorFailureToCentral: fix use-after-free | наб | 2024-11-12 | 1 | -1/+2 |
| | | | |||||
