<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/contrib, branch 2.1.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.1.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.1.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-05-18T13:55:36Z</updated>
<entry>
<title>Skip reading data from tar members if nobody will look at it</title>
<updated>2020-05-18T13:55:36Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-15T11:29:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=19790db8900bc9baac29cf58600152997a8ecef8'/>
<id>urn:sha1:19790db8900bc9baac29cf58600152997a8ecef8</id>
<content type='text'>
The variable this is read to is named Junk and that it is for usecases
like apt-ftparchive which just looks at the items metadata, so instead
of performing this hunked read for data nobody will process we just tell
our FileFd to skip ahead (Internally it might still loop over the data
depending on which compressor is involved).
</content>
</entry>
<entry>
<title>Properly handle interrupted write() call in ExtractTar</title>
<updated>2020-05-18T13:55:36Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-13T21:01:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5534bb3ad346ef4435e6fd0fe326771a4bde16a1'/>
<id>urn:sha1:5534bb3ad346ef4435e6fd0fe326771a4bde16a1</id>
<content type='text'>
With FileFd::Write we already have a helper for this situation we can
just make use of here instead of hoping for the best or rolling our own
solution here.
</content>
</entry>
<entry>
<title>Allow prefix to be a complete filename for GetTempFile</title>
<updated>2020-05-18T13:55:36Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-18T09:55:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c470d92366d7c3c239a689f0a10d6d0d9daafbff'/>
<id>urn:sha1:c470d92366d7c3c239a689f0a10d6d0d9daafbff</id>
<content type='text'>
Our testcases had their own implementation of GetTempFile with the
feature of a temporary file with a choosen suffix. Merging this into
GetTempFile lets us drop this duplicate and hence test more our code
rather than testing our helpers for test implementation.

And then hashsums_test had another implementation… and extracttar wasn't
even trying to use a real tempfile… one GetTempFile to rule them all!
That also ensures that these tempfiles are created in a temporary
directory rather than the current directory which is a nice touch and
tries a little harder to clean up those tempfiles.
</content>
</entry>
<entry>
<title>Prefer use of O_TMPFILE in GetTempFile if available</title>
<updated>2020-05-18T13:55:36Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-13T06:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=37cc8dcda9e97e0b9420d37bb886081fa629847d'/>
<id>urn:sha1:37cc8dcda9e97e0b9420d37bb886081fa629847d</id>
<content type='text'>
Not all filesystems implement this feature in all versions of Linux,
so this open call can fail &amp; we have to fallback to our old method.
</content>
</entry>
<entry>
<title>SECURITY UPDATE: Fix out of bounds read in .ar and .tar implementation (CVE-2020-3810)</title>
<updated>2020-05-12T16:55:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-05-12T09:49:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dceb1e49e4b8e4dadaf056be34088b415939cda6'/>
<id>urn:sha1:dceb1e49e4b8e4dadaf056be34088b415939cda6</id>
<content type='text'>
When normalizing ar member names by removing trailing whitespace
and slashes, an out-out-bound read can be caused if the ar member
name consists only of such characters, because the code did not
stop at 0, but would wrap around and continue reading from the
stack, without any limit.

Add a check to abort if we reached the first character in the
name, effectively rejecting the use of names consisting just
of slashes and spaces.

Furthermore, certain error cases in arfile.cc and extracttar.cc have
included member names in the output that were not checked at all and
might hence not be nul terminated, leading to further out of bound reads.

Fixes Debian/apt#111
LP: #1878177
</content>
</entry>
<entry>
<title>Add color highlighting to E:/W:/N: prefixes</title>
<updated>2020-03-24T09:24:39Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-03-10T21:26:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=768f0031930a994ecfab84ecd6478852275a98c3'/>
<id>urn:sha1:768f0031930a994ecfab84ecd6478852275a98c3</id>
<content type='text'>
This matches the definitions used by dpkg.

Closes: #953527
</content>
</entry>
<entry>
<title>error: Extract operator&lt;&lt; into error.cc (de-inline it)</title>
<updated>2020-03-10T21:29:46Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-03-10T21:24:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b0e2c9de13ff1df2f0f1cba2ceed88c710efea3a'/>
<id>urn:sha1:b0e2c9de13ff1df2f0f1cba2ceed88c710efea3a</id>
<content type='text'>
Extract the code, and reformat it with clang-format so we can
modify it.
</content>
</entry>
<entry>
<title>Show absolute time while waiting for lock instead of %, rework message</title>
<updated>2020-03-06T12:14:37Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-03-06T12:10:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1b81f6bd13bb31e59da3f53cfdc7caab43abf887'/>
<id>urn:sha1:1b81f6bd13bb31e59da3f53cfdc7caab43abf887</id>
<content type='text'>
Showing a percentage for a timeout is pretty non-standard. Rework the
progress class so it can show an absolute progress (currently hardcoded
to use seconds as a unit). If there is a timeout (aka if it's not the
maximum long long unsigned -1llu), then show the timeout, otherwise
just count up seconds, e.g.

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 33842 (apt)... 1/120s

or

Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 33842 (apt)... 1s

Also improve the error message to use "Waiting for cache lock: %s" instead of "... (%s)", as having
multiple sentences inside parenthesis is super weird, as is having two closing parens.

We pass the information via _config, as that's reasonably easy and avoids
ABI hackage. It also provides an interesting debugging tool for other
kinds of progress.
</content>
</entry>
<entry>
<title>GetLock: No strerror if it's just another process holding the lock</title>
<updated>2020-03-06T12:07:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-03-06T12:07:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=68a83a64cd424385b613f58e23c03e262d840b91'/>
<id>urn:sha1:68a83a64cd424385b613f58e23c03e262d840b91</id>
<content type='text'>
This improves the locking message, getting rid of useless details. If
we have a process holding the lock, we got that because the lock is
being hold by it, so there's no point telling the people the reason
for not getting the lock is the EAGAIN error and displaying its
strerrror().
</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>
</feed>
