<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test, branch 2.0.2</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.0.2</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.0.2'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-04-06T08:04:49Z</updated>
<entry>
<title>test/integration/apt.pem: Regenerate with SHA2 hashes</title>
<updated>2020-04-06T08:04:49Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-04-06T08:00:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d3133f92205e06f1f04e39c7e74db9efb98df19f'/>
<id>urn:sha1:d3133f92205e06f1f04e39c7e74db9efb98df19f</id>
<content type='text'>
Recent GnuTLS 3.6.11 -&gt; 3.6.13 update in Ubuntu broke our
test certificate, it's signed with SHA1. Regenerate with
SHA2.

openssl req -newkey rsa:2048 -x509 -sha256 -days 36500 -nodes -out apt.crt -keyout apt.key -subj "/CN=localhost/O=APT Testcases GmbH/ST=Some-State/C=DE"
cat apt.key apt.crt &gt; test/integration/apt.pem
</content>
</entry>
<entry>
<title>Parse last line in deb file correctly by adding a newline</title>
<updated>2020-03-21T07:35:26Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-03-21T07:14:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bf46e09f0e4b52b3c71ac20bb11e7511fc16179f'/>
<id>urn:sha1:bf46e09f0e4b52b3c71ac20bb11e7511fc16179f</id>
<content type='text'>
While merging apt-pkg and apt-inst libraries the codepath of handling
deb files in apt-pkg was adapted to use the 'old' code from apt-inst
instead of fork&amp;exec of dpkg-deb -I. The information we get this way
forms the main part of the package stanza, but we add a few
semi-optional fields to the stanza to make it look and work more
like a stanza we got from a repository.

Just be careful with the area where these two parts touch as if,
hypothetically, we would stip all newlines around the parts,
but forget to add a newline between them later, the two lines around
the merge would stick a bit too close together forming one which could
result in fun parsing errors if this merged line was previously e.g. a
well-formed Depends line and has now extra fluff attached.

This codepath has a history with too many newlines (#802553) though,
so how likely is it really that it will some day lack one you may ask.

References: 6089a4b17c61ef30b2efc00e270b0907f51f352a
</content>
</entry>
<entry>
<title>Don't crash pattern matching sections if pkg has no section</title>
<updated>2020-03-10T09:57:21Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-03-10T09:46:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=429effb963fba7529b8ff57d6b0474916d4fed69'/>
<id>urn:sha1:429effb963fba7529b8ff57d6b0474916d4fed69</id>
<content type='text'>
Packages from third-party sources do not always follow the established
patterns of more properly maintained archives. In that case it was a
driver package for a scanner&amp;printer device which has only a minimum of
info attached, but also minimal non-installed packages do not include
sections, so we really shouldn't assume their availability.
</content>
</entry>
<entry>
<title>Parse records including empty tag names correctly</title>
<updated>2020-02-26T17:12:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-02-20T11:49:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=110078022a6c6103be8f557aef1e268c4b680d88'/>
<id>urn:sha1:110078022a6c6103be8f557aef1e268c4b680d88</id>
<content type='text'>
No sensible file should include these, but even insensible files do not
gain unfair advantages with it as this parser does not deal with
security critical files before they haven't passed other checks like
signatures or hashsums.

The problem is that the parser accepts and parses empty tag names
correctly, but does not store the data parsed which will effect later
passes over the data resulting e.g. in the following tag containing
the name and value of the previous (empty) tag, its own tagname and its
own value or a crash due to an attempt to access invalid memory
depending on who passes over the data and what is done with it.

This commit fixes both, the incidient of the crash reported by
Anatoly Trosinenko who reproduced it via apt-sortpkgs:
| $ cat /tmp/Packages-null
| 0:
| PACKAGE:0
|
| :
| PACKAGE:
|
| PACKAGE::
| $ apt-sortpkgs /tmp/Packages-null
and the deeper parsing issue shown by the included testcase.

Reported-By: Anatoly Trosinenko &lt;anatoly.trosinenko@gmail.com&gt;
References: 8710a36a01c0cb1648926792c2ad05185535558e
</content>
</entry>
<entry>
<title>Remove code tagged APT_PKG_590, add some missing includes</title>
<updated>2020-02-18T11:48:38Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-18T11:48:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e8016805b87bead8eb3dff0d0559c5d9590b721b'/>
<id>urn:sha1:e8016805b87bead8eb3dff0d0559c5d9590b721b</id>
<content type='text'>
Remove all code scheduled to be removed after 5.90, and fix
files to include files they previously got from hashes.h
including more headers.
</content>
</entry>
<entry>
<title>Revert "Add a Packages-Require-Authorization Release file field"</title>
<updated>2020-02-16T11:46:09Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-16T10:45:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9cc0e2cab7c83ede99e21c70f248d884b8930983'/>
<id>urn:sha1:9cc0e2cab7c83ede99e21c70f248d884b8930983</id>
<content type='text'>
This experiment did not turn out sensibly, as some servers do not
accept credentials when none are expected and fail, so you cannot
mirror such a repository.

This reverts commit c2b9b0489538fed4770515bd8853a960b13a2618.
</content>
</entry>
<entry>
<title>patterns: test for empty terms, reject them</title>
<updated>2020-02-03T11:55:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-03T11:15:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=404771d0ec11f26a0b631018719e2918a049455b'/>
<id>urn:sha1:404771d0ec11f26a0b631018719e2918a049455b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Correctly stop parsing short form arguments on space, also on ?</title>
<updated>2020-02-03T11:55:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-01T16:33:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=11a40ab11f72f85e905bdba4d3274870fbcaeaee'/>
<id>urn:sha1:11a40ab11f72f85e905bdba4d3274870fbcaeaee</id>
<content type='text'>
we have to stop parsing on space so that things like ~ramd64 | ~rall
work correctly.

aptitude does not stop parsing on ?, but we'll do as it gets very
confusing otherwise if you write stuff like ~ramd64?name(foo), and
it resolves to ?and(?architecture(amd64?name), (foo))...
</content>
</entry>
<entry>
<title>patterns: Implement parsing of (...) groups</title>
<updated>2020-02-03T11:55:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-01T16:21:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8886ea163032fb8bf64211a94c5dc252a4572a9c'/>
<id>urn:sha1:8886ea163032fb8bf64211a94c5dc252a4572a9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement | as or</title>
<updated>2020-02-03T11:55:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-01T16:12:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d6f38436a229dc4421e77b58bf42d07bdb28b808'/>
<id>urn:sha1:d6f38436a229dc4421e77b58bf42d07bdb28b808</id>
<content type='text'>
</content>
</entry>
</feed>
