<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods/gpgv.cc, branch 1.3_pre1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.3_pre1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.3_pre1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-05-28T16:12:02Z</updated>
<entry>
<title>use std::locale::global instead of setlocale</title>
<updated>2016-05-28T16:12:02Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-28T11:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8b79c94af7f7cf2e5e5342294bc6e5a908cacabf'/>
<id>urn:sha1:8b79c94af7f7cf2e5e5342294bc6e5a908cacabf</id>
<content type='text'>
We use a wild mixture of C and C++ ways of generating output, so having
a consistent world-view in both styles sounds like a good idea and
should help in preventing regressions.
</content>
</entry>
<entry>
<title>gpgv: show always webportal error on NODATA</title>
<updated>2016-05-08T17:46:34Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-05-08T17:46:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2fac0dd5a7a62b67a869cd4c71c9d09159aaa31d'/>
<id>urn:sha1:2fac0dd5a7a62b67a869cd4c71c9d09159aaa31d</id>
<content type='text'>
gpg doesn't give use a UID on NODATA, which we were "expecting" (but not
using for anything), but just an error number. Instead of collecting
these as badsigners which will trigger a "invald signature" error with
remarks like "NODATA 1" we instead adapt a message similar to the NODATA
error of a clearsigned file (which is actually not reached anymore as we
split them up, which fails with a NOSPLIT error, which uses the same
general error message).

In other words: Not a security relevant change, just a user experience
improvement as we now point them to the most likely cause of the
problem instead of saying "invalid signature" which would point them in
the direction of the archive being broken (for everyone) instead.

Closes: 823746
</content>
</entry>
<entry>
<title>support multiple fingerprints in signed-by</title>
<updated>2016-05-01T08:50:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-29T08:16:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=46e00c9062d09a642973e83a334483db1f310397'/>
<id>urn:sha1:46e00c9062d09a642973e83a334483db1f310397</id>
<content type='text'>
A keyring file can include multiple keys, so its only fair for
transitions and such to support multiple fingerprints as well.
</content>
</entry>
<entry>
<title>gpgv: cleanup statusfd parsing a bit</title>
<updated>2016-05-01T08:50:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-29T08:08:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5419a6ce20967902102358a07632ae3688788d62'/>
<id>urn:sha1:5419a6ce20967902102358a07632ae3688788d62</id>
<content type='text'>
We parse the messages we receive into two big categories: Most of the
messages have a keyid as well as a userid and as they are errors we want
to show the userids as well. The other category is also errors, but have
no userid (like NO_PUBKEY). Explicitly expressing this in code should
make it a bit easier to look at and it also help in dropping additional
fields or just the newline at the end consistently.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>don't show NO_PUBKEY warning if repo is signed by another key</title>
<updated>2016-05-01T08:50:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-28T22:31:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fb7b11ebb852fa255053ecab605bc9cfe9de0603'/>
<id>urn:sha1:fb7b11ebb852fa255053ecab605bc9cfe9de0603</id>
<content type='text'>
Daniel Kahn Gillmor highlights in the bugreport that security isn't
improving by having the user import additional keys – especially as
importing keys securely is hard.

The bugreport was initially about dropping the warning to a notice, but
in given the previously mentioned observation and the fact that we
weren't printing a warning (or a notice) for expired or revoked keys
providing a signature we drop it completely as the code to display a
message if this was the only key is in another path – and is considered
critical.

Closes: 618445
</content>
</entry>
<entry>
<title>gpgv: handle expired sig as worthless</title>
<updated>2016-05-01T08:50:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-28T20:02:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1af227c2eaad386f0917fc4f36c84fd5999b884e'/>
<id>urn:sha1:1af227c2eaad386f0917fc4f36c84fd5999b884e</id>
<content type='text'>
Signatures on data can have an expiration date, too, which we hadn't
handled previously explicitly (no problem – gpg still has a non-zero
exit code so apt notices the invalid signature) so the error message
wasn't as helpful as it could be (aka mentioning the key signing it).
</content>
</entry>
<entry>
<title>gpgv: use EXPKEYSIG instead of KEYEXPIRED</title>
<updated>2016-05-01T08:50:24Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-28T17:05:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f13b413a3bb1f03886ba7d8c43b08bd13836a663'/>
<id>urn:sha1:f13b413a3bb1f03886ba7d8c43b08bd13836a663</id>
<content type='text'>
The upstream documentation says about KEYEXPIRED:
"This status line is not very useful". Indeed, it doesn't mention which
key is expired, and suggests to use the other message which does.
</content>
</entry>
<entry>
<title>Allow lowering trust level of a hash via config</title>
<updated>2016-03-28T12:59:33Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-03-28T01:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6a4958d3134a3a61c036bc9ccaccc393c2bb99f2'/>
<id>urn:sha1:6a4958d3134a3a61c036bc9ccaccc393c2bb99f2</id>
<content type='text'>
Introduces APT::Hashes::&lt;NAME&gt; with entries Untrusted and Weak
which can be set to true to cause the hash to be treated as
untrusted and/or weak.
</content>
</entry>
<entry>
<title>handle gpgv's weak-digests ERRSIG</title>
<updated>2016-03-22T00:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-03-22T00:26:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=08b7761a251a36fa65cbe022a86c51d7f091a88d'/>
<id>urn:sha1:08b7761a251a36fa65cbe022a86c51d7f091a88d</id>
<content type='text'>
Our own gpgv method can declare a digest algorithm as untrusted and
handles these as worthless signatures. If gpgv comes with inbuilt
untrusted (which is called weak in official terminology) which it e.g.
does for MD5 in recent versions we should handle it in the same way.

To check this we use the most uncommon still fully trusted hash as a
configureable one via a hidden config option to toggle through all of
the three states a hash can be in.
</content>
</entry>
<entry>
<title>properly check for "all good sigs are weak"</title>
<updated>2016-03-21T21:47:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-03-21T17:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8fa99570816d3a644a9c4386c6a8f2ca21480329'/>
<id>urn:sha1:8fa99570816d3a644a9c4386c6a8f2ca21480329</id>
<content type='text'>
Using erase(pos) is invalid in our case here as pos must be a valid and
derefenceable iterator, which isn't the case for an end-iterator (like
if we had no good signature).
The problem runs deeper still through as VALIDSIG is a keyid while
GOODSIG is just a longid so comparing them will always fail.

Closes: 818910
</content>
</entry>
</feed>
