<table><tr><td style="">aheinecke added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D4255" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>Ideally this would go into GnuPG, but we don't want to rush through such a change in GnuPG proper now because modification of the validity level would probably break a lot. And as this is ultimately a display thing it's ok imo to do it in a MUA for now.<br />
We have a gnupg-devel hackathon in two weeks where we want to discuss / work on putting more stuff of the AME concept into GnuPG proper or at least GpgME core. But even if we did that it would still take very long until such a GnuPG version would be available in most distros.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4255#inline-17139" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">enum.cpp:274</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">auto</span> <span class="n">job</span> <span style="color: #aa2211">=</span> <span class="n">QGpgME</span><span style="color: #aa2211">::</span><span class="n">openpgp</span><span class="p">()</span><span style="color: #aa2211">-></span><span class="n">keyListJob</span><span class="p">(</span><span style="color: #304a96">false</span><span class="p">,</span> <span style="color: #304a96">false</span><span class="p">,</span> <span style="color: #304a96">false</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span class="n">std</span><span style="color: #aa2211">::</span><span class="n">vector</span><span style="color: #aa2211"><</span><span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">Key</span><span style="color: #aa2211">></span> <span class="n">keys</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I would prefer the use of the keycache here. Keylistings can be really really slow especially when listing all keys. Maybe holding a static ref to the keycache here to avoid it being destroyed after each call.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4255#inline-17141" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">enum.cpp:305</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">    <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">UserID</span><span style="color: #aa2211">::</span><span style="color: #a0a000">Marginal</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #74777d">// Marginal trust, level will depend on TOFU history</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">switch</span> <span class="p">(</span><span class="n">uid</span><span class="p">.</span><span class="n">tofuInfo</span><span class="p">().</span><span class="n">validity</span><span class="p">())</span> <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">In Outlook I currently treat "Marginal" as Level 2 if uid.tofuInfo.isNull() TofuInfo.<br />
If TOFU info isNull this means marginal trust through the Web of Trust. KMail and Kleopatra currently treat such keys as "Trusted" and "Green" which is the meaning I see for Level 2.<br />
For most existing users Web of Trust only will still be used in the short term future.</p>

<p style="padding: 0; margin: 8px;">To explain:<br />
If tofu+pgp is used every key has marginal trust from the start. So we don't want to show "Green" until we have at least basic history. If only pgp is used only Keys that have at least a weak trustpath are marginal.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4255#inline-17136" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">enum.cpp:309</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">TofuInfo</span><span style="color: #aa2211">::</span><span style="color: #a0a000">Conflict</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">TofuInfo</span><span style="color: #aa2211">::</span><span style="color: #a0a000">NoHistory</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">TofuInfo</span><span style="color: #aa2211">::</span><span style="color: #a0a000">LittleHistory</span><span class="p">:</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">This should be lvl 0</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4255#inline-17137" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">enum.cpp:310</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">TofuInfo</span><span style="color: #aa2211">::</span><span style="color: #a0a000">NoHistory</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">TofuInfo</span><span style="color: #aa2211">::</span><span style="color: #a0a000">LittleHistory</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">            <span style="color: #74777d">// Marginal trust, but not enough history -> level 0</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">This then Level 1</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D4255#inline-17138" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">enum.cpp:313</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">            <span style="color: #aa4000">return</span> <span class="n">Level0</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">        <span style="color: #aa4000">case</span> <span class="n">GpgME</span><span style="color: #aa2211">::</span><span class="n">TofuInfo</span><span style="color: #aa2211">::</span><span style="color: #a0a000">BasicHistory</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: #d0ffd0;">            <span style="color: #74777d">// Marginal trust, but only basic history -> level 1</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">And Basic History should be the same as Large History: Level 2</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R90 PIM: Kleo Library</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D4255" rel="noreferrer">https://phabricator.kde.org/D4255</a></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>dvratil, aheinecke<br /><strong>Cc: </strong>knauss, KDE PIM, dvasin, winterz, vkrause, mlaurent, dvratil<br /></div>