<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/contrib/configuration.cc, branch 2.3.4</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.3.4</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.3.4'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-02-24T09:47:51Z</updated>
<entry>
<title>configuration: Add missing #include &lt;array&gt;</title>
<updated>2021-02-24T09:47:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-02-24T09:47:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fb6f4070cdf4531d2105bcf0a42999f69b0bd10b'/>
<id>urn:sha1:fb6f4070cdf4531d2105bcf0a42999f69b0bd10b</id>
<content type='text'>
As user "DaOfficialRolex" on GitHub pointed out:

This is needed to allow for APT on iOS to compile correctly. If not included the two following errors happen while compiling APT.

~/apt/apt-pkg/contrib/configuration.cc:900:44: error: constexpr variable cannot have non-literal type 'const std::array&lt;APT::StringView, 3&gt;'
         constexpr std::array&lt;APT::StringView, 3&gt; magicComments { "clear"_sv, "include"_sv, "x-apt-configure-index"_sv };
                                                  ^
~/apt/apt-pkg/contrib/configuration.cc:900:44: error: implicit instantiation of undefined template 'std::__1::array&lt;APT::StringView, 3&gt;'
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template &lt;class _Tp, size_t _Size&gt; struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
</content>
</entry>
<entry>
<title>Avoid overstepping bounds in config file parsing</title>
<updated>2021-02-03T16:43:13Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-02-03T16:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c4da2ff42da55ffc38c77a9170dc151216d75962'/>
<id>urn:sha1:c4da2ff42da55ffc38c77a9170dc151216d75962</id>
<content type='text'>
Our configuration files are not security relevant, but having a parser
which avoids crashing on them even if they are seriously messed up is
not a bad idea anyway. It is also a good opportunity to brush up the
code a bit avoiding a few small string copies with our string_view.
</content>
</entry>
<entry>
<title>Retire and deprecate _strtabexpand</title>
<updated>2021-02-03T16:36:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-12-03T09:29:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=03790b071d6a97374a03af36eda5698a143300b0'/>
<id>urn:sha1:03790b071d6a97374a03af36eda5698a143300b0</id>
<content type='text'>
If the Configuration code calling this was any indication, it is hard to
use – and even that monster still caused heap-buffer-overflow errors,
so instead of trying to fix it, lets just use methods which are far
easier to use. The question why this is done at all remains, but is left
for another day as an exercise for the reader.
</content>
</entry>
<entry>
<title>Fail ConfigDir reading if directory listing failed</title>
<updated>2021-02-03T16:36:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-12-03T09:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bb553c3884f811792a1d8021ea8396cbe1ec0b23'/>
<id>urn:sha1:bb553c3884f811792a1d8021ea8396cbe1ec0b23</id>
<content type='text'>
We were printing an error and hence have non-zero exit code either way,
but API wise it makes sense to have this properly reported back to the
caller to propagate it down the chain e.g. while parsing #include stanzas.
</content>
</entry>
<entry>
<title>Fix some style warnings from cppcheck</title>
<updated>2019-11-26T11:36:46Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2019-09-13T10:01:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=35012abf30ec1cfc9b5ee29647d4b1e25d98e99f'/>
<id>urn:sha1:35012abf30ec1cfc9b5ee29647d4b1e25d98e99f</id>
<content type='text'>
Unused variable, std::algorithms instead of raw for-loops.
There should be no observeable difference in behaviour.

Reported-By: cppcheck
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>configuration: Compare size first during lookup</title>
<updated>2018-12-26T20:24:20Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2018-12-26T11:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6018a849f46c7f701adbc4c2474de0b1177f3711'/>
<id>urn:sha1:6018a849f46c7f701adbc4c2474de0b1177f3711</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use quoted tagnames in config dumps</title>
<updated>2018-11-29T21:15:28Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-11-29T21:15:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=64d7e1c568a7f9e7f32d1dee1ab771f924baa28d'/>
<id>urn:sha1:64d7e1c568a7f9e7f32d1dee1ab771f924baa28d</id>
<content type='text'>
Tagnames in configuration can include spaces (and other nasties) e.g. in
repository-specific configuration options due to Origin/Label
potentially containing a space. The configuration file format supports
parsing quoted as well as encoded spaces, but the output generated by
apt-config and other places which might be feedback into apt via
parsing (e.g. before calling apt-key in our gpgv method) do not quote
and hence produce invalid configuration files.

Changing the default to be an encoded tagname ensures that the output of
dump can be used as a config file, but other users might not expect
this so that is technically a backward-breaking change.
</content>
</entry>
<entry>
<title>Remove obsolete RCS keywords</title>
<updated>2018-05-07T11:41:31Z</updated>
<author>
<name>Guillem Jover</name>
<email>guillem@debian.org</email>
</author>
<published>2018-05-06T20:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=164f1b78d1849a0f33df7352875f86e28f5de06a'/>
<id>urn:sha1:164f1b78d1849a0f33df7352875f86e28f5de06a</id>
<content type='text'>
Prompted-by: Jakub Wilk &lt;jwilk@debian.org&gt;
</content>
</entry>
<entry>
<title>show warnings instead of errors if files are unreadable</title>
<updated>2017-07-26T17:09:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-07-15T13:08:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=51751106976b1c6afa8f7991790db87b239fcc84'/>
<id>urn:sha1:51751106976b1c6afa8f7991790db87b239fcc84</id>
<content type='text'>
We used to fail on unreadable config/preferences/sources files, but at
least for sources we didn't in the past and it seems harsh to refuse to
work because of a single file, especially as the error messages are
inconsistent and end up being silly (like suggesting to run apt update
to fix the problem…).

LP: #1701852
</content>
</entry>
<entry>
<title>use FileFd to parse all apt configuration files</title>
<updated>2017-07-26T17:09:04Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-07-15T12:12:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3317ad864c997f4897756c0a2989c4199e9cda62'/>
<id>urn:sha1:3317ad864c997f4897756c0a2989c4199e9cda62</id>
<content type='text'>
Using different ways of opening files means we have different behaviour
and error messages for them, so by the same for all we can have more
uniformity for users and apt developers alike.
</content>
</entry>
</feed>
