<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 2.9.18</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.18</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.18'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-12-17T18:21:21Z</updated>
<entry>
<title>gpgv: Extract VerifyDetachedSignatureFile()</title>
<updated>2024-12-17T18:21:21Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-12-17T18:20:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f54a561bc81d1bcbce6a107ad535f0c6d6e88d38'/>
<id>urn:sha1:f54a561bc81d1bcbce6a107ad535f0c6d6e88d38</id>
<content type='text'>
This is a pretty standalone function, extract it for later
reuse.
</content>
</entry>
<entry>
<title>Fix out-of-bounds read in `apt show :`</title>
<updated>2024-12-16T12:15:28Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-12-16T12:15:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=19000fab15ab0b30c95a1bf6e034aa3c6bdc36cb'/>
<id>urn:sha1:19000fab15ab0b30c95a1bf6e034aa3c6bdc36cb</id>
<content type='text'>
We tried to access str.size() - 1 on a 0-sized string, which
does not work, and now that we build with assertions triggers
it.

Closes: #1090068
</content>
</entry>
<entry>
<title>gpgv: Drop references to apt-key</title>
<updated>2024-12-07T14:14:33Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-12-04T10:12:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2f9775ed580656214e62e7916ee896776fabc9e7'/>
<id>urn:sha1:2f9775ed580656214e62e7916ee896776fabc9e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gpgv: Merge all keyrings into a single one again</title>
<updated>2024-12-04T09:14:44Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-12-04T08:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=48e5af8b5df391e62657b604b2b54885f7ce1c02'/>
<id>urn:sha1:48e5af8b5df391e62657b604b2b54885f7ce1c02</id>
<content type='text'>
gpgv is quite picky, it takes at most 40 keyrings but it also doesn't
even take keyrings with : in the name, generating an ERROR message
instead.

So instead let's always merge the configured keyrings for the source
into a single one.

While we are at it, since we are merging now, let's also add some
rudimentary error checking to what we write into the merged keyring:
If copying into it fails, we should abort.

Reported-by: SuShY on IRC
</content>
</entry>
<entry>
<title>solver3: Reject all non-candidates outright for strict pinning</title>
<updated>2024-12-03T08:44:18Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-11-02T11:45:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8f317d97c9fb821e839342ae445c824207678eb7'/>
<id>urn:sha1:8f317d97c9fb821e839342ae445c824207678eb7</id>
<content type='text'>
Reimplement strict pinning by rejecting the non-candidates when
translating the problem from the depcache to the solver. This is
substantially better than restricting the list of alternatives for
an or group to only include allowed ones for debugging purposes,
albeit a bit slower.
</content>
</entry>
<entry>
<title>solver3: Add a missing debug level check</title>
<updated>2024-12-03T08:44:18Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-12-03T08:43:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3e5977ed7b4e6291fcd67df193a501754ec1de7f'/>
<id>urn:sha1:3e5977ed7b4e6291fcd67df193a501754ec1de7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>solver3: Fix intransitivity of version comparison on upgrade</title>
<updated>2024-12-02T10:37:16Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-12-02T09:25:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=63721d8271430c1a0996c08cc96a3a7e6f69dc52'/>
<id>urn:sha1:63721d8271430c1a0996c08cc96a3a7e6f69dc52</id>
<content type='text'>
We only compared candidate to installed version, but candidate
should dominate all versions, otherwise we end up in the fancy
problem of elpa-notmuch in
  upgrade-noble-t64-remove-desktop-2024-03-29.edsp

Where we had three versions:

    not-installable 0.38.3-1ubuntu1
    candidate 0.38.2-1.1ubuntu2
    installed 0.38.2-1ubuntu2

And received an ordering:

    installed &gt; non-installable &gt; candidate

despite

    candidate &gt; installed

This is only visible with no-strict-pinning right now, as we are
otherwise filtering out invalid choices (and hence we only have
candidate and installed otherwise).
</content>
</entry>
<entry>
<title>Avoid extension check for .gpg</title>
<updated>2024-11-29T08:38:00Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-11-29T08:38:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=00b4aa9c1d7f50a6e45c72e7a7c417975932cabb'/>
<id>urn:sha1:00b4aa9c1d7f50a6e45c72e7a7c417975932cabb</id>
<content type='text'>
We only ever documented .gpg and .asc and have ensured that
only such files exist in the keyring, but people can set the
Signed-By option to keys with any random extension, as that
was not validated before by apt-key.

This doesn't change the behavior for trusted.gpg.d: We filter
the directory listing and only look at .gpg and .asc files.

Closes: #1088656
</content>
</entry>
<entry>
<title>Detect working gpgv using gpgv --dump-options</title>
<updated>2024-11-28T18:01:36Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-11-28T08:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=86f8353ce7a343db7b19422db0d37379ac45ff4e'/>
<id>urn:sha1:86f8353ce7a343db7b19422db0d37379ac45ff4e</id>
<content type='text'>
This gains us support for not using an absolute path, which
is nice, and we can now cache the invocation across fork() in
the method.

Still keep preferring absolute paths, this avoids execvp() having
to iterate the path and reduces bug potential with custom gpgv in
/usr/local.

Fix the last entry in the list of gpgvs to say gpgv1
</content>
</entry>
<entry>
<title>fileutl: Use execvp() in Popen() instead of execv()</title>
<updated>2024-11-28T18:01:36Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-11-28T08:49:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7038347919d59b2f96a8f51f994889a5b4d66cba'/>
<id>urn:sha1:7038347919d59b2f96a8f51f994889a5b4d66cba</id>
<content type='text'>
</content>
</entry>
</feed>
