<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods/mirror.cc, branch 3.1.0</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.0</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.0'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-02-14T18:45:12Z</updated>
<entry>
<title>string{=&gt; _view} flNotDir(string{=&gt; _view}). Configuration::{Cnd,}Set(Value: string{=&gt; _view})</title>
<updated>2025-02-14T18:45:12Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2025-01-23T19:50:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=729a5c8f4fb8c841497d26170e1a47c41617ecd9'/>
<id>urn:sha1:729a5c8f4fb8c841497d26170e1a47c41617ecd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Drop usage of macro APT_OVERRIDE for simple override</title>
<updated>2025-01-05T22:16:08Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-12-26T19:41:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f73593a4034d9eec0ec4466b8e173d4a4daece1f'/>
<id>urn:sha1:f73593a4034d9eec0ec4466b8e173d4a4daece1f</id>
<content type='text'>
We were rather inconsistent in using it and as our public headers
contain deduction guides (a c++17 feature) it seems silly to try to hide
a c++11 feature in a macro, so lets stop this charade and drop the
macro and while we are changing all these lines lets apply [[nodiscard]]
(another c++17 feature) and other suggestions from clang-tidy and
formatting for a little more consistency.
</content>
</entry>
<entry>
<title>Do not assume mirror-URIs end in a filename causing a hang</title>
<updated>2024-11-22T12:40:10Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-28T14:44:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=afc7b0dbf1114f3d723ff0e1ab9d0796cd799970'/>
<id>urn:sha1:afc7b0dbf1114f3d723ff0e1ab9d0796cd799970</id>
<content type='text'>
In practice most of them will, but making the acquire process hang in
response if they don't seems like an overly excessive response if we can
just support it gracefully to reply with an error (or actually succeed
in the unlikely event this URI is actually correct).
</content>
</entry>
<entry>
<title>Fix mirror method dequeuing incorrect items</title>
<updated>2022-04-28T17:43:34Z</updated>
<author>
<name>Troy Varney</name>
<email>tvarney@cloudflare.com</email>
</author>
<published>2022-04-26T17:08:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b3a5bbe234d4206b7736bca2ca7f56feaa92f5ff'/>
<id>urn:sha1:b3a5bbe234d4206b7736bca2ca7f56feaa92f5ff</id>
<content type='text'>
When the mirror method handles a URI Acquire from apt for a mirror list
it already has, it calls the `RedirectItem` function directly. This
function assumes that the item being redirected is at the head of the
queue, and as such calls `Dequeue` to remove it from the queue. This
resulted in incorrect items being removed from the queue when this
branch is taken and the queue was already non-empty, as the item to be
handled in this case is actually the last item in the queue.

This changes `RedirectItem` to properly remove the item passed to it
instead of calling Dequeue.
</content>
</entry>
<entry>
<title>Spelling fixes</title>
<updated>2021-11-27T10:22:38Z</updated>
<author>
<name>Ville Skyttä</name>
<email>ville.skytta@iki.fi</email>
</author>
<published>2021-11-03T22:08:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=01eed4234440d82fc52c8186cf4268517bcd28bc'/>
<id>urn:sha1:01eed4234440d82fc52c8186cf4268517bcd28bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement encoded URI handling in all methods</title>
<updated>2020-12-18T18:31:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-09T22:02:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97d6c3b2d05fe0d965657197adf56cc78f9edf81'/>
<id>urn:sha1:97d6c3b2d05fe0d965657197adf56cc78f9edf81</id>
<content type='text'>
Every method opts in to getting the encoded URI passed along while
keeping compat in case we are operated by an older acquire system.

Effectively this is just a change for the http-based methods as the
others just decode the URI as they work with files directly.
</content>
</entry>
<entry>
<title>Apply various suggestions by cppcheck</title>
<updated>2019-07-08T13:51:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2019-07-08T13:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2b734a7ec429825c7007c1093883229e069d36c7'/>
<id>urn:sha1:2b734a7ec429825c7007c1093883229e069d36c7</id>
<content type='text'>
Reported-By: cppcheck
</content>
</entry>
<entry>
<title>Add 'explicit' to most single argument constructors</title>
<updated>2019-04-30T15:43:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-04-30T10:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b52c6552c44fcb997b0db9f5e9f17b4674dd5359'/>
<id>urn:sha1:b52c6552c44fcb997b0db9f5e9f17b4674dd5359</id>
<content type='text'>
This prevents implicit conversions that we do not want, such
as having a FileFd* being converted to a debListParser.

Two cases are not yet handled because they require changes
in code using them:

1. The classes in hashes.h
2. The URI class - this one is used quite a lot
</content>
</entry>
<entry>
<title>non-local mirrorlists shouldn't redirect to local</title>
<updated>2018-01-03T18:42:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-11-18T11:38:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4df5483994d510290677abab5720445f71babe65'/>
<id>urn:sha1:4df5483994d510290677abab5720445f71babe65</id>
<content type='text'>
A mirror list we get from an non-local source like http shouldn't be
able to include e.g. file sources and even with other online sources we
need to be careful: They also shouldn't include prefixed methods like
'tor+http'. So apply magic based on how the method is called:
mirror+file will be allowed to redirect to any source while
tor+mirror+file allows all, but sends them to their tor+ variant.
</content>
</entry>
<entry>
<title>add tag-based control over mirror choices from the list</title>
<updated>2018-01-03T18:42:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-10-27T16:27:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a839efb126af066dc2e58400fb5e25911cb2a9f1'/>
<id>urn:sha1:a839efb126af066dc2e58400fb5e25911cb2a9f1</id>
<content type='text'>
The old implementation used to construct a query string including the
release(s) the mirrorlist should be for, but that is hard to deal with
as this rules out that partial mirrors are included in the list and it
turns out that nobody ended up implementing it on the server side.

Controlling this on the client side allows partial mirrors to be
included and as a bonus prevents that we tell the mirrorlist server
(this rather generic) user information.
</content>
</entry>
</feed>
