<table><tr><td style="">mpyne 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/D4335" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>When reviewing this, please see also the review chain at <a href="https://git.reviewboard.kde.org/r/127833/#review95717" class="remarkup-link" target="_blank" rel="noreferrer">https://git.reviewboard.kde.org/r/127833/#review95717</a> , which had proposed removing the then-needless KWallet includes.</p>

<p>In essence the sticking point we have currently is that fixing the Blowfish implementation on big-endian machines will break the ability of users to open their wallets if their wallet was generated by the broken Blowfish implementation.  That is the only reason the broken code remains -- the testcase was added so that we would catch breakages going into the future and prevent that bug from being introduced.</p>

<p>The best fix is to find a way to read files generated with the proper cipher and, on big-endian only, also if encoded with the broken cipher.</p>

<p>Poking around through the code this seems like it might be most easily possible in src/runtime/kwalletd/backend/backendpersisthandler.cpp, where it might be possible to retry the decryption with a byte-order-reversed key and see if it then succeeds (again, only on big-endian).</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R311 KWallet</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D4335" rel="noreferrer">https://phabricator.kde.org/D4335</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>awilcox<br /><strong>Cc: </strong>mpyne, Frameworks<br /></div>