<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 1.9.12</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.9.12</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.9.12'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-02-27T08:45:50Z</updated>
<entry>
<title>(temporarily) unhide pkgDPkgPM again to have python-apt compile</title>
<updated>2020-02-27T08:45:50Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-27T08:45:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=edef1b7713265a47ce762593022dadc2de2fc6f1'/>
<id>urn:sha1:edef1b7713265a47ce762593022dadc2de2fc6f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pkgcache: Add operator bool() to map_pointer</title>
<updated>2020-02-27T08:45:11Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-27T08:45:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0a076efd1b2b1cb2d57fd583af8031039ba03158'/>
<id>urn:sha1:0a076efd1b2b1cb2d57fd583af8031039ba03158</id>
<content type='text'>
</content>
</entry>
<entry>
<title>apt(8): Wait for frontend and cache lock</title>
<updated>2020-02-26T19:36:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T19:31:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=93e1565796b61eb44bec39f50e09a34cbe090178'/>
<id>urn:sha1:93e1565796b61eb44bec39f50e09a34cbe090178</id>
<content type='text'>
This is a rework of !6 with additional stuff for the frontend
lock, so we can lock the frontend lock and then keep looping
over dpkg lock.
</content>
</entry>
<entry>
<title>apt-pkg: default visibility to hidden</title>
<updated>2020-02-26T19:34:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-13T17:15:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=db678df196ccd8f9f6fb336706cf5701d1e53aa6'/>
<id>urn:sha1:db678df196ccd8f9f6fb336706cf5701d1e53aa6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cacheset: Fix -Wdeprecated-copy warnings</title>
<updated>2020-02-26T17:59:39Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T17:46:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=62ca61ff4ac794f9c42335d8286343149d4313d1'/>
<id>urn:sha1:62ca61ff4ac794f9c42335d8286343149d4313d1</id>
<content type='text'>
Remove the operator= from Container_iterator, as it was basically
just the default anyway, and add copy constructors to *Interface
that match their operator=.

Tried adding copy constructor to Container_iterator, but that only
made things worse.
</content>
</entry>
<entry>
<title>Fix various compiler warnings</title>
<updated>2020-02-26T17:59:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T17:26:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d36b06d7eb300ca5cbee22b4fcedaefc80585da1'/>
<id>urn:sha1:d36b06d7eb300ca5cbee22b4fcedaefc80585da1</id>
<content type='text'>
</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>cache: Swap locations of hashtables, hide them from non-apt users</title>
<updated>2020-02-26T13:42:35Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:42:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d4b0ddee41860a802e8d254f7e222c863592aaea'/>
<id>urn:sha1:d4b0ddee41860a802e8d254f7e222c863592aaea</id>
<content type='text'>
Only expose the locations of the hasthables if APT_COMPILING_APT
is set.
</content>
</entry>
<entry>
<title>Make metaIndex::GetNotBefore virtual</title>
<updated>2020-02-26T13:32:36Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:32:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=43b418a68d8e64b4f0220e730ccf7441e2796ea6'/>
<id>urn:sha1:43b418a68d8e64b4f0220e730ccf7441e2796ea6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pkgsystem: Drop more virtual workaround shenanigans</title>
<updated>2020-02-26T13:30:03Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-26T13:29:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=da7de99f8473ae0ac90c90fad3eee80f5f72889a'/>
<id>urn:sha1:da7de99f8473ae0ac90c90fad3eee80f5f72889a</id>
<content type='text'>
</content>
</entry>
</feed>
